@forgeax/engine-runtime 0.1.23 → 0.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (812) hide show
  1. package/README.md +15 -6
  2. package/dist/dev-import-transport.d.ts.map +1 -1
  3. package/dist/index.mjs +1 -1
  4. package/dist/index.mjs.map +1 -1
  5. package/package.json +30 -30
  6. package/src/__tests__/advance-animation-player.cases.unit.test.ts +1666 -0
  7. package/src/__tests__/asset-registry-aabb.cases.unit.test.ts +676 -0
  8. package/src/__tests__/asset-registry-bootstrap.cases.unit.test.ts +472 -0
  9. package/src/__tests__/asset-registry-builtin-nineslice.cases.unit.test.ts +481 -0
  10. package/src/__tests__/asset-registry-d9-tile-sampler-soft-warn.cases.unit.test.ts +568 -0
  11. package/src/__tests__/asset-registry-guid.cases.unit.test.ts +500 -0
  12. package/src/__tests__/asset-registry-material-validate.cases.unit.test.ts +756 -0
  13. package/src/__tests__/asset-registry-mesh-fail-fast.cases.unit.test.ts +591 -0
  14. package/src/__tests__/asset-registry-scene.cases.unit.test.ts +501 -0
  15. package/src/__tests__/asset-registry-sprite-slices-validate.cases.unit.test.ts +536 -0
  16. package/src/__tests__/asset-renderer-assembly.cases.unit.test.ts +496 -0
  17. package/src/__tests__/asset.cases.unit.test.ts +439 -0
  18. package/src/__tests__/bind-group-cache-keying.test.ts +6 -2
  19. package/src/__tests__/bloom-gating.cases.unit.test.ts +428 -0
  20. package/src/__tests__/builtin-guid-ssot.cases.unit.test.ts +472 -0
  21. package/src/__tests__/builtin-pack.cases.unit.test.ts +639 -0
  22. package/src/__tests__/builtin-shader-register-e2e.test.ts +1 -1
  23. package/src/__tests__/camera-antialias.cases.unit.test.ts +372 -0
  24. package/src/__tests__/camera-bloom.cases.unit.test.ts +396 -0
  25. package/src/__tests__/camera-clear-schema.cases.unit.test.ts +391 -0
  26. package/src/__tests__/camera-ortho.cases.unit.test.ts +484 -0
  27. package/src/__tests__/cluster-binner.cases.unit.test.ts +817 -0
  28. package/src/__tests__/collect-scene-mount-collapse.test.ts +5 -1
  29. package/src/__tests__/create-renderer-fallback-shader-manifest.cases.unit.test.ts +345 -0
  30. package/src/__tests__/create-renderer-uniform-fallback.cases.unit.test.ts +445 -0
  31. package/src/__tests__/cubemap-upload.cases.unit.test.ts +593 -0
  32. package/src/__tests__/dawn/hello-sprite-nineslice-section.dawn.test.ts +32 -27
  33. package/src/__tests__/dawn/ibl-precompute-readback.dawn.test.ts +184 -17
  34. package/src/__tests__/dawn/instances-uniform-fallback.dawn.test.ts +91 -64
  35. package/src/__tests__/dawn/material-alpha.dawn.test.ts +17 -4
  36. package/src/__tests__/dawn/material-cooked-fixture.dawn.test.ts +31 -9
  37. package/src/__tests__/derive-bgl-integration.test.ts +8 -8
  38. package/src/__tests__/dev-import-transport.cases.unit.test.ts +503 -0
  39. package/src/__tests__/engine-metrics.cases.unit.test.ts +371 -0
  40. package/src/__tests__/equirect-projection-error.cases.unit.test.ts +416 -0
  41. package/src/__tests__/font-asset-load.cases.unit.test.ts +510 -0
  42. package/src/__tests__/fullscreen-post-process-pass.dawn.test.ts +6 -2
  43. package/src/__tests__/fxaa-intermediate-texture.cases.unit.test.ts +690 -0
  44. package/src/__tests__/fxaa-pipeline.cases.unit.test.ts +546 -0
  45. package/src/__tests__/gpu-residency.cases.unit.test.ts +479 -0
  46. package/src/__tests__/gpu-resource-release.cases.unit.test.ts +929 -0
  47. package/src/__tests__/handle-quad.cases.unit.test.ts +491 -0
  48. package/src/__tests__/hdrp-bgl-slots.cases.unit.test.ts +451 -0
  49. package/src/__tests__/hdrp-grid-invalid.cases.unit.test.ts +408 -0
  50. package/src/__tests__/hdrp-index-list-overflow-once.cases.unit.test.ts +405 -0
  51. package/src/__tests__/hdrp-light-budget.cases.unit.test.ts +483 -0
  52. package/src/__tests__/hdrp-pipeline-asset-config.cases.unit.test.ts +441 -0
  53. package/src/__tests__/helpers/renderer-device-loss-dawn.ts +69 -0
  54. package/src/__tests__/helpers/standard-material-manifest.ts +11 -15
  55. package/src/__tests__/ibl-pipeline-cache.cases.unit.test.ts +415 -0
  56. package/src/__tests__/instances-renderer-lifecycle.integration.test.ts +161 -0
  57. package/src/__tests__/lazy-catalog.cases.unit.test.ts +848 -0
  58. package/src/__tests__/light-gpu-byte-neutral.unit.test.ts +6 -5
  59. package/src/__tests__/load-by-guid-hdr.cases.unit.test.ts +582 -0
  60. package/src/__tests__/load-by-guid-prod-material-parent.cases.unit.test.ts +1514 -0
  61. package/src/__tests__/load-by-guid-prod.cases.unit.test.ts +557 -0
  62. package/src/__tests__/loader-registry.cases.unit.test.ts +767 -0
  63. package/src/__tests__/m7-hdrp-demo-shape.cases.unit.test.ts +361 -0
  64. package/src/__tests__/material-texture-uv-scale.unit.test.ts +2 -2
  65. package/src/__tests__/materials.unit.test.ts +29 -10
  66. package/src/__tests__/mipmap-formula.cases.unit.test.ts +434 -0
  67. package/src/__tests__/mipmap-pipeline-cache.cases.unit.test.ts +490 -0
  68. package/src/__tests__/parse-asset-payload-material.cases.unit.test.ts +555 -0
  69. package/src/__tests__/parse-asset-payload-texture.cases.unit.test.ts +720 -0
  70. package/src/__tests__/parse-scene-payload-refs.cases.unit.test.ts +767 -0
  71. package/src/__tests__/pass-selector.cases.unit.test.ts +376 -0
  72. package/src/__tests__/pbr-pipeline.unit.test.ts +23 -5
  73. package/src/__tests__/pipeline-builder.cases.unit.test.ts +624 -0
  74. package/src/__tests__/pipeline-cache-key-topology.cases.unit.test.ts +807 -0
  75. package/src/__tests__/pipeline-vertex-stride-branch.cases.unit.test.ts +379 -0
  76. package/src/__tests__/pipeline.cases.unit.test.ts +370 -0
  77. package/src/__tests__/point-light-shadow.dawn.test.ts +24 -5
  78. package/src/__tests__/post-process-register.cases.unit.test.ts +405 -0
  79. package/src/__tests__/propagate-transforms.cases.unit.test.ts +502 -0
  80. package/src/__tests__/propagate-transforms.dawn.test.ts +19 -2
  81. package/src/__tests__/record-all-topology.cases.unit.test.ts +608 -0
  82. package/src/__tests__/record-draw-branch.cases.unit.test.ts +621 -0
  83. package/src/__tests__/record-strip-index-format.cases.unit.test.ts +419 -0
  84. package/src/__tests__/record-worldid-isolation.test.ts +6 -25
  85. package/src/__tests__/register-with-guid-rgba16float.cases.unit.test.ts +469 -0
  86. package/src/__tests__/render-data.cases.unit.test.ts +553 -0
  87. package/src/__tests__/render-error-exhaustive.test-d.ts +1 -0
  88. package/src/__tests__/render-query-regression.cases.unit.test.ts +531 -0
  89. package/src/__tests__/render-system-extract.test.ts +76 -1
  90. package/src/__tests__/render-system-record-submesh.cases.unit.test.ts +740 -0
  91. package/src/__tests__/render-system-record-warn-once.cases.unit.test.ts +418 -0
  92. package/src/__tests__/render-system-record.test.ts +15 -33
  93. package/src/__tests__/renderer-device-loss-multi-world.integration.test.ts +103 -0
  94. package/src/__tests__/renderer-device-loss-provider-feasibility.dawn.test.ts +124 -0
  95. package/src/__tests__/renderer-device-loss-recovery.dawn.test.ts +50 -0
  96. package/src/__tests__/renderer-draw-world.cases.unit.test.ts +514 -0
  97. package/src/__tests__/renderer-recovery-consumer.integration.test.ts +96 -0
  98. package/src/__tests__/renderstate-pipeline-cache.cases.unit.test.ts +631 -0
  99. package/src/__tests__/resolve-scene-guids.cases.unit.test.ts +1123 -0
  100. package/src/__tests__/shadow-caster-empty-schema.test.ts +12 -15
  101. package/src/__tests__/shadow-csm-runtime-vary.dawn.test.ts +10 -5
  102. package/src/__tests__/shadow-fields-observable.dawn.test.ts +2 -2
  103. package/src/__tests__/shadow-m1.dawn.test.ts +1 -1
  104. package/src/__tests__/shadow-skip-non-triangle.cases.unit.test.ts +681 -0
  105. package/src/__tests__/skin-errors-kebab-case.cases.unit.test.ts +475 -0
  106. package/src/__tests__/skin-extract-getarrayview-count.unit.test.ts +5 -4
  107. package/src/__tests__/skin-instances-coexist.cases.unit.test.ts +375 -0
  108. package/src/__tests__/skin-m2-extract-happy.cases.unit.test.ts +592 -0
  109. package/src/__tests__/skin-m2-extract-joint-error.cases.unit.test.ts +619 -0
  110. package/src/__tests__/skin-m2-extract-null-assets.cases.unit.test.ts +569 -0
  111. package/src/__tests__/skin-m2-extract-skeleton-error.cases.unit.test.ts +585 -0
  112. package/src/__tests__/skin-m3-record-cache.cases.unit.test.ts +457 -0
  113. package/src/__tests__/skin-palette-extract.cases.unit.test.ts +635 -0
  114. package/src/__tests__/skin-pipeline-routing.cases.unit.test.ts +411 -0
  115. package/src/__tests__/skin.cases.unit.test.ts +421 -0
  116. package/src/__tests__/skybox-extract.cases.unit.test.ts +511 -0
  117. package/src/__tests__/skybox-shader-compile.cases.unit.test.ts +437 -0
  118. package/src/__tests__/skylight-bind-group.cases.unit.test.ts +642 -0
  119. package/src/__tests__/skylight-component.cases.unit.test.ts +386 -0
  120. package/src/__tests__/skylight-fallback-path.cases.unit.test.ts +566 -0
  121. package/src/__tests__/skylight-lazy-projection.test.ts +35 -20
  122. package/src/__tests__/skylight-pipeline-layout.cases.unit.test.ts +506 -0
  123. package/src/__tests__/skylight-solid-color-extract.cases.unit.test.ts +399 -0
  124. package/src/__tests__/sprite-animation-tick-boundary.cases.unit.test.ts +521 -0
  125. package/src/__tests__/sprite-animation-tick-clamp.cases.unit.test.ts +453 -0
  126. package/src/__tests__/sprite-animation-tick-frame-duration-negative.cases.unit.test.ts +447 -0
  127. package/src/__tests__/sprite-animation-tick-frame-duration-zero.cases.unit.test.ts +395 -0
  128. package/src/__tests__/sprite-animation-tick-loop.cases.unit.test.ts +494 -0
  129. package/src/__tests__/sprite-animation-tick-override-probe.cases.unit.test.ts +439 -0
  130. package/src/__tests__/sprite-animation-tick-regions-mismatch.cases.unit.test.ts +466 -0
  131. package/src/__tests__/sprite-lit-bgl-byte-identical.test.ts +5 -5
  132. package/src/__tests__/sprite-lit-pipeline-cache-key.test.ts +1 -1
  133. package/src/__tests__/ssao-pipelines.test.ts +1 -1
  134. package/src/__tests__/storage-buffer-caps.cases.unit.test.ts +373 -0
  135. package/src/__tests__/surface-standard-pipeline.browser.test.ts +350 -0
  136. package/src/__tests__/surface-standard-pipeline.dawn.test.ts +346 -0
  137. package/src/__tests__/surface-standard-pipeline.runtime-fixture.ts +184 -0
  138. package/src/__tests__/surface-standard-pipeline.vite.d.ts +12 -0
  139. package/src/__tests__/systems.cases.unit.test.ts +425 -0
  140. package/src/__tests__/tilemap-chunk-extract.overhang-bounds.test.ts +1 -1
  141. package/src/__tests__/tonemap-hdr-target.cases.unit.test.ts +676 -0
  142. package/src/__tests__/tonemap-pipeline-split.cases.unit.test.ts +867 -0
  143. package/src/__tests__/tonemap.cases.unit.test.ts +446 -0
  144. package/src/__tests__/transparent-sort-config-get.cases.unit.test.ts +395 -0
  145. package/src/__tests__/transparent-sort-config-set.cases.unit.test.ts +424 -0
  146. package/src/__tests__/transparent-sort.cases.unit.test.ts +684 -0
  147. package/src/__tests__/upload-texture-consistency.cases.unit.test.ts +478 -0
  148. package/src/__tests__/verify-revisions.cases.unit.test.ts +619 -0
  149. package/src/__tests__/wire-default-loaders.cases.unit.test.ts +461 -0
  150. package/src/__tests__/zero-camera-clear-fallback.cases.unit.test.ts +374 -0
  151. package/src/dev-import-transport.ts +2 -1
  152. package/dist/__tests__/active-camera.unit.test.d.ts +0 -2
  153. package/dist/__tests__/active-camera.unit.test.d.ts.map +0 -1
  154. package/dist/__tests__/animation-graph-add.unit.test.d.ts +0 -2
  155. package/dist/__tests__/animation-graph-add.unit.test.d.ts.map +0 -1
  156. package/dist/__tests__/animation-graph-asset-union.test-d.d.ts +0 -2
  157. package/dist/__tests__/animation-graph-asset-union.test-d.d.ts.map +0 -1
  158. package/dist/__tests__/animation-graph-blend.unit.test.d.ts +0 -2
  159. package/dist/__tests__/animation-graph-blend.unit.test.d.ts.map +0 -1
  160. package/dist/__tests__/animation-graph-build.unit.test.d.ts +0 -2
  161. package/dist/__tests__/animation-graph-build.unit.test.d.ts.map +0 -1
  162. package/dist/__tests__/animation-graph-clip-missing.unit.test.d.ts +0 -2
  163. package/dist/__tests__/animation-graph-clip-missing.unit.test.d.ts.map +0 -1
  164. package/dist/__tests__/animation-graph-clip.unit.test.d.ts +0 -2
  165. package/dist/__tests__/animation-graph-clip.unit.test.d.ts.map +0 -1
  166. package/dist/__tests__/animation-graph-collect-roundtrip.test.d.ts +0 -2
  167. package/dist/__tests__/animation-graph-collect-roundtrip.test.d.ts.map +0 -1
  168. package/dist/__tests__/animation-graph-default-path.integration.test.d.ts +0 -2
  169. package/dist/__tests__/animation-graph-default-path.integration.test.d.ts.map +0 -1
  170. package/dist/__tests__/animation-graph-describe.unit.test.d.ts +0 -2
  171. package/dist/__tests__/animation-graph-describe.unit.test.d.ts.map +0 -1
  172. package/dist/__tests__/animation-graph-errors.unit.test.d.ts +0 -2
  173. package/dist/__tests__/animation-graph-errors.unit.test.d.ts.map +0 -1
  174. package/dist/__tests__/animation-graph-nesting.unit.test.d.ts +0 -2
  175. package/dist/__tests__/animation-graph-nesting.unit.test.d.ts.map +0 -1
  176. package/dist/__tests__/animation-graph-orthogonal-weight.unit.test.d.ts +0 -2
  177. package/dist/__tests__/animation-graph-orthogonal-weight.unit.test.d.ts.map +0 -1
  178. package/dist/__tests__/animation-graph-serialize.unit.test.d.ts +0 -2
  179. package/dist/__tests__/animation-graph-serialize.unit.test.d.ts.map +0 -1
  180. package/dist/__tests__/animation-graph-slot-fill.unit.test.d.ts +0 -2
  181. package/dist/__tests__/animation-graph-slot-fill.unit.test.d.ts.map +0 -1
  182. package/dist/__tests__/animation-nslot.unit.test.d.ts +0 -2
  183. package/dist/__tests__/animation-nslot.unit.test.d.ts.map +0 -1
  184. package/dist/__tests__/animation-slot-length-guard.unit.test.d.ts +0 -2
  185. package/dist/__tests__/animation-slot-length-guard.unit.test.d.ts.map +0 -1
  186. package/dist/__tests__/append-injection.test.d.ts +0 -2
  187. package/dist/__tests__/append-injection.test.d.ts.map +0 -1
  188. package/dist/__tests__/asi-world-baseline-export.unit.test.d.ts +0 -2
  189. package/dist/__tests__/asi-world-baseline-export.unit.test.d.ts.map +0 -1
  190. package/dist/__tests__/asi-world-ci-config.unit.test.d.ts +0 -2
  191. package/dist/__tests__/asi-world-ci-config.unit.test.d.ts.map +0 -1
  192. package/dist/__tests__/asi-world-smoke.unit.test.d.ts +0 -2
  193. package/dist/__tests__/asi-world-smoke.unit.test.d.ts.map +0 -1
  194. package/dist/__tests__/asset-brand-and-name-retirement.test.d.ts +0 -2
  195. package/dist/__tests__/asset-brand-and-name-retirement.test.d.ts.map +0 -1
  196. package/dist/__tests__/asset-error-exhaustive.test-d.d.ts +0 -11
  197. package/dist/__tests__/asset-error-exhaustive.test-d.d.ts.map +0 -1
  198. package/dist/__tests__/asset-registry-guid-reverse.test.d.ts +0 -2
  199. package/dist/__tests__/asset-registry-guid-reverse.test.d.ts.map +0 -1
  200. package/dist/__tests__/asset-registry-hdr-equirect.test.d.ts +0 -2
  201. package/dist/__tests__/asset-registry-hdr-equirect.test.d.ts.map +0 -1
  202. package/dist/__tests__/asset-registry-mesh-pack-payload.dawn.test.d.ts +0 -2
  203. package/dist/__tests__/asset-registry-mesh-pack-payload.dawn.test.d.ts.map +0 -1
  204. package/dist/__tests__/asset-registry-mounts.test.d.ts +0 -2
  205. package/dist/__tests__/asset-registry-mounts.test.d.ts.map +0 -1
  206. package/dist/__tests__/asset-registry-scene.test-d.d.ts +0 -2
  207. package/dist/__tests__/asset-registry-scene.test-d.d.ts.map +0 -1
  208. package/dist/__tests__/asset-registry.browser.test.d.ts +0 -2
  209. package/dist/__tests__/asset-registry.browser.test.d.ts.map +0 -1
  210. package/dist/__tests__/asset-registry.dawn.test.d.ts +0 -2
  211. package/dist/__tests__/asset-registry.dawn.test.d.ts.map +0 -1
  212. package/dist/__tests__/asset-registry.listCatalog.test.d.ts +0 -2
  213. package/dist/__tests__/asset-registry.listCatalog.test.d.ts.map +0 -1
  214. package/dist/__tests__/asset-registry.mesh-bin.test.d.ts +0 -2
  215. package/dist/__tests__/asset-registry.mesh-bin.test.d.ts.map +0 -1
  216. package/dist/__tests__/asset-registry.pack-cache.test.d.ts +0 -2
  217. package/dist/__tests__/asset-registry.pack-cache.test.d.ts.map +0 -1
  218. package/dist/__tests__/asset-registry.raw-container-failfast.test.d.ts +0 -2
  219. package/dist/__tests__/asset-registry.raw-container-failfast.test.d.ts.map +0 -1
  220. package/dist/__tests__/asset-registry.recursive.spec.d.ts +0 -2
  221. package/dist/__tests__/asset-registry.recursive.spec.d.ts.map +0 -1
  222. package/dist/__tests__/asset-registry.unit.test.d.ts +0 -2
  223. package/dist/__tests__/asset-registry.unit.test.d.ts.map +0 -1
  224. package/dist/__tests__/asset.unit.test.d.ts +0 -2
  225. package/dist/__tests__/asset.unit.test.d.ts.map +0 -1
  226. package/dist/__tests__/audio-load-by-guid.unit.test.d.ts +0 -2
  227. package/dist/__tests__/audio-load-by-guid.unit.test.d.ts.map +0 -1
  228. package/dist/__tests__/backend-selection.integration.test.d.ts +0 -2
  229. package/dist/__tests__/backend-selection.integration.test.d.ts.map +0 -1
  230. package/dist/__tests__/basis-catalog-dispatch.integration.test.d.ts +0 -2
  231. package/dist/__tests__/basis-catalog-dispatch.integration.test.d.ts.map +0 -1
  232. package/dist/__tests__/bind-group-cache-keying.test.d.ts +0 -2
  233. package/dist/__tests__/bind-group-cache-keying.test.d.ts.map +0 -1
  234. package/dist/__tests__/block-upload-math.unit.test.d.ts +0 -2
  235. package/dist/__tests__/block-upload-math.unit.test.d.ts.map +0 -1
  236. package/dist/__tests__/builtin-asset-registry.unit.test.d.ts +0 -2
  237. package/dist/__tests__/builtin-asset-registry.unit.test.d.ts.map +0 -1
  238. package/dist/__tests__/builtin-shader-register-e2e.test.d.ts +0 -2
  239. package/dist/__tests__/builtin-shader-register-e2e.test.d.ts.map +0 -1
  240. package/dist/__tests__/cache-false-eviction.test.d.ts +0 -2
  241. package/dist/__tests__/cache-false-eviction.test.d.ts.map +0 -1
  242. package/dist/__tests__/cache-isolation-matrix.test.d.ts +0 -2
  243. package/dist/__tests__/cache-isolation-matrix.test.d.ts.map +0 -1
  244. package/dist/__tests__/camera-clear-snapshot-equivalence.unit.test.d.ts +0 -2
  245. package/dist/__tests__/camera-clear-snapshot-equivalence.unit.test.d.ts.map +0 -1
  246. package/dist/__tests__/clamp-to-last.e2e.browser.test.d.ts +0 -2
  247. package/dist/__tests__/clamp-to-last.e2e.browser.test.d.ts.map +0 -1
  248. package/dist/__tests__/clamp-to-last.e2e.dawn.test.d.ts +0 -2
  249. package/dist/__tests__/clamp-to-last.e2e.dawn.test.d.ts.map +0 -1
  250. package/dist/__tests__/collect-scene-asset.test.d.ts +0 -2
  251. package/dist/__tests__/collect-scene-asset.test.d.ts.map +0 -1
  252. package/dist/__tests__/collect-scene-mount-collapse.test.d.ts +0 -2
  253. package/dist/__tests__/collect-scene-mount-collapse.test.d.ts.map +0 -1
  254. package/dist/__tests__/collect-subtree.unit.test.d.ts +0 -2
  255. package/dist/__tests__/collect-subtree.unit.test.d.ts.map +0 -1
  256. package/dist/__tests__/collect-transient-children-absent.test.d.ts +0 -2
  257. package/dist/__tests__/collect-transient-children-absent.test.d.ts.map +0 -1
  258. package/dist/__tests__/collect-transient-roundtrip.test.d.ts +0 -2
  259. package/dist/__tests__/collect-transient-roundtrip.test.d.ts.map +0 -1
  260. package/dist/__tests__/collect-transient-skip.test.d.ts +0 -2
  261. package/dist/__tests__/collect-transient-skip.test.d.ts.map +0 -1
  262. package/dist/__tests__/components.test-d.d.ts +0 -2
  263. package/dist/__tests__/components.test-d.d.ts.map +0 -1
  264. package/dist/__tests__/components.unit.test.d.ts +0 -2
  265. package/dist/__tests__/components.unit.test.d.ts.map +0 -1
  266. package/dist/__tests__/composite-skybox-cross-world.browser.test.d.ts +0 -2
  267. package/dist/__tests__/composite-skybox-cross-world.browser.test.d.ts.map +0 -1
  268. package/dist/__tests__/compressed-texture-physical-extent.integration.test.d.ts +0 -2
  269. package/dist/__tests__/compressed-texture-physical-extent.integration.test.d.ts.map +0 -1
  270. package/dist/__tests__/create-renderer-assembly.integration.test.d.ts +0 -2
  271. package/dist/__tests__/create-renderer-assembly.integration.test.d.ts.map +0 -1
  272. package/dist/__tests__/create-renderer-gpu-pass-timing.unit.test.d.ts +0 -2
  273. package/dist/__tests__/create-renderer-gpu-pass-timing.unit.test.d.ts.map +0 -1
  274. package/dist/__tests__/createRenderer-dispose.test.d.ts +0 -2
  275. package/dist/__tests__/createRenderer-dispose.test.d.ts.map +0 -1
  276. package/dist/__tests__/createRenderer-requiredFeatures.unit.test.d.ts +0 -2
  277. package/dist/__tests__/createRenderer-requiredFeatures.unit.test.d.ts.map +0 -1
  278. package/dist/__tests__/createRenderer.browser-no-webgpu.test.d.ts +0 -2
  279. package/dist/__tests__/createRenderer.browser-no-webgpu.test.d.ts.map +0 -1
  280. package/dist/__tests__/createRenderer.unit.test.d.ts +0 -2
  281. package/dist/__tests__/createRenderer.unit.test.d.ts.map +0 -1
  282. package/dist/__tests__/dawn/hello-sprite-nineslice-section.dawn.test.d.ts +0 -2
  283. package/dist/__tests__/dawn/hello-sprite-nineslice-section.dawn.test.d.ts.map +0 -1
  284. package/dist/__tests__/dawn/ibl-compose.dawn.test.d.ts +0 -2
  285. package/dist/__tests__/dawn/ibl-compose.dawn.test.d.ts.map +0 -1
  286. package/dist/__tests__/dawn/ibl-modules-compose.dawn.test.d.ts +0 -2
  287. package/dist/__tests__/dawn/ibl-modules-compose.dawn.test.d.ts.map +0 -1
  288. package/dist/__tests__/dawn/ibl-precompute-readback.dawn.test.d.ts +0 -2
  289. package/dist/__tests__/dawn/ibl-precompute-readback.dawn.test.d.ts.map +0 -1
  290. package/dist/__tests__/dawn/instances-per-instance-pbr.dawn.test.d.ts +0 -2
  291. package/dist/__tests__/dawn/instances-per-instance-pbr.dawn.test.d.ts.map +0 -1
  292. package/dist/__tests__/dawn/instances-shadow.dawn.test.d.ts +0 -2
  293. package/dist/__tests__/dawn/instances-shadow.dawn.test.d.ts.map +0 -1
  294. package/dist/__tests__/dawn/instances-uniform-fallback.dawn.test.d.ts +0 -2
  295. package/dist/__tests__/dawn/instances-uniform-fallback.dawn.test.d.ts.map +0 -1
  296. package/dist/__tests__/dawn/material-alpha.dawn.test.d.ts +0 -2
  297. package/dist/__tests__/dawn/material-alpha.dawn.test.d.ts.map +0 -1
  298. package/dist/__tests__/dawn/material-cooked-fixture.dawn.test.d.ts +0 -2
  299. package/dist/__tests__/dawn/material-cooked-fixture.dawn.test.d.ts.map +0 -1
  300. package/dist/__tests__/dawn/mesh-ssbo-normal-matrix.dawn.test.d.ts +0 -2
  301. package/dist/__tests__/dawn/mesh-ssbo-normal-matrix.dawn.test.d.ts.map +0 -1
  302. package/dist/__tests__/dawn/mesh-update-dawn.test.d.ts +0 -2
  303. package/dist/__tests__/dawn/mesh-update-dawn.test.d.ts.map +0 -1
  304. package/dist/__tests__/dawn/mipmap-srgb-linear.dawn.test.d.ts +0 -2
  305. package/dist/__tests__/dawn/mipmap-srgb-linear.dawn.test.d.ts.map +0 -1
  306. package/dist/__tests__/dawn/per-entity-material-texture-isolation.dawn.test.d.ts +0 -2
  307. package/dist/__tests__/dawn/per-entity-material-texture-isolation.dawn.test.d.ts.map +0 -1
  308. package/dist/__tests__/dawn/sprite-nineslice-mesh-bind.dawn.test.d.ts +0 -2
  309. package/dist/__tests__/dawn/sprite-nineslice-mesh-bind.dawn.test.d.ts.map +0 -1
  310. package/dist/__tests__/dawn/tonemap.dawn.test.d.ts +0 -2
  311. package/dist/__tests__/dawn/tonemap.dawn.test.d.ts.map +0 -1
  312. package/dist/__tests__/dawn/upload-texture.dawn.test.d.ts +0 -2
  313. package/dist/__tests__/dawn/upload-texture.dawn.test.d.ts.map +0 -1
  314. package/dist/__tests__/dawn/user-handle-mesh-render.dawn.test.d.ts +0 -2
  315. package/dist/__tests__/dawn/user-handle-mesh-render.dawn.test.d.ts.map +0 -1
  316. package/dist/__tests__/dawn/user-mesh-upload.dawn.test.d.ts +0 -2
  317. package/dist/__tests__/dawn/user-mesh-upload.dawn.test.d.ts.map +0 -1
  318. package/dist/__tests__/dawn/zero-manifest-mesh-fail.dawn.test.d.ts +0 -2
  319. package/dist/__tests__/dawn/zero-manifest-mesh-fail.dawn.test.d.ts.map +0 -1
  320. package/dist/__tests__/dawn/zero-manifest-ready.dawn.test.d.ts +0 -2
  321. package/dist/__tests__/dawn/zero-manifest-ready.dawn.test.d.ts.map +0 -1
  322. package/dist/__tests__/demo-sortscope-migration.unit.test.d.ts +0 -2
  323. package/dist/__tests__/demo-sortscope-migration.unit.test.d.ts.map +0 -1
  324. package/dist/__tests__/derive-bgl-integration.test.d.ts +0 -2
  325. package/dist/__tests__/derive-bgl-integration.test.d.ts.map +0 -1
  326. package/dist/__tests__/derive-render-data-skin.unit.test.d.ts +0 -2
  327. package/dist/__tests__/derive-render-data-skin.unit.test.d.ts.map +0 -1
  328. package/dist/__tests__/draw-published.d.ts +0 -5
  329. package/dist/__tests__/draw-published.d.ts.map +0 -1
  330. package/dist/__tests__/dynamic-texture-store.unit.test.d.ts +0 -2
  331. package/dist/__tests__/dynamic-texture-store.unit.test.d.ts.map +0 -1
  332. package/dist/__tests__/environment-error-exhaustive.test-d.d.ts +0 -8
  333. package/dist/__tests__/environment-error-exhaustive.test-d.d.ts.map +0 -1
  334. package/dist/__tests__/equirect-bc6h.integration.test.d.ts +0 -2
  335. package/dist/__tests__/equirect-bc6h.integration.test.d.ts.map +0 -1
  336. package/dist/__tests__/error-exhaustive.test.d.ts +0 -2
  337. package/dist/__tests__/error-exhaustive.test.d.ts.map +0 -1
  338. package/dist/__tests__/errors.unit.test.d.ts +0 -2
  339. package/dist/__tests__/errors.unit.test.d.ts.map +0 -1
  340. package/dist/__tests__/extract-frames-graceful-degradation.test.d.ts +0 -2
  341. package/dist/__tests__/extract-frames-graceful-degradation.test.d.ts.map +0 -1
  342. package/dist/__tests__/extract-frames-merge.test.d.ts +0 -2
  343. package/dist/__tests__/extract-frames-merge.test.d.ts.map +0 -1
  344. package/dist/__tests__/extract-frames-reset.test.d.ts +0 -2
  345. package/dist/__tests__/extract-frames-reset.test.d.ts.map +0 -1
  346. package/dist/__tests__/extract-record-no-hardcoded-texture-fields.test.d.ts +0 -2
  347. package/dist/__tests__/extract-record-no-hardcoded-texture-fields.test.d.ts.map +0 -1
  348. package/dist/__tests__/extract-skin-mismatch.unit.test.d.ts +0 -2
  349. package/dist/__tests__/extract-skin-mismatch.unit.test.d.ts.map +0 -1
  350. package/dist/__tests__/fetch-binary-decompress.test.d.ts +0 -2
  351. package/dist/__tests__/fetch-binary-decompress.test.d.ts.map +0 -1
  352. package/dist/__tests__/four-path-compression.integration.test.d.ts +0 -2
  353. package/dist/__tests__/four-path-compression.integration.test.d.ts.map +0 -1
  354. package/dist/__tests__/frame-targets-shadow-regression.unit.test.d.ts +0 -2
  355. package/dist/__tests__/frame-targets-shadow-regression.unit.test.d.ts.map +0 -1
  356. package/dist/__tests__/fullscreen-feature-host.dawn.test.d.ts +0 -2
  357. package/dist/__tests__/fullscreen-feature-host.dawn.test.d.ts.map +0 -1
  358. package/dist/__tests__/fullscreen-post-bgl-depth.test.d.ts +0 -2
  359. package/dist/__tests__/fullscreen-post-bgl-depth.test.d.ts.map +0 -1
  360. package/dist/__tests__/fullscreen-post-depth-params-arity.test.d.ts +0 -2
  361. package/dist/__tests__/fullscreen-post-depth-params-arity.test.d.ts.map +0 -1
  362. package/dist/__tests__/fullscreen-post-process-pass.dawn.test.d.ts +0 -2
  363. package/dist/__tests__/fullscreen-post-process-pass.dawn.test.d.ts.map +0 -1
  364. package/dist/__tests__/fullscreen-post-process-pass.unit.test.d.ts +0 -2
  365. package/dist/__tests__/fullscreen-post-process-pass.unit.test.d.ts.map +0 -1
  366. package/dist/__tests__/fxaa-pixel-diff.dawn.test.d.ts +0 -2
  367. package/dist/__tests__/fxaa-pixel-diff.dawn.test.d.ts.map +0 -1
  368. package/dist/__tests__/fxaa-validation-and-resize.dawn.test.d.ts +0 -2
  369. package/dist/__tests__/fxaa-validation-and-resize.dawn.test.d.ts.map +0 -1
  370. package/dist/__tests__/fxaa-zero-overhead.dawn.test.d.ts +0 -2
  371. package/dist/__tests__/fxaa-zero-overhead.dawn.test.d.ts.map +0 -1
  372. package/dist/__tests__/geometry.unit.test.d.ts +0 -2
  373. package/dist/__tests__/geometry.unit.test.d.ts.map +0 -1
  374. package/dist/__tests__/glyph-tilemap-worldid.test.d.ts +0 -2
  375. package/dist/__tests__/glyph-tilemap-worldid.test.d.ts.map +0 -1
  376. package/dist/__tests__/gpu-resource-cow-survivor.test.d.ts +0 -2
  377. package/dist/__tests__/gpu-resource-cow-survivor.test.d.ts.map +0 -1
  378. package/dist/__tests__/guid-for-asset.unit.test.d.ts +0 -2
  379. package/dist/__tests__/guid-for-asset.unit.test.d.ts.map +0 -1
  380. package/dist/__tests__/handle-migration.test.d.ts +0 -2
  381. package/dist/__tests__/handle-migration.test.d.ts.map +0 -1
  382. package/dist/__tests__/hello-tilemap-smoke-upgrade.unit.test.d.ts +0 -2
  383. package/dist/__tests__/hello-tilemap-smoke-upgrade.unit.test.d.ts.map +0 -1
  384. package/dist/__tests__/helpers/mock-shader-registry.d.ts +0 -11
  385. package/dist/__tests__/helpers/mock-shader-registry.d.ts.map +0 -1
  386. package/dist/__tests__/helpers/register-runtime-components.d.ts +0 -4
  387. package/dist/__tests__/helpers/register-runtime-components.d.ts.map +0 -1
  388. package/dist/__tests__/helpers/register-scene-components.d.ts +0 -4
  389. package/dist/__tests__/helpers/register-scene-components.d.ts.map +0 -1
  390. package/dist/__tests__/helpers/standard-material-manifest.d.ts +0 -12
  391. package/dist/__tests__/helpers/standard-material-manifest.d.ts.map +0 -1
  392. package/dist/__tests__/helpers/tilemap-assets.d.ts +0 -6
  393. package/dist/__tests__/helpers/tilemap-assets.d.ts.map +0 -1
  394. package/dist/__tests__/host-custom-kind-contract.test-d.d.ts +0 -2
  395. package/dist/__tests__/host-custom-kind-contract.test-d.d.ts.map +0 -1
  396. package/dist/__tests__/host-custom-kind-contract.test.d.ts +0 -2
  397. package/dist/__tests__/host-custom-kind-contract.test.d.ts.map +0 -1
  398. package/dist/__tests__/inspect-name.test.d.ts +0 -2
  399. package/dist/__tests__/inspect-name.test.d.ts.map +0 -1
  400. package/dist/__tests__/instances.test-d.d.ts +0 -2
  401. package/dist/__tests__/instances.test-d.d.ts.map +0 -1
  402. package/dist/__tests__/instantiate-mount-deferred-wiring.test.d.ts +0 -2
  403. package/dist/__tests__/instantiate-mount-deferred-wiring.test.d.ts.map +0 -1
  404. package/dist/__tests__/light-attenuation-formula.test.d.ts +0 -2
  405. package/dist/__tests__/light-attenuation-formula.test.d.ts.map +0 -1
  406. package/dist/__tests__/light-casters-9-light.browser.test.d.ts +0 -2
  407. package/dist/__tests__/light-casters-9-light.browser.test.d.ts.map +0 -1
  408. package/dist/__tests__/light-gpu-byte-neutral.unit.test.d.ts +0 -2
  409. package/dist/__tests__/light-gpu-byte-neutral.unit.test.d.ts.map +0 -1
  410. package/dist/__tests__/light-snapshot.test-d.d.ts +0 -2
  411. package/dist/__tests__/light-snapshot.test-d.d.ts.map +0 -1
  412. package/dist/__tests__/lights-preservation.fixup.test.d.ts +0 -2
  413. package/dist/__tests__/lights-preservation.fixup.test.d.ts.map +0 -1
  414. package/dist/__tests__/lights-vec-negative.unit.test.d.ts +0 -2
  415. package/dist/__tests__/lights-vec-negative.unit.test.d.ts.map +0 -1
  416. package/dist/__tests__/lights.unit.test.d.ts +0 -2
  417. package/dist/__tests__/lights.unit.test.d.ts.map +0 -1
  418. package/dist/__tests__/loadbyguid-payload.unit.test.d.ts +0 -2
  419. package/dist/__tests__/loadbyguid-payload.unit.test.d.ts.map +0 -1
  420. package/dist/__tests__/loadbyguid-texture-intern.unit.test.d.ts +0 -2
  421. package/dist/__tests__/loadbyguid-texture-intern.unit.test.d.ts.map +0 -1
  422. package/dist/__tests__/loader-extract-graceful.test.d.ts +0 -2
  423. package/dist/__tests__/loader-extract-graceful.test.d.ts.map +0 -1
  424. package/dist/__tests__/loader-name-survival.test.d.ts +0 -2
  425. package/dist/__tests__/loader-name-survival.test.d.ts.map +0 -1
  426. package/dist/__tests__/m3-vec-negative.unit.test.d.ts +0 -2
  427. package/dist/__tests__/m3-vec-negative.unit.test.d.ts.map +0 -1
  428. package/dist/__tests__/m5-browser-dawn-sweep.integration.test.d.ts +0 -2
  429. package/dist/__tests__/m5-browser-dawn-sweep.integration.test.d.ts.map +0 -1
  430. package/dist/__tests__/material-texture-dimension-mismatch.unit.test.d.ts +0 -2
  431. package/dist/__tests__/material-texture-dimension-mismatch.unit.test.d.ts.map +0 -1
  432. package/dist/__tests__/material-texture-uv-scale.unit.test.d.ts +0 -2
  433. package/dist/__tests__/material-texture-uv-scale.unit.test.d.ts.map +0 -1
  434. package/dist/__tests__/materials.unit.test.d.ts +0 -2
  435. package/dist/__tests__/materials.unit.test.d.ts.map +0 -1
  436. package/dist/__tests__/mesh-bin-contract.test.d.ts +0 -2
  437. package/dist/__tests__/mesh-bin-contract.test.d.ts.map +0 -1
  438. package/dist/__tests__/mesh-bin-skin-roundtrip.unit.test.d.ts +0 -2
  439. package/dist/__tests__/mesh-bin-skin-roundtrip.unit.test.d.ts.map +0 -1
  440. package/dist/__tests__/mesh-bin.test.d.ts +0 -2
  441. package/dist/__tests__/mesh-bin.test.d.ts.map +0 -1
  442. package/dist/__tests__/mesh-loader-skin-contract.unit.test.d.ts +0 -2
  443. package/dist/__tests__/mesh-loader-skin-contract.unit.test.d.ts.map +0 -1
  444. package/dist/__tests__/mesh-ssbo-grow.unit.test.d.ts +0 -2
  445. package/dist/__tests__/mesh-ssbo-grow.unit.test.d.ts.map +0 -1
  446. package/dist/__tests__/mip-gate.unit.test.d.ts +0 -2
  447. package/dist/__tests__/mip-gate.unit.test.d.ts.map +0 -1
  448. package/dist/__tests__/msaa-sprite-pixel-diff.dawn.test.d.ts +0 -2
  449. package/dist/__tests__/msaa-sprite-pixel-diff.dawn.test.d.ts.map +0 -1
  450. package/dist/__tests__/multi-uv-8set.e2e.dawn.test.d.ts +0 -2
  451. package/dist/__tests__/multi-uv-8set.e2e.dawn.test.d.ts.map +0 -1
  452. package/dist/__tests__/name.unit.test.d.ts +0 -2
  453. package/dist/__tests__/name.unit.test.d.ts.map +0 -1
  454. package/dist/__tests__/new-kind-refs-contract.test.d.ts +0 -2
  455. package/dist/__tests__/new-kind-refs-contract.test.d.ts.map +0 -1
  456. package/dist/__tests__/package-promotion.test.d.ts +0 -2
  457. package/dist/__tests__/package-promotion.test.d.ts.map +0 -1
  458. package/dist/__tests__/package-rename.test.d.ts +0 -2
  459. package/dist/__tests__/package-rename.test.d.ts.map +0 -1
  460. package/dist/__tests__/pass-selector.unit.test.d.ts +0 -2
  461. package/dist/__tests__/pass-selector.unit.test.d.ts.map +0 -1
  462. package/dist/__tests__/pbr-pipeline.unit.test.d.ts +0 -2
  463. package/dist/__tests__/pbr-pipeline.unit.test.d.ts.map +0 -1
  464. package/dist/__tests__/pipeline-builder-msaa.unit.test.d.ts +0 -2
  465. package/dist/__tests__/pipeline-builder-msaa.unit.test.d.ts.map +0 -1
  466. package/dist/__tests__/pipeline-cache-keying.unit.test.d.ts +0 -2
  467. package/dist/__tests__/pipeline-cache-keying.unit.test.d.ts.map +0 -1
  468. package/dist/__tests__/pipeline-spec.test.d.ts +0 -2
  469. package/dist/__tests__/pipeline-spec.test.d.ts.map +0 -1
  470. package/dist/__tests__/pipeline.unit.test.d.ts +0 -2
  471. package/dist/__tests__/pipeline.unit.test.d.ts.map +0 -1
  472. package/dist/__tests__/point-light-shadow.browser.test.d.ts +0 -2
  473. package/dist/__tests__/point-light-shadow.browser.test.d.ts.map +0 -1
  474. package/dist/__tests__/point-light-shadow.dawn.test.d.ts +0 -2
  475. package/dist/__tests__/point-light-shadow.dawn.test.d.ts.map +0 -1
  476. package/dist/__tests__/point-light-shadow.unit.test.d.ts +0 -2
  477. package/dist/__tests__/point-light-shadow.unit.test.d.ts.map +0 -1
  478. package/dist/__tests__/post-process-error-codes.unit.test.d.ts +0 -2
  479. package/dist/__tests__/post-process-error-codes.unit.test.d.ts.map +0 -1
  480. package/dist/__tests__/post-process-params-component.unit.test.d.ts +0 -2
  481. package/dist/__tests__/post-process-params-component.unit.test.d.ts.map +0 -1
  482. package/dist/__tests__/post-process-params-extract.unit.test.d.ts +0 -2
  483. package/dist/__tests__/post-process-params-extract.unit.test.d.ts.map +0 -1
  484. package/dist/__tests__/postprocess-camera-consistency.test.d.ts +0 -2
  485. package/dist/__tests__/postprocess-camera-consistency.test.d.ts.map +0 -1
  486. package/dist/__tests__/profiler-assembly.integration.test.d.ts +0 -2
  487. package/dist/__tests__/profiler-assembly.integration.test.d.ts.map +0 -1
  488. package/dist/__tests__/propagate-transforms.dawn.test.d.ts +0 -2
  489. package/dist/__tests__/propagate-transforms.dawn.test.d.ts.map +0 -1
  490. package/dist/__tests__/record-worldid-isolation.test.d.ts +0 -2
  491. package/dist/__tests__/record-worldid-isolation.test.d.ts.map +0 -1
  492. package/dist/__tests__/recover-error-exhaustive.test-d.d.ts +0 -11
  493. package/dist/__tests__/recover-error-exhaustive.test-d.d.ts.map +0 -1
  494. package/dist/__tests__/render-environment-consumer.integration.test.d.ts +0 -2
  495. package/dist/__tests__/render-environment-consumer.integration.test.d.ts.map +0 -1
  496. package/dist/__tests__/render-error-exhaustive.test-d.d.ts +0 -11
  497. package/dist/__tests__/render-error-exhaustive.test-d.d.ts.map +0 -1
  498. package/dist/__tests__/render-feature-assembly.test-d.d.ts +0 -2
  499. package/dist/__tests__/render-feature-assembly.test-d.d.ts.map +0 -1
  500. package/dist/__tests__/render-feature-prepared-graphics-docs.unit.test.d.ts +0 -2
  501. package/dist/__tests__/render-feature-prepared-graphics-docs.unit.test.d.ts.map +0 -1
  502. package/dist/__tests__/render-feature-prepared-graphics.browser.test.d.ts +0 -2
  503. package/dist/__tests__/render-feature-prepared-graphics.browser.test.d.ts.map +0 -1
  504. package/dist/__tests__/render-feature-prepared-graphics.dawn.test.d.ts +0 -2
  505. package/dist/__tests__/render-feature-prepared-graphics.dawn.test.d.ts.map +0 -1
  506. package/dist/__tests__/render-feature-prepared-graphics.fixture.d.ts +0 -10
  507. package/dist/__tests__/render-feature-prepared-graphics.fixture.d.ts.map +0 -1
  508. package/dist/__tests__/render-feature-prepared-graphics.integration.test.d.ts +0 -2
  509. package/dist/__tests__/render-feature-prepared-graphics.integration.test.d.ts.map +0 -1
  510. package/dist/__tests__/render-feature-prepared-graphics.regression.integration.test.d.ts +0 -2
  511. package/dist/__tests__/render-feature-prepared-graphics.regression.integration.test.d.ts.map +0 -1
  512. package/dist/__tests__/render-feature-recover.integration.test.d.ts +0 -2
  513. package/dist/__tests__/render-feature-recover.integration.test.d.ts.map +0 -1
  514. package/dist/__tests__/render-feature-runtime-surface.test-d.d.ts +0 -2
  515. package/dist/__tests__/render-feature-runtime-surface.test-d.d.ts.map +0 -1
  516. package/dist/__tests__/render-schema-consumer.integration.test.d.ts +0 -2
  517. package/dist/__tests__/render-schema-consumer.integration.test.d.ts.map +0 -1
  518. package/dist/__tests__/render-schema-owner-boundary.unit.test.d.ts +0 -2
  519. package/dist/__tests__/render-schema-owner-boundary.unit.test.d.ts.map +0 -1
  520. package/dist/__tests__/render-system-cross-world-overlay-queue.test.d.ts +0 -2
  521. package/dist/__tests__/render-system-cross-world-overlay-queue.test.d.ts.map +0 -1
  522. package/dist/__tests__/render-system-extract-dispatch-ordering.test.d.ts +0 -2
  523. package/dist/__tests__/render-system-extract-dispatch-ordering.test.d.ts.map +0 -1
  524. package/dist/__tests__/render-system-extract.test.d.ts +0 -2
  525. package/dist/__tests__/render-system-extract.test.d.ts.map +0 -1
  526. package/dist/__tests__/render-system-extract.unit.test.d.ts +0 -2
  527. package/dist/__tests__/render-system-extract.unit.test.d.ts.map +0 -1
  528. package/dist/__tests__/render-system-fold-bucket.unit.test.d.ts +0 -2
  529. package/dist/__tests__/render-system-fold-bucket.unit.test.d.ts.map +0 -1
  530. package/dist/__tests__/render-system-fold-fallback.unit.test.d.ts +0 -2
  531. package/dist/__tests__/render-system-fold-fallback.unit.test.d.ts.map +0 -1
  532. package/dist/__tests__/render-system-fold-material.unit.test.d.ts +0 -2
  533. package/dist/__tests__/render-system-fold-material.unit.test.d.ts.map +0 -1
  534. package/dist/__tests__/render-system-fold-metrics.unit.test.d.ts +0 -2
  535. package/dist/__tests__/render-system-fold-metrics.unit.test.d.ts.map +0 -1
  536. package/dist/__tests__/render-system-fold-modegate.unit.test.d.ts +0 -2
  537. package/dist/__tests__/render-system-fold-modegate.unit.test.d.ts.map +0 -1
  538. package/dist/__tests__/render-system-fold-scene-instances.unit.test.d.ts +0 -2
  539. package/dist/__tests__/render-system-fold-scene-instances.unit.test.d.ts.map +0 -1
  540. package/dist/__tests__/render-system-fold.dawn.test.d.ts +0 -2
  541. package/dist/__tests__/render-system-fold.dawn.test.d.ts.map +0 -1
  542. package/dist/__tests__/render-system-mega.test.d.ts +0 -2
  543. package/dist/__tests__/render-system-mega.test.d.ts.map +0 -1
  544. package/dist/__tests__/render-system-owner-split-contract.test.d.ts +0 -2
  545. package/dist/__tests__/render-system-owner-split-contract.test.d.ts.map +0 -1
  546. package/dist/__tests__/render-system-record-multi-material-textureview.test.d.ts +0 -2
  547. package/dist/__tests__/render-system-record-multi-material-textureview.test.d.ts.map +0 -1
  548. package/dist/__tests__/render-system-record-per-submesh-transparency.test.d.ts +0 -2
  549. package/dist/__tests__/render-system-record-per-submesh-transparency.test.d.ts.map +0 -1
  550. package/dist/__tests__/render-system-record.test.d.ts +0 -2
  551. package/dist/__tests__/render-system-record.test.d.ts.map +0 -1
  552. package/dist/__tests__/render-system-record.unit.test.d.ts +0 -2
  553. package/dist/__tests__/render-system-record.unit.test.d.ts.map +0 -1
  554. package/dist/__tests__/render-system-skin-bg.unit.test.d.ts +0 -2
  555. package/dist/__tests__/render-system-skin-bg.unit.test.d.ts.map +0 -1
  556. package/dist/__tests__/renderer-consumer.test-d.d.ts +0 -2
  557. package/dist/__tests__/renderer-consumer.test-d.d.ts.map +0 -1
  558. package/dist/__tests__/renderer-health.unit.test.d.ts +0 -2
  559. package/dist/__tests__/renderer-health.unit.test.d.ts.map +0 -1
  560. package/dist/__tests__/renderer-host-fallback.unit.test.d.ts +0 -2
  561. package/dist/__tests__/renderer-host-fallback.unit.test.d.ts.map +0 -1
  562. package/dist/__tests__/renderer-lifecycle.integration.test.d.ts +0 -2
  563. package/dist/__tests__/renderer-lifecycle.integration.test.d.ts.map +0 -1
  564. package/dist/__tests__/renderer-recover.unit.test.d.ts +0 -2
  565. package/dist/__tests__/renderer-recover.unit.test.d.ts.map +0 -1
  566. package/dist/__tests__/renderer-result.test-d.d.ts +0 -2
  567. package/dist/__tests__/renderer-result.test-d.d.ts.map +0 -1
  568. package/dist/__tests__/renderer-surface.unit.test.d.ts +0 -2
  569. package/dist/__tests__/renderer-surface.unit.test.d.ts.map +0 -1
  570. package/dist/__tests__/renderer-test-utils.d.ts +0 -10
  571. package/dist/__tests__/renderer-test-utils.d.ts.map +0 -1
  572. package/dist/__tests__/renderer.test-d.d.ts +0 -2
  573. package/dist/__tests__/renderer.test-d.d.ts.map +0 -1
  574. package/dist/__tests__/resolve-asset-handle-err.test.d.ts +0 -2
  575. package/dist/__tests__/resolve-asset-handle-err.test.d.ts.map +0 -1
  576. package/dist/__tests__/resolve-asset-handle.unit.test.d.ts +0 -2
  577. package/dist/__tests__/resolve-asset-handle.unit.test.d.ts.map +0 -1
  578. package/dist/__tests__/resolve-depth-only-view.test.d.ts +0 -2
  579. package/dist/__tests__/resolve-depth-only-view.test.d.ts.map +0 -1
  580. package/dist/__tests__/resolveName-fallback.test.d.ts +0 -2
  581. package/dist/__tests__/resolveName-fallback.test.d.ts.map +0 -1
  582. package/dist/__tests__/resolveName-null-package.test.d.ts +0 -2
  583. package/dist/__tests__/resolveName-null-package.test.d.ts.map +0 -1
  584. package/dist/__tests__/resolveName-unified-entry.test.d.ts +0 -2
  585. package/dist/__tests__/resolveName-unified-entry.test.d.ts.map +0 -1
  586. package/dist/__tests__/resolveName.test.d.ts +0 -2
  587. package/dist/__tests__/resolveName.test.d.ts.map +0 -1
  588. package/dist/__tests__/rhi-null-command-flow.unit.test.d.ts +0 -2
  589. package/dist/__tests__/rhi-null-command-flow.unit.test.d.ts.map +0 -1
  590. package/dist/__tests__/rhi-null-noop-behavior.unit.test.d.ts +0 -2
  591. package/dist/__tests__/rhi-null-noop-behavior.unit.test.d.ts.map +0 -1
  592. package/dist/__tests__/rhi-null-renderer-lifecycle.unit.test.d.ts +0 -2
  593. package/dist/__tests__/rhi-null-renderer-lifecycle.unit.test.d.ts.map +0 -1
  594. package/dist/__tests__/roots-to-scene-asset.test.d.ts +0 -2
  595. package/dist/__tests__/roots-to-scene-asset.test.d.ts.map +0 -1
  596. package/dist/__tests__/roundtrip-primitive.test.d.ts +0 -2
  597. package/dist/__tests__/roundtrip-primitive.test.d.ts.map +0 -1
  598. package/dist/__tests__/runtime-authority-scan.unit.test.d.ts +0 -2
  599. package/dist/__tests__/runtime-authority-scan.unit.test.d.ts.map +0 -1
  600. package/dist/__tests__/runtime-domain-residue.unit.test.d.ts +0 -2
  601. package/dist/__tests__/runtime-domain-residue.unit.test.d.ts.map +0 -1
  602. package/dist/__tests__/scene-bare-guid-refs-instantiate.test.d.ts +0 -2
  603. package/dist/__tests__/scene-bare-guid-refs-instantiate.test.d.ts.map +0 -1
  604. package/dist/__tests__/scene-equirect-roundtrip.test.d.ts +0 -2
  605. package/dist/__tests__/scene-equirect-roundtrip.test.d.ts.map +0 -1
  606. package/dist/__tests__/scene-instance-authoring.integration.test.d.ts +0 -2
  607. package/dist/__tests__/scene-instance-authoring.integration.test.d.ts.map +0 -1
  608. package/dist/__tests__/scene-instance-bridge.integration.test.d.ts +0 -2
  609. package/dist/__tests__/scene-instance-bridge.integration.test.d.ts.map +0 -1
  610. package/dist/__tests__/scene-instance-component.test.d.ts +0 -2
  611. package/dist/__tests__/scene-instance-component.test.d.ts.map +0 -1
  612. package/dist/__tests__/scene-instantiate-cycle-runtime.test.d.ts +0 -2
  613. package/dist/__tests__/scene-instantiate-cycle-runtime.test.d.ts.map +0 -1
  614. package/dist/__tests__/scene-mount-fixed-point.test.d.ts +0 -2
  615. package/dist/__tests__/scene-mount-fixed-point.test.d.ts.map +0 -1
  616. package/dist/__tests__/scene-mount-roundtrip.test.d.ts +0 -2
  617. package/dist/__tests__/scene-mount-roundtrip.test.d.ts.map +0 -1
  618. package/dist/__tests__/scene-mount-wrapper-roundtrip.test.d.ts +0 -2
  619. package/dist/__tests__/scene-mount-wrapper-roundtrip.test.d.ts.map +0 -1
  620. package/dist/__tests__/scene-sugar-instantiate.test.d.ts +0 -2
  621. package/dist/__tests__/scene-sugar-instantiate.test.d.ts.map +0 -1
  622. package/dist/__tests__/serialize-mounts-roundtrip.test.d.ts +0 -2
  623. package/dist/__tests__/serialize-mounts-roundtrip.test.d.ts.map +0 -1
  624. package/dist/__tests__/serialize-scene-asset.test.d.ts +0 -2
  625. package/dist/__tests__/serialize-scene-asset.test.d.ts.map +0 -1
  626. package/dist/__tests__/shadow-caster-empty-schema.test.d.ts +0 -2
  627. package/dist/__tests__/shadow-caster-empty-schema.test.d.ts.map +0 -1
  628. package/dist/__tests__/shadow-csm-atlas.test.d.ts +0 -2
  629. package/dist/__tests__/shadow-csm-atlas.test.d.ts.map +0 -1
  630. package/dist/__tests__/shadow-csm-blend.dawn.test.d.ts +0 -2
  631. package/dist/__tests__/shadow-csm-blend.dawn.test.d.ts.map +0 -1
  632. package/dist/__tests__/shadow-csm-cascade-loadop.test.d.ts +0 -2
  633. package/dist/__tests__/shadow-csm-cascade-loadop.test.d.ts.map +0 -1
  634. package/dist/__tests__/shadow-csm-component.test.d.ts +0 -2
  635. package/dist/__tests__/shadow-csm-component.test.d.ts.map +0 -1
  636. package/dist/__tests__/shadow-csm-extract.test.d.ts +0 -2
  637. package/dist/__tests__/shadow-csm-extract.test.d.ts.map +0 -1
  638. package/dist/__tests__/shadow-csm-orthoz.test.d.ts +0 -2
  639. package/dist/__tests__/shadow-csm-orthoz.test.d.ts.map +0 -1
  640. package/dist/__tests__/shadow-csm-runtime-vary.dawn.test.d.ts +0 -2
  641. package/dist/__tests__/shadow-csm-runtime-vary.dawn.test.d.ts.map +0 -1
  642. package/dist/__tests__/shadow-csm-shader.dawn.test.d.ts +0 -2
  643. package/dist/__tests__/shadow-csm-shader.dawn.test.d.ts.map +0 -1
  644. package/dist/__tests__/shadow-csm-tile-consistency.test.d.ts +0 -2
  645. package/dist/__tests__/shadow-csm-tile-consistency.test.d.ts.map +0 -1
  646. package/dist/__tests__/shadow-csm-ubo.dawn.test.d.ts +0 -2
  647. package/dist/__tests__/shadow-csm-ubo.dawn.test.d.ts.map +0 -1
  648. package/dist/__tests__/shadow-csm-ubo.test.d.ts +0 -2
  649. package/dist/__tests__/shadow-csm-ubo.test.d.ts.map +0 -1
  650. package/dist/__tests__/shadow-csm-viewport.browser.test.d.ts +0 -2
  651. package/dist/__tests__/shadow-csm-viewport.browser.test.d.ts.map +0 -1
  652. package/dist/__tests__/shadow-fields-observable.dawn.test.d.ts +0 -2
  653. package/dist/__tests__/shadow-fields-observable.dawn.test.d.ts.map +0 -1
  654. package/dist/__tests__/shadow-m1.dawn.test.d.ts +0 -2
  655. package/dist/__tests__/shadow-m1.dawn.test.d.ts.map +0 -1
  656. package/dist/__tests__/shadow-mesh-ssbo-order.test.d.ts +0 -2
  657. package/dist/__tests__/shadow-mesh-ssbo-order.test.d.ts.map +0 -1
  658. package/dist/__tests__/skin-error-exhaustive.test-d.d.ts +0 -11
  659. package/dist/__tests__/skin-error-exhaustive.test-d.d.ts.map +0 -1
  660. package/dist/__tests__/skin-errors.unit.test.d.ts +0 -2
  661. package/dist/__tests__/skin-errors.unit.test.d.ts.map +0 -1
  662. package/dist/__tests__/skin-extract-getarrayview-count.unit.test.d.ts +0 -2
  663. package/dist/__tests__/skin-extract-getarrayview-count.unit.test.d.ts.map +0 -1
  664. package/dist/__tests__/skin-parented-double-transform.test.d.ts +0 -14
  665. package/dist/__tests__/skin-parented-double-transform.test.d.ts.map +0 -1
  666. package/dist/__tests__/skinned-shadow-mixed.dawn.test.d.ts +0 -2
  667. package/dist/__tests__/skinned-shadow-mixed.dawn.test.d.ts.map +0 -1
  668. package/dist/__tests__/skylight-lazy-projection.test.d.ts +0 -2
  669. package/dist/__tests__/skylight-lazy-projection.test.d.ts.map +0 -1
  670. package/dist/__tests__/sparse-tag-scene-roundtrip.test.d.ts +0 -2
  671. package/dist/__tests__/sparse-tag-scene-roundtrip.test.d.ts.map +0 -1
  672. package/dist/__tests__/sprite-cullmode-flip.dawn.test.d.ts +0 -2
  673. package/dist/__tests__/sprite-cullmode-flip.dawn.test.d.ts.map +0 -1
  674. package/dist/__tests__/sprite-lit-bgl-byte-identical.test.d.ts +0 -2
  675. package/dist/__tests__/sprite-lit-bgl-byte-identical.test.d.ts.map +0 -1
  676. package/dist/__tests__/sprite-lit-extract-branch.test.d.ts +0 -2
  677. package/dist/__tests__/sprite-lit-extract-branch.test.d.ts.map +0 -1
  678. package/dist/__tests__/sprite-lit-pipeline-cache-key.test.d.ts +0 -2
  679. package/dist/__tests__/sprite-lit-pipeline-cache-key.test.d.ts.map +0 -1
  680. package/dist/__tests__/sprite-param-values.test-d.d.ts +0 -2
  681. package/dist/__tests__/sprite-param-values.test-d.d.ts.map +0 -1
  682. package/dist/__tests__/ssao-bgl.test.d.ts +0 -2
  683. package/dist/__tests__/ssao-bgl.test.d.ts.map +0 -1
  684. package/dist/__tests__/ssao-buffers.test.d.ts +0 -2
  685. package/dist/__tests__/ssao-buffers.test.d.ts.map +0 -1
  686. package/dist/__tests__/ssao-data.test.d.ts +0 -2
  687. package/dist/__tests__/ssao-data.test.d.ts.map +0 -1
  688. package/dist/__tests__/ssao-errors.test.d.ts +0 -2
  689. package/dist/__tests__/ssao-errors.test.d.ts.map +0 -1
  690. package/dist/__tests__/ssao-manifest.test.d.ts +0 -2
  691. package/dist/__tests__/ssao-manifest.test.d.ts.map +0 -1
  692. package/dist/__tests__/ssao-passes.test.d.ts +0 -2
  693. package/dist/__tests__/ssao-passes.test.d.ts.map +0 -1
  694. package/dist/__tests__/ssao-pipelines.test.d.ts +0 -2
  695. package/dist/__tests__/ssao-pipelines.test.d.ts.map +0 -1
  696. package/dist/__tests__/ssao-uniform-layout.test.d.ts +0 -2
  697. package/dist/__tests__/ssao-uniform-layout.test.d.ts.map +0 -1
  698. package/dist/__tests__/static-rig.integration.test.d.ts +0 -2
  699. package/dist/__tests__/static-rig.integration.test.d.ts.map +0 -1
  700. package/dist/__tests__/stencil-outline-pixel.dawn.test.d.ts +0 -2
  701. package/dist/__tests__/stencil-outline-pixel.dawn.test.d.ts.map +0 -1
  702. package/dist/__tests__/swap-chain-format.unit.test.d.ts +0 -2
  703. package/dist/__tests__/swap-chain-format.unit.test.d.ts.map +0 -1
  704. package/dist/__tests__/systems.unit.test.d.ts +0 -2
  705. package/dist/__tests__/systems.unit.test.d.ts.map +0 -1
  706. package/dist/__tests__/template-game-default-api-contract.test.d.ts +0 -2
  707. package/dist/__tests__/template-game-default-api-contract.test.d.ts.map +0 -1
  708. package/dist/__tests__/text.unit.test.d.ts +0 -2
  709. package/dist/__tests__/text.unit.test.d.ts.map +0 -1
  710. package/dist/__tests__/texture-dimensions.browser.test.d.ts +0 -2
  711. package/dist/__tests__/texture-dimensions.browser.test.d.ts.map +0 -1
  712. package/dist/__tests__/tilemap-childed-despawn.test.d.ts +0 -2
  713. package/dist/__tests__/tilemap-childed-despawn.test.d.ts.map +0 -1
  714. package/dist/__tests__/tilemap-chunk-extract.overhang-bounds.test.d.ts +0 -2
  715. package/dist/__tests__/tilemap-chunk-extract.overhang-bounds.test.d.ts.map +0 -1
  716. package/dist/__tests__/tilemap-chunk-extract.propagate-order.test.d.ts +0 -2
  717. package/dist/__tests__/tilemap-chunk-extract.propagate-order.test.d.ts.map +0 -1
  718. package/dist/__tests__/tilemap-chunk-extract.terrain-rewrite.unit.test.d.ts +0 -2
  719. package/dist/__tests__/tilemap-chunk-extract.terrain-rewrite.unit.test.d.ts.map +0 -1
  720. package/dist/__tests__/tilemap-chunk-extract.test.d.ts +0 -2
  721. package/dist/__tests__/tilemap-chunk-extract.test.d.ts.map +0 -1
  722. package/dist/__tests__/tilemap-chunk-extract.unit.test.d.ts +0 -2
  723. package/dist/__tests__/tilemap-chunk-extract.unit.test.d.ts.map +0 -1
  724. package/dist/__tests__/tilemap-chunk-y-sort-bench.unit.test.d.ts +0 -2
  725. package/dist/__tests__/tilemap-chunk-y-sort-bench.unit.test.d.ts.map +0 -1
  726. package/dist/__tests__/tilemap-dirty-rebuild.test.d.ts +0 -2
  727. package/dist/__tests__/tilemap-dirty-rebuild.test.d.ts.map +0 -1
  728. package/dist/__tests__/tilemap-material-cache.test.d.ts +0 -2
  729. package/dist/__tests__/tilemap-material-cache.test.d.ts.map +0 -1
  730. package/dist/__tests__/tilemap-multi-atlas.test.d.ts +0 -2
  731. package/dist/__tests__/tilemap-multi-atlas.test.d.ts.map +0 -1
  732. package/dist/__tests__/tilemap-owner-boundary.unit.test.d.ts +0 -2
  733. package/dist/__tests__/tilemap-owner-boundary.unit.test.d.ts.map +0 -1
  734. package/dist/__tests__/tilemap-region-pack.test.d.ts +0 -2
  735. package/dist/__tests__/tilemap-region-pack.test.d.ts.map +0 -1
  736. package/dist/__tests__/tilemap-spawn-flip-pivot.test.d.ts +0 -2
  737. package/dist/__tests__/tilemap-spawn-flip-pivot.test.d.ts.map +0 -1
  738. package/dist/__tests__/tilemap-uv-inset.test.d.ts +0 -2
  739. package/dist/__tests__/tilemap-uv-inset.test.d.ts.map +0 -1
  740. package/dist/__tests__/tilemap-validate.test.d.ts +0 -2
  741. package/dist/__tests__/tilemap-validate.test.d.ts.map +0 -1
  742. package/dist/__tests__/tileset-asset-validate.test.d.ts +0 -2
  743. package/dist/__tests__/tileset-asset-validate.test.d.ts.map +0 -1
  744. package/dist/__tests__/transcode-fallback.unit.test.d.ts +0 -2
  745. package/dist/__tests__/transcode-fallback.unit.test.d.ts.map +0 -1
  746. package/dist/__tests__/transform-hierarchy-pixel-diff.dawn.test.d.ts +0 -2
  747. package/dist/__tests__/transform-hierarchy-pixel-diff.dawn.test.d.ts.map +0 -1
  748. package/dist/__tests__/transient-fields-collect.test.d.ts +0 -2
  749. package/dist/__tests__/transient-fields-collect.test.d.ts.map +0 -1
  750. package/dist/__tests__/transient-runtime-behavior.test.d.ts +0 -2
  751. package/dist/__tests__/transient-runtime-behavior.test.d.ts.map +0 -1
  752. package/dist/__tests__/transitional-authoring.integration.test.d.ts +0 -2
  753. package/dist/__tests__/transitional-authoring.integration.test.d.ts.map +0 -1
  754. package/dist/__tests__/transparent-sort-tilemap-sprite-interleave.test.d.ts +0 -2
  755. package/dist/__tests__/transparent-sort-tilemap-sprite-interleave.test.d.ts.map +0 -1
  756. package/dist/__tests__/variant-selection.unit.test.d.ts +0 -2
  757. package/dist/__tests__/variant-selection.unit.test.d.ts.map +0 -1
  758. package/dist/__tests__/vertex-attribute-layout.test.d.ts +0 -2
  759. package/dist/__tests__/vertex-attribute-layout.test.d.ts.map +0 -1
  760. package/dist/__tests__/video-extract-bindgroup.dawn.test.d.ts +0 -2
  761. package/dist/__tests__/video-extract-bindgroup.dawn.test.d.ts.map +0 -1
  762. package/dist/__tests__/video-loader-consumption.test.d.ts +0 -2
  763. package/dist/__tests__/video-loader-consumption.test.d.ts.map +0 -1
  764. package/dist/__tests__/video-loader-smoke.dawn.test.d.ts +0 -2
  765. package/dist/__tests__/video-loader-smoke.dawn.test.d.ts.map +0 -1
  766. package/dist/__tests__/view-ubo-layout.browser.test.d.ts +0 -2
  767. package/dist/__tests__/view-ubo-layout.browser.test.d.ts.map +0 -1
  768. package/dist/__tests__/volumetric-fog-record-recovery.integration.test.d.ts +0 -2
  769. package/dist/__tests__/volumetric-fog-record-recovery.integration.test.d.ts.map +0 -1
  770. package/dist/__tests__/world-entity-key.test.d.ts +0 -2
  771. package/dist/__tests__/world-entity-key.test.d.ts.map +0 -1
  772. package/dist/__tests__/world-scene-despawn.test.d.ts +0 -2
  773. package/dist/__tests__/world-scene-despawn.test.d.ts.map +0 -1
  774. package/dist/__tests__/world-scene-instantiate.test.d.ts +0 -2
  775. package/dist/__tests__/world-scene-instantiate.test.d.ts.map +0 -1
  776. package/dist/__tests__/world-scene-nested.test.d.ts +0 -2
  777. package/dist/__tests__/world-scene-nested.test.d.ts.map +0 -1
  778. package/dist/__tests__/world-scene-override.test.d.ts +0 -2
  779. package/dist/__tests__/world-scene-override.test.d.ts.map +0 -1
  780. package/dist/__tests__/zero-compression-zero-load.integration.test.d.ts +0 -2
  781. package/dist/__tests__/zero-compression-zero-load.integration.test.d.ts.map +0 -1
  782. package/dist/components/__tests__/camera.test-d.d.ts +0 -2
  783. package/dist/components/__tests__/camera.test-d.d.ts.map +0 -1
  784. package/dist/components/__tests__/camera.test.d.ts +0 -2
  785. package/dist/components/__tests__/camera.test.d.ts.map +0 -1
  786. package/dist/components/__tests__/child-of.test.d.ts +0 -2
  787. package/dist/components/__tests__/child-of.test.d.ts.map +0 -1
  788. package/dist/components/__tests__/sprite-animation.test-d.d.ts +0 -2
  789. package/dist/components/__tests__/sprite-animation.test-d.d.ts.map +0 -1
  790. package/dist/components/__tests__/sprite-instances.unit.test.d.ts +0 -2
  791. package/dist/components/__tests__/sprite-instances.unit.test.d.ts.map +0 -1
  792. package/dist/components/__tests__/sprite-region-override.test-d.d.ts +0 -2
  793. package/dist/components/__tests__/sprite-region-override.test-d.d.ts.map +0 -1
  794. package/dist/components/__tests__/tile-layer.test-d.d.ts +0 -2
  795. package/dist/components/__tests__/tile-layer.test-d.d.ts.map +0 -1
  796. package/dist/components/__tests__/tile-layer.unit.test.d.ts +0 -2
  797. package/dist/components/__tests__/tile-layer.unit.test.d.ts.map +0 -1
  798. package/dist/components/__tests__/tilemap.test-d.d.ts +0 -2
  799. package/dist/components/__tests__/tilemap.test-d.d.ts.map +0 -1
  800. package/dist/components/__tests__/transform-vec-schema.test.d.ts +0 -2
  801. package/dist/components/__tests__/transform-vec-schema.test.d.ts.map +0 -1
  802. package/dist/scene-instances/__tests__/post-spawn-resolve-joints.unit.test.d.ts +0 -2
  803. package/dist/scene-instances/__tests__/post-spawn-resolve-joints.unit.test.d.ts.map +0 -1
  804. package/dist/systems/__tests__/_xorshift.d.ts +0 -28
  805. package/dist/systems/__tests__/_xorshift.d.ts.map +0 -1
  806. package/dist/systems/__tests__/argsort-in-place.test.d.ts +0 -2
  807. package/dist/systems/__tests__/argsort-in-place.test.d.ts.map +0 -1
  808. package/dist/systems/__tests__/transparent-sort.bench.d.ts +0 -2
  809. package/dist/systems/__tests__/transparent-sort.bench.d.ts.map +0 -1
  810. package/src/__tests__/asset.unit.test.ts +0 -7113
  811. package/src/__tests__/pipeline.unit.test.ts +0 -5279
  812. package/src/__tests__/systems.unit.test.ts +0 -9061
@@ -0,0 +1,418 @@
1
+ // @ts-nocheck — merged file: indexed-access checks cascade across noUncheckedIndexedAccess for blocks originally outside src/ rootDir
2
+ // Consolidated by feat-20260609-test-pool-startup-reduction-merge-tiny-test-files
3
+ // biome-ignore-all lint/complexity/noUselessLoneBlockStatements: block-scope isolation between merged source files (consolidation paradigm)
4
+ //
5
+ // Source files (N=44):
6
+ // - packages/runtime/__tests__/antialias-from-f32.test.ts
7
+ // - packages/runtime/src/__tests__/bloom-gating.test.ts
8
+ // - packages/runtime/src/__tests__/camera-antialias.test.ts
9
+ // - packages/runtime/src/__tests__/camera-bloom.test.ts
10
+ // - packages/runtime/src/__tests__/camera-clear-schema.test.ts
11
+ // - packages/runtime/src/__tests__/camera-ortho.test.ts
12
+ // - packages/runtime/src/__tests__/fxaa-intermediate-texture.test.ts
13
+ // - packages/runtime/src/__tests__/fxaa-pipeline.test.ts
14
+ // - packages/runtime/src/__tests__/ibl-pipeline-cache.test.ts
15
+ // - packages/runtime/src/__tests__/ibl-runtime-probe.test.ts
16
+ // - packages/runtime/src/__tests__/render-system-record-warn-once.test.ts
17
+ // - packages/runtime/src/__tests__/shadow-skip-non-triangle.test.ts
18
+ // - packages/runtime/src/__tests__/skin-errors-kebab-case.test.ts
19
+ // - packages/runtime/src/__tests__/skybox-error.test.ts
20
+ // - packages/runtime/src/__tests__/skybox-shader-compile.test.ts
21
+ // - packages/runtime/src/__tests__/skylight-bind-group.test.ts
22
+ // - packages/runtime/src/__tests__/skylight-component.test.ts
23
+ // - packages/runtime/src/__tests__/skylight-fallback-path.test.ts
24
+ // - packages/runtime/src/__tests__/skylight-pipeline-layout.test.ts
25
+ // - packages/runtime/src/__tests__/tonemap-hdr-target.test.ts
26
+ // - packages/runtime/src/__tests__/tonemap-pipeline-split.test.ts
27
+ // - packages/runtime/src/__tests__/zero-camera-clear-fallback.test.ts
28
+ // - packages/runtime/src/components/__tests__/skin.test.ts
29
+ // - packages/runtime/src/systems/__tests__/advance-animation-player.test.ts
30
+ // - packages/runtime/src/systems/__tests__/graph-skybox.test.ts
31
+ // - packages/runtime/src/systems/__tests__/propagate-transforms.test.ts
32
+ // - packages/runtime/src/systems/__tests__/skin-cap-gate.test.ts
33
+ // - packages/runtime/src/systems/__tests__/skin-instances-coexist.test.ts
34
+ // - packages/runtime/src/systems/__tests__/skin-palette-extract.test.ts
35
+ // - packages/runtime/src/systems/__tests__/skin-pipeline-routing.test.ts
36
+ // - packages/runtime/src/systems/__tests__/skybox-extract.test.ts
37
+ // - packages/runtime/src/systems/__tests__/sprite-animation-tick-boundary.test.ts
38
+ // - packages/runtime/src/systems/__tests__/sprite-animation-tick-clamp.test.ts
39
+ // - packages/runtime/src/systems/__tests__/sprite-animation-tick-frame-duration-negative.test.ts
40
+ // - packages/runtime/src/systems/__tests__/sprite-animation-tick-frame-duration-zero.test.ts
41
+ // - packages/runtime/src/systems/__tests__/sprite-animation-tick-loop.test.ts
42
+ // - packages/runtime/src/systems/__tests__/sprite-animation-tick-override-probe.test.ts
43
+ // - packages/runtime/src/systems/__tests__/sprite-animation-tick-regions-mismatch.test.ts
44
+ // - packages/runtime/src/systems/__tests__/tonemap.test.ts
45
+ // - packages/runtime/src/systems/__tests__/transparent-sort-config-get.test.ts
46
+ // - packages/runtime/src/systems/__tests__/transparent-sort-config-set.test.ts
47
+ // - packages/runtime/src/systems/__tests__/transparent-sort.test.ts
48
+ // - packages/runtime/src/__tests__/render-system-multi-material.test.ts
49
+ // - packages/runtime/src/__tests__/render-system-record-submesh.test.ts
50
+ //
51
+ // Paradigm: each block-scope wraps a source file. ancestorTitles[0] is the
52
+ // source-preserved inner describe (NOT the source filename for these 3 files
53
+ // — recovery path: vitest report ancestorTitles -> grep this file -> upstream
54
+ // `// ─── from <name>.test.ts ───` block separator -> source filename).
55
+ // Top-level imports merged + deduped.
56
+
57
+ import { readFileSync } from 'node:fs';
58
+ import { resolve } from 'node:path';
59
+ import { fileURLToPath } from 'node:url';
60
+ import { AnimationPlayer } from '@forgeax/engine-animation';
61
+ import type { AssetRuntimeErrorCode } from '@forgeax/engine-assets-runtime';
62
+ import { AssetRegistry } from '@forgeax/engine-assets-runtime';
63
+ import type { EntityHandle, World as WorldType } from '@forgeax/engine-ecs';
64
+ import { ENTITY_NULL_RAW, World } from '@forgeax/engine-ecs';
65
+ import { SpriteAnimationInvalidError } from '@forgeax/engine-ecs/projection';
66
+ import { mat4, vec3 } from '@forgeax/engine-math';
67
+ import type { RenderErrorCode, Renderer as RendererType } from '@forgeax/engine-render';
68
+ import {
69
+ ANTIALIAS_FXAA,
70
+ ANTIALIAS_NONE,
71
+ BLOOM_DISABLED,
72
+ BLOOM_ENABLED,
73
+ CAMERA_PROJECTION_ORTHOGRAPHIC,
74
+ CAMERA_PROJECTION_PERSPECTIVE,
75
+ Camera,
76
+ MeshFilter,
77
+ MeshRenderer,
78
+ SkyboxBackground,
79
+ Skylight,
80
+ } from '@forgeax/engine-render';
81
+ import type { BindGroupEntry, Buffer, Sampler, Texture, TextureView } from '@forgeax/engine-rhi';
82
+ import { ok as rhiOk } from '@forgeax/engine-rhi';
83
+ import { ChildOf, Name, propagateTransforms, Transform } from '@forgeax/engine-scene';
84
+ import { TONEMAP_LUMINANCE_EPSILON } from '@forgeax/engine-shader';
85
+ import type { SkinErrorCode } from '@forgeax/engine-skinning';
86
+ import {
87
+ Skin,
88
+ SkinInstancesCoexistForbiddenError,
89
+ SkinJointCountExceededError,
90
+ SkinJointDespawnedError,
91
+ SkinJointPathUnresolvedError,
92
+ } from '@forgeax/engine-skinning';
93
+ import type {
94
+ Handle,
95
+ MaterialAsset,
96
+ MeshAsset,
97
+ SkeletonAsset,
98
+ TextureFormat,
99
+ } from '@forgeax/engine-types';
100
+ import { toShared } from '@forgeax/engine-types';
101
+ import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from 'vitest';
102
+ import { worldInternal } from '../../../ecs/src/world-internal';
103
+ import {
104
+ SPRITE_PLAYBACK_MODE_CLAMP,
105
+ SPRITE_PLAYBACK_MODE_LOOP,
106
+ SpriteAnimation,
107
+ SpriteRegionOverride,
108
+ } from '../../../render/src/components';
109
+ import {
110
+ type CameraProjection,
111
+ cameraProjectionFromF32,
112
+ } from '../../../render/src/components/camera';
113
+ import {
114
+ assembleMaterialWithSkylightEntries,
115
+ createSkylightFallback,
116
+ mergeSkylightIntoMaterialBgl,
117
+ } from '../../../render/src/ibl/skylight-bind-group';
118
+ import { buildPbrPipelineLayouts, buildUnlitMaterialBgl } from '../../../render/src/pbr-pipeline';
119
+ import { INSTANCE_STORAGE_STRIDE_FLOATS } from '../../../render/src/record/mesh-ssbo';
120
+ import { selectSwapChainFormat } from '../../../render/src/render-system';
121
+ import { createSkinPaletteAllocator } from '../../../render/src/systems/skin-palette-allocator';
122
+ import type { TransparentEntry } from '../../../render/src/systems/transparent-sort-config';
123
+ import { standardMaterialShaderVariants } from './helpers/standard-material-manifest';
124
+ import { drawWithOwners } from './renderer-test-utils';
125
+
126
+ function componentFieldType(component: { fields: Record<string, { type: string }> }, name: string) {
127
+ return component.fields[name]?.type;
128
+ }
129
+
130
+ function componentFieldDefault(
131
+ component: { fields: Record<string, { default?: unknown }> },
132
+ name: string,
133
+ ) {
134
+ return component.fields[name]?.default;
135
+ }
136
+
137
+ function componentSchemaTypes(component: { fields: Record<string, { type: string }> }) {
138
+ return Object.fromEntries(
139
+ Object.entries(component.fields).map(([name, field]) => [name, field.type]),
140
+ );
141
+ }
142
+
143
+ afterEach(() => vi.restoreAllMocks());
144
+
145
+ type RendererErrorObservation = {
146
+ readonly code: string;
147
+ readonly detail?: unknown;
148
+ readonly hint?: string;
149
+ };
150
+
151
+ function unwrapRendererError(value: unknown): RendererErrorObservation {
152
+ let current = value as RendererErrorObservation;
153
+ while (
154
+ current.detail !== undefined &&
155
+ typeof current.detail === 'object' &&
156
+ current.detail !== null
157
+ ) {
158
+ const cause = (current.detail as { cause?: unknown }).cause;
159
+ if (
160
+ cause === undefined ||
161
+ typeof cause !== 'object' ||
162
+ cause === null ||
163
+ typeof (cause as { code?: unknown }).code !== 'string'
164
+ ) {
165
+ break;
166
+ }
167
+ current = cause as RendererErrorObservation;
168
+ }
169
+ return current;
170
+ }
171
+
172
+ function subscribeRendererErrors(
173
+ renderer: RendererType,
174
+ listener: (error: RendererErrorObservation) => void,
175
+ ): () => void {
176
+ return renderer.subscribe((event) => {
177
+ if (event.kind === 'error') listener(unwrapRendererError(event.error));
178
+ });
179
+ }
180
+
181
+ function drawPublished(renderer: RendererType, world: WorldType) {
182
+ const attached = renderer.attach(world);
183
+ if (!attached.ok) throw attached.error;
184
+ world.update().unwrap();
185
+ return drawWithOwners(renderer, world);
186
+ }
187
+
188
+ // feat-20260704-runtime-tier1-decomposition M2 / w12: reconstitute the
189
+ // eliminated top-level RuntimeErrorCode aggregate union (D-3) as a test-local
190
+ // alias so the exhaustive-switch bodies below stay byte-identical (AC-09).
191
+ type RuntimeLayerErrorCode = RenderErrorCode | AssetRuntimeErrorCode | SkinErrorCode;
192
+
193
+ import {
194
+ AnimationTargetId,
195
+ bindAnimationTargets,
196
+ advanceAnimationPlayer as canonicalAdvanceAnimationPlayer,
197
+ } from '@forgeax/engine-animation';
198
+ import { deriveAnimationTargetId } from '@forgeax/engine-animation/target-id';
199
+ import { DeviceScope } from '../../../render/src/device/device-scope';
200
+ import { GpuBuffer } from '../../../render/src/gpu-resource';
201
+ import { getOrCreateIblCache, hasIblCache } from '../../../render/src/ibl/IblPipelineCache';
202
+ import {
203
+ disposeInstanceBuffers,
204
+ type InstanceBufferCacheEntry,
205
+ } from '../../../render/src/instance-buffer-cache';
206
+ import { standardPipeline as urpPipeline } from '../../../render/src/pipeline/standard-pipeline';
207
+ import { ZERO_CAMERA_CLEAR_FALLBACK } from '../../../render/src/record/frame-snapshot';
208
+ import { warnMultiLightDirectional } from '../../../render/src/record/helpers';
209
+ import type { CameraSnapshot } from '../../../render/src/render-contract';
210
+ import {
211
+ type ExtractedLights,
212
+ extractFrame,
213
+ extractFrames,
214
+ prepareExtractContext,
215
+ } from '../../../render/src/render-system-extract';
216
+ import {
217
+ getTransparentSortConfig,
218
+ setTransparentSortConfig,
219
+ TRANSPARENT_SORT_CONFIG_KEY,
220
+ TRANSPARENT_SORT_MODE_LAYER_Y,
221
+ TRANSPARENT_SORT_MODE_LAYER_YZ,
222
+ TRANSPARENT_SORT_MODE_LAYER_Z,
223
+ } from '../../../render/src/systems/transparent-sort-config';
224
+ import { spriteAnimationTickSystem } from '../systems/sprite-animation-tick';
225
+ import { REC709_LUMA_WEIGHTS, tonemapReinhardLuminance } from '../systems/tonemap';
226
+ import { transparentSortEntries } from '../systems/transparent-sort';
227
+ import { makeMockShaderRegistry } from './helpers/mock-shader-registry';
228
+
229
+ void [
230
+ ANTIALIAS_FXAA,
231
+ ANTIALIAS_NONE,
232
+ AnimationPlayer,
233
+ AnimationTargetId,
234
+ AssetRegistry,
235
+ BLOOM_DISABLED,
236
+ BLOOM_ENABLED,
237
+ CAMERA_PROJECTION_ORTHOGRAPHIC,
238
+ CAMERA_PROJECTION_PERSPECTIVE,
239
+ Camera,
240
+ ChildOf,
241
+ DeviceScope,
242
+ ENTITY_NULL_RAW,
243
+ GpuBuffer,
244
+ INSTANCE_STORAGE_STRIDE_FLOATS,
245
+ MeshFilter,
246
+ MeshRenderer,
247
+ Name,
248
+ REC709_LUMA_WEIGHTS,
249
+ SPRITE_PLAYBACK_MODE_CLAMP,
250
+ SPRITE_PLAYBACK_MODE_LOOP,
251
+ Skin,
252
+ SkinInstancesCoexistForbiddenError,
253
+ SkinJointCountExceededError,
254
+ SkinJointDespawnedError,
255
+ SkinJointPathUnresolvedError,
256
+ SkyboxBackground,
257
+ Skylight,
258
+ SpriteAnimation,
259
+ SpriteAnimationInvalidError,
260
+ SpriteRegionOverride,
261
+ TONEMAP_LUMINANCE_EPSILON,
262
+ TRANSPARENT_SORT_CONFIG_KEY,
263
+ TRANSPARENT_SORT_MODE_LAYER_Y,
264
+ TRANSPARENT_SORT_MODE_LAYER_YZ,
265
+ TRANSPARENT_SORT_MODE_LAYER_Z,
266
+ Transform,
267
+ World,
268
+ ZERO_CAMERA_CLEAR_FALLBACK,
269
+ afterEach,
270
+ assembleMaterialWithSkylightEntries,
271
+ beforeAll,
272
+ beforeEach,
273
+ bindAnimationTargets,
274
+ buildPbrPipelineLayouts,
275
+ buildUnlitMaterialBgl,
276
+ cameraProjectionFromF32,
277
+ canonicalAdvanceAnimationPlayer,
278
+ componentFieldDefault,
279
+ componentFieldType,
280
+ componentSchemaTypes,
281
+ createSkinPaletteAllocator,
282
+ createSkylightFallback,
283
+ deriveAnimationTargetId,
284
+ describe,
285
+ disposeInstanceBuffers,
286
+ drawPublished,
287
+ drawWithOwners,
288
+ expect,
289
+ extractFrame,
290
+ extractFrames,
291
+ fileURLToPath,
292
+ getOrCreateIblCache,
293
+ getTransparentSortConfig,
294
+ hasIblCache,
295
+ it,
296
+ makeMockShaderRegistry,
297
+ mat4,
298
+ mergeSkylightIntoMaterialBgl,
299
+ prepareExtractContext,
300
+ propagateTransforms,
301
+ readFileSync,
302
+ resolve,
303
+ rhiOk,
304
+ selectSwapChainFormat,
305
+ setTransparentSortConfig,
306
+ spriteAnimationTickSystem,
307
+ standardMaterialShaderVariants,
308
+ subscribeRendererErrors,
309
+ toShared,
310
+ tonemapReinhardLuminance,
311
+ transparentSortEntries,
312
+ unwrapRendererError,
313
+ urpPipeline,
314
+ vec3,
315
+ vi,
316
+ warnMultiLightDirectional,
317
+ worldInternal,
318
+ ];
319
+ type __MergedKeep =
320
+ | AssetRuntimeErrorCode
321
+ | BindGroupEntry
322
+ | Buffer
323
+ | CameraProjection
324
+ | CameraSnapshot
325
+ | EntityHandle
326
+ | ExtractedLights
327
+ | Handle
328
+ | InstanceBufferCacheEntry
329
+ | MaterialAsset
330
+ | MeshAsset
331
+ | RenderErrorCode
332
+ | RendererErrorObservation
333
+ | RendererType
334
+ | RuntimeLayerErrorCode
335
+ | Sampler
336
+ | SkeletonAsset
337
+ | SkinErrorCode
338
+ | Texture
339
+ | TextureFormat
340
+ | TextureView
341
+ | TransparentEntry
342
+ | WorldType;
343
+
344
+ {
345
+ // --- from render-system-record-warn-once.test.ts ---
346
+
347
+ function makeFrameState() {
348
+ return {
349
+ warnedMultiLightDirectional: false,
350
+ };
351
+ }
352
+
353
+ describe('warnMultiLightDirectional (M3 / AC-04 / AC-05 (c))', () => {
354
+ let warnSpy: ReturnType<typeof vi.spyOn>;
355
+
356
+ beforeEach(() => {
357
+ warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {});
358
+ });
359
+
360
+ afterEach(() => {
361
+ warnSpy.mockRestore();
362
+ });
363
+
364
+ it('first hit fires console.warn and sets the latch', () => {
365
+ const fs = makeFrameState();
366
+ warnMultiLightDirectional(fs, 2);
367
+ expect(warnSpy).toHaveBeenCalledTimes(1);
368
+ expect(fs.warnedMultiLightDirectional).toBe(true);
369
+ const call = warnSpy.mock.calls[0];
370
+ expect(call[0]).toBeTypeOf('string');
371
+ expect(
372
+ (call[0] as string).startsWith('[forgeax] render-system-multi-light directional:'),
373
+ ).toBe(true);
374
+ expect(call[1]).toMatchObject({
375
+ code: 'render-system-multi-light',
376
+ expected: 'at most 1 directional',
377
+ detail: { type: 'directional', got: 2 },
378
+ });
379
+ });
380
+
381
+ it('subsequent frames stay silent (warn-once)', () => {
382
+ const fs = makeFrameState();
383
+ warnMultiLightDirectional(fs, 2);
384
+ expect(warnSpy).toHaveBeenCalledTimes(1);
385
+ for (let i = 0; i < 5; i++) {
386
+ warnMultiLightDirectional(fs, 2);
387
+ }
388
+ expect(warnSpy).toHaveBeenCalledTimes(1);
389
+ expect(fs.warnedMultiLightDirectional).toBe(true);
390
+ });
391
+
392
+ it('no-op when directionalCount <= 1 (no fire, latch stays false)', () => {
393
+ const fs = makeFrameState();
394
+ warnMultiLightDirectional(fs, 1);
395
+ warnMultiLightDirectional(fs, 0);
396
+ expect(warnSpy).toHaveBeenCalledTimes(0);
397
+ expect(fs.warnedMultiLightDirectional).toBe(false);
398
+ });
399
+
400
+ it('production gate suppresses output but still flips latch', () => {
401
+ const savedEnv = (globalThis as { process?: { env?: { NODE_ENV?: string } } }).process?.env
402
+ ?.NODE_ENV;
403
+ try {
404
+ const fs = makeFrameState();
405
+ warnMultiLightDirectional(fs, 2, { env: { NODE_ENV: 'production' } });
406
+ expect(warnSpy).toHaveBeenCalledTimes(0);
407
+ expect(fs.warnedMultiLightDirectional).toBe(true);
408
+ } finally {
409
+ if (savedEnv !== undefined) {
410
+ const g = globalThis as unknown as { process?: { env?: { NODE_ENV?: string } } };
411
+ if (!g.process) g.process = {};
412
+ if (!g.process.env) g.process.env = {};
413
+ g.process.env.NODE_ENV = savedEnv;
414
+ }
415
+ }
416
+ });
417
+ });
418
+ }
@@ -55,7 +55,7 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
55
55
  // asserts the PBR baseline against literal byte values.
56
56
  //
57
57
  // Coverage:
58
- // - 384 B payload (STANDARD_PBR_UBO_SIZE)
58
+ // - 736 B payload (STANDARD_PBR_UBO_SIZE)
59
59
  // - slot 0 = baseColor.rgb + 1 (alpha hardcoded)
60
60
  // - slot 1 first 8 B = metallic, roughness (f32x2)
61
61
  // - slot 1 last 4 u32 (channelMap) = [2, 1, 0, 0]
@@ -84,9 +84,7 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
84
84
  emissive?: readonly [number, number, number];
85
85
  emissiveIntensity?: number;
86
86
  occlusionStrength?: number;
87
- clearcoat?: number;
88
- clearcoatRoughness?: number;
89
- specularTint?: readonly [number, number, number];
87
+ specularColor?: readonly [number, number, number];
90
88
  }): MaterialSnapshot {
91
89
  return {
92
90
  baseColor: opts.baseColor ?? [0.5, 0.6, 0.7, 1],
@@ -97,9 +95,7 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
97
95
  ...(opts.emissive !== undefined && { emissive: opts.emissive }),
98
96
  ...(opts.emissiveIntensity !== undefined && { emissiveIntensity: opts.emissiveIntensity }),
99
97
  ...(opts.occlusionStrength !== undefined && { occlusionStrength: opts.occlusionStrength }),
100
- ...(opts.clearcoat !== undefined && { clearcoat: opts.clearcoat }),
101
- ...(opts.clearcoatRoughness !== undefined && { clearcoatRoughness: opts.clearcoatRoughness }),
102
- ...(opts.specularTint !== undefined && { specularTint: opts.specularTint }),
98
+ ...(opts.specularColor !== undefined && { specularColor: opts.specularColor }),
103
99
  } as unknown as MaterialSnapshot;
104
100
  }
105
101
 
@@ -108,7 +104,7 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
108
104
  expect(typeof mod.buildPbrMaterialUboPayload).toBe('function');
109
105
  });
110
106
 
111
- it('384 B payload size + standard PBR slot layout (baseline)', () => {
107
+ it('736 B payload size + standard PBR slot layout (baseline)', () => {
112
108
  if (typeof mod.buildPbrMaterialUboPayload !== 'function') {
113
109
  throw new Error('helper not exported yet');
114
110
  }
@@ -119,12 +115,10 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
119
115
  emissive: [0, 0, 0],
120
116
  emissiveIntensity: 0,
121
117
  occlusionStrength: 1,
122
- clearcoat: 0.85,
123
- clearcoatRoughness: 0.12,
124
- specularTint: [0.11, 0.22, 0.33],
118
+ specularColor: [0.11, 0.22, 0.33],
125
119
  });
126
120
  const buf = mod.buildPbrMaterialUboPayload(snap);
127
- expect(buf.byteLength).toBe(384);
121
+ expect(buf.byteLength).toBe(736);
128
122
  const f32 = new Float32Array(buf.buffer, buf.byteOffset, buf.byteLength / 4);
129
123
  // feat-20260613 fix-issue-1 (D-8 channelMap split): the 4 channelMap
130
124
  // u32 slots collapse into 4 independent f32 channel selectors at
@@ -154,10 +148,7 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
154
148
  expect(f32[16]).toBe(1);
155
149
  // alphaCutoff (offset 68).
156
150
  expect(f32[17]).toBe(0);
157
- // clearcoat layer (offsets 72..79).
158
- expect(f32[18]).toBeCloseTo(0.85);
159
- expect(f32[19]).toBeCloseTo(0.12);
160
- // specularTint vec3 (offsets 80..92).
151
+ // specularColor vec3 (offsets 80..92; vec3 alignment preserves the slot).
161
152
  expect(f32[20]).toBeCloseTo(0.11);
162
153
  expect(f32[21]).toBeCloseTo(0.22);
163
154
  expect(f32[22]).toBeCloseTo(0.33);
@@ -182,15 +173,12 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
182
173
  const apply = mod.applyMaterialTextureUvScales;
183
174
  if (typeof apply !== 'function') throw new Error('helper not exported yet');
184
175
  const world = new World();
185
- const pbrPayload = new ArrayBuffer(384);
176
+ const pbrPayload = new ArrayBuffer(736);
186
177
  apply(pbrPayload, makePbrSnapshot({}), world);
187
178
  const pbrF32 = new Float32Array(pbrPayload);
188
- expect(pbrF32[34]).toBe(1);
189
- expect(pbrF32[42]).toBe(1);
190
- expect(pbrF32[50]).toBe(1);
191
- expect(pbrF32[58]).toBe(1);
192
- expect(pbrF32[66]).toBe(1);
193
- expect(pbrF32[74]).toBe(1);
179
+ expect(Array.from(pbrF32.slice(32, 88))).toEqual(
180
+ Array.from({ length: 7 }, () => [0, 0, 1, 1, 0, 0, 1, 1]).flat(),
181
+ );
194
182
 
195
183
  const spritePayload = new ArrayBuffer(128);
196
184
  apply(
@@ -1066,9 +1054,7 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
1066
1054
  { name: 'emissiveIntensity', type: 'f32', default: 0 },
1067
1055
  { name: 'occlusionStrength', type: 'f32', default: 1 },
1068
1056
  { name: 'alphaCutoff', type: 'f32', default: 0 },
1069
- { name: 'clearcoat', type: 'f32', default: 0 },
1070
- { name: 'clearcoatRoughness', type: 'f32', default: 0.5 },
1071
- { name: 'specularTint', type: 'vec3', default: [1, 1, 1] },
1057
+ { name: 'specularColor', type: 'vec3', default: [1, 1, 1] },
1072
1058
  ];
1073
1059
 
1074
1060
  describe('applyParamSnapshotToUbo: standard-pbr byte-identical via derive (M1 / w2)', () => {
@@ -1088,9 +1074,7 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
1088
1074
  expect(byName.get('emissiveIntensity')?.offset).toBe(60);
1089
1075
  expect(byName.get('occlusionStrength')?.offset).toBe(64);
1090
1076
  expect(byName.get('alphaCutoff')?.offset).toBe(68);
1091
- expect(byName.get('clearcoat')?.offset).toBe(72);
1092
- expect(byName.get('clearcoatRoughness')?.offset).toBe(76);
1093
- expect(byName.get('specularTint')?.offset).toBe(80);
1077
+ expect(byName.get('specularColor')?.offset).toBe(80);
1094
1078
  });
1095
1079
 
1096
1080
  it('generic writer over standard-pbr snapshot equals buildPbrMaterialUboPayload bytes', () => {
@@ -1120,9 +1104,7 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
1120
1104
  emissiveIntensity,
1121
1105
  occlusionStrength,
1122
1106
  alphaCutoff: 0,
1123
- clearcoat: 0,
1124
- clearcoatRoughness: 0.5,
1125
- specularTint: [1, 1, 1],
1107
+ specularColor: [1, 1, 1],
1126
1108
  } as unknown as MaterialSnapshot;
1127
1109
  const baseline = mod.buildPbrMaterialUboPayload(material);
1128
1110
  // Construct the generic-writer output: start from the same explicit
@@ -1142,7 +1124,7 @@ import { extractFrame, prepareExtractContext } from '../../../render/src/render-
1142
1124
  emissive,
1143
1125
  emissiveIntensity,
1144
1126
  occlusionStrength,
1145
- specularTint: [1, 1, 1],
1127
+ specularColor: [1, 1, 1],
1146
1128
  };
1147
1129
  mod.applyParamSnapshotToUbo(candidate, STANDARD_PBR_SCHEMA, snapshot);
1148
1130
  expect(new Uint8Array(candidate)).toEqual(new Uint8Array(baseline));
@@ -0,0 +1,103 @@
1
+ import { World } from '@forgeax/engine-ecs';
2
+ import type { Renderer, RenderWorldLease } from '@forgeax/engine-render';
3
+ import { RhiNullAdapter, rhi } from '@forgeax/engine-rhi-null';
4
+ import { ok } from '@forgeax/engine-types';
5
+ import { describe, expect, it } from 'vitest';
6
+ import { constructRendererHost } from '../../../render/src/construct-renderer';
7
+
8
+ function canvas(): HTMLCanvasElement {
9
+ return { width: 32, height: 32, getContext: () => null } as unknown as HTMLCanvasElement;
10
+ }
11
+
12
+ const manifest = `data:application/json,${encodeURIComponent(JSON.stringify({ schemaVersion: '1.0.0', entries: [] }))}`;
13
+
14
+ function request(
15
+ leases: readonly RenderWorldLease[],
16
+ camera: RenderWorldLease,
17
+ environment: RenderWorldLease,
18
+ ) {
19
+ return { leases, camera: { lease: camera }, environment: { lease: environment } };
20
+ }
21
+
22
+ describe('M4 / m4_t3 — multi-World recovery keeps logical identities', () => {
23
+ it('retains World and lease identities when world order changes across recovery', async () => {
24
+ const adapter = new RhiNullAdapter();
25
+ const firstDevice = (await adapter.requestDevice()).unwrap();
26
+ const replacementDevice = (await adapter.requestDevice()).unwrap();
27
+ let rejectLoss!: (reason: unknown) => void;
28
+ const lost = new Promise<never>((_, reject) => {
29
+ rejectLoss = reject;
30
+ });
31
+ const lostProxy = new Proxy(firstDevice, {
32
+ get(target, property) {
33
+ if (property === 'lost') return lost;
34
+ const value = Reflect.get(target, property, target);
35
+ return typeof value === 'function' ? value.bind(target) : value;
36
+ },
37
+ });
38
+ let requestCount = 0;
39
+ const recoverableRhi = {
40
+ ...rhi,
41
+ requestAdapter: async () =>
42
+ ok({
43
+ features: adapter.features,
44
+ limits: adapter.limits,
45
+ requestDevice: async () => {
46
+ requestCount += 1;
47
+ return ok(requestCount === 1 ? lostProxy : replacementDevice);
48
+ },
49
+ } as never),
50
+ } as never;
51
+ const host = await constructRendererHost(
52
+ canvas(),
53
+ { rhi: recoverableRhi },
54
+ { shaderManifestUrl: manifest },
55
+ );
56
+ expect(host.ok).toBe(true);
57
+ if (!host.ok) return;
58
+ const renderer: Renderer = host.value.renderer;
59
+ const firstWorld = new World();
60
+ const secondWorld = new World();
61
+ const firstLease = renderer.attach(firstWorld);
62
+ const secondLease = renderer.attach(secondWorld);
63
+ expect(firstLease.ok).toBe(true);
64
+ expect(secondLease.ok).toBe(true);
65
+ if (!firstLease.ok || !secondLease.ok) return;
66
+
67
+ expect(firstWorld.identity).not.toBe(secondWorld.identity);
68
+ const before = {
69
+ firstWorld: firstWorld.identity,
70
+ secondWorld: secondWorld.identity,
71
+ firstLease: firstLease.value,
72
+ secondLease: secondLease.value,
73
+ };
74
+ expect(
75
+ renderer.draw(
76
+ request([firstLease.value, secondLease.value], firstLease.value, secondLease.value),
77
+ ).ok,
78
+ ).toBe(true);
79
+ expect(
80
+ renderer.draw(
81
+ request([secondLease.value, firstLease.value], secondLease.value, firstLease.value),
82
+ ).ok,
83
+ ).toBe(true);
84
+ const beforeScene = renderer.inspect().renderScene;
85
+ rejectLoss({ reason: 'unknown', message: 'forced multi-world device loss' });
86
+ await Promise.resolve();
87
+ await Promise.resolve();
88
+ expect(renderer.state()).toBe('device-lost');
89
+ const recovered = await renderer.recover();
90
+ expect(recovered.ok).toBe(true);
91
+ expect(firstWorld.identity).toBe(before.firstWorld);
92
+ expect(secondWorld.identity).toBe(before.secondWorld);
93
+ expect(firstLease.value).toBe(before.firstLease);
94
+ expect(secondLease.value).toBe(before.secondLease);
95
+ expect(
96
+ renderer.draw(
97
+ request([secondLease.value, firstLease.value], secondLease.value, firstLease.value),
98
+ ).ok,
99
+ ).toBe(true);
100
+ expect(renderer.inspect().renderScene.projectionRecords).toBe(beforeScene.projectionRecords);
101
+ renderer.dispose();
102
+ });
103
+ });