# 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`.