spriteforge/README.md

40 lines
1.8 KiB
Markdown
Raw Normal View History

# SpriteForge
Standalone reusable 2D sprite asset pipeline. Games own YAML manifests and
source assets; SpriteForge owns generation, post-processing and the `.sfa` /
`.sfp` runtime formats. It never imports game code.
Stages 1-8 contain the binary format, Python writer/reader, dependency-free
C99/C++17 loader and software blitters, an isolated raylib example, and the
validated YAML manifest/CLI foundation, the deterministic procedural backend,
text-first generated-library introspection, parallel incremental builds, and a
headless Blender animation backend with Z-derived layer ordering, local PNG
import/compositing, code generation and watch-mode hot reload signaling.
```powershell
python -m venv .venv
.venv\Scripts\pip install -e ".[test]"
.venv\Scripts\pytest
```
Include `include/sfa.h` from C99 or C++17. C++17 users can include
`include/sfa.hpp` for an RAII wrapper. See `docs/format-v1.md`.
Contact sheets are for humans only. Agents must never open generated PNGs;
use textual `sf validate` and `sf ascii` instead.
Manifest usage is documented in `docs/manifest-v1.md`.
Procedural generators are documented in `docs/procedural.md`.
Local PNG import and composition are documented in `docs/import-composite.md`.
Agent-safe introspection is documented in `docs/introspection.md`.
Incremental builds are documented in `docs/incremental-builds.md`.
The Blender protocol is documented in `docs/blender-backend.md`.
Code generation and hot reload are documented in `docs/codegen-watch.md`.
The human-facing asset authoring application is documented in
`docs/studio.md`. Remote rendering setup is in `docs/external-gpu.md`, and the
runtime handoff is in `docs/game-integration.md`.
For a GPU computer behind NAT without VPN or incoming ports, use the asynchronous
pull architecture in `docs/pull-relay.md`.