docs(tilemap): infinite maps guide chapter + procedural terrain examples (Slice 4c)#381
Merged
Conversation
added 7 commits
July 16, 2026 07:39
The .ts source gained the unbounded width/height guard when TileLayer went optional-dimensions, but the committed generated twin was never re-synced. Surfaced by running examples:sync for the new infinite-terrain example.
…g, procedural providers
…self-heal A texture passed while unhydrated gets its Spritesheet-sliced frames reset to the full atlas by the Sprite texture-load self-heal once it hydrates. Await the load like the tileset texture already does.
Exoridus
enabled auto-merge (squash)
July 16, 2026 15:27
Bundle ReportBundle size has no change ✅ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Infinite Maps Slice 4c — docs/content only, no engine code.
rendering/infinite-maps: unbounded TileMap/TileLayer semantics, ChunkStreamer (radii/hysteresis/frame budget, determinism pitfall), procedural terrain viacreateSampledChunkSource(value-noise fBm walkthrough), off-thread sampling viacreateWorkerSampledChunkSource(workerSource pattern, exactly-once reply pitfall, destroy/CSP notes), Tiled infinite-map streaming, and the retained-container guidance for streamed layers (own group or none).infinite-terrain(sync provider, seed reroll) andworker-streamed-terrain(sync/worker toggle + sampling-cost slider + frame-time readout to make the main-thread jank difference visible).ldtk-world-import.jstwin regenerated.Notes for follow-up (deliberately not in this PR)
loader.get()get their sliced frames reset to the full atlas by the Sprite texture-load self-heal (affects ~5 merged examples; root cause analysis in the branch review). This PR's two new examples avoid it by awaiting the texture.scripts/sync-example-capabilities.tslistswebWorkersin its ordering array but has no derivation rule for it.