Split reusable code into separate repositories
Current State
Engine/editor has reusable subsystems (GLFS parsing, shader compilation, Vulkan/GPU abstraction) baked directly into the monorepo.
Tasks:
- Extract GLFS (GL Shader) parsing into its own repository
- Extract shader compilation pipeline (Vulkan shaders) into own repo
- Extract basic GPU/Vulkan abstraction layer into own repo
- Follow same pattern as math3d, open-asset-package, and guid extractions
- Update engine/editor to depend on these as external packages (Zig dependencies)
- Ensure CI builds for each extracted repo
- Write docs on how to contribute to each extracted library
Acceptance Criteria:
- GLFS parsing lives in its own repo as a Zig package
- Shader compilation pipeline lives in its own repo
- GPU/Vulkan abstraction layer lives in its own repo
- Each repo has CI, docs, and a Zig build.zig.zon manifest
- Engine/editor depends on them via Zig package dependencies
- Extraction follows the same conventions as math3d, open-asset-package, and guid