Skip to content

Feature/isometric support - #18

Merged
Gperez88 merged 4 commits into
mainfrom
feature/isometric-support
Sep 9, 2026
Merged

Feature/isometric support#18
Gperez88 merged 4 commits into
mainfrom
feature/isometric-support

Conversation

@Gperez88

@Gperez88 Gperez88 commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

No description provided.

…games

Enhance documentation across various guides and examples
- Added landing dust particle effect to physics example.
- Removed outdated room screen, snake, space invaders, tic-tac-toe, sprite animation, and tilemap scene examples.
- Updated audio guide to reference 2048 instead of brick breaker.
- Enhanced graphics guidelines with camera bounds for non-orthogonal projections.
- Corrected links in UI system and sprite compiler documentation.
- Improved example syncing script to remove stale documentation.
…rojects

The examples catalogue outgrew the engine repository and now lives in
PixelRoot32-Demo-Projects: 31 demos across 8 categories, against the five
minimal samples the engine still keeps for its own smoke coverage. The two
sets share no names, so the sync replaces the published examples/ tree
wholesale rather than merging.

The sync script takes a second upstream via --demos and mirrors each demo as
examples/<category>/<demo>/index.md with the images its README references
copied alongside. The page lives inside its own directory so the upstream
relative paths (screenshots/screenshot.png) resolve unchanged: a flat
<demo>.md would make every demo in a category collide on one screenshots/
folder, and rewriting the markdown during sync would drift the moment a
README moved an asset. Vite fails the build on an unresolved markdown image,
so this is a hard error rather than a broken image. Only referenced files are
copied, keeping each demo's src/ and build output out of the docs.

Under cleanUrls an index.md routes to its directory, so demo links carry a
trailing slash, matching the existing /api/generated/ shape.

The sidebar is now scanned from disk by buildExamplesSidebar, replacing
thirteen hardcoded entries that a 31-demo catalogue would have outgrown
immediately. It follows buildApiGeneratedSidebar, including its lesson:
CATEGORY_ORDER is an ordering hint, not an allowlist, so a category added
upstream still reaches the sidebar.

CI checks out the demos repository alongside the engine and passes --demos;
without it the sync exits non-zero.

Verified with npm run docs:build: clean, 31 example pages rendered, every
screenshot resolved as a hashed asset. The repository has no test runner, so
the build is the verification.
Mirrors the engine's docs/ tree for the isometric work: the projection
types (ProjectionSpec, CellRange, CameraBounds, ScreenBounds,
StaticLayerSnapshot), the producer obligations page for projected tilemaps,
the tilemap editor's isometric guide, and the graphics and architecture
pages that gained projection sections.

Also carries the sprite-compiler repoint from /examples/sprites, an engine
sample that the docs no longer publish, to the first_sprite demo project.

Generated content: produced by scripts/sync-docs-from-engine.mjs, not
authored here. Fixes belong upstream in the engine repository.
@Gperez88
Gperez88 merged commit 15093bc into main Sep 9, 2026
5 of 6 checks passed
@Gperez88
Gperez88 deleted the feature/isometric-support branch September 9, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant