backend-infra-engineer: Release v0.3.3 snapshot

This commit is contained in:
scawful
2025-11-21 21:35:50 -05:00
parent 3d71417f62
commit 476dd1cd1c
818 changed files with 65706 additions and 35514 deletions

62
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,62 @@
# Contributing to YAZE
The YAZE project reserves **master** for promoted releases and uses **develop**
for daytoday work. Larger efforts should branch from `develop` and rebase
frequently. Follow the existing Conventional Commit subject format when pushing
history (e.g. `feat: add sprite tab filtering`, `fix: guard null rom path`).
The repository ships a clang-format and clang-tidy configuration (Google style,
2-space indentation, 80-column wrap). Always run formatter and address
clang-tidy warnings on the files you touch.
## Engineering Expectations
1. **Refactor deliberately**
- Break work into reviewable patches.
- Preserve behaviour while moving code; add tests before/after when possible.
- Avoid speculative abstractions—prove value in the PR description.
- When deleting or replacing major systems, document the migration (see
`handbook/blueprints/editor-manager-architecture.md` for precedent).
2. **Verify changes**
- Use the appropriate CMake preset for your platform (`mac-dbg`, `lin-dbg`,
`win-dbg`, etc.).
- Run the targeted test slice: `ctest --preset dev` for fast coverage; add new
GoogleTest cases where feasible.
- For emulator-facing work, exercise relevant UI flows manually before
submitting.
- Explicitly call out remaining manual-verification items in the PR.
3. **Work with the build & CI**
- Honour the existing `cmake --preset` structure; avoid hardcoding paths.
- Keep `vcpkg.json` and the CI workflows in sync when adding dependencies.
- Use the deferred texture queue and arena abstractions rather than talking to
SDL directly.
## Documentation Style
YAZE documentation is concise and factual. When updating `docs/public/`:
- Avoid marketing language, emojis, or decorative status badges.
- Record the actual project state (e.g., mark editors as **stable** vs
**experimental** based on current source).
- Provide concrete references (file paths, function names) when describing
behaviour.
- Prefer bullet lists and short paragraphs; keep quick-start examples runnable.
- Update cross-references when moving or renaming files.
- For review handoffs, capture what remains to be done instead of transfusing raw
planning logs.
If you notice obsolete or inaccurate docs, fix them in the same change rather
than layering new “note” files.
## Pull Request Checklist
- [ ] Tests and builds succeed on your platform (note the preset/command used).
- [ ] New code is formatted (`clang-format`) and clean (`clang-tidy`).
- [ ] Documentation and comments reflect current behaviour.
- [ ] Breaking changes are mentioned in the PR and, if relevant, `docs/public/reference/changelog.md`.
- [ ] Any new assets or scripts are referenced in the repos structure guides.
Respect these guidelines and we can keep the codebase approachable, accurate,
and ready for the next set of contributors.