Browser 2D platformer content pipeline scaffold using TypeScript, Vite, LDtk exports, and Aseprite sprite-sheet exports.
- Node.js 20 or newer
- npm
- LDtk for editing
assets/source/levels/*.ldtk - Aseprite for editing
assets/source/sprites/*.aseprite - Git LFS for binary art files
npm install
npm run devOpen the Vite URL and the demo loads Level_01 from public/assets/exported/levels/starter.ldtk.json.
npm run devstarts the browser demo.npm run buildtype-checks and builds the app.npm run validate:contentvalidates the sample level, sprite atlases, and invalid fixtures.npm run export:artexports Aseprite files when the Aseprite CLI is installed.npm run checkvalidates content and builds.
Designers edit LDtk source files under assets/source/levels and export JSON to public/assets/exported/levels. Artists edit Aseprite source files under assets/source/sprites and export PNG/JSON to public/assets/exported/sprites. The game loads only exported runtime assets.
src/game/contentloaders, parsers, runtime types, and validationsrc/game/ldtkLDtk-specific raw types, field readers, and entity registrysrc/game/renderercanvas debug demo rendererpublic/assets/exportedbrowser-loaded level and sprite exportsassets/sourceeditable human-owned source assetsdocshuman workflow documentation