@flighthq/render 0.5.0-next.1944.cd6b6e7 → 0.5.1-edge.1047.858b9b6

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 (62) hide show
  1. package/README.md +2 -2
  2. package/dist/contract.d.ts +7 -0
  3. package/dist/contract.d.ts.map +1 -1
  4. package/dist/contract.js +7 -0
  5. package/dist/contract.js.map +1 -1
  6. package/dist/explainScene2DPipelineCoverage.d.ts +3 -0
  7. package/dist/explainScene2DPipelineCoverage.d.ts.map +1 -0
  8. package/dist/explainScene2DPipelineCoverage.js +37 -0
  9. package/dist/explainScene2DPipelineCoverage.js.map +1 -0
  10. package/dist/explainScene3DPipelineCoverage.d.ts +3 -0
  11. package/dist/explainScene3DPipelineCoverage.d.ts.map +1 -0
  12. package/dist/explainScene3DPipelineCoverage.js +74 -0
  13. package/dist/explainScene3DPipelineCoverage.js.map +1 -0
  14. package/dist/index.d.ts +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/raster2DSurface.d.ts +4 -0
  19. package/dist/raster2DSurface.d.ts.map +1 -0
  20. package/dist/raster2DSurface.js +18 -0
  21. package/dist/raster2DSurface.js.map +1 -0
  22. package/dist/renderCache.d.ts +13 -11
  23. package/dist/renderCache.d.ts.map +1 -1
  24. package/dist/renderCache.js +41 -30
  25. package/dist/renderCache.js.map +1 -1
  26. package/dist/renderProxy.d.ts +2 -1
  27. package/dist/renderProxy.d.ts.map +1 -1
  28. package/dist/renderProxy.js +30 -27
  29. package/dist/renderProxy.js.map +1 -1
  30. package/dist/renderProxyAdapter.d.ts +1 -3
  31. package/dist/renderProxyAdapter.d.ts.map +1 -1
  32. package/dist/renderProxyAdapter.js.map +1 -1
  33. package/dist/renderQueue.d.ts +2 -1
  34. package/dist/renderQueue.d.ts.map +1 -1
  35. package/dist/renderQueue.js +9 -2
  36. package/dist/renderQueue.js.map +1 -1
  37. package/dist/renderRegistryGuards.js +1 -1
  38. package/dist/renderRegistryGuards.js.map +1 -1
  39. package/dist/renderState.d.ts +2 -1
  40. package/dist/renderState.d.ts.map +1 -1
  41. package/dist/renderState.js +20 -17
  42. package/dist/renderState.js.map +1 -1
  43. package/dist/renderViewport.d.ts +3 -4
  44. package/dist/renderViewport.d.ts.map +1 -1
  45. package/dist/renderViewport.js +7 -5
  46. package/dist/renderViewport.js.map +1 -1
  47. package/dist/sceneRender.d.ts +1 -1
  48. package/dist/sceneRender.d.ts.map +1 -1
  49. package/dist/sceneRender.js +55 -6
  50. package/dist/sceneRender.js.map +1 -1
  51. package/package.json +12 -12
  52. package/src/enableColorAdjustmentGuards.test.ts +4 -2
  53. package/src/explainScene2DPipelineCoverage.test.ts +78 -0
  54. package/src/explainScene3DPipelineCoverage.test.ts +113 -0
  55. package/src/raster2DSurface.test.ts +74 -0
  56. package/src/renderCache.test.ts +43 -3
  57. package/src/renderProxy.test.ts +15 -3
  58. package/src/renderProxyAdapter.test.ts +5 -1
  59. package/src/renderQueue.test.ts +7 -1
  60. package/src/renderState.test.ts +6 -0
  61. package/src/renderViewport.test.ts +18 -32
  62. package/src/sceneRender.test.ts +90 -1
package/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/render`. The `@fligh
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/render@0.5.0-next.1944.cd6b6e7](https://github.com/flighthq/flight/tree/cd6b6e71eb472b3a4249830a7743333f019fa7b7/packages/render)
17
- - [License](https://github.com/flighthq/flight/blob/cd6b6e71eb472b3a4249830a7743333f019fa7b7/LICENSE.md)
16
+ - [Source for @flighthq/render@0.5.1-edge.1047.858b9b6](https://github.com/flighthq/flight/tree/858b9b601de814f6b6940cbb1ffff0916b903268/packages/render)
17
+ - [License](https://github.com/flighthq/flight/blob/858b9b601de814f6b6940cbb1ffff0916b903268/LICENSE.md)
@@ -10,7 +10,10 @@ export * from './renderMaterial';
10
10
  export * from './renderProxy';
11
11
  export * from './renderProxyAdapter';
12
12
  export * from './renderQueue';
13
+ export * from './raster2DSurface';
13
14
  export * from './explainScene2DCoverage';
15
+ export * from './explainScene2DPipelineCoverage';
16
+ export * from './explainScene3DPipelineCoverage';
14
17
  export * from './renderRegistryGuards';
15
18
  export * from './renderRegistrySignals';
16
19
  export * from './renderState';
@@ -19,4 +22,8 @@ export * from './renderTransform2d';
19
22
  export * from './renderViewport';
20
23
  export * from './sceneRender';
21
24
  export { SCENE2D_WORKING_COLOR_SPACE } from './scene2dWorkingColorSpace';
25
+ export { initializeRenderProxy } from './renderProxy';
26
+ export { initializeRenderCache, initializeRenderCacheAdapter } from './renderCache';
27
+ export { initializeRenderQueue } from './renderQueue';
28
+ export { initializeRenderState } from './renderState';
22
29
  //# sourceMappingURL=contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
package/dist/contract.js CHANGED
@@ -10,7 +10,10 @@ export * from './renderMaterial';
10
10
  export * from './renderProxy';
11
11
  export * from './renderProxyAdapter';
12
12
  export * from './renderQueue';
13
+ export * from './raster2DSurface';
13
14
  export * from './explainScene2DCoverage';
15
+ export * from './explainScene2DPipelineCoverage';
16
+ export * from './explainScene3DPipelineCoverage';
14
17
  export * from './renderRegistryGuards';
15
18
  export * from './renderRegistrySignals';
16
19
  export * from './renderState';
@@ -19,4 +22,8 @@ export * from './renderTransform2d';
19
22
  export * from './renderViewport';
20
23
  export * from './sceneRender';
21
24
  export { SCENE2D_WORKING_COLOR_SPACE } from './scene2dWorkingColorSpace';
25
+ export { initializeRenderProxy } from './renderProxy';
26
+ export { initializeRenderCache, initializeRenderCacheAdapter } from './renderCache';
27
+ export { initializeRenderQueue } from './renderQueue';
28
+ export { initializeRenderState } from './renderState';
22
29
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { NodeAny, RenderState, Scene2DPipelineCoverageExplanation } from '@flighthq/types/contract';
2
+ export declare function explainScene2DPipelineCoverage(state: RenderState, scene: Readonly<NodeAny>): Scene2DPipelineCoverageExplanation;
3
+ //# sourceMappingURL=explainScene2DPipelineCoverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainScene2DPipelineCoverage.d.ts","sourceRoot":"","sources":["../src/explainScene2DPipelineCoverage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAQ,OAAO,EAAE,WAAW,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AAI/G,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GACvB,kCAAkC,CAsBpC"}
@@ -0,0 +1,37 @@
1
+ import { getNodeRuntime } from '@flighthq/node/contract';
2
+ import { getRegistryTableKeys } from '@flighthq/registry/contract';
3
+ import { getRenderStateRuntime } from './renderState';
4
+ export function explainScene2DPipelineCoverage(state, scene) {
5
+ const usedSet = new Set();
6
+ collectUsedKinds(usedSet, scene);
7
+ const registeredKinds = [];
8
+ getRegistryTableKeys(registeredKinds, getRenderStateRuntime(state).registries.renderers);
9
+ registeredKinds.sort();
10
+ const usedKinds = Array.from(usedSet).sort();
11
+ const registeredSet = new Set(registeredKinds);
12
+ const uncoveredKinds = [];
13
+ for (const kind of usedKinds) {
14
+ if (!registeredSet.has(kind))
15
+ uncoveredKinds.push(kind);
16
+ }
17
+ const unusedRegistrations = [];
18
+ for (const kind of registeredKinds) {
19
+ if (!usedSet.has(kind))
20
+ unusedRegistrations.push(kind);
21
+ }
22
+ return { registeredKinds, uncoveredKinds, unusedRegistrations, usedKinds };
23
+ }
24
+ function collectUsedKinds(out, root) {
25
+ const stack = [root];
26
+ while (stack.length > 0) {
27
+ const current = stack.pop();
28
+ out.add(current.kind);
29
+ const children = getNodeRuntime(current).children;
30
+ if (children !== null) {
31
+ for (let i = children.length - 1; i >= 0; i--) {
32
+ stack.push(children[i]);
33
+ }
34
+ }
35
+ }
36
+ }
37
+ //# sourceMappingURL=explainScene2DPipelineCoverage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainScene2DPipelineCoverage.js","sourceRoot":"","sources":["../src/explainScene2DPipelineCoverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,UAAU,8BAA8B,CAC5C,KAAkB,EAClB,KAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAQ,CAAC;IAChC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAEjC,MAAM,eAAe,GAAW,EAAE,CAAC;IACnC,oBAAoB,CAAC,eAAe,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzF,eAAe,CAAC,IAAI,EAAE,CAAC;IAEvB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;IAE/C,MAAM,cAAc,GAAW,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,mBAAmB,GAAW,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAc,EAAE,IAAuB;IAC/D,MAAM,KAAK,GAAwB,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;QAC7B,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAkB,CAAC,CAAC,QAAQ,CAAC;QAC7D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { NodeAny, RegistryTable, RenderState, Scene3DPipelineCoverageExplanation } from '@flighthq/types/contract';
2
+ export declare function explainScene3DPipelineCoverage(state: RenderState, scene: Readonly<NodeAny>, materialRenderers: Readonly<RegistryTable<unknown>> | null): Scene3DPipelineCoverageExplanation;
3
+ //# sourceMappingURL=explainScene3DPipelineCoverage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainScene3DPipelineCoverage.d.ts","sourceRoot":"","sources":["../src/explainScene3DPipelineCoverage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,OAAO,EACP,aAAa,EACb,WAAW,EACX,kCAAkC,EACnC,MAAM,0BAA0B,CAAC;AAOlC,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,iBAAiB,EAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GACzD,kCAAkC,CAmDpC"}
@@ -0,0 +1,74 @@
1
+ import { getNodeRuntime } from '@flighthq/node/contract';
2
+ import { getRegistryTableKeys } from '@flighthq/registry/contract';
3
+ import { StandardMaterialKind } from '@flighthq/types/contract';
4
+ import { getRenderStateRuntime } from './renderState';
5
+ // Material renderers live on backend-specific registries (GlRenderRegistries, WgpuRenderRegistries),
6
+ // not on the base RenderRegistries, so the caller passes them explicitly.
7
+ export function explainScene3DPipelineCoverage(state, scene, materialRenderers) {
8
+ const usedKindSet = new Set();
9
+ const usedMaterialKindSet = new Set();
10
+ collectUsed3DKinds(usedKindSet, usedMaterialKindSet, scene);
11
+ const registeredKinds = [];
12
+ getRegistryTableKeys(registeredKinds, getRenderStateRuntime(state).registries.renderers);
13
+ registeredKinds.sort();
14
+ const registeredMaterialKinds = [];
15
+ if (materialRenderers !== null) {
16
+ getRegistryTableKeys(registeredMaterialKinds, materialRenderers);
17
+ }
18
+ registeredMaterialKinds.sort();
19
+ const usedKinds = Array.from(usedKindSet).sort();
20
+ const usedMaterialKinds = Array.from(usedMaterialKindSet).sort();
21
+ const registeredKindSet = new Set(registeredKinds);
22
+ const registeredMaterialKindSet = new Set(registeredMaterialKinds);
23
+ const uncoveredKinds = [];
24
+ for (const kind of usedKinds) {
25
+ if (!registeredKindSet.has(kind))
26
+ uncoveredKinds.push(kind);
27
+ }
28
+ const unusedRegistrations = [];
29
+ for (const kind of registeredKinds) {
30
+ if (!usedKindSet.has(kind))
31
+ unusedRegistrations.push(kind);
32
+ }
33
+ const uncoveredMaterialKinds = [];
34
+ for (const kind of usedMaterialKinds) {
35
+ if (!registeredMaterialKindSet.has(kind))
36
+ uncoveredMaterialKinds.push(kind);
37
+ }
38
+ const unusedMaterialRegistrations = [];
39
+ for (const kind of registeredMaterialKinds) {
40
+ if (!usedMaterialKindSet.has(kind))
41
+ unusedMaterialRegistrations.push(kind);
42
+ }
43
+ return {
44
+ registeredKinds,
45
+ registeredMaterialKinds,
46
+ uncoveredKinds,
47
+ uncoveredMaterialKinds,
48
+ unusedMaterialRegistrations,
49
+ unusedRegistrations,
50
+ usedKinds,
51
+ usedMaterialKinds,
52
+ };
53
+ }
54
+ function collectUsed3DKinds(outKinds, outMaterialKinds, root) {
55
+ const stack = [root];
56
+ while (stack.length > 0) {
57
+ const current = stack.pop();
58
+ outKinds.add(current.kind);
59
+ if ('materials' in current) {
60
+ const materials = current.materials;
61
+ for (let i = 0; i < materials.length; i++) {
62
+ const mat = materials[i];
63
+ outMaterialKinds.add(mat !== null ? mat.kind : StandardMaterialKind);
64
+ }
65
+ }
66
+ const children = getNodeRuntime(current).children;
67
+ if (children !== null) {
68
+ for (let i = children.length - 1; i >= 0; i--) {
69
+ stack.push(children[i]);
70
+ }
71
+ }
72
+ }
73
+ }
74
+ //# sourceMappingURL=explainScene3DPipelineCoverage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explainScene3DPipelineCoverage.js","sourceRoot":"","sources":["../src/explainScene3DPipelineCoverage.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { areColorAdjustmentsEnabled, disableSceneRenderGuards, enableColorAdjustments, enableSceneRenderGuards, createRenderCache, destroyRenderState, disposeScene2DRender, enableRenderRegistryGuards, enableRenderRegistrySignals, explainRenderRegistryMisses, packScene3DLightBlock, prepareScene2DRender, prepareScene3DRender, registerRenderer, useRenderCache, } from './contract';
1
+ export { areColorAdjustmentsEnabled, createRaster2DSurface, destroyRaster2DSurface, disableSceneRenderGuards, enableColorAdjustments, enableSceneRenderGuards, createRenderCache, destroyRenderState, disposeScene2DRender, enableRenderRegistryGuards, enableRenderRegistrySignals, explainRenderRegistryMisses, explainScene2DPipelineCoverage, explainScene3DPipelineCoverage, packScene3DLightBlock, prepareScene2DRender, prepareScene3DRender, registerRenderer, useRenderCache, } from './contract';
2
2
  export { SCENE2D_WORKING_COLOR_SPACE } from './scene2dWorkingColorSpace';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { areColorAdjustmentsEnabled, disableSceneRenderGuards, enableColorAdjustments, enableSceneRenderGuards, createRenderCache, destroyRenderState, disposeScene2DRender, enableRenderRegistryGuards, enableRenderRegistrySignals, explainRenderRegistryMisses, packScene3DLightBlock, prepareScene2DRender, prepareScene3DRender, registerRenderer, useRenderCache, } from './contract';
1
+ export { areColorAdjustmentsEnabled, createRaster2DSurface, destroyRaster2DSurface, disableSceneRenderGuards, enableColorAdjustments, enableSceneRenderGuards, createRenderCache, destroyRenderState, disposeScene2DRender, enableRenderRegistryGuards, enableRenderRegistrySignals, explainRenderRegistryMisses, explainScene2DPipelineCoverage, explainScene3DPipelineCoverage, packScene3DLightBlock, prepareScene2DRender, prepareScene3DRender, registerRenderer, useRenderCache, } from './contract';
2
2
  export { SCENE2D_WORKING_COLOR_SPACE } from './scene2dWorkingColorSpace';
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,8BAA8B,EAC9B,8BAA8B,EAC9B,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Raster2DSurface, Raster2DSurfaceProvider } from '@flighthq/types/contract';
2
+ export declare function createRaster2DSurface(provider: Readonly<Raster2DSurfaceProvider>, width: number, height: number): Raster2DSurface | null;
3
+ export declare function destroyRaster2DSurface(surface: Raster2DSurface): void;
4
+ //# sourceMappingURL=raster2DSurface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raster2DSurface.d.ts","sourceRoot":"","sources":["../src/raster2DSurface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAC3C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,eAAe,GAAG,IAAI,CAIxB;AAKD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAKrE"}
@@ -0,0 +1,18 @@
1
+ export function createRaster2DSurface(provider, width, height) {
2
+ const surface = provider.createRaster2DSurface(width, height);
3
+ if (surface !== null)
4
+ _surfaceProviders.set(surface, provider);
5
+ return surface;
6
+ }
7
+ // A surface must return to the provider that allocated it even when the provider reference changes
8
+ // during its lifetime. Delete the ownership record before invoking the provider so repeated or
9
+ // reentrant destruction is a no-op and no non-GC resource can be freed twice.
10
+ export function destroyRaster2DSurface(surface) {
11
+ const provider = _surfaceProviders.get(surface);
12
+ if (provider === undefined)
13
+ return;
14
+ _surfaceProviders.delete(surface);
15
+ provider.destroyRaster2DSurface(surface);
16
+ }
17
+ const _surfaceProviders = new WeakMap();
18
+ //# sourceMappingURL=raster2DSurface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"raster2DSurface.js","sourceRoot":"","sources":["../src/raster2DSurface.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,qBAAqB,CACnC,QAA2C,EAC3C,KAAa,EACb,MAAc;IAEd,MAAM,OAAO,GAAG,QAAQ,CAAC,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9D,IAAI,OAAO,KAAK,IAAI;QAAE,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC/D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mGAAmG;AACnG,+FAA+F;AAC/F,8EAA8E;AAC9E,MAAM,UAAU,sBAAsB,CAAC,OAAwB;IAC7D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO;IACnC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAsD,CAAC"}
@@ -1,17 +1,7 @@
1
- import type { Renderable, RenderCache, RenderCacheAdapter, Renderer, RenderState } from '@flighthq/types/contract';
1
+ import type { Renderable, RenderCache, RenderCacheAdapter, Renderer, RenderState, EntityConstruction } from '@flighthq/types/contract';
2
2
  import { RenderCacheKind } from '@flighthq/types/contract';
3
3
  export { RenderCacheKind };
4
- /**
5
- * Creates a backend-agnostic cache handle. The handle owns no resource; a backend
6
- * allocates and stores its own render target on the render state, keyed by this handle,
7
- * when the cache is first refreshed.
8
- */
9
4
  export declare function createRenderCache(): RenderCache;
10
- /**
11
- * Creates an adapter that, during the render update pass, substitutes its cache handle
12
- * for `source` so the cached result is composited instead of the source subtree being
13
- * traversed. Returns null from `adapt` (renders normally) until a cache is attached.
14
- */
15
5
  export declare function createRenderCacheAdapter(cache?: RenderCache | null): RenderCacheAdapter;
16
6
  /**
17
7
  * Opts an adapter into the onPrepare signal, emitted each time the adapter is consulted
@@ -23,6 +13,18 @@ export declare function enableRenderCacheAdapterSignals(adapter: RenderCacheAdap
23
13
  * cache adapter attached to the node's source on this state. Returns null if none is attached.
24
14
  */
25
15
  export declare function getRenderProxyCache(state: RenderState, source: Renderable): RenderCache | null;
16
+ /**
17
+ * Creates a backend-agnostic cache handle. The handle owns no resource; a backend
18
+ * allocates and stores its own render target on the render state, keyed by this handle,
19
+ * when the cache is first refreshed.
20
+ */
21
+ export declare function initializeRenderCache(out: EntityConstruction<RenderCache>): void;
22
+ /**
23
+ * Creates an adapter that, during the render update pass, substitutes its cache handle
24
+ * for `source` so the cached result is composited instead of the source subtree being
25
+ * traversed. Returns null from `adapt` (renders normally) until a cache is attached.
26
+ */
27
+ export declare function initializeRenderCacheAdapter(adapter: EntityConstruction<RenderCacheAdapter>, cache?: RenderCache | null): void;
26
28
  export declare function isRenderCache(source: unknown): source is RenderCache;
27
29
  export declare function isRenderCacheAdapter(value: unknown): value is RenderCacheAdapter;
28
30
  export declare function registerRenderCacheRenderer(state: RenderState, renderer: Renderer): void;
@@ -1 +1 @@
1
- {"version":3,"file":"renderCache.d.ts","sourceRoot":"","sources":["../src/renderCache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACnH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAK3D,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,GAAE,WAAW,GAAG,IAAW,GAAG,kBAAkB,CAmB7F;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAEjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAG9F;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,WAAW,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAOhF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAExF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,kBAAkB,CAS7G"}
1
+ {"version":3,"file":"renderCache.d.ts","sourceRoot":"","sources":["../src/renderCache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,QAAQ,EAER,WAAW,EACX,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAK3D,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,wBAAgB,iBAAiB,IAAI,WAAW,CAI/C;AAED,wBAAgB,wBAAwB,CAAC,KAAK,GAAE,WAAW,GAAG,IAAW,GAAG,kBAAkB,CAI7F;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAEjF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,CAG9F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,GAAG,IAAI,CAGhF;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,EAC/C,KAAK,GAAE,WAAW,GAAG,IAAW,GAC/B,IAAI,CAkBN;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,WAAW,CAEpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAOhF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAExF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,GAAG,kBAAkB,CAS7G"}
@@ -1,42 +1,19 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import { createMatrix, multiplyMatrix } from '@flighthq/geometry/contract';
3
3
  import { createSignal } from '@flighthq/signals/contract';
4
4
  import { RenderCacheKind } from '@flighthq/types/contract';
5
5
  import { registerRenderer } from './renderer';
6
6
  import { getRenderProxyAdapter, setRenderProxyAdapter } from './renderProxyAdapter';
7
7
  export { RenderCacheKind };
8
- /**
9
- * Creates a backend-agnostic cache handle. The handle owns no resource; a backend
10
- * allocates and stores its own render target on the render state, keyed by this handle,
11
- * when the cache is first refreshed.
12
- */
13
8
  export function createRenderCache() {
14
- return createEntity({ kind: RenderCacheKind, transform: createMatrix() });
9
+ const out = allocateEntity();
10
+ initializeRenderCache(out);
11
+ return finishEntity(out);
15
12
  }
16
- /**
17
- * Creates an adapter that, during the render update pass, substitutes its cache handle
18
- * for `source` so the cached result is composited instead of the source subtree being
19
- * traversed. Returns null from `adapt` (renders normally) until a cache is attached.
20
- */
21
13
  export function createRenderCacheAdapter(cache = null) {
22
- const adapter = {
23
- cache,
24
- signals: null,
25
- adapt(_state, _source, node) {
26
- adapter.signals?.onPrepare.emit();
27
- const attached = adapter.cache ?? null;
28
- if (attached === null)
29
- return null;
30
- // Switch the render node to the cache renderer and fold in the cache's placement
31
- // transform, but keep node.source as the original scene node — the appearance and
32
- // transform passes read node.source every (dirty) frame, and the handle is not a Node.
33
- // The cache renderer resolves the handle from this adapter via getRenderProxyCache.
34
- node.kind = RenderCacheKind;
35
- multiplyMatrix(node.transform2D, node.transform2D, attached.transform);
36
- return false;
37
- },
38
- };
39
- return adapter;
14
+ const adapter = allocateEntity();
15
+ initializeRenderCacheAdapter(adapter, cache);
16
+ return finishEntity(adapter);
40
17
  }
41
18
  /**
42
19
  * Opts an adapter into the onPrepare signal, emitted each time the adapter is consulted
@@ -53,6 +30,40 @@ export function getRenderProxyCache(state, source) {
53
30
  const adapter = getRenderProxyAdapter(state, source);
54
31
  return isRenderCacheAdapter(adapter) ? (adapter.cache ?? null) : null;
55
32
  }
33
+ /**
34
+ * Creates a backend-agnostic cache handle. The handle owns no resource; a backend
35
+ * allocates and stores its own render target on the render state, keyed by this handle,
36
+ * when the cache is first refreshed.
37
+ */
38
+ export function initializeRenderCache(out) {
39
+ out.kind = RenderCacheKind;
40
+ out.transform = createMatrix();
41
+ }
42
+ /**
43
+ * Creates an adapter that, during the render update pass, substitutes its cache handle
44
+ * for `source` so the cached result is composited instead of the source subtree being
45
+ * traversed. Returns null from `adapt` (renders normally) until a cache is attached.
46
+ */
47
+ export function initializeRenderCacheAdapter(adapter, cache = null) {
48
+ // Built through allocateEntity like createRenderCache above it, so the adapter carries the standard
49
+ // runtime slot. `adapt` closes over `adapter` rather than `this`, and the closure only runs long
50
+ // after construction.
51
+ adapter.cache = cache;
52
+ adapter.signals = null;
53
+ adapter.adapt = (_state, _source, node) => {
54
+ adapter.signals?.onPrepare.emit();
55
+ const attached = adapter.cache ?? null;
56
+ if (attached === null)
57
+ return null;
58
+ // Switch the render node to the cache renderer and fold in the cache's placement
59
+ // transform, but keep node.source as the original scene node — the appearance and
60
+ // transform passes read node.source every (dirty) frame, and the handle is not a Node.
61
+ // The cache renderer resolves the handle from this adapter via getRenderProxyCache.
62
+ node.kind = RenderCacheKind;
63
+ multiplyMatrix(node.transform2D, node.transform2D, attached.transform);
64
+ return false;
65
+ };
66
+ }
56
67
  export function isRenderCache(source) {
57
68
  return typeof source === 'object' && source !== null && source.kind === RenderCacheKind;
58
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"renderCache.js","sourceRoot":"","sources":["../src/renderCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderCache.js","sourceRoot":"","sources":["../src/renderCache.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { HasBoundsRectangle, HasTransform2D, Renderable, RenderProxy, RenderProxy2D, RenderProxyVisitor, RenderState } from '@flighthq/types/contract';
1
+ import type { EntityConstruction, HasBoundsRectangle, HasTransform2D, RenderProxy, RenderProxy2D, RenderProxyVisitor, RenderState, Renderable } from '@flighthq/types/contract';
2
2
  type AdaptHook = (state: RenderState, source: Renderable, data: RenderProxy2D) => void;
3
3
  export declare function createRenderProxy(state: RenderState, source: Renderable): RenderProxy;
4
4
  export declare function createRenderProxy2D(state: RenderState, source: Renderable & HasTransform2D & HasBoundsRectangle): RenderProxy2D;
@@ -6,6 +6,7 @@ export declare function disposeRenderProxy(state: RenderState, source: Renderabl
6
6
  export declare function disposeScene2DRender(state: RenderState, root: Renderable): void;
7
7
  export declare function getOrCreateRenderProxy2D(state: RenderState, source: Renderable): RenderProxy2D;
8
8
  export declare function getRenderProxy2D(state: RenderState, source: Renderable): RenderProxy2D | undefined;
9
+ export declare function initializeRenderProxy(out: EntityConstruction<RenderProxy>, state: RenderState, source: Renderable): void;
9
10
  export declare function installRenderAdaptHook(state: RenderState, fn: AdaptHook): void;
10
11
  export declare function isRenderProxyDirty(state: RenderState, source: Renderable, data: RenderProxy, parentData?: RenderProxy): boolean;
11
12
  export declare function isRenderProxyVisible(data: RenderProxy2D): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"renderProxy.d.ts","sourceRoot":"","sources":["../src/renderProxy.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEV,kBAAkB,EAClB,cAAc,EAEd,UAAU,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAQlC,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;AAEvF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,CA2BrF;AAKD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,GAAG,cAAc,GAAG,kBAAkB,GACvD,aAAa,CAMf;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAQ/E;AASD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAE/E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,aAAa,CAa9F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAElG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAE9E;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,WAAW,EACjB,UAAU,CAAC,EAAE,WAAW,GACvB,OAAO,CAeT;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAEjE;AAOD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAEpF;AAMD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,aAAa,GAAG,SAAS,GACpC,IAAI,CAGN;AAID,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,aAAa,GAAG,SAAS,GACpC,IAAI,CAsBN;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAWrF;AAgBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAiDjG"}
1
+ {"version":3,"file":"renderProxy.d.ts","sourceRoot":"","sources":["../src/renderProxy.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EAGd,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,UAAU,EACX,MAAM,0BAA0B,CAAC;AAQlC,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;AAEvF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,WAAW,CAIrF;AAKD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,GAAG,cAAc,GAAG,kBAAkB,GACvD,aAAa,CAMf;AAMD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAQ/E;AASD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,CAE/E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,aAAa,CAa9F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,aAAa,GAAG,SAAS,CAElG;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC,EACpC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,GACjB,IAAI,CAyBN;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,SAAS,GAAG,IAAI,CAE9E;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,WAAW,EACjB,UAAU,CAAC,EAAE,WAAW,GACvB,OAAO,CAeT;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAEjE;AAOD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAEpF;AAMD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,aAAa,GAAG,SAAS,GACpC,IAAI,CAGN;AAID,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,aAAa,GAAG,SAAS,GACpC,IAAI,CAsBN;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAWrF;AAgBD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAiDjG"}
@@ -1,4 +1,4 @@
1
- import { createEntity } from '@flighthq/entity/contract';
1
+ import { allocateEntity, finishEntity } from '@flighthq/entity/contract';
2
2
  import { createMatrix } from '@flighthq/geometry/contract';
3
3
  import { getNodeAppearanceRevision, getNodeChildrenRevision, getNodeLocalContentRevision, getNodeLocalTransformRevision, getNodeParentReferenceRevision, getNodeParent, getNodeRuntime, } from '@flighthq/node/contract';
4
4
  import { getRegistryTableEntry } from '@flighthq/registry/contract';
@@ -8,32 +8,9 @@ import { updateRenderProxyMaterial } from './renderMaterial';
8
8
  import { getRenderStateRuntime } from './renderState';
9
9
  import { updateRenderProxy2DTransform } from './renderTransform2d';
10
10
  export function createRenderProxy(state, source) {
11
- const runtime = getRenderStateRuntime(state);
12
- const renderer = resolveRenderProxyRenderer(state, source.kind);
13
- return createEntity({
14
- source: source,
15
- kind: source.kind,
16
- next: null,
17
- alpha: 1,
18
- appearanceFrameId: -1,
19
- blendMode: BlendMode.Normal,
20
- colorScaleBias: null,
21
- colorMatrix: null,
22
- material: null,
23
- materialData: null,
24
- lastAppearanceId: -1,
25
- lastChildrenId: -1,
26
- lastLocalContentId: -1,
27
- lastLocalTransformId: -1,
28
- lastParentReferenceId: -1,
29
- name: null,
30
- renderer: renderer,
31
- rendererData: renderer?.createData(state, source) ?? null,
32
- rendererDataSource: source,
33
- rendererMapId: runtime.rendererMapId,
34
- transformFrameId: -1,
35
- visible: true,
36
- });
11
+ const out = allocateEntity();
12
+ initializeRenderProxy(out, state, source);
13
+ return finishEntity(out);
37
14
  }
38
15
  // The one render-node allocator for the 2D graph. Sprites and display objects produce the same
39
16
  // RenderProxy2D — there is no per-family render identity. What differs between them is the traits
@@ -87,6 +64,32 @@ export function getOrCreateRenderProxy2D(state, source) {
87
64
  export function getRenderProxy2D(state, source) {
88
65
  return getRenderStateRuntime(state).renderProxyMap.get(source);
89
66
  }
67
+ export function initializeRenderProxy(out, state, source) {
68
+ const runtime = getRenderStateRuntime(state);
69
+ const renderer = resolveRenderProxyRenderer(state, source.kind);
70
+ out.source = source;
71
+ out.kind = source.kind;
72
+ out.next = null;
73
+ out.alpha = 1;
74
+ out.appearanceFrameId = -1;
75
+ out.blendMode = BlendMode.Normal;
76
+ out.colorScaleBias = null;
77
+ out.colorMatrix = null;
78
+ out.material = null;
79
+ out.materialData = null;
80
+ out.lastAppearanceId = -1;
81
+ out.lastChildrenId = -1;
82
+ out.lastLocalContentId = -1;
83
+ out.lastLocalTransformId = -1;
84
+ out.lastParentReferenceId = -1;
85
+ out.name = null;
86
+ out.renderer = renderer;
87
+ out.rendererData = renderer?.createData(state, source) ?? null;
88
+ out.rendererDataSource = source;
89
+ out.rendererMapId = runtime.rendererMapId;
90
+ out.transformFrameId = -1;
91
+ out.visible = true;
92
+ }
90
93
  export function installRenderAdaptHook(state, fn) {
91
94
  getRenderStateRuntime(state).renderAdaptHook = fn;
92
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"renderProxy.js","sourceRoot":"","sources":["../src/renderProxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderProxy.js","sourceRoot":"","sources":["../src/renderProxy.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
1
  import type { Renderable, RenderProxy2D, RenderProxyAdapter, RenderState } from '@flighthq/types/contract';
2
- export declare function applyRenderProxyAdapter(state: RenderState, source: Renderable, data: RenderProxy2D & {
3
- traverseChildren: boolean;
4
- }): void;
2
+ export declare function applyRenderProxyAdapter(state: RenderState, source: Renderable, data: RenderProxy2D): void;
5
3
  export declare function getRenderProxyAdapter(state: RenderState, source: Renderable): RenderProxyAdapter | null;
6
4
  export declare function setRenderProxyAdapter(state: RenderState, source: Renderable, adapter: RenderProxyAdapter | null): void;
7
5
  //# sourceMappingURL=renderProxyAdapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderProxyAdapter.d.ts","sourceRoot":"","sources":["../src/renderProxyAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKjH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,aAAa,GAAG;IAAE,gBAAgB,EAAE,OAAO,CAAA;CAAE,GAClD,IAAI,CAWN;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAEvG;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,kBAAkB,GAAG,IAAI,GACjC,IAAI,CAWN"}
1
+ {"version":3,"file":"renderProxyAdapter.d.ts","sourceRoot":"","sources":["../src/renderProxyAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKjH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAWzG;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAEvG;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,kBAAkB,GAAG,IAAI,GACjC,IAAI,CAWN"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderProxyAdapter.js","sourceRoot":"","sources":["../src/renderProxyAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,UAAU,uBAAuB,CACrC,KAAkB,EAClB,MAAkB,EAClB,IAAmD;IAEnD,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC7F,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC5B,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,gBAAgB,GAAG,MAAM,CAAC;YAC1B,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAkB,EAAE,MAAkB;IAC1E,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAkB,EAClB,MAAkB,EAClB,OAAkC;IAElC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC,eAAe,KAAK,uBAAuB,EAAE,CAAC;QAC7E,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,wBAAwB,CAAC,MAAc,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"renderProxyAdapter.js","sourceRoot":"","sources":["../src/renderProxyAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,UAAU,uBAAuB,CAAC,KAAkB,EAAE,MAAkB,EAAE,IAAmB;IACjG,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAC7F,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAC5B,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,gBAAgB,GAAG,MAAM,CAAC;YAC1B,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IACD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAkB,EAAE,MAAkB;IAC1E,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAkB,EAClB,MAAkB,EAClB,OAAkC;IAElC,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC,eAAe,KAAK,uBAAuB,EAAE,CAAC;QAC7E,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IACD,wBAAwB,CAAC,MAAc,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,8 +1,9 @@
1
- import type { Renderable, RenderProxy, RenderQueue, RenderQueueEntry, RenderSortKey, RenderState } from '@flighthq/types/contract';
1
+ import type { EntityConstruction, RenderProxy, RenderQueue, RenderQueueEntry, RenderSortKey, RenderState, Renderable } from '@flighthq/types/contract';
2
2
  export declare function buildRenderQueue(state: RenderState, source: Renderable, out: RenderQueue): void;
3
3
  export declare function clearRenderQueue(queue: RenderQueue): void;
4
4
  export declare function compareRenderQueueEntries(a: RenderQueueEntry, b: RenderQueueEntry): number;
5
5
  export declare function createRenderQueue(): RenderQueue;
6
+ export declare function initializeRenderQueue(out: EntityConstruction<RenderQueue>): void;
6
7
  export declare function packRenderSortKey(layer: number, depth: number, isTransparent: boolean): RenderSortKey;
7
8
  export declare function pushRenderQueueEntry(queue: RenderQueue, proxy: RenderProxy, sortKey: RenderSortKey): void;
8
9
  export declare function sortRenderQueue(queue: RenderQueue, compare?: (a: RenderQueueEntry, b: RenderQueueEntry) => number): void;