Skip to content

perf(rendering): complete persistent slot roadmap - #781

Merged
Exoridus merged 2 commits into
nextfrom
slot-roadmap-completion
Sep 27, 2026
Merged

Exoridus merged 2 commits into
nextfrom
slot-roadmap-completion

Conversation

@Exoridus

Copy link
Copy Markdown
Owner

Completes the persistent-slot roadmap in one change set.\n\n- Restores the aligned joint-chain benchmark comparison.\n- Skips culled source subgroups while assembling persistent slot order streams.\n- Makes WebGL2 retained replay counters depend on an actual draw, aligned with WebGPU.\n\nValidation: pnpm typecheck, pnpm typecheck:test, focused Site and rendering Vitest suites, ESLint, and git diff --check.

@Exoridus
Exoridus enabled auto-merge (squash) September 27, 2026 00:33
@codecov

codecov Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Bundle Report

Changes will increase total bundle size by 1.8kB (0.01%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
exo-esm-esm 1.31MB 167 bytes (0.01%) ⬆️
exo-esm-modules-esm 3.74MB 315 bytes (0.01%) ⬆️
exo-iife-min-Exo-iife 1.31MB 167 bytes (0.01%) ⬆️
exo-full-iife-Exo-iife 5.98MB 533 bytes (0.01%) ⬆️
exojs-tilemap-esm 233.8kB 21 bytes (0.01%) ⬆️
exo-iife-Exo-iife 3.63MB 320 bytes (0.01%) ⬆️
exo-full-iife-min-Exo-iife 2.19MB 281 bytes (0.01%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: exo-iife-min-Exo-iife

Assets Changed:

Asset Name Size Change Total Size Change (%)
exo.iife.min.js 167 bytes 1.31MB 0.01%

Files in exo.iife.min.js:

  • ./src/rendering/webgl2/WebGl2RepeatingSpriteRenderer.ts → Total Size: 23.32kB

  • ./src/rendering/webgl2/WebGl2SpriteRenderer.ts → Total Size: 30.16kB

  • ./src/rendering/plan/DerivedRootProduct.ts → Total Size: 10.34kB

  • ./src/rendering/plan/DerivedSelectionState.ts → Total Size: 14.14kB

  • ./src/rendering/webgl2/WebGl2RetainedGroupResources.ts → Total Size: 15.33kB

  • ./src/rendering/webgl2/WebGl2TextRenderer.ts → Total Size: 26.57kB

  • ./src/rendering/webgl2/WebGl2NineSliceSpriteRenderer.ts → Total Size: 14.47kB

  • ./src/rendering/webgl2/WebGl2MeshRenderer.ts → Total Size: 37.36kB

  • ./src/rendering/webgl2/WebGl2Backend.ts → Total Size: 91.1kB

view changes for bundle: exojs-tilemap-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
webgl2/WebGl2TileChunkRenderer.js 21 bytes 15.7kB 0.13%

Files in webgl2/WebGl2TileChunkRenderer.js:

  • ./src/webgl2/WebGl2TileChunkRenderer.ts → Total Size: 15.13kB
view changes for bundle: exo-esm-modules-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
rendering/webgl2/WebGl2Backend.js 13 bytes 91.63kB 0.01%
rendering/webgl2/WebGl2MeshRenderer.js 21 bytes 37.38kB 0.06%
rendering/webgl2/WebGl2SpriteRenderer.js 21 bytes 30.7kB 0.07%
rendering/webgl2/WebGl2TextRenderer.js 27 bytes 27.05kB 0.1%
rendering/webgl2/WebGl2RepeatingSpriteRenderer.js 21 bytes 23.74kB 0.09%
rendering/webgl2/WebGl2NineSliceSpriteRenderer.js 21 bytes 14.81kB 0.14%
rendering/plan/DerivedSelectionState.js 161 bytes 13.85kB 1.18%
rendering/plan/DerivedRootProduct.js 30 bytes 10.28kB 0.29%

Files in rendering/webgl2/WebGl2Backend.js:

  • ./src/rendering/webgl2/WebGl2Backend.ts → Total Size: 88.89kB

Files in rendering/webgl2/WebGl2MeshRenderer.js:

  • ./src/rendering/webgl2/WebGl2MeshRenderer.ts → Total Size: 36.51kB

Files in rendering/webgl2/WebGl2SpriteRenderer.js:

  • ./src/rendering/webgl2/WebGl2SpriteRenderer.ts → Total Size: 29.48kB

Files in rendering/webgl2/WebGl2TextRenderer.js:

  • ./src/rendering/webgl2/WebGl2TextRenderer.ts → Total Size: 25.86kB

Files in rendering/webgl2/WebGl2RepeatingSpriteRenderer.js:

  • ./src/rendering/webgl2/WebGl2RepeatingSpriteRenderer.ts → Total Size: 22.73kB

Files in rendering/webgl2/WebGl2NineSliceSpriteRenderer.js:

  • ./src/rendering/webgl2/WebGl2NineSliceSpriteRenderer.ts → Total Size: 14.08kB

Files in rendering/plan/DerivedSelectionState.js:

  • ./src/rendering/plan/DerivedSelectionState.ts → Total Size: 13.77kB

Files in rendering/plan/DerivedRootProduct.js:

  • ./src/rendering/plan/DerivedRootProduct.ts → Total Size: 10.07kB
view changes for bundle: exo-iife-Exo-iife

Assets Changed:

Asset Name Size Change Total Size Change (%)
exo.iife.js 320 bytes 3.63MB 0.01%

Files in exo.iife.js:

  • ./src/rendering/webgl2/WebGl2SpriteRenderer.ts → Total Size: 30.16kB

  • ./src/rendering/plan/DerivedRootProduct.ts → Total Size: 10.34kB

  • ./src/rendering/webgl2/WebGl2RepeatingSpriteRenderer.ts → Total Size: 23.32kB

  • ./src/rendering/plan/DerivedSelectionState.ts → Total Size: 14.14kB

  • ./src/rendering/webgl2/WebGl2TextRenderer.ts → Total Size: 26.57kB

  • ./src/rendering/webgl2/WebGl2NineSliceSpriteRenderer.ts → Total Size: 14.47kB

  • ./src/rendering/webgl2/WebGl2Backend.ts → Total Size: 91.1kB

  • ./src/rendering/webgl2/WebGl2RetainedGroupResources.ts → Total Size: 15.33kB

  • ./src/rendering/webgl2/WebGl2MeshRenderer.ts → Total Size: 37.36kB

view changes for bundle: exo-full-iife-min-Exo-iife

Assets Changed:

Asset Name Size Change Total Size Change (%)
exo.full.iife.min.js 281 bytes 2.19MB 0.01%

Files in exo.full.iife.min.js:

  • ./packages/exojs-tilemap/src/webgl2/WebGl2TileChunkRenderer.ts → Total Size: 15.39kB

  • ./src/rendering/plan/DerivedRootProduct.ts → Total Size: 10.34kB

  • ./src/rendering/plan/DerivedSelectionState.ts → Total Size: 14.14kB

view changes for bundle: exo-esm-esm

Assets Changed:

Asset Name Size Change Total Size Change (%)
exo.esm.js 167 bytes 1.31MB 0.01%

Files in exo.esm.js:

  • ./src/rendering/webgl2/WebGl2NineSliceSpriteRenderer.ts → Total Size: 14.13kB

  • ./src/rendering/webgl2/WebGl2TextRenderer.ts → Total Size: 25.95kB

  • ./src/rendering/webgl2/WebGl2SpriteRenderer.ts → Total Size: 29.52kB

  • ./src/rendering/plan/DerivedSelectionState.ts → Total Size: 13.77kB

  • ./src/rendering/webgl2/WebGl2MeshRenderer.ts → Total Size: 36.58kB

  • ./src/rendering/webgl2/WebGl2Backend.ts → Total Size: 88.89kB

  • ./src/rendering/webgl2/WebGl2RetainedGroupResources.ts → Total Size: 14.97kB

  • ./src/rendering/plan/DerivedRootProduct.ts → Total Size: 10.07kB

  • ./src/rendering/webgl2/WebGl2RepeatingSpriteRenderer.ts → Total Size: 22.79kB

view changes for bundle: exo-full-iife-Exo-iife

Assets Changed:

Asset Name Size Change Total Size Change (%)
exo.full.iife.js 533 bytes 5.98MB 0.01%

Files in exo.full.iife.js:

  • ./packages/exojs-tilemap/src/webgl2/WebGl2TileChunkRenderer.ts → Total Size: 15.39kB

  • ./src/rendering/plan/DerivedSelectionState.ts → Total Size: 14.14kB

  • ./src/rendering/plan/DerivedRootProduct.ts → Total Size: 10.34kB

@Exoridus
Exoridus force-pushed the slot-roadmap-completion branch from d544702 to 3d80794 Compare September 27, 2026 00:37
@Exoridus
Exoridus merged commit c9008a1 into next Sep 27, 2026
18 checks passed
@Exoridus
Exoridus deleted the slot-roadmap-completion branch September 27, 2026 00:48
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