@forgeax/engine-render 0.0.0-dev.8d955ade1c79

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 (891) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +647 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/__tests__/authoring-path.unit.test.d.ts +2 -0
  5. package/dist/__tests__/authoring-path.unit.test.d.ts.map +1 -0
  6. package/dist/__tests__/backend-selection-rhi-capture.test-d.d.ts +2 -0
  7. package/dist/__tests__/backend-selection-rhi-capture.test-d.d.ts.map +1 -0
  8. package/dist/__tests__/callback-inference.test-d.d.ts +2 -0
  9. package/dist/__tests__/callback-inference.test-d.d.ts.map +1 -0
  10. package/dist/__tests__/cluster-binner.test.d.ts +2 -0
  11. package/dist/__tests__/cluster-binner.test.d.ts.map +1 -0
  12. package/dist/__tests__/cluster-grid-default-surface.unit.test.d.ts +2 -0
  13. package/dist/__tests__/cluster-grid-default-surface.unit.test.d.ts.map +1 -0
  14. package/dist/__tests__/construct-renderer-identity.unit.test.d.ts +2 -0
  15. package/dist/__tests__/construct-renderer-identity.unit.test.d.ts.map +1 -0
  16. package/dist/__tests__/device-scope-lifecycle.unit.test.d.ts +2 -0
  17. package/dist/__tests__/device-scope-lifecycle.unit.test.d.ts.map +1 -0
  18. package/dist/__tests__/device-scope-stale-matrix.unit.test.d.ts +2 -0
  19. package/dist/__tests__/device-scope-stale-matrix.unit.test.d.ts.map +1 -0
  20. package/dist/__tests__/direct-extract-consumer-contract.test-d.d.ts +2 -0
  21. package/dist/__tests__/direct-extract-consumer-contract.test-d.d.ts.map +1 -0
  22. package/dist/__tests__/direct-light-snapshot.unit.test.d.ts +2 -0
  23. package/dist/__tests__/direct-light-snapshot.unit.test.d.ts.map +1 -0
  24. package/dist/__tests__/factory-contract.integration.test.d.ts +2 -0
  25. package/dist/__tests__/factory-contract.integration.test.d.ts.map +1 -0
  26. package/dist/__tests__/fallback-row-stride-surface.unit.test.d.ts +2 -0
  27. package/dist/__tests__/fallback-row-stride-surface.unit.test.d.ts.map +1 -0
  28. package/dist/__tests__/frame-observation.contract.test.d.ts +2 -0
  29. package/dist/__tests__/frame-observation.contract.test.d.ts.map +1 -0
  30. package/dist/__tests__/fullscreen-feature-plan.unit.test.d.ts +2 -0
  31. package/dist/__tests__/fullscreen-feature-plan.unit.test.d.ts.map +1 -0
  32. package/dist/__tests__/glyph-text-layout-recovery.unit.test.d.ts +2 -0
  33. package/dist/__tests__/glyph-text-layout-recovery.unit.test.d.ts.map +1 -0
  34. package/dist/__tests__/gpu-driven-indirect-raster-evidence.d.ts +6 -0
  35. package/dist/__tests__/gpu-driven-indirect-raster-evidence.d.ts.map +1 -0
  36. package/dist/__tests__/gpu-driven-indirect-raster.browser.test.d.ts +2 -0
  37. package/dist/__tests__/gpu-driven-indirect-raster.browser.test.d.ts.map +1 -0
  38. package/dist/__tests__/gpu-driven-indirect-raster.dawn.test.d.ts +2 -0
  39. package/dist/__tests__/gpu-driven-indirect-raster.dawn.test.d.ts.map +1 -0
  40. package/dist/__tests__/gpu-driven-production.integration.test.d.ts +2 -0
  41. package/dist/__tests__/gpu-driven-production.integration.test.d.ts.map +1 -0
  42. package/dist/__tests__/gpu-driven-scaling.unit.test.d.ts +2 -0
  43. package/dist/__tests__/gpu-driven-scaling.unit.test.d.ts.map +1 -0
  44. package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts +18 -0
  45. package/dist/__tests__/gpu-driven-view-gpu-evidence.d.ts.map +1 -0
  46. package/dist/__tests__/gpu-driven-view-graph.integration.test.d.ts +2 -0
  47. package/dist/__tests__/gpu-driven-view-graph.integration.test.d.ts.map +1 -0
  48. package/dist/__tests__/gpu-driven-view-reference.d.ts +15 -0
  49. package/dist/__tests__/gpu-driven-view-reference.d.ts.map +1 -0
  50. package/dist/__tests__/gpu-driven-view.browser.test.d.ts +2 -0
  51. package/dist/__tests__/gpu-driven-view.browser.test.d.ts.map +1 -0
  52. package/dist/__tests__/gpu-driven-view.dawn.test.d.ts +2 -0
  53. package/dist/__tests__/gpu-driven-view.dawn.test.d.ts.map +1 -0
  54. package/dist/__tests__/gpu-driven-view.unit.test.d.ts +2 -0
  55. package/dist/__tests__/gpu-driven-view.unit.test.d.ts.map +1 -0
  56. package/dist/__tests__/gpu-resource-store-stride.unit.test.d.ts +2 -0
  57. package/dist/__tests__/gpu-resource-store-stride.unit.test.d.ts.map +1 -0
  58. package/dist/__tests__/gpu-scene-render-graph-gpu.d.ts +7 -0
  59. package/dist/__tests__/gpu-scene-render-graph-gpu.d.ts.map +1 -0
  60. package/dist/__tests__/gpu-scene-render-graph.browser.test.d.ts +2 -0
  61. package/dist/__tests__/gpu-scene-render-graph.browser.test.d.ts.map +1 -0
  62. package/dist/__tests__/gpu-scene-render-graph.dawn.test.d.ts +2 -0
  63. package/dist/__tests__/gpu-scene-render-graph.dawn.test.d.ts.map +1 -0
  64. package/dist/__tests__/gpu-scene-schema.unit.test.d.ts +2 -0
  65. package/dist/__tests__/gpu-scene-schema.unit.test.d.ts.map +1 -0
  66. package/dist/__tests__/gpu-scene.dawn.test.d.ts +2 -0
  67. package/dist/__tests__/gpu-scene.dawn.test.d.ts.map +1 -0
  68. package/dist/__tests__/gpu-scene.unit.test.d.ts +2 -0
  69. package/dist/__tests__/gpu-scene.unit.test.d.ts.map +1 -0
  70. package/dist/__tests__/ibl/face-uniforms.unit.test.d.ts +2 -0
  71. package/dist/__tests__/ibl/face-uniforms.unit.test.d.ts.map +1 -0
  72. package/dist/__tests__/infinite-grid-no-vertex-probe.unit.test.d.ts +2 -0
  73. package/dist/__tests__/infinite-grid-no-vertex-probe.unit.test.d.ts.map +1 -0
  74. package/dist/__tests__/injection-kind-owner.test-d.d.ts +2 -0
  75. package/dist/__tests__/injection-kind-owner.test-d.d.ts.map +1 -0
  76. package/dist/__tests__/ktx2-basis-gpu-consumer.dawn.test.d.ts +2 -0
  77. package/dist/__tests__/ktx2-basis-gpu-consumer.dawn.test.d.ts.map +1 -0
  78. package/dist/__tests__/light-buffer-layout.unit.test.d.ts +2 -0
  79. package/dist/__tests__/light-buffer-layout.unit.test.d.ts.map +1 -0
  80. package/dist/__tests__/material-contract-inventory.unit.test.d.ts +2 -0
  81. package/dist/__tests__/material-contract-inventory.unit.test.d.ts.map +1 -0
  82. package/dist/__tests__/material-cooked-projection.unit.test.d.ts +2 -0
  83. package/dist/__tests__/material-cooked-projection.unit.test.d.ts.map +1 -0
  84. package/dist/__tests__/material-snapshot-mutation.integration.test.d.ts +2 -0
  85. package/dist/__tests__/material-snapshot-mutation.integration.test.d.ts.map +1 -0
  86. package/dist/__tests__/material-static-dynamic-route.unit.test.d.ts +2 -0
  87. package/dist/__tests__/material-static-dynamic-route.unit.test.d.ts.map +1 -0
  88. package/dist/__tests__/material-stride-surface.unit.test.d.ts +2 -0
  89. package/dist/__tests__/material-stride-surface.unit.test.d.ts.map +1 -0
  90. package/dist/__tests__/mesh-buffer-usage-surface.unit.test.d.ts +2 -0
  91. package/dist/__tests__/mesh-buffer-usage-surface.unit.test.d.ts.map +1 -0
  92. package/dist/__tests__/mesh-material-bindings.unit.test.d.ts +2 -0
  93. package/dist/__tests__/mesh-material-bindings.unit.test.d.ts.map +1 -0
  94. package/dist/__tests__/mesh-stride-surface.unit.test.d.ts +2 -0
  95. package/dist/__tests__/mesh-stride-surface.unit.test.d.ts.map +1 -0
  96. package/dist/__tests__/morph-culling-reentry.dawn.test.d.ts +2 -0
  97. package/dist/__tests__/morph-culling-reentry.dawn.test.d.ts.map +1 -0
  98. package/dist/__tests__/morph-feature-gpu-work.integration.test.d.ts +2 -0
  99. package/dist/__tests__/morph-feature-gpu-work.integration.test.d.ts.map +1 -0
  100. package/dist/__tests__/morph-feature-plan.unit.test.d.ts +2 -0
  101. package/dist/__tests__/morph-feature-plan.unit.test.d.ts.map +1 -0
  102. package/dist/__tests__/morph-visual-evidence.integration.test.d.ts +2 -0
  103. package/dist/__tests__/morph-visual-evidence.integration.test.d.ts.map +1 -0
  104. package/dist/__tests__/nineslice-handle-surface.unit.test.d.ts +2 -0
  105. package/dist/__tests__/nineslice-handle-surface.unit.test.d.ts.map +1 -0
  106. package/dist/__tests__/post-process-error-policy-owner.unit.test.d.ts +2 -0
  107. package/dist/__tests__/post-process-error-policy-owner.unit.test.d.ts.map +1 -0
  108. package/dist/__tests__/prepared-buffer-kind-owner.test-d.d.ts +2 -0
  109. package/dist/__tests__/prepared-buffer-kind-owner.test-d.d.ts.map +1 -0
  110. package/dist/__tests__/prepared-graphics-capability.unit.test.d.ts +2 -0
  111. package/dist/__tests__/prepared-graphics-capability.unit.test.d.ts.map +1 -0
  112. package/dist/__tests__/prepared-graphics-generation.unit.test.d.ts +2 -0
  113. package/dist/__tests__/prepared-graphics-generation.unit.test.d.ts.map +1 -0
  114. package/dist/__tests__/prepared-graphics-lifecycle.unit.test.d.ts +2 -0
  115. package/dist/__tests__/prepared-graphics-lifecycle.unit.test.d.ts.map +1 -0
  116. package/dist/__tests__/prepared-graphics-pipeline-warmup.unit.test.d.ts +2 -0
  117. package/dist/__tests__/prepared-graphics-pipeline-warmup.unit.test.d.ts.map +1 -0
  118. package/dist/__tests__/prepared-graphics-resolver.unit.test.d.ts +2 -0
  119. package/dist/__tests__/prepared-graphics-resolver.unit.test.d.ts.map +1 -0
  120. package/dist/__tests__/prepared-graphics-snapshot.unit.test.d.ts +2 -0
  121. package/dist/__tests__/prepared-graphics-snapshot.unit.test.d.ts.map +1 -0
  122. package/dist/__tests__/prepared-graphics-store.unit.test.d.ts +2 -0
  123. package/dist/__tests__/prepared-graphics-store.unit.test.d.ts.map +1 -0
  124. package/dist/__tests__/prepared-graphics-validation.unit.test.d.ts +2 -0
  125. package/dist/__tests__/prepared-graphics-validation.unit.test.d.ts.map +1 -0
  126. package/dist/__tests__/profiler-default-off.test.d.ts +2 -0
  127. package/dist/__tests__/profiler-default-off.test.d.ts.map +1 -0
  128. package/dist/__tests__/profiler-phase-catalog.test.d.ts +2 -0
  129. package/dist/__tests__/profiler-phase-catalog.test.d.ts.map +1 -0
  130. package/dist/__tests__/profiler-phase-integration.test.d.ts +2 -0
  131. package/dist/__tests__/profiler-phase-integration.test.d.ts.map +1 -0
  132. package/dist/__tests__/profiler-phase-token.test.d.ts +2 -0
  133. package/dist/__tests__/profiler-phase-token.test.d.ts.map +1 -0
  134. package/dist/__tests__/public-surface.test-d.d.ts +2 -0
  135. package/dist/__tests__/public-surface.test-d.d.ts.map +1 -0
  136. package/dist/__tests__/recover-error-policy-owner.unit.test.d.ts +2 -0
  137. package/dist/__tests__/recover-error-policy-owner.unit.test.d.ts.map +1 -0
  138. package/dist/__tests__/render-error-code-owner.test-d.d.ts +2 -0
  139. package/dist/__tests__/render-error-code-owner.test-d.d.ts.map +1 -0
  140. package/dist/__tests__/render-error-detail-ssot.test-d.d.ts +2 -0
  141. package/dist/__tests__/render-error-detail-ssot.test-d.d.ts.map +1 -0
  142. package/dist/__tests__/render-error-exhaustive.test-d.d.ts +2 -0
  143. package/dist/__tests__/render-error-exhaustive.test-d.d.ts.map +1 -0
  144. package/dist/__tests__/render-feature-assembly.test-d.d.ts +2 -0
  145. package/dist/__tests__/render-feature-assembly.test-d.d.ts.map +1 -0
  146. package/dist/__tests__/render-feature-context.test-d.d.ts +2 -0
  147. package/dist/__tests__/render-feature-context.test-d.d.ts.map +1 -0
  148. package/dist/__tests__/render-feature-contract.test-d.d.ts +2 -0
  149. package/dist/__tests__/render-feature-contract.test-d.d.ts.map +1 -0
  150. package/dist/__tests__/render-feature-diagnostics.unit.test.d.ts +2 -0
  151. package/dist/__tests__/render-feature-diagnostics.unit.test.d.ts.map +1 -0
  152. package/dist/__tests__/render-feature-docs.unit.test.d.ts +2 -0
  153. package/dist/__tests__/render-feature-docs.unit.test.d.ts.map +1 -0
  154. package/dist/__tests__/render-feature-errors.unit.test.d.ts +2 -0
  155. package/dist/__tests__/render-feature-errors.unit.test.d.ts.map +1 -0
  156. package/dist/__tests__/render-feature-gpu-work.integration.test.d.ts +2 -0
  157. package/dist/__tests__/render-feature-gpu-work.integration.test.d.ts.map +1 -0
  158. package/dist/__tests__/render-feature-plan.test-d.d.ts +2 -0
  159. package/dist/__tests__/render-feature-plan.test-d.d.ts.map +1 -0
  160. package/dist/__tests__/render-feature-plan.unit.test.d.ts +2 -0
  161. package/dist/__tests__/render-feature-plan.unit.test.d.ts.map +1 -0
  162. package/dist/__tests__/render-feature-prepared-diagnostics.unit.test.d.ts +2 -0
  163. package/dist/__tests__/render-feature-prepared-diagnostics.unit.test.d.ts.map +1 -0
  164. package/dist/__tests__/render-feature-prepared-errors.test-d.d.ts +2 -0
  165. package/dist/__tests__/render-feature-prepared-errors.test-d.d.ts.map +1 -0
  166. package/dist/__tests__/render-feature-prepared-graphics-docs.unit.test.d.ts +2 -0
  167. package/dist/__tests__/render-feature-prepared-graphics-docs.unit.test.d.ts.map +1 -0
  168. package/dist/__tests__/render-feature-prepared-graphics-isolation.unit.test.d.ts +2 -0
  169. package/dist/__tests__/render-feature-prepared-graphics-isolation.unit.test.d.ts.map +1 -0
  170. package/dist/__tests__/render-feature-prepared-graphics-negative.test-d.d.ts +2 -0
  171. package/dist/__tests__/render-feature-prepared-graphics-negative.test-d.d.ts.map +1 -0
  172. package/dist/__tests__/render-feature-prepared-graphics.test-d.d.ts +2 -0
  173. package/dist/__tests__/render-feature-prepared-graphics.test-d.d.ts.map +1 -0
  174. package/dist/__tests__/render-feature-prepared-graphics.unit.test.d.ts +2 -0
  175. package/dist/__tests__/render-feature-prepared-graphics.unit.test.d.ts.map +1 -0
  176. package/dist/__tests__/render-feature-public-surface.test-d.d.ts +2 -0
  177. package/dist/__tests__/render-feature-public-surface.test-d.d.ts.map +1 -0
  178. package/dist/__tests__/render-feature-retry.unit.test.d.ts +2 -0
  179. package/dist/__tests__/render-feature-retry.unit.test.d.ts.map +1 -0
  180. package/dist/__tests__/render-feature-scheduling.unit.test.d.ts +2 -0
  181. package/dist/__tests__/render-feature-scheduling.unit.test.d.ts.map +1 -0
  182. package/dist/__tests__/render-feature-stage-failed-policy-owner.unit.test.d.ts +2 -0
  183. package/dist/__tests__/render-feature-stage-failed-policy-owner.unit.test.d.ts.map +1 -0
  184. package/dist/__tests__/render-feature-stage-fault-recovery.unit.test.d.ts +2 -0
  185. package/dist/__tests__/render-feature-stage-fault-recovery.unit.test.d.ts.map +1 -0
  186. package/dist/__tests__/render-feature-visibility-context.test-d.d.ts +2 -0
  187. package/dist/__tests__/render-feature-visibility-context.test-d.d.ts.map +1 -0
  188. package/dist/__tests__/render-feature-visibility-context.unit.test.d.ts +2 -0
  189. package/dist/__tests__/render-feature-visibility-context.unit.test.d.ts.map +1 -0
  190. package/dist/__tests__/render-feature-zero-work.unit.test.d.ts +2 -0
  191. package/dist/__tests__/render-feature-zero-work.unit.test.d.ts.map +1 -0
  192. package/dist/__tests__/render-graph-compute-raster-gpu.d.ts +7 -0
  193. package/dist/__tests__/render-graph-compute-raster-gpu.d.ts.map +1 -0
  194. package/dist/__tests__/render-graph-compute-raster.browser.test.d.ts +2 -0
  195. package/dist/__tests__/render-graph-compute-raster.browser.test.d.ts.map +1 -0
  196. package/dist/__tests__/render-graph-compute-raster.dawn.test.d.ts +2 -0
  197. package/dist/__tests__/render-graph-compute-raster.dawn.test.d.ts.map +1 -0
  198. package/dist/__tests__/render-graph-hzb-gpu.d.ts +7 -0
  199. package/dist/__tests__/render-graph-hzb-gpu.d.ts.map +1 -0
  200. package/dist/__tests__/render-graph-hzb.browser.test.d.ts +2 -0
  201. package/dist/__tests__/render-graph-hzb.browser.test.d.ts.map +1 -0
  202. package/dist/__tests__/render-graph-hzb.dawn.test.d.ts +2 -0
  203. package/dist/__tests__/render-graph-hzb.dawn.test.d.ts.map +1 -0
  204. package/dist/__tests__/render-graph-primitives.unit.test.d.ts +2 -0
  205. package/dist/__tests__/render-graph-primitives.unit.test.d.ts.map +1 -0
  206. package/dist/__tests__/render-graph-storage-indirect-gpu.d.ts +12 -0
  207. package/dist/__tests__/render-graph-storage-indirect-gpu.d.ts.map +1 -0
  208. package/dist/__tests__/render-graph-storage-indirect.browser.test.d.ts +2 -0
  209. package/dist/__tests__/render-graph-storage-indirect.browser.test.d.ts.map +1 -0
  210. package/dist/__tests__/render-graph-storage-indirect.dawn.test.d.ts +2 -0
  211. package/dist/__tests__/render-graph-storage-indirect.dawn.test.d.ts.map +1 -0
  212. package/dist/__tests__/render-scene-projection.unit.test.d.ts +2 -0
  213. package/dist/__tests__/render-scene-projection.unit.test.d.ts.map +1 -0
  214. package/dist/__tests__/renderer-factory-material-contract.unit.test.d.ts +2 -0
  215. package/dist/__tests__/renderer-factory-material-contract.unit.test.d.ts.map +1 -0
  216. package/dist/__tests__/renderer-lifecycle.integration.test.d.ts +2 -0
  217. package/dist/__tests__/renderer-lifecycle.integration.test.d.ts.map +1 -0
  218. package/dist/__tests__/rhi-backend-package-boundary.unit.test.d.ts +2 -0
  219. package/dist/__tests__/rhi-backend-package-boundary.unit.test.d.ts.map +1 -0
  220. package/dist/__tests__/scriptable-pack-consumer.test-d.d.ts +2 -0
  221. package/dist/__tests__/scriptable-pack-consumer.test-d.d.ts.map +1 -0
  222. package/dist/__tests__/shader-stage-surface.unit.test.d.ts +2 -0
  223. package/dist/__tests__/shader-stage-surface.unit.test.d.ts.map +1 -0
  224. package/dist/__tests__/ssao-config.unit.test.d.ts +2 -0
  225. package/dist/__tests__/ssao-config.unit.test.d.ts.map +1 -0
  226. package/dist/__tests__/ssao-kernel-surface.unit.test.d.ts +2 -0
  227. package/dist/__tests__/ssao-kernel-surface.unit.test.d.ts.map +1 -0
  228. package/dist/__tests__/standard-clustered-pipeline.unit.test.d.ts +2 -0
  229. package/dist/__tests__/standard-clustered-pipeline.unit.test.d.ts.map +1 -0
  230. package/dist/__tests__/standard-descriptors.test-d.d.ts +2 -0
  231. package/dist/__tests__/standard-descriptors.test-d.d.ts.map +1 -0
  232. package/dist/__tests__/standard-pipeline.dawn.test.d.ts +2 -0
  233. package/dist/__tests__/standard-pipeline.dawn.test.d.ts.map +1 -0
  234. package/dist/__tests__/standard-pipeline.integration.test.d.ts +2 -0
  235. package/dist/__tests__/standard-pipeline.integration.test.d.ts.map +1 -0
  236. package/dist/__tests__/standard-profile-oracle.unit.test.d.ts +2 -0
  237. package/dist/__tests__/standard-profile-oracle.unit.test.d.ts.map +1 -0
  238. package/dist/__tests__/surface-configuration.unit.test.d.ts +2 -0
  239. package/dist/__tests__/surface-configuration.unit.test.d.ts.map +1 -0
  240. package/dist/__tests__/texture-usage-surface.unit.test.d.ts +2 -0
  241. package/dist/__tests__/texture-usage-surface.unit.test.d.ts.map +1 -0
  242. package/dist/__tests__/typed-pipeline-topology.unit.test.d.ts +2 -0
  243. package/dist/__tests__/typed-pipeline-topology.unit.test.d.ts.map +1 -0
  244. package/dist/__tests__/urp-pipeline-targets.unit.test.d.ts +2 -0
  245. package/dist/__tests__/urp-pipeline-targets.unit.test.d.ts.map +1 -0
  246. package/dist/__tests__/urp-pipeline.unit.test.d.ts +2 -0
  247. package/dist/__tests__/urp-pipeline.unit.test.d.ts.map +1 -0
  248. package/dist/__tests__/vertex-color-pipeline.unit.test.d.ts +2 -0
  249. package/dist/__tests__/vertex-color-pipeline.unit.test.d.ts.map +1 -0
  250. package/dist/__tests__/vertex-layout-consumer.unit.test.d.ts +2 -0
  251. package/dist/__tests__/vertex-layout-consumer.unit.test.d.ts.map +1 -0
  252. package/dist/__tests__/visibility-diagnostics.integration.test.d.ts +2 -0
  253. package/dist/__tests__/visibility-diagnostics.integration.test.d.ts.map +1 -0
  254. package/dist/__tests__/visibility-extract.integration.test.d.ts +2 -0
  255. package/dist/__tests__/visibility-extract.integration.test.d.ts.map +1 -0
  256. package/dist/__tests__/visibility-extract.perf.test.d.ts +2 -0
  257. package/dist/__tests__/visibility-extract.perf.test.d.ts.map +1 -0
  258. package/dist/__tests__/visibility-feature-dedup.integration.test.d.ts +2 -0
  259. package/dist/__tests__/visibility-feature-dedup.integration.test.d.ts.map +1 -0
  260. package/dist/__tests__/visibility-hidden-report.unit.test.d.ts +2 -0
  261. package/dist/__tests__/visibility-hidden-report.unit.test.d.ts.map +1 -0
  262. package/dist/__tests__/visibility-instances.integration.test.d.ts +2 -0
  263. package/dist/__tests__/visibility-instances.integration.test.d.ts.map +1 -0
  264. package/dist/__tests__/visibility-multi-world.integration.test.d.ts +2 -0
  265. package/dist/__tests__/visibility-multi-world.integration.test.d.ts.map +1 -0
  266. package/dist/__tests__/visibility-producer-matrix.integration.test.d.ts +2 -0
  267. package/dist/__tests__/visibility-producer-matrix.integration.test.d.ts.map +1 -0
  268. package/dist/__tests__/visibility-producer-matrix.unit.test.d.ts +2 -0
  269. package/dist/__tests__/visibility-producer-matrix.unit.test.d.ts.map +1 -0
  270. package/dist/__tests__/visibility-public-surface.test-d.d.ts +2 -0
  271. package/dist/__tests__/visibility-public-surface.test-d.d.ts.map +1 -0
  272. package/dist/__tests__/visibility-resolver.unit.test.d.ts +2 -0
  273. package/dist/__tests__/visibility-resolver.unit.test.d.ts.map +1 -0
  274. package/dist/__tests__/visibility-resource-short-circuit.unit.test.d.ts +2 -0
  275. package/dist/__tests__/visibility-resource-short-circuit.unit.test.d.ts.map +1 -0
  276. package/dist/__tests__/visibility-snapshot-contract.unit.test.d.ts +2 -0
  277. package/dist/__tests__/visibility-snapshot-contract.unit.test.d.ts.map +1 -0
  278. package/dist/__tests__/vocabulary.unit.test.d.ts +2 -0
  279. package/dist/__tests__/vocabulary.unit.test.d.ts.map +1 -0
  280. package/dist/assembly/backend-contract.d.ts +37 -0
  281. package/dist/assembly/backend-contract.d.ts.map +1 -0
  282. package/dist/assembly/factory.d.ts +207 -0
  283. package/dist/assembly/factory.d.ts.map +1 -0
  284. package/dist/assembly/host-contract.d.ts +84 -0
  285. package/dist/assembly/host-contract.d.ts.map +1 -0
  286. package/dist/assembly/material/assembly.d.ts +21 -0
  287. package/dist/assembly/material/assembly.d.ts.map +1 -0
  288. package/dist/assembly/material/pipeline-projection.d.ts +30 -0
  289. package/dist/assembly/material/pipeline-projection.d.ts.map +1 -0
  290. package/dist/assets/asset-decoders.d.ts +5 -0
  291. package/dist/assets/asset-decoders.d.ts.map +1 -0
  292. package/dist/assets/render-asset-port.d.ts +17 -0
  293. package/dist/assets/render-asset-port.d.ts.map +1 -0
  294. package/dist/assets/resolve-render-asset.d.ts +6 -0
  295. package/dist/assets/resolve-render-asset.d.ts.map +1 -0
  296. package/dist/authoring.d.ts +12 -0
  297. package/dist/authoring.d.ts.map +1 -0
  298. package/dist/authoring.mjs +27 -0
  299. package/dist/authoring.mjs.map +1 -0
  300. package/dist/chunk-CQXZC5XI.mjs +182 -0
  301. package/dist/chunk-CQXZC5XI.mjs.map +1 -0
  302. package/dist/chunk-HCOGPHKS.mjs +93 -0
  303. package/dist/chunk-HCOGPHKS.mjs.map +1 -0
  304. package/dist/chunk-YEJIUW7D.mjs +1152 -0
  305. package/dist/chunk-YEJIUW7D.mjs.map +1 -0
  306. package/dist/cluster-binner.d.ts +152 -0
  307. package/dist/cluster-binner.d.ts.map +1 -0
  308. package/dist/components/__tests__/points-lines-admission.unit.test.d.ts +2 -0
  309. package/dist/components/__tests__/points-lines-admission.unit.test.d.ts.map +1 -0
  310. package/dist/components/__tests__/points-lines-schema.unit.test.d.ts +2 -0
  311. package/dist/components/__tests__/points-lines-schema.unit.test.d.ts.map +1 -0
  312. package/dist/components/__tests__/schema-contract.unit.test.d.ts +2 -0
  313. package/dist/components/__tests__/schema-contract.unit.test.d.ts.map +1 -0
  314. package/dist/components/__tests__/schema-parity.unit.test.d.ts +2 -0
  315. package/dist/components/__tests__/schema-parity.unit.test.d.ts.map +1 -0
  316. package/dist/components/__tests__/visibility-schema.unit.test.d.ts +2 -0
  317. package/dist/components/__tests__/visibility-schema.unit.test.d.ts.map +1 -0
  318. package/dist/components/camera.d.ts +311 -0
  319. package/dist/components/camera.d.ts.map +1 -0
  320. package/dist/components/directional-light.d.ts +76 -0
  321. package/dist/components/directional-light.d.ts.map +1 -0
  322. package/dist/components/glyph-text.d.ts +26 -0
  323. package/dist/components/glyph-text.d.ts.map +1 -0
  324. package/dist/components/index.d.ts +24 -0
  325. package/dist/components/index.d.ts.map +1 -0
  326. package/dist/components/instances.d.ts +41 -0
  327. package/dist/components/instances.d.ts.map +1 -0
  328. package/dist/components/layer.d.ts +34 -0
  329. package/dist/components/layer.d.ts.map +1 -0
  330. package/dist/components/light-helpers.d.ts +53 -0
  331. package/dist/components/light-helpers.d.ts.map +1 -0
  332. package/dist/components/lines.d.ts +5 -0
  333. package/dist/components/lines.d.ts.map +1 -0
  334. package/dist/components/mesh-filter.d.ts +24 -0
  335. package/dist/components/mesh-filter.d.ts.map +1 -0
  336. package/dist/components/mesh-renderer.d.ts +33 -0
  337. package/dist/components/mesh-renderer.d.ts.map +1 -0
  338. package/dist/components/point-light-shadow.d.ts +27 -0
  339. package/dist/components/point-light-shadow.d.ts.map +1 -0
  340. package/dist/components/point-light.d.ts +35 -0
  341. package/dist/components/point-light.d.ts.map +1 -0
  342. package/dist/components/points.d.ts +15 -0
  343. package/dist/components/points.d.ts.map +1 -0
  344. package/dist/components/post-process-params.d.ts +5 -0
  345. package/dist/components/post-process-params.d.ts.map +1 -0
  346. package/dist/components/scene-instance.d.ts +140 -0
  347. package/dist/components/scene-instance.d.ts.map +1 -0
  348. package/dist/components/skybox-background.d.ts +56 -0
  349. package/dist/components/skybox-background.d.ts.map +1 -0
  350. package/dist/components/skylight.d.ts +55 -0
  351. package/dist/components/skylight.d.ts.map +1 -0
  352. package/dist/components/sort-key.d.ts +44 -0
  353. package/dist/components/sort-key.d.ts.map +1 -0
  354. package/dist/components/spot-light.d.ts +81 -0
  355. package/dist/components/spot-light.d.ts.map +1 -0
  356. package/dist/components/sprite-animation.d.ts +74 -0
  357. package/dist/components/sprite-animation.d.ts.map +1 -0
  358. package/dist/components/sprite-instances.d.ts +51 -0
  359. package/dist/components/sprite-instances.d.ts.map +1 -0
  360. package/dist/components/sprite-playback-mode.d.ts +42 -0
  361. package/dist/components/sprite-playback-mode.d.ts.map +1 -0
  362. package/dist/components/sprite-region-override.d.ts +46 -0
  363. package/dist/components/sprite-region-override.d.ts.map +1 -0
  364. package/dist/components/tile-layer.d.ts +106 -0
  365. package/dist/components/tile-layer.d.ts.map +1 -0
  366. package/dist/components/tilemap.d.ts +25 -0
  367. package/dist/components/tilemap.d.ts.map +1 -0
  368. package/dist/components/visibility.d.ts +22 -0
  369. package/dist/components/visibility.d.ts.map +1 -0
  370. package/dist/construct-renderer.d.ts +19 -0
  371. package/dist/construct-renderer.d.ts.map +1 -0
  372. package/dist/construct-renderer.mjs +27462 -0
  373. package/dist/construct-renderer.mjs.map +1 -0
  374. package/dist/debug-draw-glue.d.ts +5 -0
  375. package/dist/debug-draw-glue.d.ts.map +1 -0
  376. package/dist/device/device-scope.d.ts +83 -0
  377. package/dist/device/device-scope.d.ts.map +1 -0
  378. package/dist/device/gpu-residency.d.ts +337 -0
  379. package/dist/device/gpu-residency.d.ts.map +1 -0
  380. package/dist/device/resource-types.d.ts +8 -0
  381. package/dist/device/resource-types.d.ts.map +1 -0
  382. package/dist/engine-metrics.d.ts +23 -0
  383. package/dist/engine-metrics.d.ts.map +1 -0
  384. package/dist/errors/ecs-validation.d.ts +3 -0
  385. package/dist/errors/ecs-validation.d.ts.map +1 -0
  386. package/dist/errors/index.d.ts +4 -0
  387. package/dist/errors/index.d.ts.map +1 -0
  388. package/dist/errors/recover.d.ts +105 -0
  389. package/dist/errors/recover.d.ts.map +1 -0
  390. package/dist/errors/render.d.ts +705 -0
  391. package/dist/errors/render.d.ts.map +1 -0
  392. package/dist/extract/visibility.d.ts +26 -0
  393. package/dist/extract/visibility.d.ts.map +1 -0
  394. package/dist/features/fullscreen.d.ts +19 -0
  395. package/dist/features/fullscreen.d.ts.map +1 -0
  396. package/dist/features/host.d.ts +106 -0
  397. package/dist/features/host.d.ts.map +1 -0
  398. package/dist/features/morph/morph-feature.d.ts +79 -0
  399. package/dist/features/morph/morph-feature.d.ts.map +1 -0
  400. package/dist/features/plan.d.ts +182 -0
  401. package/dist/features/plan.d.ts.map +1 -0
  402. package/dist/features/prepared-gpu-work.d.ts +117 -0
  403. package/dist/features/prepared-gpu-work.d.ts.map +1 -0
  404. package/dist/features/prepared-graphics-store.d.ts +66 -0
  405. package/dist/features/prepared-graphics-store.d.ts.map +1 -0
  406. package/dist/features/prepared-graphics.d.ts +215 -0
  407. package/dist/features/prepared-graphics.d.ts.map +1 -0
  408. package/dist/features/render-graph-compute.d.ts +13 -0
  409. package/dist/features/render-graph-compute.d.ts.map +1 -0
  410. package/dist/features/render-graph-contribution.d.ts +12 -0
  411. package/dist/features/render-graph-contribution.d.ts.map +1 -0
  412. package/dist/features/render-graph-raster.d.ts +38 -0
  413. package/dist/features/render-graph-raster.d.ts.map +1 -0
  414. package/dist/features/render-graph-resources.d.ts +11 -0
  415. package/dist/features/render-graph-resources.d.ts.map +1 -0
  416. package/dist/features/targets.d.ts +32 -0
  417. package/dist/features/targets.d.ts.map +1 -0
  418. package/dist/features/types.d.ts +68 -0
  419. package/dist/features/types.d.ts.map +1 -0
  420. package/dist/features/vocabulary.d.ts +14 -0
  421. package/dist/features/vocabulary.d.ts.map +1 -0
  422. package/dist/fullscreen-post-process-pass.d.ts +157 -0
  423. package/dist/fullscreen-post-process-pass.d.ts.map +1 -0
  424. package/dist/glyph-text-layout-system.d.ts +19 -0
  425. package/dist/glyph-text-layout-system.d.ts.map +1 -0
  426. package/dist/gpu-driven/batch-topology.d.ts +55 -0
  427. package/dist/gpu-driven/batch-topology.d.ts.map +1 -0
  428. package/dist/gpu-driven/production-raster.d.ts +51 -0
  429. package/dist/gpu-driven/production-raster.d.ts.map +1 -0
  430. package/dist/gpu-driven/view-gpu.d.ts +85 -0
  431. package/dist/gpu-driven/view-gpu.d.ts.map +1 -0
  432. package/dist/gpu-resource.d.ts +73 -0
  433. package/dist/gpu-resource.d.ts.map +1 -0
  434. package/dist/gpu-scene-schema.d.ts +78 -0
  435. package/dist/gpu-scene-schema.d.ts.map +1 -0
  436. package/dist/gpu-scene.d.ts +55 -0
  437. package/dist/gpu-scene.d.ts.map +1 -0
  438. package/dist/gpu-stage.d.ts +4 -0
  439. package/dist/gpu-stage.d.ts.map +1 -0
  440. package/dist/gpu-texture-usage.d.ts +6 -0
  441. package/dist/gpu-texture-usage.d.ts.map +1 -0
  442. package/dist/gpu-usage.d.ts +9 -0
  443. package/dist/gpu-usage.d.ts.map +1 -0
  444. package/dist/hdrp-buffers.d.ts +163 -0
  445. package/dist/hdrp-buffers.d.ts.map +1 -0
  446. package/dist/ibl/IblPipelineCache.d.ts +168 -0
  447. package/dist/ibl/IblPipelineCache.d.ts.map +1 -0
  448. package/dist/ibl/skylight-bind-group.d.ts +130 -0
  449. package/dist/ibl/skylight-bind-group.d.ts.map +1 -0
  450. package/dist/index.d.ts +31 -0
  451. package/dist/index.d.ts.map +1 -0
  452. package/dist/index.mjs +169 -0
  453. package/dist/index.mjs.map +1 -0
  454. package/dist/inspection-types.d.ts +72 -0
  455. package/dist/inspection-types.d.ts.map +1 -0
  456. package/dist/instance-buffer-cache.d.ts +56 -0
  457. package/dist/instance-buffer-cache.d.ts.map +1 -0
  458. package/dist/internal.d.ts +2 -0
  459. package/dist/internal.d.ts.map +1 -0
  460. package/dist/internal.mjs +3 -0
  461. package/dist/internal.mjs.map +1 -0
  462. package/dist/lifecycle.d.ts +62 -0
  463. package/dist/lifecycle.d.ts.map +1 -0
  464. package/dist/light-buffer-layout.d.ts +164 -0
  465. package/dist/light-buffer-layout.d.ts.map +1 -0
  466. package/dist/materials.d.ts +47 -0
  467. package/dist/materials.d.ts.map +1 -0
  468. package/dist/mesh-material-bindings.d.ts +43 -0
  469. package/dist/mesh-material-bindings.d.ts.map +1 -0
  470. package/dist/pbr-pipeline.d.ts +301 -0
  471. package/dist/pbr-pipeline.d.ts.map +1 -0
  472. package/dist/pipeline/standard-forward-lane.d.ts +5 -0
  473. package/dist/pipeline/standard-forward-lane.d.ts.map +1 -0
  474. package/dist/pipeline/standard-pipeline.d.ts +31 -0
  475. package/dist/pipeline/standard-pipeline.d.ts.map +1 -0
  476. package/dist/pipeline/standard-profile.d.ts +40 -0
  477. package/dist/pipeline/standard-profile.d.ts.map +1 -0
  478. package/dist/pipeline-builder.d.ts +122 -0
  479. package/dist/pipeline-builder.d.ts.map +1 -0
  480. package/dist/pipeline-spec-types.d.ts +24 -0
  481. package/dist/pipeline-spec-types.d.ts.map +1 -0
  482. package/dist/pipeline-spec.d.ts +367 -0
  483. package/dist/pipeline-spec.d.ts.map +1 -0
  484. package/dist/plugin.d.ts +4 -0
  485. package/dist/plugin.d.ts.map +1 -0
  486. package/dist/points-lines/__tests__/bounds.unit.test.d.ts +2 -0
  487. package/dist/points-lines/__tests__/bounds.unit.test.d.ts.map +1 -0
  488. package/dist/points-lines/__tests__/cache-recovery.unit.test.d.ts +2 -0
  489. package/dist/points-lines/__tests__/cache-recovery.unit.test.d.ts.map +1 -0
  490. package/dist/points-lines/__tests__/inspection-lanes.integration.test.d.ts +2 -0
  491. package/dist/points-lines/__tests__/inspection-lanes.integration.test.d.ts.map +1 -0
  492. package/dist/points-lines/__tests__/inspection.unit.test.d.ts +2 -0
  493. package/dist/points-lines/__tests__/inspection.unit.test.d.ts.map +1 -0
  494. package/dist/points-lines/__tests__/lane-structural.integration.test.d.ts +2 -0
  495. package/dist/points-lines/__tests__/lane-structural.integration.test.d.ts.map +1 -0
  496. package/dist/points-lines/__tests__/points-lines.bench.d.ts +2 -0
  497. package/dist/points-lines/__tests__/points-lines.bench.d.ts.map +1 -0
  498. package/dist/points-lines/__tests__/raster-lane.integration.test.d.ts +2 -0
  499. package/dist/points-lines/__tests__/raster-lane.integration.test.d.ts.map +1 -0
  500. package/dist/points-lines/__tests__/snapshot.unit.test.d.ts +2 -0
  501. package/dist/points-lines/__tests__/snapshot.unit.test.d.ts.map +1 -0
  502. package/dist/points-lines/__tests__/view-ubo.unit.test.d.ts +2 -0
  503. package/dist/points-lines/__tests__/view-ubo.unit.test.d.ts.map +1 -0
  504. package/dist/points-lines/admission.d.ts +36 -0
  505. package/dist/points-lines/admission.d.ts.map +1 -0
  506. package/dist/points-lines/bounds.d.ts +8 -0
  507. package/dist/points-lines/bounds.d.ts.map +1 -0
  508. package/dist/points-lines/expansion-cache.d.ts +28 -0
  509. package/dist/points-lines/expansion-cache.d.ts.map +1 -0
  510. package/dist/points-lines/inspection.d.ts +53 -0
  511. package/dist/points-lines/inspection.d.ts.map +1 -0
  512. package/dist/points-lines/prepare.d.ts +67 -0
  513. package/dist/points-lines/prepare.d.ts.map +1 -0
  514. package/dist/points-lines/record.d.ts +60 -0
  515. package/dist/points-lines/record.d.ts.map +1 -0
  516. package/dist/points-lines/snapshot.d.ts +49 -0
  517. package/dist/points-lines/snapshot.d.ts.map +1 -0
  518. package/dist/post-process-errors.d.ts +182 -0
  519. package/dist/post-process-errors.d.ts.map +1 -0
  520. package/dist/prepare/prepared-graphics-resolver.d.ts +59 -0
  521. package/dist/prepare/prepared-graphics-resolver.d.ts.map +1 -0
  522. package/dist/record/__tests__/material-bg-cache.unit.test.d.ts +2 -0
  523. package/dist/record/__tests__/material-bg-cache.unit.test.d.ts.map +1 -0
  524. package/dist/record/__tests__/material-slot-plan.unit.test.d.ts +2 -0
  525. package/dist/record/__tests__/material-slot-plan.unit.test.d.ts.map +1 -0
  526. package/dist/record/__tests__/typed-frame-graph-plan.unit.test.d.ts +2 -0
  527. package/dist/record/__tests__/typed-frame-graph-plan.unit.test.d.ts.map +1 -0
  528. package/dist/record/__tests__/video-texture-view.unit.test.d.ts +2 -0
  529. package/dist/record/__tests__/video-texture-view.unit.test.d.ts.map +1 -0
  530. package/dist/record/frame-lighting.d.ts +121 -0
  531. package/dist/record/frame-lighting.d.ts.map +1 -0
  532. package/dist/record/frame-snapshot.d.ts +429 -0
  533. package/dist/record/frame-snapshot.d.ts.map +1 -0
  534. package/dist/record/frame-targets.d.ts +20 -0
  535. package/dist/record/frame-targets.d.ts.map +1 -0
  536. package/dist/record/frame.d.ts +71 -0
  537. package/dist/record/frame.d.ts.map +1 -0
  538. package/dist/record/helpers.d.ts +102 -0
  539. package/dist/record/helpers.d.ts.map +1 -0
  540. package/dist/record/main-pass-geometry.d.ts +28 -0
  541. package/dist/record/main-pass-geometry.d.ts.map +1 -0
  542. package/dist/record/main-pass-material.d.ts +204 -0
  543. package/dist/record/main-pass-material.d.ts.map +1 -0
  544. package/dist/record/main-pass-sprite-draws.d.ts +43 -0
  545. package/dist/record/main-pass-sprite-draws.d.ts.map +1 -0
  546. package/dist/record/main-pass.d.ts +20 -0
  547. package/dist/record/main-pass.d.ts.map +1 -0
  548. package/dist/record/mesh-ssbo.d.ts +446 -0
  549. package/dist/record/mesh-ssbo.d.ts.map +1 -0
  550. package/dist/record/render-context.d.ts +252 -0
  551. package/dist/record/render-context.d.ts.map +1 -0
  552. package/dist/record/shadow-pass.d.ts +52 -0
  553. package/dist/record/shadow-pass.d.ts.map +1 -0
  554. package/dist/record/skybox-post-pass.d.ts +33 -0
  555. package/dist/record/skybox-post-pass.d.ts.map +1 -0
  556. package/dist/record/typed-frame-graph.d.ts +35 -0
  557. package/dist/record/typed-frame-graph.d.ts.map +1 -0
  558. package/dist/record/view-ubo.d.ts +45 -0
  559. package/dist/record/view-ubo.d.ts.map +1 -0
  560. package/dist/render-contract.d.ts +424 -0
  561. package/dist/render-contract.d.ts.map +1 -0
  562. package/dist/render-data.d.ts +143 -0
  563. package/dist/render-data.d.ts.map +1 -0
  564. package/dist/render-graph-primitives.d.ts +76 -0
  565. package/dist/render-graph-primitives.d.ts.map +1 -0
  566. package/dist/render-pipeline.d.ts +110 -0
  567. package/dist/render-pipeline.d.ts.map +1 -0
  568. package/dist/render-system-extract.d.ts +868 -0
  569. package/dist/render-system-extract.d.ts.map +1 -0
  570. package/dist/render-system.d.ts +125 -0
  571. package/dist/render-system.d.ts.map +1 -0
  572. package/dist/scene/render-scene-types.d.ts +61 -0
  573. package/dist/scene/render-scene-types.d.ts.map +1 -0
  574. package/dist/scene/render-scene.d.ts +112 -0
  575. package/dist/scene/render-scene.d.ts.map +1 -0
  576. package/dist/scene-instances/post-spawn-resolve-joints.d.ts +30 -0
  577. package/dist/scene-instances/post-spawn-resolve-joints.d.ts.map +1 -0
  578. package/dist/shadow-atlas.d.ts +117 -0
  579. package/dist/shadow-atlas.d.ts.map +1 -0
  580. package/dist/ssao-buffers.d.ts +50 -0
  581. package/dist/ssao-buffers.d.ts.map +1 -0
  582. package/dist/ssao-config.d.ts +28 -0
  583. package/dist/ssao-config.d.ts.map +1 -0
  584. package/dist/systems/active-camera.d.ts +53 -0
  585. package/dist/systems/active-camera.d.ts.map +1 -0
  586. package/dist/systems/pass-selector.d.ts +24 -0
  587. package/dist/systems/pass-selector.d.ts.map +1 -0
  588. package/dist/systems/skin-palette-allocator.d.ts +49 -0
  589. package/dist/systems/skin-palette-allocator.d.ts.map +1 -0
  590. package/dist/systems/skin-palette-types.d.ts +14 -0
  591. package/dist/systems/skin-palette-types.d.ts.map +1 -0
  592. package/dist/systems/transparent-sort-config.d.ts +112 -0
  593. package/dist/systems/transparent-sort-config.d.ts.map +1 -0
  594. package/dist/tilemap-chunk-extract-system.d.ts +143 -0
  595. package/dist/tilemap-chunk-extract-system.d.ts.map +1 -0
  596. package/dist/typed-render-graph-primitives.d.ts +57 -0
  597. package/dist/typed-render-graph-primitives.d.ts.map +1 -0
  598. package/dist/typed-shadow-passes.d.ts +11 -0
  599. package/dist/typed-shadow-passes.d.ts.map +1 -0
  600. package/package.json +94 -0
  601. package/src/__tests__/authoring-path.unit.test.ts +23 -0
  602. package/src/__tests__/backend-selection-rhi-capture.test-d.ts +21 -0
  603. package/src/__tests__/callback-inference.test-d.ts +8 -0
  604. package/src/__tests__/cluster-binner.test.ts +272 -0
  605. package/src/__tests__/cluster-grid-default-surface.unit.test.ts +20 -0
  606. package/src/__tests__/construct-renderer-identity.unit.test.ts +23 -0
  607. package/src/__tests__/device-scope-lifecycle.unit.test.ts +151 -0
  608. package/src/__tests__/device-scope-stale-matrix.unit.test.ts +42 -0
  609. package/src/__tests__/direct-extract-consumer-contract.test-d.ts +23 -0
  610. package/src/__tests__/direct-light-snapshot.unit.test.ts +61 -0
  611. package/src/__tests__/factory-contract.integration.test.ts +280 -0
  612. package/src/__tests__/fallback-row-stride-surface.unit.test.ts +15 -0
  613. package/src/__tests__/frame-observation.contract.test.ts +112 -0
  614. package/src/__tests__/fullscreen-feature-plan.unit.test.ts +32 -0
  615. package/src/__tests__/glyph-text-layout-recovery.unit.test.ts +167 -0
  616. package/src/__tests__/gpu-driven-indirect-raster-evidence.ts +350 -0
  617. package/src/__tests__/gpu-driven-indirect-raster.browser.test.ts +12 -0
  618. package/src/__tests__/gpu-driven-indirect-raster.dawn.test.ts +16 -0
  619. package/src/__tests__/gpu-driven-production.integration.test.ts +436 -0
  620. package/src/__tests__/gpu-driven-scaling.unit.test.ts +87 -0
  621. package/src/__tests__/gpu-driven-view-gpu-evidence.ts +271 -0
  622. package/src/__tests__/gpu-driven-view-graph.integration.test.ts +290 -0
  623. package/src/__tests__/gpu-driven-view-reference.ts +111 -0
  624. package/src/__tests__/gpu-driven-view.browser.test.ts +30 -0
  625. package/src/__tests__/gpu-driven-view.dawn.test.ts +28 -0
  626. package/src/__tests__/gpu-driven-view.unit.test.ts +199 -0
  627. package/src/__tests__/gpu-resource-store-stride.unit.test.ts +59 -0
  628. package/src/__tests__/gpu-scene-render-graph-gpu.ts +308 -0
  629. package/src/__tests__/gpu-scene-render-graph.browser.test.ts +19 -0
  630. package/src/__tests__/gpu-scene-render-graph.dawn.test.ts +19 -0
  631. package/src/__tests__/gpu-scene-schema.unit.test.ts +16 -0
  632. package/src/__tests__/gpu-scene.dawn.test.ts +205 -0
  633. package/src/__tests__/gpu-scene.unit.test.ts +147 -0
  634. package/src/__tests__/ibl/face-uniforms.unit.test.ts +46 -0
  635. package/src/__tests__/infinite-grid-no-vertex-probe.unit.test.ts +92 -0
  636. package/src/__tests__/injection-kind-owner.test-d.ts +14 -0
  637. package/src/__tests__/ktx2-basis-gpu-consumer.dawn.test.ts +728 -0
  638. package/src/__tests__/light-buffer-layout.unit.test.ts +40 -0
  639. package/src/__tests__/material-contract-inventory.unit.test.ts +24 -0
  640. package/src/__tests__/material-cooked-projection.unit.test.ts +150 -0
  641. package/src/__tests__/material-snapshot-mutation.integration.test.ts +53 -0
  642. package/src/__tests__/material-static-dynamic-route.unit.test.ts +94 -0
  643. package/src/__tests__/material-stride-surface.unit.test.ts +32 -0
  644. package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +106 -0
  645. package/src/__tests__/mesh-material-bindings.unit.test.ts +89 -0
  646. package/src/__tests__/mesh-stride-surface.unit.test.ts +16 -0
  647. package/src/__tests__/morph-culling-reentry.dawn.test.ts +157 -0
  648. package/src/__tests__/morph-feature-gpu-work.integration.test.ts +80 -0
  649. package/src/__tests__/morph-feature-plan.unit.test.ts +53 -0
  650. package/src/__tests__/morph-visual-evidence.integration.test.ts +80 -0
  651. package/src/__tests__/nineslice-handle-surface.unit.test.ts +19 -0
  652. package/src/__tests__/post-process-error-policy-owner.unit.test.ts +201 -0
  653. package/src/__tests__/prepared-buffer-kind-owner.test-d.ts +29 -0
  654. package/src/__tests__/prepared-graphics-capability.unit.test.ts +65 -0
  655. package/src/__tests__/prepared-graphics-generation.unit.test.ts +161 -0
  656. package/src/__tests__/prepared-graphics-lifecycle.unit.test.ts +138 -0
  657. package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +29 -0
  658. package/src/__tests__/prepared-graphics-resolver.unit.test.ts +285 -0
  659. package/src/__tests__/prepared-graphics-snapshot.unit.test.ts +105 -0
  660. package/src/__tests__/prepared-graphics-store.unit.test.ts +154 -0
  661. package/src/__tests__/prepared-graphics-validation.unit.test.ts +176 -0
  662. package/src/__tests__/profiler-default-off.test.ts +22 -0
  663. package/src/__tests__/profiler-phase-catalog.test.ts +66 -0
  664. package/src/__tests__/profiler-phase-integration.test.ts +62 -0
  665. package/src/__tests__/profiler-phase-token.test.ts +79 -0
  666. package/src/__tests__/public-surface.test-d.ts +94 -0
  667. package/src/__tests__/recover-error-policy-owner.unit.test.ts +107 -0
  668. package/src/__tests__/render-error-code-owner.test-d.ts +116 -0
  669. package/src/__tests__/render-error-detail-ssot.test-d.ts +139 -0
  670. package/src/__tests__/render-error-exhaustive.test-d.ts +110 -0
  671. package/src/__tests__/render-feature-assembly.test-d.ts +43 -0
  672. package/src/__tests__/render-feature-context.test-d.ts +57 -0
  673. package/src/__tests__/render-feature-contract.test-d.ts +49 -0
  674. package/src/__tests__/render-feature-diagnostics.unit.test.ts +149 -0
  675. package/src/__tests__/render-feature-docs.unit.test.ts +89 -0
  676. package/src/__tests__/render-feature-errors.unit.test.ts +47 -0
  677. package/src/__tests__/render-feature-gpu-work.integration.test.ts +316 -0
  678. package/src/__tests__/render-feature-plan.test-d.ts +161 -0
  679. package/src/__tests__/render-feature-plan.unit.test.ts +170 -0
  680. package/src/__tests__/render-feature-prepared-diagnostics.unit.test.ts +90 -0
  681. package/src/__tests__/render-feature-prepared-errors.test-d.ts +79 -0
  682. package/src/__tests__/render-feature-prepared-graphics-docs.unit.test.ts +80 -0
  683. package/src/__tests__/render-feature-prepared-graphics-isolation.unit.test.ts +72 -0
  684. package/src/__tests__/render-feature-prepared-graphics-negative.test-d.ts +36 -0
  685. package/src/__tests__/render-feature-prepared-graphics.test-d.ts +74 -0
  686. package/src/__tests__/render-feature-prepared-graphics.unit.test.ts +121 -0
  687. package/src/__tests__/render-feature-public-surface.test-d.ts +57 -0
  688. package/src/__tests__/render-feature-retry.unit.test.ts +87 -0
  689. package/src/__tests__/render-feature-scheduling.unit.test.ts +110 -0
  690. package/src/__tests__/render-feature-stage-failed-policy-owner.unit.test.ts +137 -0
  691. package/src/__tests__/render-feature-stage-fault-recovery.unit.test.ts +146 -0
  692. package/src/__tests__/render-feature-visibility-context.test-d.ts +33 -0
  693. package/src/__tests__/render-feature-visibility-context.unit.test.ts +37 -0
  694. package/src/__tests__/render-feature-zero-work.unit.test.ts +76 -0
  695. package/src/__tests__/render-graph-compute-raster-gpu.ts +342 -0
  696. package/src/__tests__/render-graph-compute-raster.browser.test.ts +16 -0
  697. package/src/__tests__/render-graph-compute-raster.dawn.test.ts +22 -0
  698. package/src/__tests__/render-graph-hzb-gpu.ts +239 -0
  699. package/src/__tests__/render-graph-hzb.browser.test.ts +16 -0
  700. package/src/__tests__/render-graph-hzb.dawn.test.ts +23 -0
  701. package/src/__tests__/render-graph-primitives.unit.test.ts +22 -0
  702. package/src/__tests__/render-graph-storage-indirect-gpu.ts +162 -0
  703. package/src/__tests__/render-graph-storage-indirect.browser.test.ts +21 -0
  704. package/src/__tests__/render-graph-storage-indirect.dawn.test.ts +28 -0
  705. package/src/__tests__/render-scene-projection.unit.test.ts +168 -0
  706. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +121 -0
  707. package/src/__tests__/renderer-lifecycle.integration.test.ts +58 -0
  708. package/src/__tests__/rhi-backend-package-boundary.unit.test.ts +11 -0
  709. package/src/__tests__/scriptable-pack-consumer.test-d.ts +14 -0
  710. package/src/__tests__/shader-stage-surface.unit.test.ts +43 -0
  711. package/src/__tests__/ssao-config.unit.test.ts +36 -0
  712. package/src/__tests__/ssao-kernel-surface.unit.test.ts +14 -0
  713. package/src/__tests__/standard-clustered-pipeline.unit.test.ts +28 -0
  714. package/src/__tests__/standard-descriptors.test-d.ts +22 -0
  715. package/src/__tests__/standard-pipeline.dawn.test.ts +61 -0
  716. package/src/__tests__/standard-pipeline.integration.test.ts +124 -0
  717. package/src/__tests__/standard-profile-oracle.unit.test.ts +62 -0
  718. package/src/__tests__/surface-configuration.unit.test.ts +91 -0
  719. package/src/__tests__/texture-usage-surface.unit.test.ts +58 -0
  720. package/src/__tests__/typed-pipeline-topology.unit.test.ts +223 -0
  721. package/src/__tests__/urp-pipeline-targets.unit.test.ts +42 -0
  722. package/src/__tests__/urp-pipeline.unit.test.ts +14 -0
  723. package/src/__tests__/vertex-color-pipeline.unit.test.ts +132 -0
  724. package/src/__tests__/vertex-layout-consumer.unit.test.ts +25 -0
  725. package/src/__tests__/visibility-diagnostics.integration.test.ts +62 -0
  726. package/src/__tests__/visibility-extract.integration.test.ts +98 -0
  727. package/src/__tests__/visibility-extract.perf.test.ts +130 -0
  728. package/src/__tests__/visibility-feature-dedup.integration.test.ts +55 -0
  729. package/src/__tests__/visibility-hidden-report.unit.test.ts +36 -0
  730. package/src/__tests__/visibility-instances.integration.test.ts +46 -0
  731. package/src/__tests__/visibility-multi-world.integration.test.ts +86 -0
  732. package/src/__tests__/visibility-producer-matrix.integration.test.ts +168 -0
  733. package/src/__tests__/visibility-producer-matrix.unit.test.ts +96 -0
  734. package/src/__tests__/visibility-public-surface.test-d.ts +27 -0
  735. package/src/__tests__/visibility-resolver.unit.test.ts +85 -0
  736. package/src/__tests__/visibility-resource-short-circuit.unit.test.ts +80 -0
  737. package/src/__tests__/visibility-snapshot-contract.unit.test.ts +60 -0
  738. package/src/__tests__/vocabulary.unit.test.ts +21 -0
  739. package/src/assembly/backend-contract.ts +57 -0
  740. package/src/assembly/factory.ts +8130 -0
  741. package/src/assembly/host-contract.ts +101 -0
  742. package/src/assembly/material/assembly.ts +48 -0
  743. package/src/assembly/material/pipeline-projection.ts +63 -0
  744. package/src/assets/asset-decoders.ts +158 -0
  745. package/src/assets/render-asset-port.ts +44 -0
  746. package/src/assets/resolve-render-asset.ts +13 -0
  747. package/src/authoring.ts +17 -0
  748. package/src/cluster-binner.ts +700 -0
  749. package/src/components/__tests__/points-lines-admission.unit.test.ts +219 -0
  750. package/src/components/__tests__/points-lines-schema.unit.test.ts +56 -0
  751. package/src/components/__tests__/schema-contract.unit.test.ts +10 -0
  752. package/src/components/__tests__/schema-parity.unit.test.ts +25 -0
  753. package/src/components/__tests__/visibility-schema.unit.test.ts +35 -0
  754. package/src/components/camera.ts +512 -0
  755. package/src/components/directional-light.ts +120 -0
  756. package/src/components/glyph-text.ts +64 -0
  757. package/src/components/index.ts +54 -0
  758. package/src/components/instances.ts +206 -0
  759. package/src/components/layer.ts +69 -0
  760. package/src/components/light-helpers.ts +188 -0
  761. package/src/components/lines.ts +18 -0
  762. package/src/components/mesh-filter.ts +60 -0
  763. package/src/components/mesh-renderer.ts +61 -0
  764. package/src/components/point-light-shadow.ts +43 -0
  765. package/src/components/point-light.ts +65 -0
  766. package/src/components/points.ts +40 -0
  767. package/src/components/post-process-params.ts +35 -0
  768. package/src/components/scene-instance.ts +193 -0
  769. package/src/components/skybox-background.ts +103 -0
  770. package/src/components/skylight.ts +97 -0
  771. package/src/components/sort-key.ts +75 -0
  772. package/src/components/spot-light.ts +124 -0
  773. package/src/components/sprite-animation.ts +168 -0
  774. package/src/components/sprite-instances.ts +179 -0
  775. package/src/components/sprite-playback-mode.ts +79 -0
  776. package/src/components/sprite-region-override.ts +105 -0
  777. package/src/components/tile-layer.ts +167 -0
  778. package/src/components/tilemap.ts +48 -0
  779. package/src/components/visibility.ts +53 -0
  780. package/src/construct-renderer.ts +67 -0
  781. package/src/debug-draw-glue.ts +48 -0
  782. package/src/device/device-scope.ts +306 -0
  783. package/src/device/gpu-residency.ts +1822 -0
  784. package/src/device/resource-types.ts +20 -0
  785. package/src/engine-metrics.ts +82 -0
  786. package/src/errors/ecs-validation.ts +16 -0
  787. package/src/errors/index.ts +3 -0
  788. package/src/errors/recover.ts +161 -0
  789. package/src/errors/render.ts +1284 -0
  790. package/src/extract/visibility.ts +120 -0
  791. package/src/features/fullscreen.ts +46 -0
  792. package/src/features/host.ts +1363 -0
  793. package/src/features/morph/morph-feature.ts +377 -0
  794. package/src/features/plan.ts +447 -0
  795. package/src/features/prepared-gpu-work.ts +959 -0
  796. package/src/features/prepared-graphics-store.ts +449 -0
  797. package/src/features/prepared-graphics.ts +420 -0
  798. package/src/features/render-graph-compute.ts +69 -0
  799. package/src/features/render-graph-contribution.ts +75 -0
  800. package/src/features/render-graph-raster.ts +332 -0
  801. package/src/features/render-graph-resources.ts +38 -0
  802. package/src/features/targets.ts +70 -0
  803. package/src/features/types.ts +103 -0
  804. package/src/features/vocabulary.ts +24 -0
  805. package/src/fullscreen-post-process-pass.ts +363 -0
  806. package/src/glyph-text-layout-system.ts +421 -0
  807. package/src/gpu-driven/batch-topology.ts +245 -0
  808. package/src/gpu-driven/production-raster.ts +695 -0
  809. package/src/gpu-driven/view-gpu.ts +703 -0
  810. package/src/gpu-resource.ts +159 -0
  811. package/src/gpu-scene-schema.ts +136 -0
  812. package/src/gpu-scene.ts +722 -0
  813. package/src/gpu-stage.ts +9 -0
  814. package/src/gpu-texture-usage.ts +12 -0
  815. package/src/gpu-usage.ts +14 -0
  816. package/src/hdrp-buffers.ts +480 -0
  817. package/src/ibl/IblPipelineCache.ts +1006 -0
  818. package/src/ibl/skylight-bind-group.ts +513 -0
  819. package/src/index.ts +129 -0
  820. package/src/inspection-types.ts +80 -0
  821. package/src/instance-buffer-cache.ts +95 -0
  822. package/src/internal.ts +9 -0
  823. package/src/lifecycle.ts +168 -0
  824. package/src/light-buffer-layout.ts +346 -0
  825. package/src/materials.ts +214 -0
  826. package/src/mesh-material-bindings.ts +103 -0
  827. package/src/pbr-pipeline.ts +1137 -0
  828. package/src/pipeline/standard-forward-lane.ts +229 -0
  829. package/src/pipeline/standard-pipeline.ts +555 -0
  830. package/src/pipeline/standard-profile.ts +65 -0
  831. package/src/pipeline-builder.ts +382 -0
  832. package/src/pipeline-spec-types.ts +28 -0
  833. package/src/pipeline-spec.ts +1231 -0
  834. package/src/plugin.ts +69 -0
  835. package/src/points-lines/__tests__/bounds.unit.test.ts +21 -0
  836. package/src/points-lines/__tests__/cache-recovery.unit.test.ts +157 -0
  837. package/src/points-lines/__tests__/inspection-lanes.integration.test.ts +146 -0
  838. package/src/points-lines/__tests__/inspection.unit.test.ts +173 -0
  839. package/src/points-lines/__tests__/lane-structural.integration.test.ts +122 -0
  840. package/src/points-lines/__tests__/points-lines.bench.ts +400 -0
  841. package/src/points-lines/__tests__/raster-lane.integration.test.ts +44 -0
  842. package/src/points-lines/__tests__/snapshot.unit.test.ts +101 -0
  843. package/src/points-lines/__tests__/view-ubo.unit.test.ts +73 -0
  844. package/src/points-lines/admission.ts +238 -0
  845. package/src/points-lines/bounds.ts +23 -0
  846. package/src/points-lines/expansion-cache.ts +215 -0
  847. package/src/points-lines/inspection.ts +97 -0
  848. package/src/points-lines/prepare.ts +177 -0
  849. package/src/points-lines/record.ts +125 -0
  850. package/src/points-lines/snapshot.ts +130 -0
  851. package/src/post-process-errors.ts +302 -0
  852. package/src/prepare/prepared-graphics-resolver.ts +456 -0
  853. package/src/record/__tests__/material-bg-cache.unit.test.ts +41 -0
  854. package/src/record/__tests__/material-slot-plan.unit.test.ts +44 -0
  855. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +41 -0
  856. package/src/record/__tests__/video-texture-view.unit.test.ts +90 -0
  857. package/src/record/frame-lighting.ts +1074 -0
  858. package/src/record/frame-snapshot.ts +500 -0
  859. package/src/record/frame-targets.ts +137 -0
  860. package/src/record/frame.ts +1598 -0
  861. package/src/record/helpers.ts +284 -0
  862. package/src/record/main-pass-geometry.ts +1065 -0
  863. package/src/record/main-pass-material.ts +1043 -0
  864. package/src/record/main-pass-sprite-draws.ts +1137 -0
  865. package/src/record/main-pass.ts +610 -0
  866. package/src/record/mesh-ssbo.ts +885 -0
  867. package/src/record/render-context.ts +384 -0
  868. package/src/record/shadow-pass.ts +698 -0
  869. package/src/record/skybox-post-pass.ts +593 -0
  870. package/src/record/typed-frame-graph.ts +461 -0
  871. package/src/record/view-ubo.ts +222 -0
  872. package/src/render-contract.ts +582 -0
  873. package/src/render-data.ts +385 -0
  874. package/src/render-graph-primitives.ts +811 -0
  875. package/src/render-pipeline.ts +259 -0
  876. package/src/render-system-extract.ts +4585 -0
  877. package/src/render-system.ts +1933 -0
  878. package/src/scene/render-scene-types.ts +67 -0
  879. package/src/scene/render-scene.ts +1087 -0
  880. package/src/scene-instances/post-spawn-resolve-joints.ts +165 -0
  881. package/src/shadow-atlas.ts +244 -0
  882. package/src/ssao-buffers.ts +334 -0
  883. package/src/ssao-config.ts +61 -0
  884. package/src/systems/active-camera.ts +116 -0
  885. package/src/systems/pass-selector.ts +49 -0
  886. package/src/systems/skin-palette-allocator.ts +251 -0
  887. package/src/systems/skin-palette-types.ts +14 -0
  888. package/src/systems/transparent-sort-config.ts +233 -0
  889. package/src/tilemap-chunk-extract-system.ts +1290 -0
  890. package/src/typed-render-graph-primitives.ts +541 -0
  891. package/src/typed-shadow-passes.ts +165 -0
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Per-entity instanced-draw transforms (ECS component).
3
+ *
4
+ * Carries a variable-length `array<f32>` of column-major mat4 instance
5
+ * transforms (16 f32 per instance, stride = 16; documented above and
6
+ * enforced at the RenderSystem extract entry, NOT at the ECS write paths).
7
+ *
8
+ * The runtime RenderSystem consumer materialises a fresh `Float32Array`
9
+ * snapshot on every `world.get(e, Instances).transforms` access (D-4
10
+ * no-cache), reads the live count from the snapshot's `length`, and
11
+ * uploads the bytes to a per-entity GPU storage buffer in the record stage
12
+ * (`render-system-record.ts`).
13
+ *
14
+ * @example Spawn an entity rendering 10000 instanced cubes:
15
+ * const transforms = new Float32Array(10000 * 16);
16
+ * // ... fill column-major mat4 columns ...
17
+ * world.spawn(
18
+ * { component: MeshFilter, data: { assetHandle: HANDLE_CUBE } },
19
+ * { component: MeshRenderer, data: { ... } },
20
+ * { component: Instances, data: { transforms } },
21
+ * );
22
+ */
23
+ export declare const Instances: import("@forgeax/engine-ecs").Component<"Instances", {
24
+ readonly transforms: "array<f32>";
25
+ }>;
26
+ /**
27
+ * Type-level hint for `data` at the `Instances` spawn site.
28
+ *
29
+ * The runtime ECS column shape for `array<f32>` accepts a `Float32Array`
30
+ * payload at spawn / set time (the bytes are copied into the BufferPool
31
+ * slot). The `transforms` field is documented as `Float32Array` here so
32
+ * AI-user IDE autocomplete picks up the typed-array shape.
33
+ *
34
+ * @example
35
+ * import type { InstancesData } from '@forgeax/engine-render';
36
+ * const data: InstancesData = { transforms: new Float32Array(N * 16) };
37
+ */
38
+ export type InstancesData = {
39
+ readonly transforms: Float32Array;
40
+ };
41
+ //# sourceMappingURL=instances.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instances.d.ts","sourceRoot":"","sources":["../../src/components/instances.ts"],"names":[],"mappings":"AAqKA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,SAAS;;EAEpB,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;CACnC,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Render-order layer index.
3
+ *
4
+ * Convention (non-binding; conveys intent, not enforced):
5
+ * - negative (e.g. -100): background layers (sky / parallax tiles).
6
+ * - 0: default game layer.
7
+ * - positive (e.g. 100): foreground layers (overlays, FX).
8
+ * - 1000+: UI / HUD.
9
+ *
10
+ * Signed i32 (two's complement, range \u00b12\u00b3\u00b9). Negatives round-trip
11
+ * through the spawn payload unchanged — no schema-layer mutate. i32 lives in
12
+ * the CPU sort path (transparent-sort.ts M-3 w23); no GPU-side stride
13
+ * compatibility risk.
14
+ *
15
+ * @example Minimal spawn (defaults to game layer 0):
16
+ * world.spawn({ component: Layer, data: {} }); // yields value=0
17
+ *
18
+ * @example Spawn 4 sprites across the conventional layer band:
19
+ * world.spawn({ component: Layer, data: { value: -100 } }); // background
20
+ * world.spawn({ component: Layer, data: { value: 0 } }); // default
21
+ * world.spawn({ component: Layer, data: { value: 100 } }); // foreground
22
+ * world.spawn({ component: Layer, data: { value: 1000 } }); // UI
23
+ *
24
+ * @example Spawn payload omitting Layer — the 4-layer fallback fills 0:
25
+ * const e = world.spawn(
26
+ * { component: Transform, data: { pos: [0, 0, 0],
27
+ * quat: [0, 0, 0, 1], scale: [1, 1, 1] } },
28
+ * );
29
+ * // Layer is not on the entity; query joins must check membership.
30
+ */
31
+ export declare const Layer: import("@forgeax/engine-ecs").Component<"Layer", {
32
+ readonly value: "i32";
33
+ }>;
34
+ //# sourceMappingURL=layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer.d.ts","sourceRoot":"","sources":["../../src/components/layer.ts"],"names":[],"mappings":"AAoCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,KAAK;;EAEhB,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { type Result } from '@forgeax/engine-types';
2
+ import { SpawnLightInvalidBoundsError } from '../errors/ecs-validation';
3
+ import { ShadowInvalidConfigError } from '../errors/render';
4
+ export type LightValidationError = SpawnLightInvalidBoundsError | ShadowInvalidConfigError;
5
+ export type LightValidationResult = Result<void, LightValidationError>;
6
+ /**
7
+ * Convert SpotLight cone half-angle (degrees) to its cosine.
8
+ *
9
+ * Single-shot deg -> rad -> cos conversion executed once per spot light
10
+ * entity per frame on the host; the GPU shader sees only `cosInner` /
11
+ * `cosOuter` so its falloff path stays branch-free
12
+ * (`smoothstep(cosOuter, cosInner, dot(L, -lightDir))`).
13
+ *
14
+ * @param deg cone half-angle in degrees (component schema field
15
+ * `innerConeDeg` / `outerConeDeg`)
16
+ * @returns `cos(deg * pi / 180)`
17
+ */
18
+ export declare function degToCos(deg: number): number;
19
+ /**
20
+ * Convert PointLight / SpotLight `range` (meters) to `1 / range^2`.
21
+ *
22
+ * Three-branch fold supplies `1 / range^2` for the Three r184 finite-range
23
+ * window `clamp(1 - (d / range)^4, 0, 1)^2`:
24
+ *
25
+ * - `range = +Infinity` -> `0` (no truncation; quartic factor collapses
26
+ * to `1`, falloff reduces to plain `1 / d^2`).
27
+ * - `range = 0` -> `1e8` (host safety boundary; glTF `range: 0` is mapped
28
+ * to the no-cutoff `Infinity` value before this helper is called).
29
+ * - `range > 0` -> `1 / (range * range)` (standard quartic factor).
30
+ *
31
+ * @param range meters (component schema field `range`); `+Infinity` is the
32
+ * KHR no-truncation default
33
+ * @returns `1 / range^2` with three-branch NaN protection
34
+ */
35
+ export declare function computeInvRangeSquared(range: number): number;
36
+ /**
37
+ * feat-20260709 M2 / D-1: shared zero/missing-direction validate for
38
+ * DirectionalLight + SpotLight. `direction` has no layer-2 default, so an
39
+ * omitted direction lands the array layer-3 all-zero -- the same illegal state
40
+ * as an explicit zero vector. SSOT for the rejection so the two lights cannot
41
+ * drift. Returns the structured error to reject, or `null` when the direction
42
+ * is a valid non-zero vector.
43
+ */
44
+ export declare function validateDirection(componentName: 'DirectionalLight' | 'SpotLight', direction: ArrayLike<number> | undefined): SpawnLightInvalidBoundsError | null;
45
+ /** Validate directional-light payloads at the render owner boundary. */
46
+ export declare function validateDirectionalLightData(data: Readonly<Record<string, unknown>>): LightValidationResult;
47
+ /** Validate spot-light payloads at the render owner boundary. */
48
+ export declare function validateSpotLightData(data: Readonly<Record<string, unknown>>): LightValidationResult;
49
+ /** Validate point-light payloads at the render owner boundary. */
50
+ export declare function validatePointLightData(data: Readonly<Record<string, unknown>>): LightValidationResult;
51
+ /** Validate point-light shadow payloads at the render owner boundary. */
52
+ export declare function validatePointLightShadowData(data: Readonly<Record<string, unknown>>): LightValidationResult;
53
+ //# sourceMappingURL=light-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"light-helpers.d.ts","sourceRoot":"","sources":["../../src/components/light-helpers.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAAG,4BAA4B,GAAG,wBAAwB,CAAC;AAC3F,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAKvE;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI5D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,kBAAkB,GAAG,WAAW,EAC/C,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,GACvC,4BAA4B,GAAG,IAAI,CAUrC;AAED,wEAAwE;AACxE,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,qBAAqB,CA+BvB;AAED,iEAAiE;AACjE,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,qBAAqB,CAgCvB;AAED,kEAAkE;AAClE,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,qBAAqB,CAMvB;AAED,yEAAyE;AACzE,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACtC,qBAAqB,CAavB"}
@@ -0,0 +1,5 @@
1
+ /** Screen-space independent line segment style. */
2
+ export declare const Lines: import("@forgeax/engine-ecs").Component<"Lines", {
3
+ readonly widthPx: "f32";
4
+ }>;
5
+ //# sourceMappingURL=lines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lines.d.ts","sourceRoot":"","sources":["../../src/components/lines.ts"],"names":[],"mappings":"AAEA,mDAAmD;AACnD,eAAO,MAAM,KAAK;;EAcjB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Mesh filter (geometry asset reference).
3
+ *
4
+ * `assetHandle` carries a `Handle<'MeshAsset', 'shared'>` (u32-stored)
5
+ * pointing into `engine.assets: AssetRegistry`. Use the predefined
6
+ * constants `HANDLE_CUBE` / `HANDLE_TRIANGLE` exported from
7
+ * `@forgeax/engine-render`; custom-mesh registration is OOS in MVP (see
8
+ * feat-future-asset-system).
9
+ *
10
+ * Error path: if the handle is not registered at draw time, RenderSystem
11
+ * fires `Renderer.onError` with
12
+ * `RhiError({ code: 'asset-not-registered', detail: { assetHandle } })`
13
+ * and skips this entity (other entities continue rendering; charter
14
+ * proposition 9 graceful degradation).
15
+ *
16
+ * @example Spawn an entity referencing the builtin cube mesh:
17
+ * import { MeshFilter } from '@forgeax/engine-render';
18
+ * import { HANDLE_CUBE } from '@forgeax/engine-assets-runtime';
19
+ * world.spawn({ component: MeshFilter, data: { assetHandle: HANDLE_CUBE } });
20
+ */
21
+ export declare const MeshFilter: import("@forgeax/engine-ecs").Component<"MeshFilter", {
22
+ readonly assetHandle: "shared<MeshAsset>";
23
+ }>;
24
+ //# sourceMappingURL=mesh-filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh-filter.d.ts","sourceRoot":"","sources":["../../src/components/mesh-filter.ts"],"names":[],"mappings":"AAqCA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU;;EAErB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Mesh renderer (ECS component, multi-material array).
3
+ *
4
+ * Stores `materials: readonly Handle<'MaterialAsset','shared'>[]`
5
+ * (u32-stored array, indexed by MeshAsset.materialSlots). Submeshes point to
6
+ * those stable slots through `Submesh.materialSlot`. The asset's `passes[].shader`
7
+ * identity is the SSOT for which pipeline RenderSystem routes the entity
8
+ * to (record stage dispatches on `materialShaderId`).
9
+ *
10
+ * Defaults map carries `materials: []`: every slot inherits its Mesh-owned
11
+ * default, or the neutral engine material when that slot is intentionally
12
+ * defaultless.
13
+ *
14
+ * @example Spawn while inheriting every Mesh slot default:
15
+ * world.spawn({ component: MeshRenderer, data: {} });
16
+ *
17
+ * @example Spawn an unlit-targeted entity:
18
+ * import { MeshRenderer, Materials } from '@forgeax/engine-render';
19
+ * const matPayload = engine.assets.catalog(matGuid, Materials.unlit([1, 0, 0, 1])).value;
20
+ * const matHandle = world.allocSharedRef('MaterialAsset', matPayload);
21
+ * world.spawn({ component: MeshRenderer, data: { materials: [matHandle] } });
22
+ *
23
+ * @example Spawn a standard (PBR) entity:
24
+ * const matPayload = engine.assets.catalog(matGuid, Materials.standard({
25
+ * baseColor: [0.5, 0.5, 0.5, 1], metallic: 0, roughness: 0.4,
26
+ * })).value;
27
+ * const matHandle = world.allocSharedRef('MaterialAsset', matPayload);
28
+ * world.spawn({ component: MeshRenderer, data: { materials: [matHandle] } });
29
+ */
30
+ export declare const MeshRenderer: import("@forgeax/engine-ecs").Component<"MeshRenderer", {
31
+ readonly materials: "array<shared<MaterialAsset>>";
32
+ }>;
33
+ //# sourceMappingURL=mesh-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mesh-renderer.d.ts","sourceRoot":"","sources":["../../src/components/mesh-renderer.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,YAAY;;EAEvB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Omnidirectional point-light shadow mapping parameters.
3
+ *
4
+ * The renderer may batch this component into a bounded atlas, but the ECS
5
+ * component remains a plain storage schema and carries no cardinality policy.
6
+ *
7
+ * @example Spawn a point light with default shadow config:
8
+ * world.spawn(
9
+ * { component: Transform, data: { pos: [0, 4, 0] } },
10
+ * { component: PointLight, data: { range: 25 } },
11
+ * { component: PointLightShadow, data: {} }, // 6 fields filled from defaults
12
+ * );
13
+ *
14
+ * @example Spawn with explicit map size and bias:
15
+ * world.spawn(
16
+ * { component: PointLightShadow, data: { mapSize: 1024, depthBias: 0.01 } },
17
+ * );
18
+ */
19
+ export declare const PointLightShadow: import("@forgeax/engine-ecs").Component<"PointLightShadow", {
20
+ readonly mapSize: "f32";
21
+ readonly depthBias: "f32";
22
+ readonly normalBias: "f32";
23
+ readonly nearPlane: "f32";
24
+ readonly farPlane: "f32";
25
+ readonly pcfKernelSize: "f32";
26
+ }>;
27
+ //# sourceMappingURL=point-light-shadow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"point-light-shadow.d.ts","sourceRoot":"","sources":["../../src/components/point-light-shadow.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB;;;;;;;EAO3B,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Omnidirectional point light (KHR_lights_punctual `point` type).
3
+ *
4
+ * `position` source: the companion `Transform` component on the same entity.
5
+ * Spawn via `world.spawn({ component: Transform, data: ... }, { component: PointLight, data: ... })`
6
+ * so the render system extract path can join the two via the
7
+ * `[Transform, PointLight]` ECS query.
8
+ *
9
+ * `color` is linear-space rgb in `[0, 1]` per channel; `intensity` is candela;
10
+ * `range` is in meters and defaults to `10.0`
11
+ * (KHR convention; `+Infinity` is the KHR no-truncation value, retained
12
+ * for KHR_lights_punctual `range: 0` bridging via `light-helpers.ts`).
13
+ * The runtime window is `clamp(1 - (d / range)^4, 0, 1)^2`; its no-cutoff
14
+ * boundary uses inverse-square decay with the shader safety floor. Exposure is
15
+ * applied after lighting and never multiplied into intensity.
16
+ *
17
+ * @example Spawn a single point light at (5, 3, 5):
18
+ * world.spawn(
19
+ * { component: Transform, data: { pos: [5, 3, 5] } },
20
+ * { component: PointLight, data: { intensity: 8, range: 25 } },
21
+ * );
22
+ *
23
+ * @example Minimal spawn -- defaults give neutral white at full strength, range 10m:
24
+ * world.spawn(
25
+ * { component: Transform, data: { pos: [0, 1, 0] } },
26
+ * { component: PointLight, data: {} },
27
+ * );
28
+ * // resolves to color=[1, 1, 1], intensity=1, range=10.0.
29
+ */
30
+ export declare const PointLight: import("@forgeax/engine-ecs").Component<"PointLight", {
31
+ readonly color: "array<f32, 3>";
32
+ readonly intensity: "f32";
33
+ readonly range: "f32";
34
+ }>;
35
+ //# sourceMappingURL=point-light.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"point-light.d.ts","sourceRoot":"","sources":["../../src/components/point-light.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,UAAU;;;;EAMrB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /** Public point raster shapes backed by the ECS enum column. */
2
+ export type PointShape = keyof typeof PointShapeValue;
3
+ /** Numeric labels stored by the public Points shape enum field. */
4
+ export declare const PointShapeValue: Readonly<{
5
+ readonly square: 0;
6
+ readonly circle: 1;
7
+ }>;
8
+ /** Decode the Points shape column without treating an unknown value as valid. */
9
+ export declare function pointShapeFromU32(value: number): PointShape | undefined;
10
+ /** Screen-space point style. Geometry and material remain on their own owners. */
11
+ export declare const Points: import("@forgeax/engine-ecs").Component<"Points", {
12
+ readonly sizePx: "f32";
13
+ readonly shape: "enum";
14
+ }>;
15
+ //# sourceMappingURL=points.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"points.d.ts","sourceRoot":"","sources":["../../src/components/points.ts"],"names":[],"mappings":"AAEA,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,eAAe,CAAC;AAEtD,mEAAmE;AACnE,eAAO,MAAM,eAAe;;;EAGjB,CAAC;AAEZ,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CASvE;AAED,kFAAkF;AAClF,eAAO,MAAM,MAAM;;;EAelB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const PostProcessParams: import("@forgeax/engine-ecs").Component<"PostProcessParams", {
2
+ readonly shader: "string";
3
+ readonly data: "buffer";
4
+ }>;
5
+ //# sourceMappingURL=post-process-params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"post-process-params.d.ts","sourceRoot":"","sources":["../../src/components/post-process-params.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,iBAAiB;;;EAA+C,CAAC"}
@@ -0,0 +1,140 @@
1
+ import { type EntityHandle } from '@forgeax/engine-ecs';
2
+ import type { LocalEntityId, MountOverride } from '@forgeax/engine-types';
3
+ /**
4
+ * Per-component, per-field override record carried in `SceneInstanceState`.
5
+ *
6
+ * Composite key `<componentName>:<fieldName>` keeps the override map flat
7
+ * (single Map nesting level) so AI users walking `state.overrides` see one
8
+ * iteration depth — D-2 prefers a single SSOT over multi-Map nesting that
9
+ * would make iteration order ambiguous (charter F1: single mental model).
10
+ *
11
+ * The value is `unknown` because the per-component schema vocab lives in the
12
+ * ECS layer; runtime fail-fast via `EcsErrorCode = 'scene-override-type-
13
+ * mismatch'` (plan-strategy §D-9) catches type drift on the apply path.
14
+ *
15
+ * @internal Surface from `state.overrides` only; AI users never construct a
16
+ * record directly. Use `world.setSceneOverride(root, member, comp,
17
+ * field, value)` to write and `world.removeSceneOverride(root, member,
18
+ * comp, field)` to roll back to the source SceneAsset value.
19
+ */
20
+ export interface SceneInstanceOverrideRecord {
21
+ readonly comp: string;
22
+ /**
23
+ * Component-granular add-or-patch discriminant (feat-20260713 M1 / w4):
24
+ * present -> this record patches a single field; absent -> it adds/upserts
25
+ * the whole `comp` (M2 apply semantics). Mirrors `MountOverride.field`.
26
+ */
27
+ readonly field?: string;
28
+ readonly value: unknown;
29
+ }
30
+ /**
31
+ * Dynamic state payload for one SceneInstance — held in the World's
32
+ * UniqueRefStore behind a `ref<SceneInstanceState>` slot on the synthetic
33
+ * root entity. Mirrors the old class-based layout (plan-strategy §D-2 +
34
+ * design doc §11.2 internal-state-table) but flattened into plain JS Maps/Sets so
35
+ * AI users can iterate without indirection.
36
+ *
37
+ * Lifecycle:
38
+ * - allocated by `world.instantiateScene(handle, parent?)` — the W in
39
+ * `world.allocUniqueRef('SceneInstanceState', state)` returns the u32
40
+ * slot id stored in the SceneInstance.state column;
41
+ * - released by `world.despawn(root)` (the standard `ref<T>` release loop)
42
+ * or explicitly via `world.despawnScene(root)` / `world.despawnDescendants(root)`.
43
+ *
44
+ * AI users typically reach this struct only through the read path
45
+ * `world.get(root, SceneInstance).state.overrides.get(<comp>:<field>)` for
46
+ * inspection; mutation happens through the 8 World methods.
47
+ */
48
+ export interface SceneInstanceState {
49
+ /**
50
+ * SceneAsset handle the instance was instantiated from. Mirrors the
51
+ * SceneInstance.source column for AI users who already have a
52
+ * SceneInstanceState in hand and want the source handle without a second
53
+ * `world.get` round-trip.
54
+ */
55
+ readonly source: import('@forgeax/engine-types').Handle<'SceneAsset', 'shared'>;
56
+ /**
57
+ * Reverse mapping (live `Entity` -> source `LocalEntityId`). Used by
58
+ * `world.setSceneOverride` to validate the member entity belongs to this
59
+ * instance + by `world.detachSceneMember` / `world.reattachSceneMember`
60
+ * to translate caller-side Entity values back to their authored localId.
61
+ */
62
+ readonly entityToLocalId: Map<EntityHandle, LocalEntityId>;
63
+ /**
64
+ * LocalEntityIds of members the AI user marked detached via
65
+ * `world.detachSceneMember(root, member)`. The member entities stay
66
+ * alive in the World; only the bookkeeping marker moves so
67
+ * `world.despawnDescendants(root, { keepDetached: true })` can skip them.
68
+ * Detach is idempotent (set semantics).
69
+ */
70
+ readonly detachedLocalIds: Set<LocalEntityId>;
71
+ /**
72
+ * Per-member runtime overrides keyed by `<localId>` -> `<comp>:<field>`
73
+ * -> override record. mount-time overrides (authored on the SceneAsset's
74
+ * `mounts[].overrides`) populate this map at instantiate-time so AI
75
+ * users see them via the same read path as runtime
76
+ * `setSceneOverride` writes (single SSOT).
77
+ */
78
+ readonly overrides: Map<LocalEntityId, Map<string, SceneInstanceOverrideRecord>>;
79
+ /**
80
+ * Top-level root entities of the materialised tree (members without a
81
+ * ChildOf parent at instantiate time). The synthetic root entity that
82
+ * carries the SceneInstance component itself is NOT in this list — it is
83
+ * the parent of every member entity (plan-strategy §3.2 sequence step 7).
84
+ */
85
+ readonly rootEntities: EntityHandle[];
86
+ /** Synthetic roots of recursively mounted SceneAssets owned by this instance. */
87
+ readonly mountRoots: EntityHandle[];
88
+ /**
89
+ * Total slot count `entities.length + sum(mounts[].memberCount)` —
90
+ * captured at instantiate-time so cycle / count consistency checks
91
+ * (e.g. `world.getSceneAssetForInstance(root)` symmetry) can compare
92
+ * against the live SceneInstance.mapping column without re-reading the
93
+ * SceneAsset.
94
+ */
95
+ readonly totalSlots: number;
96
+ /**
97
+ * Mount-time override authored on the parent SceneAsset's `mounts[]`
98
+ * record. Captured at instantiate-time so `world.removeSceneOverride`
99
+ * can fall back to the mount-time value before going to the source
100
+ * SceneAsset value (plan-strategy §D-2).
101
+ */
102
+ readonly mountTimeOverrides: readonly MountOverride[];
103
+ }
104
+ /**
105
+ * SceneInstance ECS component — synthetic root entity payload for one
106
+ * materialised SceneAsset (instance == entity carrying SceneInstance,
107
+ * charter P4).
108
+ *
109
+ * AI users discover the component via IDE autocomplete on
110
+ * `@forgeax/engine-render` (single-import barrel; AGENTS.md §Components):
111
+ *
112
+ * ```ts
113
+ * import { SceneInstance } from '@forgeax/engine-render';
114
+ * for (const row of world.query({ read: [SceneInstance] }).unwrap()) {
115
+ * console.log(`root=${row.entity} source=${row.get(SceneInstance).source}`);
116
+ * }
117
+ *
118
+ * const inst = world.get(root, SceneInstance).value;
119
+ * const memberEntity = inst.mapping[localId]; // Uint32Array snapshot
120
+ * for (const detached of inst.state.detachedLocalIds) { /* ... *\/ }
121
+ * ```
122
+ *
123
+ * The component does not register a relationship — synthetic root +
124
+ * members are wired through the standard `ChildOf` (member -> root) so
125
+ * the existing `world.iterDescendants(root)` / Children mirror code paths
126
+ * apply unchanged (plan-strategy §D-5).
127
+ *
128
+ * @example Materialise + inspect a SceneAsset:
129
+ * const { root, diagnostics } = world.instantiateScene(handle).value;
130
+ * const inst = world.get(root, SceneInstance).value;
131
+ * // inst.source === handle, inst.mapping is Uint32Array(totalSlots)
132
+ * // inst.state holds entityToLocalId / detachedLocalIds / overrides /
133
+ * // rootEntities / mountRoots / totalSlots / mountTimeOverrides.
134
+ */
135
+ export declare const SceneInstance: import("@forgeax/engine-ecs").Component<"SceneInstance", {
136
+ readonly source: "shared<SceneAsset>";
137
+ readonly mapping: "array<entity>";
138
+ readonly state: "unique<SceneInstanceState>";
139
+ }>;
140
+ //# sourceMappingURL=scene-instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-instance.d.ts","sourceRoot":"","sources":["../../src/components/scene-instance.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE1E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,uBAAuB,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEhF;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;IAE9C;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAEjF;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC;IAEtC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC;IAEpC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,EAAE,SAAS,aAAa,EAAE,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,aAAa;;;;EAUzB,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Skybox mode literal union (AC-02 narrowing surface).
3
+ * Currently only 'cubemap' -- future 'atmosphere' deferred per OOS-1.
4
+ */
5
+ export type SkyboxMode = 'cubemap';
6
+ /** Numeric encoding of cubemap skybox mode (schema value for `mode`). */
7
+ export declare const SKYBOX_MODE_CUBEMAP = 0;
8
+ /**
9
+ * Map a `SkyboxBackground.mode` numeric value to the closed `SkyboxMode`
10
+ * string-literal union. Only member currently is 'cubemap'; the exhaustive
11
+ * switch is ready for future mode additions (e.g. 'atmosphere', OOS-1).
12
+ */
13
+ export declare function skyboxModeFromF32(value: number): SkyboxMode;
14
+ /**
15
+ * SkyboxBackground: full-screen environment cubemap background.
16
+ *
17
+ * Renders a fullscreen triangle that reconstructs world-space view
18
+ * direction from the camera's inverseViewProj matrix (View UBO),
19
+ * samples a cubemap with the view direction, and writes an HDR color
20
+ * to the hdrColor render target (before the main geometry pass).
21
+ *
22
+ * The skybox pass is automatically activated when a SkyboxBackground
23
+ * entity exists, a Skylight entity provides the equirect source, and the
24
+ * active Camera has tonemap active. The skybox reuses the same equirect
25
+ * handle as the Skylight entity -- two independent components sharing the
26
+ * same GPU resource (the internally-projected cubemap).
27
+ *
28
+ * `equirect` is a `Handle<EquirectAsset>` resolved from a vite pack-index
29
+ * GUID via `engine.assets.loadByGuid<EquirectAsset>(guid)`. The cubemap
30
+ * projection is internal and driven by the render-system record arm; there
31
+ * is no user upload call.
32
+ *
33
+ * `mode` is a numeric discriminator column (`'f32'`). Use
34
+ * `SKYBOX_MODE_CUBEMAP` for the cubemap render path.
35
+ *
36
+ * `rotation` is an environment-space quaternion in `[x, y, z, w]` order.
37
+ * It rotates the sampled cubemap without changing the camera or rebaking the
38
+ * source equirectangular asset.
39
+ *
40
+ * @example Minimum spawn (defaults mode=0):
41
+ * // equirectHandle resolved from loadByGuid<EquirectAsset> (same handle as
42
+ * // the Skylight).
43
+ * world.spawn({ component: SkyboxBackground, data: { equirect: equirectHandle } });
44
+ *
45
+ * @example Single handle shared between Skylight (IBL) and SkyboxBackground:
46
+ * const hdrRes = await engine.assets.loadByGuid<EquirectAsset>(guid);
47
+ * if (!hdrRes.ok) throw hdrRes.error;
48
+ * world.spawn({ component: Skylight, data: { equirect: hdrRes.value } });
49
+ * world.spawn({ component: SkyboxBackground, data: { equirect: hdrRes.value } });
50
+ */
51
+ export declare const SkyboxBackground: import("@forgeax/engine-ecs").Component<"SkyboxBackground", {
52
+ readonly equirect: "shared<EquirectAsset>";
53
+ readonly mode: "f32";
54
+ readonly rotation: "array<f32, 4>";
55
+ }>;
56
+ //# sourceMappingURL=skybox-background.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skybox-background.d.ts","sourceRoot":"","sources":["../../src/components/skybox-background.ts"],"names":[],"mappings":"AA+BA;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,SAAS,CAAC;AAEnC,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAW3D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,gBAAgB;;;;EAO3B,CAAC"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Skylight ambient environment light.
3
+ *
4
+ * A single Skylight entity provides ambient lighting for all StandardMaterial
5
+ * surfaces. Two modes share one component:
6
+ *
7
+ * - **Solid-color ambient (no equirect).** Omit `equirect` for a constant
8
+ * ambient = `color` * `intensity` applied immediately, with no async GPU
9
+ * precompute. The engine samples a built-in 1x1 white irradiance cube, so a
10
+ * freshly-loaded scene is lit on its first frame instead of being black
11
+ * until an IBL upload finishes.
12
+ * - **Image-based lighting (with equirect).** Supply `equirect` to upgrade to
13
+ * diffuse irradiance + specular prefilter IBL. The engine runs the full
14
+ * precompute (equirect->cubemap, irradiance convolution, prefilter mip
15
+ * chain, BRDF LUT) transparently inside the render-system record arm;
16
+ * `color` * `intensity` then scale the IBL ambient.
17
+ *
18
+ * `equirect` is an OPTIONAL `Handle<EquirectAsset>` resolved from a vite
19
+ * pack-index GUID via `engine.assets.loadByGuid<EquirectAsset>(guid)`. The
20
+ * cubemap projection is internal and idempotent: the same equirect source
21
+ * always resolves to the same GPU cubemap (no user upload call).
22
+ *
23
+ * `color` is the linear-space ambient tint (default white [1, 1, 1]).
24
+ * `intensity` is a linear multiplier (default 1.0; 0 disables ambient). Both
25
+ * are read every frame, so they are live dynamic dials.
26
+ *
27
+ * `rotation` is an environment-space quaternion in `[x, y, z, w]` order.
28
+ * The default identity quaternion leaves the source orientation unchanged;
29
+ * changing it rotates the IBL at sample time without rebaking the source.
30
+ *
31
+ * @example Instant white ambient (no asset, no async):
32
+ * world.spawn({ component: Skylight, data: {} });
33
+ *
34
+ * @example Dim warm ambient:
35
+ * world.spawn({ component: Skylight, data: { color: [1, 0.9, 0.8], intensity: 0.3 } }); // color is [r, g, b]
36
+ *
37
+ * @example Full IBL from an HDR equirect (declarative -- no upload call):
38
+ * // 1. resolve GUID from vite pack-index (see forgeax-engine-vite-plugin-pack)
39
+ * import { AssetGuid } from '@forgeax/engine-pack/guid';
40
+ * const guidRes = AssetGuid.parse('019e4a26-3c29-7420-af5d-20f2724a16b0');
41
+ * if (!guidRes.ok) throw guidRes.error;
42
+ * // 2. load the HDR equirect via the GUID-addressed pack route
43
+ * const hdrRes = await engine.assets.loadByGuid<EquirectAsset>(guidRes.value);
44
+ * if (!hdrRes.ok) throw hdrRes.error;
45
+ * // 3. spawn the Skylight — the equirect handle activates the full IBL path;
46
+ * // the cubemap + IBL precompute happen lazily inside the record arm.
47
+ * world.spawn({ component: Skylight, data: { equirect: hdrRes.value } });
48
+ */
49
+ export declare const Skylight: import("@forgeax/engine-ecs").Component<"Skylight", {
50
+ readonly equirect: "shared<EquirectAsset>";
51
+ readonly color: "array<f32, 3>";
52
+ readonly intensity: "f32";
53
+ readonly rotation: "array<f32, 4>";
54
+ }>;
55
+ //# sourceMappingURL=skylight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skylight.d.ts","sourceRoot":"","sources":["../../src/components/skylight.ts"],"names":[],"mappings":"AAsCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,eAAO,MAAM,QAAQ;;;;;EAUnB,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Per-entity transparent-sort override.
3
+ *
4
+ * When attached to an entity inside the transparent bucket (M-3 w22),
5
+ * `SortKey.value` REPLACES the result of `TransparentSortConfig.mode`
6
+ * formula evaluation for this entity. Sort key range is the host's
7
+ * choice — typical use is small (e.g. -10 ... +10) to keep the
8
+ * composite (layer asc, sortValue asc) ordering predictable; large
9
+ * magnitudes work but cross-layer biasing should usually go through
10
+ * `Layer` instead.
11
+ *
12
+ * Override priority (M-3 w23 transparent-sort algorithm):
13
+ *
14
+ * if (world.has(entity, SortKey)) {
15
+ * sortValue = world.get(entity, SortKey).value;
16
+ * } else {
17
+ * sortValue = modeFormula(mode, transform, sprite);
18
+ * }
19
+ *
20
+ * SortKey lives alongside Layer in the (layer, sortValue) composite
21
+ * key — Layer remains the primary key, SortKey replaces the secondary
22
+ * key. This means a `Layer { value: 100 }` foreground entity with
23
+ * `SortKey { value: -99 }` still draws AFTER a `Layer { value: 0 }`
24
+ * background entity; SortKey biases WITHIN a layer, not ACROSS layers.
25
+ *
26
+ * @example Minimal spawn (no override, use mode formula):
27
+ * world.spawn({ component: SortKey, data: {} }); // yields value=0
28
+ *
29
+ * @example Bias one sprite above the JRPG Y-sort formula:
30
+ * world.spawn(
31
+ * { component: Transform, data: { pos: [0, 1, 0],
32
+ * quat: [0, 0, 0, 1], scale: [1, 1, 1] } },
33
+ * { component: Layer, data: { value: 0 } },
34
+ * { component: SortKey, data: { value: -100 } },
35
+ * );
36
+ *
37
+ * @example Spawn payload omitting SortKey — the 4-layer fallback fills 0:
38
+ * // entity reads back SortKey only if explicitly attached;
39
+ * // otherwise the mode-formula path is taken by transparent-sort.ts.
40
+ */
41
+ export declare const SortKey: import("@forgeax/engine-ecs").Component<"SortKey", {
42
+ readonly value: "f32";
43
+ }>;
44
+ //# sourceMappingURL=sort-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-key.d.ts","sourceRoot":"","sources":["../../src/components/sort-key.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,OAAO;;EAElB,CAAC"}