@forgeax/engine-render 0.1.23 → 0.1.24

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 (271) hide show
  1. package/README.md +131 -9
  2. package/dist/assembly/bundler-contract.d.ts +9 -0
  3. package/dist/assembly/bundler-contract.d.ts.map +1 -0
  4. package/dist/assembly/device-feature-admission.d.ts +8 -0
  5. package/dist/assembly/device-feature-admission.d.ts.map +1 -1
  6. package/dist/assembly/extended-lighting-fallback.d.ts +13 -0
  7. package/dist/assembly/extended-lighting-fallback.d.ts.map +1 -0
  8. package/dist/assembly/factory.d.ts +7 -243
  9. package/dist/assembly/factory.d.ts.map +1 -1
  10. package/dist/assembly/material/assembly.d.ts +3 -2
  11. package/dist/assembly/material/assembly.d.ts.map +1 -1
  12. package/dist/assembly/material/standard-layer-projection.d.ts +10 -0
  13. package/dist/assembly/material/standard-layer-projection.d.ts.map +1 -0
  14. package/dist/assembly/material-shader-policy.d.ts +168 -0
  15. package/dist/assembly/material-shader-policy.d.ts.map +1 -0
  16. package/dist/assembly/material-shader-prewarm.d.ts +21 -0
  17. package/dist/assembly/material-shader-prewarm.d.ts.map +1 -0
  18. package/dist/assembly/mesh-ssbo-grow.d.ts +88 -0
  19. package/dist/assembly/mesh-ssbo-grow.d.ts.map +1 -0
  20. package/dist/assembly/recovery/device-loss-fanout.d.ts +14 -0
  21. package/dist/assembly/recovery/device-loss-fanout.d.ts.map +1 -0
  22. package/dist/assembly/recovery/generation.d.ts +46 -0
  23. package/dist/assembly/recovery/generation.d.ts.map +1 -0
  24. package/dist/assembly/recovery/recovery-attempt.d.ts +63 -0
  25. package/dist/assembly/recovery/recovery-attempt.d.ts.map +1 -0
  26. package/dist/assembly/recovery/renderer-recover.d.ts +115 -0
  27. package/dist/assembly/recovery/renderer-recover.d.ts.map +1 -0
  28. package/dist/assembly/renderer-facade.d.ts +10 -0
  29. package/dist/assembly/renderer-facade.d.ts.map +1 -0
  30. package/dist/assembly/renderer-frame-transaction.d.ts +17 -0
  31. package/dist/assembly/renderer-frame-transaction.d.ts.map +1 -1
  32. package/dist/assembly/renderer-helpers.d.ts +19 -0
  33. package/dist/assembly/renderer-helpers.d.ts.map +1 -0
  34. package/dist/assembly/renderer-lifecycle.d.ts +34 -0
  35. package/dist/assembly/renderer-lifecycle.d.ts.map +1 -1
  36. package/dist/assembly/shader-prewarm-policy.d.ts +15 -0
  37. package/dist/assembly/shader-prewarm-policy.d.ts.map +1 -0
  38. package/dist/assembly/webgpu-ready-contract.d.ts +9 -0
  39. package/dist/assembly/webgpu-ready-contract.d.ts.map +1 -0
  40. package/dist/assembly/webgpu-ready.d.ts +55 -0
  41. package/dist/assembly/webgpu-ready.d.ts.map +1 -0
  42. package/dist/assembly/webgpu-renderer.d.ts +152 -0
  43. package/dist/assembly/webgpu-renderer.d.ts.map +1 -0
  44. package/dist/authoring.mjs +1 -1
  45. package/dist/{chunk-4L3P6DT5.mjs → chunk-GE3SDD72.mjs} +37 -5
  46. package/dist/chunk-GE3SDD72.mjs.map +1 -0
  47. package/dist/{chunk-HZUPSYW7.mjs → chunk-KZFTK6DO.mjs} +102 -15
  48. package/dist/chunk-KZFTK6DO.mjs.map +1 -0
  49. package/dist/{chunk-FF7K3FSO.mjs → chunk-Q752SHI5.mjs} +89 -89
  50. package/dist/{chunk-FF7K3FSO.mjs.map → chunk-Q752SHI5.mjs.map} +1 -1
  51. package/dist/{chunk-QODA5UKU.mjs → chunk-RR5L4SRS.mjs} +2 -2
  52. package/dist/chunk-RR5L4SRS.mjs.map +1 -0
  53. package/dist/{chunk-YALPS44A.mjs → chunk-TFH5I7JJ.mjs} +47 -47
  54. package/dist/chunk-TFH5I7JJ.mjs.map +1 -0
  55. package/dist/{chunk-FBC4R44J.mjs → chunk-UQYS7FRM.mjs} +57 -57
  56. package/dist/chunk-UQYS7FRM.mjs.map +1 -0
  57. package/dist/{chunk-4NPUASZR.mjs → chunk-YKB5DQV7.mjs} +161 -19
  58. package/dist/chunk-YKB5DQV7.mjs.map +1 -0
  59. package/dist/{chunk-ZUWKAZ2I.mjs → chunk-YRUYGA4A.mjs} +615 -237
  60. package/dist/chunk-YRUYGA4A.mjs.map +1 -0
  61. package/dist/{chunk-DIYW3M5D.mjs → chunk-Z3YYH2MB.mjs} +2210 -2213
  62. package/dist/chunk-Z3YYH2MB.mjs.map +1 -0
  63. package/dist/construct-renderer.mjs +19841 -16190
  64. package/dist/construct-renderer.mjs.map +1 -1
  65. package/dist/device/device-scope.d.ts +2 -0
  66. package/dist/device/device-scope.d.ts.map +1 -1
  67. package/dist/device/gpu-residency.d.ts +24 -4
  68. package/dist/device/gpu-residency.d.ts.map +1 -1
  69. package/dist/environment/frame.d.ts +5 -0
  70. package/dist/environment/frame.d.ts.map +1 -1
  71. package/dist/environment/inspection.d.ts +7 -0
  72. package/dist/environment/inspection.d.ts.map +1 -1
  73. package/dist/environment/lifecycle.d.ts +20 -2
  74. package/dist/environment/lifecycle.d.ts.map +1 -1
  75. package/dist/errors/recover.d.ts +58 -2
  76. package/dist/errors/recover.d.ts.map +1 -1
  77. package/dist/errors/render.d.ts +13 -0
  78. package/dist/errors/render.d.ts.map +1 -1
  79. package/dist/extract/contracts.d.ts +899 -0
  80. package/dist/extract/contracts.d.ts.map +1 -0
  81. package/dist/features/host.d.ts +2 -0
  82. package/dist/features/host.d.ts.map +1 -1
  83. package/dist/features/prepared-gpu-work.d.ts +3 -0
  84. package/dist/features/prepared-gpu-work.d.ts.map +1 -1
  85. package/dist/features/prepared-graphics-store.d.ts +2 -0
  86. package/dist/features/prepared-graphics-store.d.ts.map +1 -1
  87. package/dist/gpu-driven/production-raster.d.ts +28 -0
  88. package/dist/gpu-driven/production-raster.d.ts.map +1 -1
  89. package/dist/gpu-scene.d.ts +1 -0
  90. package/dist/gpu-scene.d.ts.map +1 -1
  91. package/dist/ibl/IblPipelineCache.d.ts +7 -6
  92. package/dist/ibl/IblPipelineCache.d.ts.map +1 -1
  93. package/dist/ibl/skylight-bind-group.d.ts +7 -1
  94. package/dist/ibl/skylight-bind-group.d.ts.map +1 -1
  95. package/dist/index.d.ts +1 -1
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.mjs +6 -6
  98. package/dist/internal.mjs +6 -6
  99. package/dist/light-buffer-layout.d.ts +3 -0
  100. package/dist/light-buffer-layout.d.ts.map +1 -1
  101. package/dist/materials.d.ts +34 -10
  102. package/dist/materials.d.ts.map +1 -1
  103. package/dist/mesh-material-bindings.d.ts +56 -0
  104. package/dist/mesh-material-bindings.d.ts.map +1 -1
  105. package/dist/occlusion-proxy.d.ts +4 -0
  106. package/dist/occlusion-proxy.d.ts.map +1 -0
  107. package/dist/pbr-pipeline.d.ts +32 -9
  108. package/dist/pbr-pipeline.d.ts.map +1 -1
  109. package/dist/points-lines/prepare.d.ts +3 -0
  110. package/dist/points-lines/prepare.d.ts.map +1 -1
  111. package/dist/points-lines/standard-owner.d.ts +33 -0
  112. package/dist/points-lines/standard-owner.d.ts.map +1 -0
  113. package/dist/record/frame-snapshot.d.ts +5 -0
  114. package/dist/record/frame-snapshot.d.ts.map +1 -1
  115. package/dist/record/frame-targets.d.ts.map +1 -1
  116. package/dist/record/frame.d.ts +14 -2
  117. package/dist/record/frame.d.ts.map +1 -1
  118. package/dist/record/main-pass-geometry.d.ts +14 -1
  119. package/dist/record/main-pass-geometry.d.ts.map +1 -1
  120. package/dist/record/main-pass-material.d.ts +7 -17
  121. package/dist/record/main-pass-material.d.ts.map +1 -1
  122. package/dist/record/main-pass.d.ts.map +1 -1
  123. package/dist/record/mesh-ssbo.d.ts +11 -3
  124. package/dist/record/mesh-ssbo.d.ts.map +1 -1
  125. package/dist/record/recovery-pipeline.d.ts +30 -0
  126. package/dist/record/recovery-pipeline.d.ts.map +1 -0
  127. package/dist/record/render-context.d.ts +26 -4
  128. package/dist/record/render-context.d.ts.map +1 -1
  129. package/dist/record/typed-frame-graph.d.ts +1 -1
  130. package/dist/record/typed-frame-graph.d.ts.map +1 -1
  131. package/dist/recovery/render-system-candidate.d.ts +65 -0
  132. package/dist/recovery/render-system-candidate.d.ts.map +1 -0
  133. package/dist/render-contract.d.ts +64 -7
  134. package/dist/render-contract.d.ts.map +1 -1
  135. package/dist/render-system-extract-tail.d.ts +12 -0
  136. package/dist/render-system-extract-tail.d.ts.map +1 -0
  137. package/dist/render-system-extract.d.ts +156 -22
  138. package/dist/render-system-extract.d.ts.map +1 -1
  139. package/dist/render-system.d.ts +128 -4
  140. package/dist/render-system.d.ts.map +1 -1
  141. package/dist/scene/render-scene.d.ts +19 -0
  142. package/dist/scene/render-scene.d.ts.map +1 -1
  143. package/dist/temporal/frame-coordinator.d.ts.map +1 -1
  144. package/dist/temporal/index.mjs +6 -6
  145. package/dist/temporal/taa-history-store.d.ts +15 -1
  146. package/dist/temporal/taa-history-store.d.ts.map +1 -1
  147. package/dist/temporal/transaction.d.ts +5 -0
  148. package/dist/temporal/transaction.d.ts.map +1 -1
  149. package/package.json +20 -20
  150. package/src/__tests__/device-feature-admission.unit.test.ts +6 -0
  151. package/src/__tests__/device-loss-fanout.unit.test.ts +107 -0
  152. package/src/__tests__/device-scope-lifecycle.unit.test.ts +21 -0
  153. package/src/__tests__/environment-generation.integration.test.ts +23 -0
  154. package/src/__tests__/expose-renderer-errors.unit.test.ts +34 -0
  155. package/src/__tests__/factory-contract.integration.test.ts +122 -7
  156. package/src/__tests__/fallback-row-stride-surface.unit.test.ts +4 -1
  157. package/src/__tests__/ibl/face-uniforms.unit.test.ts +2 -0
  158. package/src/__tests__/ibl-residency-publication.unit.test.ts +113 -0
  159. package/src/__tests__/material-contract-inventory.unit.test.ts +24 -9
  160. package/src/__tests__/material-cooked-projection.unit.test.ts +19 -1
  161. package/src/__tests__/material-static-dynamic-route.unit.test.ts +29 -0
  162. package/src/__tests__/material-stride-surface.unit.test.ts +7 -3
  163. package/src/__tests__/materials-standard-contract.unit.test.ts +104 -0
  164. package/src/__tests__/mesh-buffer-usage-surface.unit.test.ts +1 -1
  165. package/src/__tests__/physical-clearcoat.integration.test.ts +89 -0
  166. package/src/__tests__/prepared-gpu-driven-pbr.integration.test.ts +1 -1
  167. package/src/__tests__/prepared-graphics-pipeline-warmup.unit.test.ts +1 -1
  168. package/src/__tests__/recover-error-policy-owner.unit.test.ts +6 -3
  169. package/src/__tests__/recovery-candidate-prepare.contract.test.ts +140 -0
  170. package/src/__tests__/renderer-factory-material-contract.unit.test.ts +85 -18
  171. package/src/__tests__/renderer-frame-generation-fence.integration.test.ts +47 -0
  172. package/src/__tests__/renderer-generation-assembly.unit.test.ts +77 -0
  173. package/src/__tests__/renderer-generation-failure.unit.test.ts +108 -0
  174. package/src/__tests__/renderer-producer-root-matrix.integration.test.ts +33 -0
  175. package/src/__tests__/renderer-recovery-capability-matrix.unit.test.ts +59 -0
  176. package/src/__tests__/renderer-recovery-contract.unit.test.ts +73 -0
  177. package/src/__tests__/renderer-recovery-lifecycle.unit.test.ts +216 -0
  178. package/src/__tests__/renderer-target-history-recovery.integration.test.ts +80 -0
  179. package/src/__tests__/shader-manifest-fixture.ts +13 -16
  180. package/src/__tests__/shader-stage-surface.unit.test.ts +1 -1
  181. package/src/__tests__/standard-layer-projection.unit.test.ts +23 -0
  182. package/src/__tests__/transmission-prewarm.unit.test.ts +95 -85
  183. package/src/__tests__/volumetric-fog-topology.unit.test.ts +3 -1
  184. package/src/assembly/bundler-contract.ts +9 -0
  185. package/src/assembly/device-feature-admission.ts +15 -5
  186. package/src/assembly/extended-lighting-fallback.ts +216 -0
  187. package/src/assembly/factory.ts +81 -10088
  188. package/src/assembly/material/assembly.ts +18 -2
  189. package/src/assembly/material/standard-layer-projection.ts +16 -0
  190. package/src/assembly/material-shader-policy.ts +854 -0
  191. package/src/assembly/material-shader-prewarm.ts +88 -0
  192. package/src/assembly/mesh-ssbo-grow.ts +270 -0
  193. package/src/assembly/recovery/device-loss-fanout.ts +89 -0
  194. package/src/assembly/recovery/generation.ts +141 -0
  195. package/src/assembly/recovery/recovery-attempt.ts +800 -0
  196. package/src/assembly/recovery/renderer-recover.ts +906 -0
  197. package/src/assembly/renderer-facade.ts +342 -0
  198. package/src/assembly/renderer-frame-transaction.ts +45 -0
  199. package/src/assembly/renderer-helpers.ts +99 -0
  200. package/src/assembly/renderer-lifecycle.ts +159 -0
  201. package/src/assembly/shader-prewarm-policy.ts +157 -0
  202. package/src/assembly/webgpu-ready-contract.ts +14 -0
  203. package/src/assembly/webgpu-ready.ts +4079 -0
  204. package/src/assembly/webgpu-renderer.ts +4095 -0
  205. package/src/components/camera.ts +1 -1
  206. package/src/debug-draw-glue.ts +1 -1
  207. package/src/device/device-scope.ts +35 -6
  208. package/src/device/gpu-residency.ts +194 -26
  209. package/src/environment/frame.ts +6 -0
  210. package/src/environment/inspection.ts +10 -0
  211. package/src/environment/lifecycle.ts +114 -8
  212. package/src/errors/recover.ts +76 -5
  213. package/src/errors/render.ts +17 -0
  214. package/src/extract/contracts.ts +974 -0
  215. package/src/features/host.ts +16 -0
  216. package/src/features/prepared-gpu-work.ts +20 -2
  217. package/src/features/prepared-graphics-store.ts +17 -0
  218. package/src/gpu-driven/production-raster.ts +97 -2
  219. package/src/gpu-scene.ts +3 -2
  220. package/src/ibl/IblPipelineCache.ts +134 -50
  221. package/src/ibl/skylight-bind-group.ts +26 -0
  222. package/src/index.ts +9 -1
  223. package/src/light-buffer-layout.ts +3 -0
  224. package/src/materials.ts +262 -45
  225. package/src/mesh-material-bindings.ts +59 -0
  226. package/src/occlusion-proxy.ts +64 -0
  227. package/src/pbr-pipeline.ts +139 -15
  228. package/src/points-lines/__tests__/cache-recovery.unit.test.ts +22 -0
  229. package/src/points-lines/prepare.ts +9 -0
  230. package/src/points-lines/standard-owner.ts +403 -0
  231. package/src/record/__tests__/frame-targets-recovery.unit.test.ts +60 -0
  232. package/src/record/__tests__/main-pass-geometry.unit.test.ts +26 -1
  233. package/src/record/__tests__/mesh-ssbo.unit.test.ts +38 -0
  234. package/src/record/__tests__/recovery-pipeline.unit.test.ts +124 -0
  235. package/src/record/__tests__/sprite-material-abi.unit.test.ts +28 -13
  236. package/src/record/__tests__/standard-pbr-ubo-layout.unit.test.ts +47 -4
  237. package/src/record/__tests__/temporal-payload.unit.test.ts +22 -43
  238. package/src/record/__tests__/typed-frame-graph-plan.unit.test.ts +1 -1
  239. package/src/record/frame-snapshot.ts +15 -0
  240. package/src/record/frame-targets.ts +11 -1
  241. package/src/record/frame.ts +6 -2
  242. package/src/record/helpers.ts +1 -1
  243. package/src/record/main-pass-geometry.ts +230 -5
  244. package/src/record/main-pass-material.ts +316 -209
  245. package/src/record/main-pass-sprite-draws.ts +6 -7
  246. package/src/record/main-pass.ts +94 -6
  247. package/src/record/mesh-ssbo.ts +32 -10
  248. package/src/record/recovery-pipeline.ts +695 -0
  249. package/src/record/render-context.ts +35 -4
  250. package/src/record/typed-frame-graph.ts +45 -1
  251. package/src/record/view-ubo.ts +3 -3
  252. package/src/recovery/render-system-candidate.ts +839 -0
  253. package/src/render-contract.ts +65 -7
  254. package/src/render-system-extract-tail.ts +2983 -0
  255. package/src/render-system-extract.ts +124 -2977
  256. package/src/render-system.ts +868 -659
  257. package/src/scene/render-scene.ts +124 -1
  258. package/src/temporal/frame-coordinator.ts +4 -1
  259. package/src/temporal/taa-history-store.ts +46 -2
  260. package/src/temporal/temporal-view.ts +1 -1
  261. package/src/temporal/transaction.ts +9 -0
  262. package/src/tilemap-chunk-extract-system.ts +1 -1
  263. package/src/transmission/__tests__/standard-transmission.dawn.test.ts +19 -12
  264. package/dist/chunk-4L3P6DT5.mjs.map +0 -1
  265. package/dist/chunk-4NPUASZR.mjs.map +0 -1
  266. package/dist/chunk-DIYW3M5D.mjs.map +0 -1
  267. package/dist/chunk-FBC4R44J.mjs.map +0 -1
  268. package/dist/chunk-HZUPSYW7.mjs.map +0 -1
  269. package/dist/chunk-QODA5UKU.mjs.map +0 -1
  270. package/dist/chunk-YALPS44A.mjs.map +0 -1
  271. package/dist/chunk-ZUWKAZ2I.mjs.map +0 -1
@@ -1,17 +1,18 @@
1
1
  import type { AssetRegistry } from '@forgeax/engine-assets-runtime';
2
- import type { EntityHandle, World } from '@forgeax/engine-ecs';
2
+ import type { Component, ComponentSchema, EntityHandle, World } from '@forgeax/engine-ecs';
3
3
  import { type Mat4, type Vec3 } from '@forgeax/engine-math';
4
- import type { MaterialShaderArtifact } from '@forgeax/engine-shader';
5
- import type { Handle, MaterialAsset, MaterialPass, MaterialRenderState, MaterialTextureCoordinates, MeshLodLevel, ParamSchemaEntry, PrimitiveTopology, TextureAsset } from '@forgeax/engine-types';
6
- import { type DirectionalShadowQuality } from './components/directional-shadow-filter';
7
- import { type LightValidationError } from './components/light-helpers';
4
+ import { type AssetGuid as AssetGuidBytes } from '@forgeax/engine-pack/guid';
5
+ import { type MaterialShaderArtifact } from '@forgeax/engine-shader';
6
+ import type { Handle, MaterialAsset, MaterialColorParameterSchema, MaterialParameter, MaterialPass, MaterialRenderState, MaterialTextureCoordinates, MaterialTextureValue, MeshLodLevel, ParamSchemaEntry, PrimitiveTopology, TextureAsset } from '@forgeax/engine-types';
7
+ import type { DirectionalShadowQuality } from './components/directional-shadow-filter';
8
+ import type { LightValidationError } from './components/light-helpers';
8
9
  import type { EnvironmentFrame, FogFrame, FogSelectionFailure } from './extract/environment';
9
10
  import { type VisibilitySnapshot } from './extract/visibility';
10
11
  import type { RenderFeatureHiddenEntityReport, RenderFeatureWorldVisibilitySnapshot } from './features/types';
11
- import { type MeshMaterialBindingDiagnostic, type MeshMaterialBindingSource } from './mesh-material-bindings';
12
+ import type { MeshMaterialBindingDiagnostic, MeshMaterialBindingSource } from './mesh-material-bindings';
12
13
  import type { PointsLinesRetainedSnapshot } from './points-lines/snapshot';
13
14
  import type { ReflectionProbeFact } from './reflection/projection';
14
- import { type CameraSnapshot, type CubeCameraSnapshot } from './render-contract';
15
+ import type { CameraSnapshot, CubeCameraSnapshot } from './render-contract';
15
16
  import type { SkinPaletteAllocator } from './systems/skin-palette-allocator';
16
17
  import type { SkinPaletteSlice } from './systems/skin-palette-types';
17
18
  import type { RenderTarget, RenderTargetTextureSource } from './targets/contracts';
@@ -225,8 +226,8 @@ export type LightSnapshot = DirectionalLightSnapshot | PointLightSnapshot | Spot
225
226
  * ExtractedLights — three-bucket output of the extractFrame three-query
226
227
  * union (M2 / w16 / AC-03). Plan-strategy section 3.1 EXT node:
227
228
  * - `directional` — at most one (record-stage N>1 fail-fast lands in M3)
228
- * - `point[]` / `spot[]` / `rect[]` authored local-light snapshots; the
229
- * record stage preserves this order in one bounded Cluster corpus
229
+ * - `point[]` first-slice cap of 4 enforced at record stage (M3)
230
+ * - `spot[]` — first-slice cap of 4 enforced at record stage (M3)
230
231
  * `directionalCount` exposes the raw count of DirectionalLight entities the
231
232
  * extract observed (so the record stage can fire `render-system-multi-light`
232
233
  * when N>1 without re-running the query). M3 / w19 will widen this with
@@ -641,10 +642,8 @@ export interface MaterialSnapshot {
641
642
  readonly baseColor: Vec3;
642
643
  readonly metallic: number;
643
644
  readonly roughness: number;
644
- readonly clearcoat?: number | undefined;
645
- readonly clearcoatRoughness?: number | undefined;
646
- /** Authored Standard PBR specular tint in linear runtime color space. */
647
- readonly specularTint?: readonly [number, number, number] | undefined;
645
+ /** Authored Standard PBR specular color in linear runtime color space. */
646
+ readonly specularColor?: readonly [number, number, number] | undefined;
648
647
  /**
649
648
  * Schema-driven material shader identifier (feat-20260523 M4-T05).
650
649
  * Populated when the material asset uses the schema-driven path
@@ -774,7 +773,7 @@ export interface MaterialSnapshot {
774
773
  */
775
774
  readonly transparent?: boolean | undefined;
776
775
  }
777
- interface MaterialCacheChainIdentity {
776
+ export interface MaterialCacheChainIdentity {
778
777
  readonly asset: MaterialAsset;
779
778
  readonly parentGuid: string | undefined;
780
779
  }
@@ -790,6 +789,7 @@ export interface MaterialSnapshotCacheEntry {
790
789
  }
791
790
  export type MaterialSnapshotCache = Map<number, MaterialSnapshotCacheEntry>;
792
791
  export type MaterialSnapshotCachesByWorld = WeakMap<World, MaterialSnapshotCache>;
792
+ export declare function gpuDrivenMaterialResourceClass(material: MaterialSnapshot): string;
793
793
  export interface DispatchEntry {
794
794
  readonly entityIndex: number;
795
795
  readonly materialHandle: number;
@@ -825,6 +825,8 @@ export interface DispatchEntry {
825
825
  export declare function sortDispatchByQueue<E extends {
826
826
  readonly queue: number;
827
827
  }>(entries: readonly E[]): E[];
828
+ export declare const DEFAULT_FORWARD_PASS: MaterialPass;
829
+ export declare function appendMaterialDispatchEntries(pendingDispatch: DispatchEntry[], passes: readonly MaterialPass[], entity: EntityHandle, materialHandle: number, renderableIndex: number, layer: number, paramSnapshot: Readonly<Record<string, number | number[] | string>> | undefined, passIndexOffset?: number): void;
828
830
  export interface ExtractedFrame {
829
831
  readonly cameras: CameraSnapshot[];
830
832
  /** Auxiliary target cameras selected after the display camera is fixed. */
@@ -907,6 +909,130 @@ export declare function selectCameraTargetViews(candidates: readonly CameraTarge
907
909
  readonly displayEntityKey?: number;
908
910
  readonly budget: number;
909
911
  }): CameraTargetSelection;
912
+ /**
913
+ * Internal world surface used by extract for archetype-graph traversal and
914
+ * error routing. The packed `Entity` handle for a row is read directly from
915
+ * the essential id=0 `Entity` column (`arch.columns.get(Entity.id).get('self')`)
916
+ * -- no generation lookup / encodeEntity rebuild (feat-20260602 M2).
917
+ */
918
+ type RenderErrorContext = {
919
+ readonly systemName: string;
920
+ /** Retained as diagnostic metadata for legacy render call sites. */
921
+ readonly severity?: 'error' | 'warning';
922
+ };
923
+ type ArrayFieldView = ArrayLike<number>;
924
+ /**
925
+ * Render's old zero-copy ECS calls now use the explicit public projection
926
+ * boundary. The optimized ECS owner keeps storage behind `World`; render
927
+ * receives a detached array snapshot and routes failures through the same
928
+ * projection owner.
929
+ */
930
+ export type WorldInternalView = {
931
+ _routeError(error: unknown, ctx: RenderErrorContext): void;
932
+ _getArrayView<N extends string, S extends ComponentSchema>(entity: EntityHandle, component: Component<N, S>, fieldName: string): ArrayFieldView | undefined;
933
+ };
934
+ export declare const Severity: Readonly<{
935
+ readonly Error: "error";
936
+ readonly Warning: "warning";
937
+ }>;
938
+ export declare function createWorldInternalView(world: World): WorldInternalView;
939
+ export declare function resolveCameraTarget(world: World, raw: number | undefined): RenderTarget | undefined;
940
+ /**
941
+ * The user-region texture fields the built-in standard-PBR material declares.
942
+ * Used as the fallback texture-field set when the shader id is not registered
943
+ * (cross-worktree shader-late-register, plan R-4) so a built-in material still
944
+ * resolves its user-region textures. Mirrors `derive(default-standard-pbr).textureFieldNames`.
945
+ */
946
+ export declare const BUILTIN_USER_REGION_TEXTURE_FIELDS: readonly string[];
947
+ export declare function materialTextureFields(shaderId: string | undefined, fields: ReadonlySet<string> | undefined): ReadonlySet<string> | undefined;
948
+ /**
949
+ * The authored material surface uses the module IDs declared by built-in WGSL
950
+ * sources. Runtime pipeline caches still use the existing engine registration
951
+ * IDs, so this small projection keeps authored identity and renderer lookup
952
+ * identity in one place during the migration.
953
+ */
954
+ export declare function runtimeMaterialShaderId(module: string | undefined, passName?: string): string | undefined;
955
+ export declare function pipelineRenderState(renderState: (MaterialRenderState & {
956
+ readonly tags?: Readonly<Record<string, string>>;
957
+ readonly queue?: number;
958
+ readonly stencilReference?: number;
959
+ }) | undefined): MaterialRenderState | undefined;
960
+ export declare function internSharedRefFromGuid<B extends string>(world: World, assetsRef: AssetRegistry, guid: string, brand: B): Handle<B, 'shared'> | undefined;
961
+ /**
962
+ * feat-20260623-world-space-video-asset M4 / w14 (D-5): if a user-region
963
+ * texture field's paramValue is an embedded GUID string that catalogues to a
964
+ * VideoAsset (`kind === 'video'`), mint a `VideoAsset`-branded column handle for
965
+ * it and return that handle; otherwise return undefined (the field is a static
966
+ * texture / sampler / scalar and flows through the normal TextureAsset path).
967
+ *
968
+ * The video GUID occupies the same texture2d values slot a static texture
969
+ * would (P4: identical binding shape) — extract just routes it to a different
970
+ * GPU lifecycle (the transient DynamicTextureStore, D-3) instead of the static
971
+ * `ensureResident` cache, whose switch has no `video` arm (AC-08). Minting a
972
+ * brand-`VideoAsset` handle keeps the snapshot self-describing: the record stage
973
+ * sees a video handle and resolves the per-frame view without reaching back into
974
+ * the asset (charter P5).
975
+ *
976
+ * A `number` paramValue (already a minted column handle) is not a GUID string so
977
+ * it cannot be a freshly-catalogued video; it passes through as undefined here.
978
+ */
979
+ export declare function resolveVideoFieldHandle(value: unknown, world: World, assetsRef: AssetRegistry): Handle<'VideoAsset', 'shared'> | undefined;
980
+ export declare function materialTextureValue(value: unknown): MaterialTextureValue | undefined;
981
+ export declare function assetReferenceText(value: unknown): string | undefined;
982
+ export declare function isAssetGuidBytes(value: Uint8Array): value is AssetGuidBytes;
983
+ export declare function materialNormalScale(values: Readonly<Record<string, unknown>>): number;
984
+ export declare function materialTextureRef(value: unknown): unknown;
985
+ export declare function collectMaterialTextureCoordinates(values: Readonly<Record<string, unknown>>): Map<string, MaterialTextureCoordinates>;
986
+ export declare function collectMaterialTextureSources(values: Readonly<Record<string, unknown>>, world: World): Map<string, RenderTargetTextureSource>;
987
+ export declare function collectMaterialTextureSamplers(values: Readonly<Record<string, unknown>>, resolveSampler: (value: unknown) => Handle<'SamplerAsset', 'shared'> | undefined): Map<string, Handle<'SamplerAsset', 'shared'>>;
988
+ /**
989
+ * feat-20260621-learn-render-5-5-parallax M2 / w7 (D-3): collect the
990
+ * user-region texture handles for a material by iterating the shader's
991
+ * `derive(paramSchema).textureFieldNames` SSOT (via
992
+ * `AssetRegistry.materialShaderTextureFieldNames`). Each declared texture
993
+ * field whose paramValue resolves to a handle lands in the returned map keyed
994
+ * by field name; this is the single path through which an arbitrary number of user-region
995
+ * textures (8 Standard or 9+ custom, e.g. parallax `heightTexture`) flow.
996
+ *
997
+ * When the shader is not registered the built-in Standard field set is used
998
+ * so standard materials still resolve. Emissive and occlusion are ordinary
999
+ * schema-driven user-region textures in that set.
1000
+ *
1001
+ * feat-20260623-world-space-video-asset M4 / w14 (D-5): a field whose paramValue
1002
+ * catalogues to a VideoAsset is routed into `videoOut` (a VideoAsset-branded
1003
+ * handle) instead of the TextureAsset map, so the record stage pulls its view
1004
+ * from the transient DynamicTextureStore (D-3) rather than the static
1005
+ * ensureResident cache (AC-08). The video GUID still has to be in this
1006
+ * `textureFieldNames` traversal set or it is never inspected (R-7) — that
1007
+ * membership is asserted in w13.
1008
+ */
1009
+ export declare function collectUserRegionTextureHandles(pv: Readonly<Record<string, unknown>>, shaderId: string | undefined, paramSchema: readonly ParamSchemaEntry[] | undefined, assetsRef: AssetRegistry, world: World, resolveTex: (value: unknown, brand: 'TextureAsset') => Handle<'TextureAsset', 'shared'> | undefined, videoOut: Map<string, Handle<'VideoAsset', 'shared'>>): Map<string, Handle<'TextureAsset', 'shared'>>;
1010
+ export declare function isEngineInjectedTextureField(shaderId: string | undefined, fieldName: string): boolean;
1011
+ export declare function materialParametersToParamSchema(parameters: readonly MaterialParameter[], shaderId: string | undefined): readonly ParamSchemaEntry[];
1012
+ /**
1013
+ * Resolve color semantics from the material asset first and the shader schema
1014
+ * for fields the asset does not redeclare. Generated and historical pack
1015
+ * materials commonly omit `parameters`, while the shader registry still owns
1016
+ * the complete parameter contract.
1017
+ */
1018
+ export declare function materialColorParameterSchema(parameters: readonly MaterialParameter[], shaderId: string | undefined, assets: AssetRegistry): readonly MaterialColorParameterSchema[];
1019
+ export declare function isDeepFrozen(value: unknown, seen?: Set<object>): boolean;
1020
+ /**
1021
+ * Capture the object identities that make a resolved material stable. The
1022
+ * renderer owns this cache, but the AssetRegistry owns parent GUID lookup, so
1023
+ * validation must walk the same chain on every cross-frame read. A malformed
1024
+ * or cyclic chain is deliberately not cacheable.
1025
+ */
1026
+ export declare function captureMaterialCacheChain(root: MaterialAsset, assets: AssetRegistry): readonly MaterialCacheChainIdentity[] | undefined;
1027
+ export declare function readPersistentMaterialSnapshot(cache: MaterialSnapshotCache | undefined, handleRaw: number, assets: AssetRegistry): MaterialSnapshotCacheEntry | undefined;
1028
+ /**
1029
+ * Fast path for a cache entry whose chain was already validated at the
1030
+ * current registry epoch. The full reader needs the root asset only when an
1031
+ * epoch changed; asking ECS to resolve that root before checking the epoch
1032
+ * defeats the cross-frame cache on the ordinary stable frame.
1033
+ */
1034
+ export declare function readStablePersistentMaterialSnapshot(cache: MaterialSnapshotCache | undefined, handleRaw: number, assets: AssetRegistry): MaterialSnapshotCacheEntry | undefined;
1035
+ export declare function storeMaterialSnapshot(cache: MaterialSnapshotCache, handleRaw: number, snapshot: MaterialSnapshot, passes: readonly MaterialPass[], root: MaterialAsset, assets: AssetRegistry): MaterialSnapshotCacheEntry;
910
1036
  /**
911
1037
  * feat-20260608 M5 amend / w11-a: resolve a single MaterialAsset handle into
912
1038
  * a per-submesh MaterialSnapshot. Used by the extractFrame archetype loop to
@@ -1050,8 +1176,16 @@ export interface PreparedExtractContext {
1050
1176
  /** Producer-owned artifact lookup; extraction only, never record-time asset reads. */
1051
1177
  readonly getMaterialShaderArtifact: ((materialShaderId: string) => MaterialShaderArtifact | undefined) | undefined;
1052
1178
  }
1179
+ export declare function collectCubeCameraSnapshots(world: World): CubeCameraSnapshot[];
1180
+ export declare function collectReflectionProbeFacts(world: World): ReflectionProbeFact[];
1181
+ interface CameraRoleSelection {
1182
+ readonly display: readonly CameraSnapshot[];
1183
+ readonly auxiliary: readonly CameraSnapshot[];
1184
+ }
1185
+ export declare function selectCameraRoles(world: World): CameraRoleSelection;
1053
1186
  export declare function extractCameraSnapshots(world: World): CameraSnapshot[];
1054
1187
  export declare function extractCameraTargetSnapshots(world: World): readonly CameraSnapshot[];
1188
+ export declare function tonemapParams(camera: CameraSnapshot): Uint8Array;
1055
1189
  export declare function prepareExtractContext(world: World, options?: {
1056
1190
  readonly assets?: AssetRegistry | null;
1057
1191
  readonly pipelineState?: ExtractPipelineSurface | null;
@@ -1062,12 +1196,12 @@ export declare function prepareExtractContext(world: World, options?: {
1062
1196
  readonly renderables?: 'full' | 'none';
1063
1197
  readonly getMaterialShaderArtifact?: (materialShaderId: string) => MaterialShaderArtifact | undefined;
1064
1198
  }): PreparedExtractContext;
1065
- export declare function extractFrames(worlds: readonly World[], owner: number | ExtractFramesOwner, assets?: AssetRegistry | null, pipelineState?: ExtractPipelineSurface | null, materialSnapshotCachesByWorld?: MaterialSnapshotCachesByWorld, options?: {
1066
- readonly cull?: 'normal' | 'none';
1067
- readonly renderables?: 'full' | 'none';
1068
- readonly getMaterialShaderArtifact?: (materialShaderId: string) => MaterialShaderArtifact | undefined;
1069
- }): ExtractedFrame;
1070
- export declare function extractFrame(world: World, context: PreparedExtractContext): ExtractedFrame;
1071
- export declare function defaultMaterialSnapshot(materialHandle?: number): MaterialSnapshot;
1072
- export {};
1199
+ export declare function fogState(world: World): {
1200
+ lkg: FogFrame | undefined;
1201
+ failure: FogSelectionFailure | undefined;
1202
+ };
1203
+ export declare function selectFogFrame(world: World): FogFrame | undefined;
1204
+ export declare function textureDigest(texture: TextureAsset): string;
1205
+ export declare function extractVolumeSnapshot(world: World, assets: AssetRegistry | null | undefined, worldInternal: WorldInternalView): ExtractedVolumetricFog | undefined;
1206
+ export { defaultMaterialSnapshot, extractFrame, extractFrames } from './render-system-extract-tail';
1073
1207
  //# sourceMappingURL=render-system-extract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-system-extract.d.ts","sourceRoot":"","sources":["../src/render-system-extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-system-extract.d.ts","sourceRoot":"","sources":["../src/render-system-extract.ts"],"names":[],"mappings":"AAmGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAKpE,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAS,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAElG,OAAO,EAAE,KAAK,IAAI,EAAQ,KAAK,IAAI,EAAQ,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAa,KAAK,SAAS,IAAI,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGxF,OAAO,EACL,KAAK,sBAAsB,EAE5B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAEV,MAAM,EACN,aAAa,EACb,4BAA4B,EAC5B,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACb,MAAM,uBAAuB,CAAC;AAqB/B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAOvE,OAAO,KAAK,EACV,gBAAgB,EAEhB,QAAQ,EACR,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,KAAK,EACV,+BAA+B,EAC/B,oCAAoC,EACrC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EACV,6BAA6B,EAC7B,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGnF,OAAO,EACL,KAAK,sBAAsB,EAI5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,mBAAmB;IAClC,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,8EAA8E;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC;CACvC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,gFAAgF;IAChF,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC;IACjC,+EAA+E;IAC/E,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,YAAY,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,gFAAgF;IAChF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,2EAA2E;AAC3E,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,iFAAiF;AACjF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GAAG,kBAAkB,CAsBrB;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,OAAO,CAO/F;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAmBhG;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB,wBAAwB,GACxB,kBAAkB,GAClB,iBAAiB,GACjB,2BAA2B,CAAC;AAEhC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,SAAS,2BAA2B,EAAE,CAAC;IACtD;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,YAAY,EAAE,GAAG,SAAS,CAAC;IAC5D;;;;;OAKG;IACH,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,YAAY,GAAG,SAAS,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,gFAAgF;IAChF,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACxE,+EAA+E;IAC/E,QAAQ,CAAC,sBAAsB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAClE;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACrD;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChE;;;;;;OAMG;IACH,QAAQ,CAAC,uBAAuB,EAAE,IAAI,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAG/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAK7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAI7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;IAClD,QAAQ,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC1D,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;IACtD,6EAA6E;IAC7E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC;IACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,CAAC;IACxC,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IAC1C,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC5D,QAAQ,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,gFAAgF;IAChF,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3D;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAChD,wEAAwE;IACxE,QAAQ,CAAC,sBAAsB,EAAE,SAAS,yBAAyB,EAAE,CAAC;IACtE,kEAAkE;IAClE,QAAQ,CAAC,0BAA0B,CAAC,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAC/E;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;OASG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IACvC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,uBAAuB,CAAC;IACnD;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,CAAC,EAAE,0BAA0B,CAAC;IAC/C,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,CAAC,EAAE,2BAA2B,CAAC;IACnD,8EAA8E;IAC9E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,4BAA4B,EAAE,gBAAgB,CAAC;CACnF;AAED,MAAM,MAAM,wBAAwB,GAAG,gBAAgB,GAAG,cAAc,CAAC;AACzE,MAAM,MAAM,wBAAwB,GAChC,UAAU,GACV,kBAAkB,GAClB,WAAW,GACX,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,mBAAmB,CAAC;AACxB,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC9D,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC1D,QAAQ,CAAC,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,oBAAoB,EAAE,YAAY,GAAG,SAAS,CAAC;CACzD;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,4BAA4B,EAAE,qBAAqB,CAAC;IAC/E,4EAA4E;IAC5E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;QAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,EAAE,CAAC;CACL;AAED,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,oDAAoD;IACpD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,uBAAuB;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACvE;;;;;;;;OAQG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACvD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1F,gFAAgF;IAChF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,CAAC;IACvE,mEAAmE;IACnE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,0BAA0B,CAAC,GAAG,SAAS,CAAC;IAC1F;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5F,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,yBAAyB,CAAC,GAAG,SAAS,CAAC;IACrF;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9F,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC;IAC5F,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IACzE;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IACjF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IACtE,iFAAiF;IACjF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IACxE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,CAAC;IACzE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACvD,6EAA6E;IAC7E,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,qBAAqB,GAAG,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;AAC5E,MAAM,MAAM,6BAA6B,GAAG,OAAO,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;AAElF,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAYjF;AAUD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IACzF;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACtE,OAAO,EAAE,SAAS,CAAC,EAAE,GACpB,CAAC,EAAE,CAGL;AAED,eAAO,MAAM,oBAAoB,EAAE,YAIlC,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,aAAa,EAAE,EAChC,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,EAC/E,eAAe,SAAI,GAClB,IAAI,CA+BN;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC;IACnC,2EAA2E;IAC3E,QAAQ,CAAC,gBAAgB,EAAE,SAAS,cAAc,EAAE,CAAC;IACrD,4EAA4E;IAC5E,QAAQ,CAAC,WAAW,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACpD,uEAAuE;IACvE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC3D,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACnD,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,uEAAuE;IACvE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACrD,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,SAAS,CAAC;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,gFAAgF;IAChF,QAAQ,CAAC,eAAe,EAAE;QAAE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5D,iEAAiE;IACjE,QAAQ,CAAC,mBAAmB,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,0BAA0B,EAAE,SAAS,oCAAoC,EAAE,CAAC;IACrF,iFAAiF;IACjF,QAAQ,CAAC,mBAAmB,EAAE,SAAS,+BAA+B,EAAE,CAAC;CAC1E;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;CACnE;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACrD;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,SAAS,qBAAqB,EAAE,EAC5C,OAAO,EAAE;IAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACvE,qBAAqB,CAiCvB;AAED;;;;;GAKG;AACH,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,KAAK,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC3D,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,eAAe,EACvD,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAC1B,SAAS,EAAE,MAAM,GAChB,cAAc,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,QAAQ;;;EAAiE,CAAC;AAEvF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CASvE;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,YAAY,GAAG,SAAS,CAM1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAAE,SAAS,MAAM,EAS/D,CAAC;AAIF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,GACtC,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAiBjC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAsBpB;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EACP,CAAC,mBAAmB,GAAG;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC,GACF,SAAS,GACZ,mBAAmB,GAAG,SAAS,CAqCjC;AA4CD,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,MAAM,EACtD,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,CAAC,GACP,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,SAAS,CAwBjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,aAAa,GACvB,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,SAAS,CAW5C;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAQrF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIrE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,IAAI,cAAc,CAE3E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAOrF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE1D;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAWzC;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,KAAK,EAAE,KAAK,GACX,GAAG,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAaxC;AAED,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,cAAc,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,GAC/E,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAW/C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,+BAA+B,CAC7C,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACrC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,WAAW,EAAE,SAAS,gBAAgB,EAAE,GAAG,SAAS,EACpD,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,CACV,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,cAAc,KAClB,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,EACjD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,GACpD,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAwB/C;AAID,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,EAAE,MAAM,GAChB,OAAO,CAET;AAED,wBAAgB,+BAA+B,CAC7C,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAC3B,SAAS,gBAAgB,EAAE,CAwC7B;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,SAAS,iBAAiB,EAAE,EACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,EAAE,aAAa,GACpB,SAAS,4BAA4B,EAAE,CAUzC;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,cAAoB,GAAG,OAAO,CAS9E;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,aAAa,GACpB,SAAS,0BAA0B,EAAE,GAAG,SAAS,CAiBnD;AAED,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,qBAAqB,GAAG,SAAS,EACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,GACpB,0BAA0B,GAAG,SAAS,CAexC;AAED;;;;;GAKG;AACH,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,qBAAqB,GAAG,SAAS,EACxC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,aAAa,GACpB,0BAA0B,GAAG,SAAS,CAOxC;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,qBAAqB,EAC5B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,SAAS,YAAY,EAAE,EAC/B,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,aAAa,GACpB,0BAA0B,CAW5B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,aAAa,EACxB,qBAAqB,CAAC,EAAE,qBAAqB,EAC7C,+BAA+B,CAAC,EAAE,qBAAqB,GACtD,gBAAgB,CA8LlB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC5D;AAqGD,wBAAgB,SAAS,CACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,YAAY,CAoBd;AAiCD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,CAwB1F;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,cAAc,CAAC;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,IAAI,EACf,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,aAAa,GAAG,SAAS,GACpC,oBAAoB,GAAG,IAAI,CAqI7B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,aAAa,EAAE,sBAAsB,GAAG,IAAI,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAClE;iFAC6E;IAC7E,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,sFAAsF;IACtF,QAAQ,CAAC,yBAAyB,EAC9B,CAAC,CAAC,gBAAgB,EAAE,MAAM,KAAK,sBAAsB,GAAG,SAAS,CAAC,GAClE,SAAS,CAAC;CACf;AAmED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,KAAK,GAAG,kBAAkB,EAAE,CAsB7E;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,KAAK,GAAG,mBAAmB,EAAE,CA8B/E;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,SAAS,cAAc,EAAE,CAAC;CAC/C;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,mBAAmB,CA6BnE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,EAAE,CAErE;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,cAAc,EAAE,CAEpF;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAQhE;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE;IACP,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IACvD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CACnC,gBAAgB,EAAE,MAAM,KACrB,sBAAsB,GAAG,SAAS,CAAC;CACpC,GACL,sBAAsB,CAaxB;AAQD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG;IACtC,GAAG,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC1B,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC1C,CAMA;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CA2CjE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAO3D;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,EACxC,aAAa,EAAE,iBAAiB,GAC/B,sBAAsB,GAAG,SAAS,CA6JpC;AAUD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,23 +1,33 @@
1
+ import { type MipmapEncoderWork } from '@forgeax/engine-assets-runtime';
1
2
  import type { World } from '@forgeax/engine-ecs';
2
3
  import type { RenderReadLease } from '@forgeax/engine-ecs/projection';
3
4
  import type { CompiledRenderGraphInfo } from '@forgeax/engine-render-graph';
4
- import { type Result } from '@forgeax/engine-rhi';
5
+ import type { Buffer, RenderPipeline, RhiDevice } from '@forgeax/engine-rhi';
6
+ import { type Result, RhiError } from '@forgeax/engine-rhi';
5
7
  import { type RenderPipelineAsset } from '@forgeax/engine-types';
8
+ import type { DeviceScope, LifecycleResourceSpec } from './device/device-scope';
6
9
  import { type ObservationUnavailableError } from './errors/render';
10
+ import { type RenderFeatureHost } from './features/host';
11
+ import { type RenderFeatureGpuWorkOwner } from './features/prepared-gpu-work';
7
12
  import { type PostProcessShaderEntry } from './fullscreen-post-process-pass';
13
+ import { GpuDrivenProduction } from './gpu-driven/production-raster';
8
14
  import type { BloomInspection, DirectionalShadowInspection, GpuDrivenProductionInspection, LodOcclusionInspection, MotionBlurInspection, ReflectionProbeInspection, RenderSceneInspection, SsrDependenciesInspection, TemporalTargetInspection, TransmissionInspection } from './inspection-types';
9
15
  import type { PointsLinesRetainedSnapshot } from './points-lines/snapshot';
10
16
  export type { RenderSceneInspection } from './inspection-types';
17
+ import type { GpuResidencyCache } from './device/gpu-residency';
11
18
  import type { EnvironmentInspection } from './environment/inspection';
12
19
  import { type MeshMaterialBindingObservation } from './mesh-material-bindings';
13
20
  import type { StandardLightingInspection } from './pipeline/standard-lighting/inspection';
14
21
  import type { PointShadowInspection } from './point-shadow-inspection';
15
22
  import { type FrameObservation, type FrameObservationOptions } from './record/frame';
16
- import type { CurrentGraphTarget, GraphTargetCaptureRequest } from './record/frame-snapshot';
23
+ import type { CurrentGraphTarget, GraphTargetCaptureRequest, RenderFrameState } from './record/frame-snapshot';
17
24
  import type { GpuPassTimingSession } from './record/gpu-pass-timing/session';
18
25
  import type { GpuTimingCapture } from './record/gpu-timing';
19
- import type { RenderSystemInternals } from './record/render-context';
26
+ import type { RecoveryPipelineReadiness } from './record/recovery-pipeline';
27
+ import type { PipelineState, RenderSystemInternals } from './record/render-context';
28
+ import { type RenderFeatureGraphCandidate } from './record/typed-frame-graph';
20
29
  import { type CameraSnapshot, type DrawOwnerOptions } from './render-contract';
30
+ import { type PersistentGpuDrivenCandidate } from './scene/render-scene';
21
31
  import type { RenderTarget } from './targets/contracts';
22
32
  import { type TemporalFrame } from './temporal/frame';
23
33
  import { type TemporalInspection } from './temporal/inspection';
@@ -25,6 +35,40 @@ import { type TemporalInspection } from './temporal/inspection';
25
35
  export declare function attachGpuPassTimingSession(internals: object, session: GpuPassTimingSession | undefined): void;
26
36
  export type { _InternalRenderPipelineContext, _StandardForwardSceneView, PerPassResources, PipelineState, RenderSystemInternals, RenderSystemRuntime, SurfaceBackendKind, SurfaceCapabilityFacts, SurfaceProfile, SwapChainFormatPair, } from './record/render-context';
27
37
  export { configureSurface, MATERIAL_PER_ENTITY_STRIDE, resolveSurfaceFormatPair, resolveSurfaceProfile, STANDARD_PBR_UBO_SIZE, selectSwapChainFormat, } from './record/render-context';
38
+ export type RendererProducerRootKind = 'backend-surface' | 'shader-material-pipeline' | 'mesh-texture-sampler' | 'render-scene' | 'gpu-driven' | 'feature' | 'external-source' | 'render-graph' | 'target-history' | 'observation-lease';
39
+ export interface RendererProducerRoot {
40
+ readonly kind: RendererProducerRootKind;
41
+ readonly owner: string;
42
+ readonly candidateScope: 'device-scope';
43
+ readonly visibility: 'visible-workset' | 'non-visible-lazy';
44
+ readonly disabledWork: 'zero' | 'lazy';
45
+ }
46
+ /** Device-bound post-process resources prepared off to the side of the active renderer. */
47
+ export interface RecoveryPostProcessResources {
48
+ readonly device: RhiDevice;
49
+ readonly paramsBuffers: Map<string, Buffer>;
50
+ }
51
+ export declare function createRendererProducerRootMatrix(): readonly RendererProducerRoot[];
52
+ /**
53
+ * Production-owned recovery facts. These values are projections of the live
54
+ * RenderSystem owners; they are not a test ledger or a second graph model.
55
+ */
56
+ export interface RecoveryProductionEvidence {
57
+ readonly producerRoots: readonly RendererProducerRoot[];
58
+ readonly graph: {
59
+ readonly ready: boolean;
60
+ readonly generation: number;
61
+ readonly passCount: number;
62
+ readonly resourceCount: number;
63
+ };
64
+ readonly residency: {
65
+ readonly meshResidencyEpoch: number;
66
+ };
67
+ readonly submissions: {
68
+ readonly count: number;
69
+ readonly lastGeneration: number | undefined;
70
+ };
71
+ }
28
72
  /**
29
73
  * Engine-internal Extract / Prepare / Record driver; constructed by createRenderer.
30
74
  *
@@ -44,6 +88,14 @@ export { configureSurface, MATERIAL_PER_ENTITY_STRIDE, resolveSurfaceFormatPair,
44
88
  export interface RenderSystem {
45
89
  /** Returns true only when this invocation reached queue submission. */
46
90
  draw(worlds: readonly World[], opts: DrawOwnerOptions, renderReadLeases?: readonly RenderReadLease[], timingCapture?: GpuTimingCapture): boolean;
91
+ /** Prepare a detached graph candidate without entering the frame record path. */
92
+ prepareRecoveryGraphCandidate(runtime: RecoveryGraphCandidateRuntime): RecoveryGraphCandidatePreparation;
93
+ /** Finish and submit detached candidate setup, never a frame receipt. */
94
+ submitCandidateSetup(candidate: RecoveryGraphCandidate, isValid: () => boolean): Result<RecoveryGraphSetupSubmission, RhiError>;
95
+ /** Publish a detached graph candidate at the generation publication boundary. */
96
+ publishRecoveryGraphCandidate(candidate: RecoveryGraphCandidate): void;
97
+ /** Discard a detached graph candidate that did not reach publication. */
98
+ discardRecoveryGraphCandidate(candidate: RecoveryGraphCandidate): void;
47
99
  /** Release renderer-owned persistent state for one detached World. */
48
100
  detachScene(world: World): void;
49
101
  /** Release the profiler catalog contribution owned by this RenderSystem. */
@@ -99,6 +151,8 @@ export interface RenderSystem {
99
151
  readonly pointsLinesSnapshots: readonly PointsLinesRetainedSnapshot[];
100
152
  /** Current mesh-slot provenance and active diagnostics from the last frame. */
101
153
  readonly meshMaterialBindings: readonly MeshMaterialBindingObservation[];
154
+ /** Final-submit IBL binding-chain receipt for the last diagnostic frame. */
155
+ readonly iblBinding: import('./mesh-material-bindings').IblBindingInspection | undefined;
102
156
  /**
103
157
  * feat-20260531-bloom-first-declarative-render-graph-pass M4 fix-up w19:
104
158
  * per-frame render-graph pass names in declaration order. Empty array
@@ -112,6 +166,8 @@ export interface RenderSystem {
112
166
  readonly lastSuccessfulCameraAntialias: CameraSnapshot['antialias'] | undefined;
113
167
  /** Detached compiled-graph facts used by the renderer inspection owner. */
114
168
  readonly perFrameGraphInfo: CompiledRenderGraphInfo | undefined;
169
+ /** Production-owner recovery facts used by Renderer.inspect(). */
170
+ readonly recoveryEvidence: RecoveryProductionEvidence;
115
171
  /**
116
172
  * feat-20260531-per-frame-bind-group-cache M1 / w4: per-frame
117
173
  * createBindGroup counter. Reset to 0 on every `draw([world], { cameraOwner: 0, resourceOwner: 0 })` entry,
@@ -139,6 +195,8 @@ export interface RenderSystem {
139
195
  configureStandard(config: RenderPipelineAsset['config']): void;
140
196
  /** Register one engine-owned post-process shader used by the Standard lane. */
141
197
  registerBuiltinPostProcess(id: string, entry: PostProcessShaderEntry): () => void;
198
+ /** Resolve one active built-in post-process declaration for a detached candidate. */
199
+ readonly lookupPostProcess: (id: string) => PostProcessShaderEntry | undefined;
142
200
  /**
143
201
  * feat-20260612-rhi-destroy-renderer-dispose-gpu-lifecycle / M5 / w21:
144
202
  * release the per-RenderSystem frame-state GPU bookkeeping during
@@ -161,9 +219,75 @@ export interface RenderSystem {
161
219
  * handles and are rebuilt after the replacement device is live.
162
220
  * Idempotent and graph-optional (no-op when nothing has compiled yet).
163
221
  */
164
- resetForRecover(): void;
222
+ resetForRecover(retiringPipelineState?: PipelineState, replacementDevice?: RhiDevice): void;
223
+ /** Build post-process parameter buffers without mutating the active bundle. */
224
+ prepareRecoveryPostProcessResources(device: RhiDevice): Result<RecoveryPostProcessResources, RhiError>;
225
+ /** Publish a previously prepared post-process bundle at the recovery boundary. */
226
+ publishRecoveryPostProcessResources(candidate: RecoveryPostProcessResources): void;
227
+ /** Release a candidate bundle that was never published. */
228
+ discardRecoveryPostProcessResources(candidate: RecoveryPostProcessResources): void;
165
229
  /** Recreate post-process GPU parameter resources after a device rebuild. */
166
230
  restorePostProcessResources(): void;
231
+ /** Build candidate roots from explicit candidate-owned device state. */
232
+ prepareRecoveryRoots(runtime: RecoveryRootRuntime): RecoveryRootBundle;
233
+ }
234
+ /** The single Points/Lines owner’s staged device-generation handoff. */
235
+ export interface RecoveryPointsLinesCandidate {
236
+ createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
237
+ publish(): void;
238
+ release(): void;
239
+ }
240
+ /** Candidate-only device/runtime inputs used by the recovery prepare seam. */
241
+ export interface RecoveryGraphCandidateRuntime {
242
+ readonly internals: RenderSystemInternals;
243
+ readonly pipelineState: PipelineState;
244
+ }
245
+ /** Detached graph state prepared on a replacement device, before publication. */
246
+ export interface RecoveryGraphCandidate {
247
+ readonly frameState: RenderFrameState;
248
+ readonly setupWorks: readonly MipmapEncoderWork[];
249
+ readonly device: RhiDevice;
250
+ readonly generation: number;
251
+ readonly gpuDrivenProduction?: GpuDrivenProduction;
252
+ readonly gpuDrivenScene?: PersistentGpuDrivenCandidate;
253
+ /** Staged CPU-expanded Points/Lines buffers owned by the same RenderSystem. */
254
+ readonly pointsLines?: RecoveryPointsLinesCandidate;
255
+ readonly featureHost?: RenderFeatureHost;
256
+ readonly featureGpuWork?: RenderFeatureGpuWorkOwner;
257
+ readonly featureGraphCandidate?: RenderFeatureGraphCandidate;
258
+ readonly postProcessPipelines?: ReadonlyMap<string, RenderPipeline>;
259
+ readonly recoveryReadiness: RecoveryPipelineReadiness;
260
+ /** Release all candidate roots before publication; safe to call repeatedly. */
261
+ readonly release: () => void;
262
+ /** Transfer candidate-root ownership to the published RenderSystem. */
263
+ readonly markPublished: () => void;
264
+ }
265
+ /** Candidate setup completion; completion is bounded by the recovery owner. */
266
+ export interface RecoveryGraphSetupSubmission {
267
+ readonly completion?: PromiseLike<unknown>;
268
+ }
269
+ export type RecoveryGraphCandidatePreparation = {
270
+ readonly kind: 'no-seed';
271
+ } | {
272
+ readonly kind: 'ready';
273
+ readonly candidate: RecoveryGraphCandidate;
274
+ } | {
275
+ readonly kind: 'failed';
276
+ readonly reason: string;
277
+ readonly cause?: unknown;
278
+ };
279
+ /** Explicit candidate-owned inputs for lifecycle-root preparation. */
280
+ export interface RecoveryRootRuntime {
281
+ readonly scope: DeviceScope;
282
+ readonly device: RhiDevice;
283
+ readonly gpuStore: GpuResidencyCache;
284
+ readonly graphCandidate?: RecoveryGraphCandidate | undefined;
285
+ }
286
+ /** Candidate roots plus the one synchronous owner switch at publication. */
287
+ export interface RecoveryRootBundle {
288
+ readonly roots: readonly LifecycleResourceSpec<unknown>[];
289
+ publish(): void;
290
+ discard(): void;
167
291
  }
168
292
  export declare function createRenderSystem(internals: RenderSystemInternals): RenderSystem;
169
293
  /** Resolve the build identity used by every inspection submit. */
@@ -1 +1 @@
1
- {"version":3,"file":"render-system.d.ts","sourceRoot":"","sources":["../src/render-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render-system.d.ts","sourceRoot":"","sources":["../src/render-system.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { World } from '@forgeax/engine-ecs';
2
2
  import type { RenderReadLease } from '@forgeax/engine-ecs/projection';
3
3
  import { type RhiDevice, RhiError } from '@forgeax/engine-rhi';
4
4
  import { type Result } from '@forgeax/engine-types';
5
+ import type { DeviceScope, LifecycleResourceSpec } from '../device/device-scope';
5
6
  import { type SubmissionPlan } from '../gpu-driven/batch-topology';
6
7
  import { GpuScene } from '../gpu-scene';
7
8
  import type { PersistentRenderSceneInspection } from '../inspection-types';
@@ -148,6 +149,21 @@ export interface PersistentVisibilityProjection {
148
149
  }
149
150
  /** Project one selected candidate per view and primitive from the facet owner. */
150
151
  export declare function projectCpuDirectCandidates(facets: VisibilityFacetStore, views: readonly CpuDirectViewInput[]): readonly CpuDirectCandidate[];
152
+ /** Detached GPU scene prepared from the retained CPU composition. */
153
+ export interface PersistentGpuDrivenCandidate {
154
+ readonly state: PersistentGpuDrivenState | undefined;
155
+ /** Candidate-owned scene root; never references the active GPU scene. */
156
+ createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
157
+ publish(): void;
158
+ discard(): void;
159
+ /** Release the candidate scene even after it has crossed publication. */
160
+ release(): void;
161
+ }
162
+ export interface RenderSceneRecoveryRoot {
163
+ readonly generation: number;
164
+ readonly revision: number;
165
+ readonly visibleSlots: number;
166
+ }
151
167
  /** Persistent scene projection used by the renderer's multi-World composition path. */
152
168
  export declare class PersistentRenderScene {
153
169
  private readonly options;
@@ -228,6 +244,9 @@ export declare class PersistentRenderScene {
228
244
  detach(world: World): void;
229
245
  /** Drop only device-owned tables; the CPU projection remains the recovery authority. */
230
246
  resetGpuForRecover(): void;
247
+ /** Prepare a detached GPU scene without changing the active scene owner. */
248
+ prepareRecoveryGpuDrivenCandidate(device: RhiDevice): Result<PersistentGpuDrivenCandidate, RhiError>;
249
+ createRecoveryRoot(scope: DeviceScope): LifecycleResourceSpec<unknown>;
231
250
  setPointsLinesInspections(inspections: readonly PointsLinesInspection[]): void;
232
251
  dispose(): void;
233
252
  inspect(): PersistentRenderSceneInspection;