|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
Thank you for your interest in contributing to MayaFlux! This project is built on the principles of open knowledge, equitable access, and collaborative development. By participating, you agree to abide by the GPLv3 license and the guidelines below.
CONTRIBUTORS.md, and Git history. Attribution and citation are integral to how MayaFlux recognizes effort.PRs are reviewed for technical clarity, conceptual alignment, and code safety.
If you just want to use MayaFlux, use Weave. If you are modifying MayaFlux itself, build from source in this repo; see `docs/Dev_Getting_Started.md` for presets, targets, and the actual run loop.
Before opening a PR:
src/user_project.hpp or, for anything you want to keep around without cluttering that file, as its own file under src/examples/. This is the sandbox, not the review surface.tests/ (GoogleTest, gated by MAYAFLUX_BUILD_TESTS). Manual exercise in user_project.hpp is not a substitute for a test when one is warranted.This is the single highest-leverage contribution available right now.
macOS currently uses GLFW for windowing, the only platform still on it. Windows has a native Win32 backend, Linux has native Wayland. macOS needs the same treatment: a native windowing backend built on Cocoa/AppKit, following the same shape as WIN32_BACKEND and WAYLAND_BACKEND (see cmake/defines.cmake, MAYAFLUX_WINDOWING_BACKEND). CAMetalLayer integration into the existing Vulkan (MoltenVK) swapchain path is part of the same effort.
Beyond windowing, macOS as a whole needs an actual maintainer. The current author holds it together with a VM and no daily-driver access to real Apple hardware. If you have a Mac, know Cocoa/AppKit and Metal, and want ownership of a real subsystem rather than a starter task, open an issue tagged platform-macos or reach out directly before starting.
This is not a "good first issue." It requires:
MayaFlux welcomes contributions across several domains:
| Area | Description | Reference |
|---|---|---|
| Core Development | Engine code, nodes, scheduling, DSP, graphics, runtime | Internal review required |
| macOS Platform | Native windowing, CAMetal, Cocoa/AppKit; see above | platform-macos issue label |
| Documentation & Tutorials | Guides, concept overviews, teaching materials | docs/ |
| Starter Tasks | Logging cleanup, context tagging, code modernization | `docs/StarterTasks.md` — flagged for review, may be stale |
| Build Operations & Distribution | CI/CD, installers, package manager recipes | `docs/BuildOps.md` — flagged for review, may be stale |
| Research & Theory | Algorithmic or conceptual proposals | Open issue → Discussion thread |
New to MayaFlux? Start with `docs/Dev_Getting_Started.md` to get building, then look at open issues for current priorities. StarterTasks.md and BuildOps.md are under review and may not reflect current state.
MayaFlux recognizes that AI, in the hands of thoughtful and experienced practitioners, can be a powerful tool.
Like any instrument, its value depends on the person using it.
A master musician does not rely on the prestige of a rare instrument to create meaningful work. A Stradivarius may refine expression, but it does not replace authorship, intent, or understanding. The same applies to AI: it can extend capability, but it cannot substitute responsibility.
Policy:
The individual submitting a PR is fully responsible for:
Non-negotiable constraint:
If you submit work, you are the author.
By contributing, you affirm that:
This ensures MayaFlux remains open, sustainable, and publicly beneficial.
If you're new, begin with:
platform-macos if you have a Mac and want to own something real*(For questions or coordination, open an issue with the appropriate label, e.g. platform-macos, build-ops, doc, feature, or discussion.)*