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