Skip to content

fix(create-exo-app): render each platformer tile - #853

Merged
Exoridus merged 1 commit into
nextfrom
sweep/v020-platformer-terrain
Oct 18, 2026
Merged

Exoridus merged 1 commit into
nextfrom
sweep/v020-platformer-terrain

Conversation

@Exoridus

@Exoridus Exoridus commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

The platformer starter reused the sprite cached by each spritesheet frame name for every matching terrain tile. Later placements moved the same nodes across the map, leaving most of the floor invisible. Create a distinct Sprite for every tile from the public texture and frame APIs, while retaining the existing merged physics bodies.

The focused regression failed with two floor nodes instead of sixty before the fix. All five platformer consumer tests now pass, including floor and raised-platform positions, tile dimensions and existing fixed-step jump behavior.

Stack base: sweep/v020-integration-lifecycle at 34662c81a66800aa0f7919d6d774cc87f0304116. Head: d195528c3e265e7d23ba2198813a6324a28c6476. This PR changes only the platformer scene and its regression test.

Validation: pnpm exec vitest run --project=exojs test/templates/platformer-consumer.test.ts. Generated starter install/build passed. Three bounded production-dist trials show actual horizontal movement, confirmed by direct-canvas and compositor captures. Earlier screenshot-only runs intermittently captured old or pose-only player images; that timing/capture anomaly remains unresolved, and DOM readback may affect timing. The earlier heuristic PASS is not counted as movement proof. Exact-head CI and the combined candidate status are recorded below.

Published validation evidence

  • Exact head d195528c3e265e7d23ba2198813a6324a28c6476: CI run 38845398966, completed / success.

Combined stack: d195528c3e265e7d23ba2198813a6324a28c6476, tree c64f60bfd5d5e5a4210281ff6b3bfe120482fac1. Integration qualification: CANDIDATE_QUALIFIED. These combined results belong to that SHA, not to each earlier stack head.

Combined mandatory evidence: 18/18 final CI jobs; normal local pre-push gates and seven selected lanes; Firefox WebGL2; 162 parity checks; 108 full-example smoke passes with one intentionally WebGPU-only skip; all six generated starter builds; 13 hashed candidate tarballs and strict public-package consumers. Existing package versions remain 0.19.1; artifacts are unpublished candidate builds.

Local Firefox WebGPU executed and failed: Core 3 failures, media 4 failures, isolated row timeout. Mesh and video-copy failures also reproduce on the verified base; two full-suite Core timeouts do not reproduce in fresh named runs. CI Firefox WebGPU is separately UNSUPPORTED_HOST. These informational outcomes remain failures/unsupported, not passes. Tiled 1.12.2 authentic exports remain unverified; strict NodeNext declarations remain unsupported.

Firefox WebGPU follows the existing informational policy. An unsupported host is not an executed rendering pass. This branch is unmerged; no release or package publication is implied.

@Exoridus
Exoridus force-pushed the sweep/v020-integration-lifecycle branch from 34662c8 to 51410cd Compare October 18, 2026 08:01
Base automatically changed from sweep/v020-integration-lifecycle to next October 18, 2026 08:25
@Exoridus
Exoridus force-pushed the sweep/v020-platformer-terrain branch from d195528 to 6eb0b56 Compare October 18, 2026 09:08
@codecov

codecov Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Bundle Report

Bundle size has no change ✅

@Exoridus
Exoridus merged commit b332065 into next Oct 18, 2026
17 checks passed
@Exoridus
Exoridus deleted the sweep/v020-platformer-terrain branch October 18, 2026 09:19
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