@flighthq/render 0.5.1-edge.1545.a3a19e0 → 0.5.1-edge.1685.dc0e23a

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 (82) hide show
  1. package/README.md +2 -2
  2. package/dist/contract.d.ts +1 -0
  3. package/dist/contract.d.ts.map +1 -1
  4. package/dist/contract.js +1 -0
  5. package/dist/contract.js.map +1 -1
  6. package/dist/enableColorAdjustmentGuards.d.ts.map +1 -1
  7. package/dist/enableColorAdjustmentGuards.js +4 -10
  8. package/dist/enableColorAdjustmentGuards.js.map +1 -1
  9. package/dist/enableColorAdjustments.d.ts.map +1 -1
  10. package/dist/enableColorAdjustments.js +3 -9
  11. package/dist/enableColorAdjustments.js.map +1 -1
  12. package/dist/explainScene2DCoverage.js +5 -5
  13. package/dist/explainScene2DCoverage.js.map +1 -1
  14. package/dist/explainScene2DPipelineCoverage.js +2 -2
  15. package/dist/explainScene2DPipelineCoverage.js.map +1 -1
  16. package/dist/explainScene2DRender.d.ts +2 -2
  17. package/dist/explainScene2DRender.d.ts.map +1 -1
  18. package/dist/explainScene2DRender.js +3 -4
  19. package/dist/explainScene2DRender.js.map +1 -1
  20. package/dist/explainScene3DPipelineCoverage.d.ts +2 -2
  21. package/dist/explainScene3DPipelineCoverage.d.ts.map +1 -1
  22. package/dist/explainScene3DPipelineCoverage.js +3 -3
  23. package/dist/explainScene3DPipelineCoverage.js.map +1 -1
  24. package/dist/imageSurface.d.ts +4 -3
  25. package/dist/imageSurface.d.ts.map +1 -1
  26. package/dist/imageSurface.js +15 -12
  27. package/dist/imageSurface.js.map +1 -1
  28. package/dist/index.d.ts +3 -2
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -2
  31. package/dist/index.js.map +1 -1
  32. package/dist/mergeRenderOptions.d.ts +24 -0
  33. package/dist/mergeRenderOptions.d.ts.map +1 -0
  34. package/dist/mergeRenderOptions.js +49 -0
  35. package/dist/mergeRenderOptions.js.map +1 -0
  36. package/dist/renderCache.d.ts +4 -4
  37. package/dist/renderCache.d.ts.map +1 -1
  38. package/dist/renderCache.js +3 -3
  39. package/dist/renderCache.js.map +1 -1
  40. package/dist/renderProxy.d.ts +14 -14
  41. package/dist/renderProxy.d.ts.map +1 -1
  42. package/dist/renderProxy.js +13 -12
  43. package/dist/renderProxy.js.map +1 -1
  44. package/dist/renderProxyAdapter.d.ts +4 -4
  45. package/dist/renderProxyAdapter.d.ts.map +1 -1
  46. package/dist/renderProxyAdapter.js.map +1 -1
  47. package/dist/renderQueue.d.ts +2 -2
  48. package/dist/renderQueue.d.ts.map +1 -1
  49. package/dist/renderQueue.js +0 -2
  50. package/dist/renderQueue.js.map +1 -1
  51. package/dist/renderRegistryGuards.js +3 -3
  52. package/dist/renderRegistryGuards.js.map +1 -1
  53. package/dist/renderState.d.ts.map +1 -1
  54. package/dist/renderState.js +5 -6
  55. package/dist/renderState.js.map +1 -1
  56. package/dist/renderViewport.d.ts +3 -3
  57. package/dist/renderViewport.d.ts.map +1 -1
  58. package/dist/renderViewport.js +6 -25
  59. package/dist/renderViewport.js.map +1 -1
  60. package/dist/renderer.d.ts +4 -4
  61. package/dist/renderer.d.ts.map +1 -1
  62. package/dist/renderer.js +17 -24
  63. package/dist/renderer.js.map +1 -1
  64. package/package.json +13 -13
  65. package/src/enableColorAdjustmentGuards.test.ts +9 -15
  66. package/src/enableColorAdjustments.test.ts +17 -18
  67. package/src/explainScene2DCoverage.test.ts +15 -14
  68. package/src/explainScene2DPipelineCoverage.test.ts +9 -9
  69. package/src/explainScene2DRender.test.ts +8 -8
  70. package/src/explainScene3DPipelineCoverage.test.ts +20 -20
  71. package/src/imageSurface.test.ts +64 -49
  72. package/src/mergeRenderOptions.test.ts +79 -0
  73. package/src/renderCache.test.ts +5 -5
  74. package/src/renderMaterial.test.ts +3 -3
  75. package/src/renderProxy.test.ts +25 -18
  76. package/src/renderProxyAdapter.test.ts +2 -2
  77. package/src/renderQueue.test.ts +9 -9
  78. package/src/renderRegistryGuards.test.ts +3 -3
  79. package/src/renderState.test.ts +7 -21
  80. package/src/renderViewport.test.ts +19 -35
  81. package/src/renderer.test.ts +76 -119
  82. package/src/sceneRender.test.ts +2 -2
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.1-edge.1545.a3a19e0](https://github.com/flighthq/flight/tree/a3a19e0bfd5f8f90503930e951dcb891ff31c674/packages/render)
17
- - [License](https://github.com/flighthq/flight/blob/a3a19e0bfd5f8f90503930e951dcb891ff31c674/LICENSE.md)
16
+ - [Source for @flighthq/render@0.5.1-edge.1685.dc0e23a](https://github.com/flighthq/flight/tree/dc0e23a17453ec75c20ccbf07058a57b5ef10c4c/packages/render)
17
+ - [License](https://github.com/flighthq/flight/blob/dc0e23a17453ec75c20ccbf07058a57b5ef10c4c/LICENSE.md)
@@ -1,3 +1,4 @@
1
+ export * from './mergeRenderOptions';
1
2
  export * from './enableColorAdjustmentGuards';
2
3
  export * from './enableColorAdjustments';
3
4
  export * from './enableSceneRenderGuards';
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,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,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,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,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC"}
package/dist/contract.js CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './mergeRenderOptions';
1
2
  export * from './enableColorAdjustmentGuards';
2
3
  export * from './enableColorAdjustments';
3
4
  export * from './enableSceneRenderGuards';
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,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,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,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,YAAY,CAAC;AAC3B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"enableColorAdjustmentGuards.d.ts","sourceRoot":"","sources":["../src/enableColorAdjustmentGuards.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAM5D,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE3E;AAOD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAWpE"}
1
+ {"version":3,"file":"enableColorAdjustmentGuards.d.ts","sourceRoot":"","sources":["../src/enableColorAdjustmentGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAM5D,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE3E;AAOD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAIpE"}
@@ -1,6 +1,5 @@
1
1
  import { logOnce } from '@flighthq/log/contract';
2
- import { createSlotTable } from '@flighthq/registry/contract';
3
- import { LogLevel, RegistryEntryState } from '@flighthq/types/contract';
2
+ import { LogLevel } from '@flighthq/types/contract';
4
3
  import { getColorAdjustmentUnsupportedGuard, getRenderStateRuntime } from './renderState';
5
4
  // Returns whether the color-adjustment deferral guard is installed on `state`.
6
5
  export function areColorAdjustmentGuardsEnabled(state) {
@@ -13,14 +12,9 @@ export function areColorAdjustmentGuardsEnabled(state) {
13
12
  // Idempotent.
14
13
  export function enableColorAdjustmentGuards(state) {
15
14
  const runtime = getRenderStateRuntime(state);
16
- const table = runtime.registries.colorAdjustmentUnsupportedGuard ??
17
- createSlotTable('ColorAdjustmentUnsupportedGuard', 'Disabled');
18
- if (table.entry?.state !== RegistryEntryState.Bound || table.entry.value !== warnUnsupportedColorAdjustment) {
19
- runtime.registries.colorAdjustmentUnsupportedGuard = {
20
- ...table,
21
- entry: { state: RegistryEntryState.Bound, value: warnUnsupportedColorAdjustment },
22
- };
23
- }
15
+ if (runtime.registries.colorAdjustmentUnsupportedGuard === warnUnsupportedColorAdjustment)
16
+ return;
17
+ runtime.registries.colorAdjustmentUnsupportedGuard = warnUnsupportedColorAdjustment;
24
18
  }
25
19
  function warnUnsupportedColorAdjustment() {
26
20
  logOnce('render:unsupported-color-adjustment', LogLevel.Warn, {
@@ -1 +1 @@
1
- {"version":3,"file":"enableColorAdjustmentGuards.js","sourceRoot":"","sources":["../src/enableColorAdjustmentGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAE,kCAAkC,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE1F,+EAA+E;AAC/E,MAAM,UAAU,+BAA+B,CAAC,KAAkB;IAChE,OAAO,kCAAkC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAED,qGAAqG;AACrG,oGAAoG;AACpG,oGAAoG;AACpG,8GAA8G;AAC9G,cAAc;AACd,MAAM,UAAU,2BAA2B,CAAC,KAAkB;IAC5D,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,KAAK,GACT,OAAO,CAAC,UAAU,CAAC,+BAA+B;QAClD,eAAe,CAAC,iCAAiC,EAAE,UAAU,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,8BAA8B,EAAE,CAAC;QAC5G,OAAO,CAAC,UAAU,CAAC,+BAA+B,GAAG;YACnD,GAAG,KAAK;YACR,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE;SAClF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO,CACL,qCAAqC,EACrC,QAAQ,CAAC,IAAI,EACb;QACE,OAAO,EACL,yKAAyK;KAC5K,EACD,QAAQ,CACT,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"enableColorAdjustmentGuards.js","sourceRoot":"","sources":["../src/enableColorAdjustmentGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,kCAAkC,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAE1F,+EAA+E;AAC/E,MAAM,UAAU,+BAA+B,CAAC,KAAkB;IAChE,OAAO,kCAAkC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AAC3D,CAAC;AAED,qGAAqG;AACrG,oGAAoG;AACpG,oGAAoG;AACpG,8GAA8G;AAC9G,cAAc;AACd,MAAM,UAAU,2BAA2B,CAAC,KAAkB;IAC5D,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,UAAU,CAAC,+BAA+B,KAAK,8BAA8B;QAAE,OAAO;IAClG,OAAO,CAAC,UAAU,CAAC,+BAA+B,GAAG,8BAA8B,CAAC;AACtF,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO,CACL,qCAAqC,EACrC,QAAQ,CAAC,IAAI,EACb;QACE,OAAO,EACL,yKAAyK;KAC5K,EACD,QAAQ,CACT,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"enableColorAdjustments.d.ts","sourceRoot":"","sources":["../src/enableColorAdjustments.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAMV,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAEtE;AAMD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAQ/D"}
1
+ {"version":3,"file":"enableColorAdjustments.d.ts","sourceRoot":"","sources":["../src/enableColorAdjustments.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAA6D,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKvH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAEtE;AAMD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAI/D"}
@@ -1,12 +1,10 @@
1
1
  import { multiplyColorMatrix } from '@flighthq/adjustments/contract';
2
2
  import { concatColorScaleBias, createColorScaleBias } from '@flighthq/materials/contract';
3
3
  import { getNodeRuntime } from '@flighthq/node/contract';
4
- import { createSlotTable } from '@flighthq/registry/contract';
5
- import { RegistryEntryState } from '@flighthq/types/contract';
6
4
  import { getColorAdjustmentUnsupportedGuard, getRenderStateRuntime } from './renderState';
7
5
  // Returns whether color-adjustment accumulation is installed on `state`.
8
6
  export function areColorAdjustmentsEnabled(state) {
9
- return getRenderStateRuntime(state).registries.colorAdjustments?.entry?.state === RegistryEntryState.Bound;
7
+ return getRenderStateRuntime(state).registries.colorAdjustments != null;
10
8
  }
11
9
  // Installs color-adjustment accumulation on `state`. The base render walk reaches this module only
12
10
  // through the persistent resolver slot, so states that do not opt in retain one empty-slot check and do
@@ -14,13 +12,9 @@ export function areColorAdjustmentsEnabled(state) {
14
12
  // that can realize these values call this as part of their own opt-in. Idempotent.
15
13
  export function enableColorAdjustments(state) {
16
14
  const runtime = getRenderStateRuntime(state);
17
- const table = runtime.registries.colorAdjustments ?? createSlotTable('ColorAdjustments', 'Disabled');
18
- if (table.entry?.state === RegistryEntryState.Bound && table.entry.value === updateRenderProxyColorScaleBias)
15
+ if (runtime.registries.colorAdjustments === updateRenderProxyColorScaleBias)
19
16
  return;
20
- runtime.registries.colorAdjustments = {
21
- ...table,
22
- entry: { state: RegistryEntryState.Bound, value: updateRenderProxyColorScaleBias },
23
- };
17
+ runtime.registries.colorAdjustments = updateRenderProxyColorScaleBias;
24
18
  }
25
19
  // Hands the node's resolved color adjustment to the render node. A node's color-adjustment stack
26
20
  // (NodeRuntime.colorAdjustments) is fused once into the affine `resolvedColorScaleBias` cache by the
@@ -1 +1 @@
1
- {"version":3,"file":"enableColorAdjustments.js","sourceRoot":"","sources":["../src/enableColorAdjustments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enableColorAdjustments.js","sourceRoot":"","sources":["../src/enableColorAdjustments.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { RegistryEntryState, RenderRegistryTable, RequirementFacet, SceneCoverage } from '@flighthq/types/contract';
1
+ import { RenderRegistryTable, RequirementFacet, SceneCoverage } from '@flighthq/types/contract';
2
2
  import { getRenderStateRuntime } from './renderState';
3
3
  // Clears `out`, then reports every requirement in `usage` that any 2D backend answers the same way,
4
4
  // with how well this state is wired for it — satisfied entries included, so one call is a manifest.
@@ -9,7 +9,7 @@ import { getRenderStateRuntime } from './renderState';
9
9
  // blend realizations, per-backend material renderers — on top of this, rather than restating it.
10
10
  //
11
11
  // Unlike the 3D seam, node kinds ARE a requirement here: the 2D pipeline resolves every node through
12
- // `registerRenderer(state, kind, renderer)`, where the 3D pipeline collects meshes structurally.
12
+ // `registerNodeRenderer(state, kind, renderer)`, where the 3D pipeline collects meshes structurally.
13
13
  // `catalog` is the caller's complete backend inventory; an unserved requirement uses its first ordered
14
14
  // registration as the primary remedy, while a satisfied requirement needs no catalog lookup.
15
15
  export function explainScene2DCoverage(out, state, usage, catalog) {
@@ -30,7 +30,7 @@ function collectScene2DCoverageGaps(out, state, usage, stopAtFirst, catalog) {
30
30
  // absent from the frame — the loudest failure in this seam and the one worth asking about first.
31
31
  for (let i = 0; i < usage.nodeKinds.length; i++) {
32
32
  const kind = usage.nodeKinds[i];
33
- if (runtime.registries.renderers.entries.get(kind)?.state === RegistryEntryState.Bound) {
33
+ if (runtime.registries.nodeRenderers.has(kind)) {
34
34
  out?.push({
35
35
  coverage: SceneCoverage.Satisfied,
36
36
  facet: RequirementFacet.SceneNodeKind,
@@ -47,10 +47,10 @@ function collectScene2DCoverageGaps(out, state, usage, stopAtFirst, catalog) {
47
47
  // Only meaningful for a state that rasterizes shapes. A GL or WebGPU state drawing every shape
48
48
  // through the mesh path never replays a command, so these entries are reported and simply not acted
49
49
  // on — the same shape as reporting 3D node kinds a backend collects structurally.
50
- const commands = runtime.registries.canvasShapeCommands?.entries;
50
+ const commands = runtime.registries.canvasShapeCommands;
51
51
  for (let i = 0; i < usage.shapeCommandKeys.length; i++) {
52
52
  const kind = usage.shapeCommandKeys[i];
53
- if (commands?.get(kind)?.state === 'bound') {
53
+ if (commands?.has(kind)) {
54
54
  out?.push({
55
55
  coverage: SceneCoverage.Satisfied,
56
56
  facet: RequirementFacet.SceneShapeCommand,
@@ -1 +1 @@
1
- {"version":3,"file":"explainScene2DCoverage.js","sourceRoot":"","sources":["../src/explainScene2DCoverage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explainScene2DCoverage.js","sourceRoot":"","sources":["../src/explainScene2DCoverage.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { getNodeRuntime } from '@flighthq/node/contract';
2
- import { getRegistryTableKeys } from '@flighthq/registry/contract';
2
+ import { getKindMapKeys } from '@flighthq/registry/contract';
3
3
  import { getRenderStateRuntime } from './renderState';
4
4
  export function explainScene2DPipelineCoverage(state, scene) {
5
5
  const usedSet = new Set();
6
6
  collectUsedKinds(usedSet, scene);
7
7
  const registeredKinds = [];
8
- getRegistryTableKeys(registeredKinds, getRenderStateRuntime(state).registries.renderers);
8
+ getKindMapKeys(registeredKinds, getRenderStateRuntime(state).registries.nodeRenderers);
9
9
  registeredKinds.sort();
10
10
  const usedKinds = Array.from(usedSet).sort();
11
11
  const registeredSet = new Set(registeredKinds);
@@ -1 +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"}
1
+ {"version":3,"file":"explainScene2DPipelineCoverage.js","sourceRoot":"","sources":["../src/explainScene2DPipelineCoverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,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,cAAc,CAAC,eAAe,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACvF,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"}
@@ -1,3 +1,3 @@
1
- import type { Scene2DRenderExplanation, Renderable, RenderState } from '@flighthq/types/contract';
2
- export declare function explainScene2DRender(state: RenderState, source: Renderable): Scene2DRenderExplanation;
1
+ import type { Scene2DRenderExplanation, NodeAny, RenderState } from '@flighthq/types/contract';
2
+ export declare function explainScene2DRender(state: RenderState, source: NodeAny): Scene2DRenderExplanation;
3
3
  //# sourceMappingURL=explainScene2DRender.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"explainScene2DRender.d.ts","sourceRoot":"","sources":["../src/explainScene2DRender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EAExB,UAAU,EACV,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAsBlC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,wBAAwB,CAoBrG"}
1
+ {"version":3,"file":"explainScene2DRender.d.ts","sourceRoot":"","sources":["../src/explainScene2DRender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,wBAAwB,EAExB,OAAO,EACP,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAqBlC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,GAAG,wBAAwB,CAmBlG"}
@@ -1,4 +1,3 @@
1
- import { RegistryEntryState } from '@flighthq/types/contract';
2
1
  import { getRenderProxy2D } from './renderProxy';
3
2
  import { getRenderStateRuntime } from './renderState';
4
3
  // Recomputes why `source` would or would not draw against `state`, and returns it as plain data. Pure:
@@ -8,18 +7,18 @@ import { getRenderStateRuntime } from './renderState';
8
7
  //
9
8
  // The reason is root-cause prioritized rather than following buildRenderQueue's literal check order
10
9
  // (which drops on proxy===undefined, then !proxy.visible, then renderer===null). no-renderer is
11
- // surfaced first because it is a static setup error — the "forgot registerRenderer for this kind"
10
+ // surfaced first because it is a static setup error — the "forgot registerNodeRenderer for this kind"
12
11
  // bug — that keeps the node blank no matter how the transient visible/alpha gates are fixed, and it is
13
12
  // re-derivable from `kind` alone even before the node is prepared. not-prepared outranks the
14
13
  // appearance gates for the same reason: nothing downstream matters until a proxy exists.
15
14
  //
16
- // Colocated with the render functions whose blank frame it explains — registerRenderer (renderer.ts),
15
+ // Colocated with the render functions whose blank frame it explains — registerNodeRenderer (renderer.ts),
17
16
  // prepareScene2DRender (renderProxy.ts), and buildRenderQueue (renderQueue.ts). This is the
18
17
  // maintenance seam: a pull query duplicates the draw path's drop conditions, so if the draw path grows
19
18
  // a new blank-reason gate, this function must gain the matching check or it silently goes stale.
20
19
  export function explainScene2DRender(state, source) {
21
20
  const kind = source.kind;
22
- const hasRenderer = getRenderStateRuntime(state).registries.renderers.entries.get(kind)?.state === RegistryEntryState.Bound;
21
+ const hasRenderer = getRenderStateRuntime(state).registries.nodeRenderers.has(kind);
23
22
  const proxy = getRenderProxy2D(state, source);
24
23
  const prepared = proxy !== undefined;
25
24
  const appearance = source;
@@ -1 +1 @@
1
- {"version":3,"file":"explainScene2DRender.js","sourceRoot":"","sources":["../src/explainScene2DRender.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,uGAAuG;AACvG,qGAAqG;AACrG,oGAAoG;AACpG,uFAAuF;AACvF,EAAE;AACF,oGAAoG;AACpG,gGAAgG;AAChG,kGAAkG;AAClG,uGAAuG;AACvG,6FAA6F;AAC7F,yFAAyF;AACzF,EAAE;AACF,sGAAsG;AACtG,4FAA4F;AAC5F,uGAAuG;AACvG,iGAAiG;AACjG,MAAM,UAAU,oBAAoB,CAAC,KAAkB,EAAE,MAAkB;IACzE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,WAAW,GACf,qBAAqB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC;IAE1G,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC;IAErC,MAAM,UAAU,GAAG,MAAkC,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;IACzE,MAAM,cAAc,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IAE5E,IAAI,MAAgC,CAAC;IACrC,IAAI,CAAC,WAAW;QAAE,MAAM,GAAG,aAAa,CAAC;SACpC,IAAI,CAAC,QAAQ;QAAE,MAAM,GAAG,cAAc,CAAC;SACvC,IAAI,CAAC,OAAO;QAAE,MAAM,GAAG,aAAa,CAAC;SACrC,IAAI,cAAc,IAAI,CAAC;QAAE,MAAM,GAAG,YAAY,CAAC;;QAC/C,MAAM,GAAG,IAAI,CAAC;IAEnB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"explainScene2DRender.js","sourceRoot":"","sources":["../src/explainScene2DRender.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,uGAAuG;AACvG,qGAAqG;AACrG,oGAAoG;AACpG,uFAAuF;AACvF,EAAE;AACF,oGAAoG;AACpG,gGAAgG;AAChG,sGAAsG;AACtG,uGAAuG;AACvG,6FAA6F;AAC7F,yFAAyF;AACzF,EAAE;AACF,0GAA0G;AAC1G,4FAA4F;AAC5F,uGAAuG;AACvG,iGAAiG;AACjG,MAAM,UAAU,oBAAoB,CAAC,KAAkB,EAAE,MAAe;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAEpF,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,KAAK,KAAK,SAAS,CAAC;IAErC,MAAM,UAAU,GAAG,MAAkC,CAAC;IACtD,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;IACzE,MAAM,cAAc,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;IAE5E,IAAI,MAAgC,CAAC;IACrC,IAAI,CAAC,WAAW;QAAE,MAAM,GAAG,aAAa,CAAC;SACpC,IAAI,CAAC,QAAQ;QAAE,MAAM,GAAG,cAAc,CAAC;SACvC,IAAI,CAAC,OAAO;QAAE,MAAM,GAAG,aAAa,CAAC;SACrC,IAAI,cAAc,IAAI,CAAC;QAAE,MAAM,GAAG,YAAY,CAAC;;QAC/C,MAAM,GAAG,IAAI,CAAC;IAEnB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC;AAC1E,CAAC"}
@@ -1,3 +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;
1
+ import type { Kind, NodeAny, RenderState, Scene3DPipelineCoverageExplanation } from '@flighthq/types/contract';
2
+ export declare function explainScene3DPipelineCoverage(state: RenderState, scene: Readonly<NodeAny>, materialRenderers: ReadonlyMap<Kind, unknown> | null): Scene3DPipelineCoverageExplanation;
3
3
  //# sourceMappingURL=explainScene3DPipelineCoverage.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"explainScene3DPipelineCoverage.d.ts","sourceRoot":"","sources":["../src/explainScene3DPipelineCoverage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,IAAI,EAEJ,OAAO,EACP,WAAW,EACX,kCAAkC,EACnC,MAAM,0BAA0B,CAAC;AAOlC,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EACxB,iBAAiB,EAAE,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAI,GACnD,kCAAkC,CAmDpC"}
@@ -1,5 +1,5 @@
1
1
  import { getNodeRuntime } from '@flighthq/node/contract';
2
- import { getRegistryTableKeys } from '@flighthq/registry/contract';
2
+ import { getKindMapKeys } from '@flighthq/registry/contract';
3
3
  import { StandardMaterialKind } from '@flighthq/types/contract';
4
4
  import { getRenderStateRuntime } from './renderState';
5
5
  // Material renderers live on backend-specific registries (GlRenderRegistries, WgpuRenderRegistries),
@@ -9,11 +9,11 @@ export function explainScene3DPipelineCoverage(state, scene, materialRenderers)
9
9
  const usedMaterialKindSet = new Set();
10
10
  collectUsed3DKinds(usedKindSet, usedMaterialKindSet, scene);
11
11
  const registeredKinds = [];
12
- getRegistryTableKeys(registeredKinds, getRenderStateRuntime(state).registries.renderers);
12
+ getKindMapKeys(registeredKinds, getRenderStateRuntime(state).registries.nodeRenderers);
13
13
  registeredKinds.sort();
14
14
  const registeredMaterialKinds = [];
15
15
  if (materialRenderers !== null) {
16
- getRegistryTableKeys(registeredMaterialKinds, materialRenderers);
16
+ getKindMapKeys(registeredMaterialKinds, materialRenderers);
17
17
  }
18
18
  registeredMaterialKinds.sort();
19
19
  const usedKinds = Array.from(usedKindSet).sort();
@@ -1 +1 @@
1
- {"version":3,"file":"explainScene3DPipelineCoverage.js","sourceRoot":"","sources":["../src/explainScene3DPipelineCoverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AASnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,qGAAqG;AACrG,0EAA0E;AAC1E,MAAM,UAAU,8BAA8B,CAC5C,KAAkB,EAClB,KAAwB,EACxB,iBAA0D;IAE1D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAQ,CAAC;IACpC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC5C,kBAAkB,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAE5D,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,uBAAuB,GAAW,EAAE,CAAC;IAC3C,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QAC/B,oBAAoB,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC;IACnE,CAAC;IACD,uBAAuB,CAAC,IAAI,EAAE,CAAC;IAE/B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAEnE,MAAM,cAAc,GAAW,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,mBAAmB,GAAW,EAAE,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,sBAAsB,GAAW,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,2BAA2B,GAAW,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;QAC3C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,eAAe;QACf,uBAAuB;QACvB,cAAc;QACd,sBAAsB;QACtB,2BAA2B;QAC3B,mBAAmB;QACnB,SAAS;QACT,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAmB,EAAE,gBAA2B,EAAE,IAAuB;IACnG,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,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAgC,CAAC;YAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1C,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzB,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,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"}
1
+ {"version":3,"file":"explainScene3DPipelineCoverage.js","sourceRoot":"","sources":["../src/explainScene3DPipelineCoverage.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import type { ImageSurface, ImageSurfaceCreator } from '@flighthq/types/contract';
2
- export declare function createImageSurface(provider: Readonly<ImageSurfaceCreator>, width: number, height: number): ImageSurface | null;
3
- export declare function destroyImageSurface(surface: ImageSurface): void;
1
+ import type { CanvasSurface, HostCanvasCapability } from '@flighthq/types/contract';
2
+ export declare function createCanvasHostSurface(host: Readonly<HostCanvasCapability>, width: number, height: number): CanvasSurface | null;
3
+ export declare function destroyCanvasHostSurface(surface: CanvasSurface): void;
4
+ export declare function getCanvasHostSurface(surface: CanvasSurface): Readonly<HostCanvasCapability> | null;
4
5
  //# sourceMappingURL=imageSurface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"imageSurface.d.ts","sourceRoot":"","sources":["../src/imageSurface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAElF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,CAAC,EACvC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,YAAY,GAAG,IAAI,CAIrB;AAKD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAK/D"}
1
+ {"version":3,"file":"imageSurface.d.ts","sourceRoot":"","sources":["../src/imageSurface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEpF,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EACpC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,aAAa,GAAG,IAAI,CAItB;AAKD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAKrE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAElG"}
@@ -1,18 +1,21 @@
1
- export function createImageSurface(provider, width, height) {
2
- const surface = provider.createImageSurface(width, height);
1
+ export function createCanvasHostSurface(host, width, height) {
2
+ const surface = host.createSurface(width, height);
3
3
  if (surface !== null)
4
- _surfaceProviders.set(surface, provider);
4
+ _surfaceHosts.set(surface, host);
5
5
  return surface;
6
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 destroyImageSurface(surface) {
11
- const provider = _surfaceProviders.get(surface);
12
- if (provider === undefined)
7
+ // A surface must return to the host that allocated it even when the host reference changes during its
8
+ // lifetime. Delete the ownership record before invoking the host so repeated or reentrant destruction is
9
+ // a no-op and no non-GC resource can be freed twice.
10
+ export function destroyCanvasHostSurface(surface) {
11
+ const host = _surfaceHosts.get(surface);
12
+ if (host === undefined)
13
13
  return;
14
- _surfaceProviders.delete(surface);
15
- provider.destroyImageSurface(surface);
14
+ _surfaceHosts.delete(surface);
15
+ host.destroySurface(surface);
16
16
  }
17
- const _surfaceProviders = new WeakMap();
17
+ export function getCanvasHostSurface(surface) {
18
+ return _surfaceHosts.get(surface) ?? null;
19
+ }
20
+ const _surfaceHosts = new WeakMap();
18
21
  //# sourceMappingURL=imageSurface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"imageSurface.js","sourceRoot":"","sources":["../src/imageSurface.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAChC,QAAuC,EACvC,KAAa,EACb,MAAc;IAEd,MAAM,OAAO,GAAG,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3D,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,mBAAmB,CAAC,OAAqB;IACvD,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,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAA+C,CAAC"}
1
+ {"version":3,"file":"imageSurface.js","sourceRoot":"","sources":["../src/imageSurface.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,uBAAuB,CACrC,IAAoC,EACpC,KAAa,EACb,MAAc;IAEd,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,OAAO,KAAK,IAAI;QAAE,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,sGAAsG;AACtG,yGAAyG;AACzG,qDAAqD;AACrD,MAAM,UAAU,wBAAwB,CAAC,OAAsB;IAC7D,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAsB;IACzD,OAAO,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;AAC5C,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,OAAO,EAAiD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,15 @@
1
+ export { mergeRenderOptions } from './mergeRenderOptions';
1
2
  export * from './enableColorAdjustments';
2
3
  export * from './enableSceneRenderGuards';
3
4
  export * from './explainScene2DPipelineCoverage';
4
5
  export * from './explainScene3DPipelineCoverage';
5
6
  export * from './imageSurface';
6
- export { createRenderCache, useRenderCache } from './renderCache';
7
+ export { createRenderCache, registerRenderCacheNodeRenderer, useRenderCache } from './renderCache';
7
8
  export { disposeScene2DRender, prepareScene2DRender } from './renderProxy';
8
9
  export { enableRenderRegistriesGuards, explainRenderRegistriesMisses } from './renderRegistryGuards';
9
10
  export * from './renderRegistrySignals';
10
11
  export { destroyRenderState } from './renderState';
11
- export { registerRenderer } from './renderer';
12
+ export { registerNodeRenderer, registerNodeRenderers } from './renderer';
12
13
  export * from './scene2dWorkingColorSpace';
13
14
  export { prepareScene3DRender } from './sceneRender';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACrG,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACrG,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACzE,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,14 +1,15 @@
1
+ export { mergeRenderOptions } from './mergeRenderOptions';
1
2
  export * from './enableColorAdjustments';
2
3
  export * from './enableSceneRenderGuards';
3
4
  export * from './explainScene2DPipelineCoverage';
4
5
  export * from './explainScene3DPipelineCoverage';
5
6
  export * from './imageSurface';
6
- export { createRenderCache, useRenderCache } from './renderCache';
7
+ export { createRenderCache, registerRenderCacheNodeRenderer, useRenderCache } from './renderCache';
7
8
  export { disposeScene2DRender, prepareScene2DRender } from './renderProxy';
8
9
  export { enableRenderRegistriesGuards, explainRenderRegistriesMisses } from './renderRegistryGuards';
9
10
  export * from './renderRegistrySignals';
10
11
  export { destroyRenderState } from './renderState';
11
- export { registerRenderer } from './renderer';
12
+ export { registerNodeRenderer, registerNodeRenderers } from './renderer';
12
13
  export * from './scene2dWorkingColorSpace';
13
14
  export { prepareScene3DRender } from './sceneRender';
14
15
  //# 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,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACrG,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,+BAA+B,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACrG,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACzE,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { RenderStateOptions } from '@flighthq/types/contract';
2
+ /**
3
+ * Composes render-state option fragments into one, field by field.
4
+ *
5
+ * Every field of `RenderStateOptions` is named explicitly rather than folded by a generic deep merge.
6
+ * That is the point: a generic merge has to GUESS how an unfamiliar field composes, and it guesses
7
+ * silently. Naming each field means adding one to `RenderStateOptions` without deciding how it merges
8
+ * shows up as a compile error here and a failing exhaustiveness test, instead of as a field that
9
+ * quietly takes the last fragment's value in someone's build.
10
+ *
11
+ * The three shapes compose differently, and the difference is load-bearing:
12
+ *
13
+ * - **Kind-keyed maps merge**, later fragments winning per key. Two content files naming different
14
+ * kinds must both survive; two naming the same kind agree.
15
+ * - **Nullable policy functions are last-wins scalars.** A tessellator or a guard is one choice, not a
16
+ * collection, so the most recently stated fragment is the one the caller asked for.
17
+ * - **`undefined` never overwrites.** A fragment that does not mention a field is silent about it, which
18
+ * is different from a fragment that sets it to null.
19
+ *
20
+ * Deterministic and non-mutating: no input map is aliased into the result, and the result depends only
21
+ * on argument order.
22
+ */
23
+ export declare function mergeRenderOptions(...options: readonly Readonly<RenderStateOptions>[]): RenderStateOptions;
24
+ //# sourceMappingURL=mergeRenderOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeRenderOptions.d.ts","sourceRoot":"","sources":["../src/mergeRenderOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,OAAO,EAAE,SAAS,QAAQ,CAAC,kBAAkB,CAAC,EAAE,GAAG,kBAAkB,CAuB1G"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Composes render-state option fragments into one, field by field.
3
+ *
4
+ * Every field of `RenderStateOptions` is named explicitly rather than folded by a generic deep merge.
5
+ * That is the point: a generic merge has to GUESS how an unfamiliar field composes, and it guesses
6
+ * silently. Naming each field means adding one to `RenderStateOptions` without deciding how it merges
7
+ * shows up as a compile error here and a failing exhaustiveness test, instead of as a field that
8
+ * quietly takes the last fragment's value in someone's build.
9
+ *
10
+ * The three shapes compose differently, and the difference is load-bearing:
11
+ *
12
+ * - **Kind-keyed maps merge**, later fragments winning per key. Two content files naming different
13
+ * kinds must both survive; two naming the same kind agree.
14
+ * - **Nullable policy functions are last-wins scalars.** A tessellator or a guard is one choice, not a
15
+ * collection, so the most recently stated fragment is the one the caller asked for.
16
+ * - **`undefined` never overwrites.** A fragment that does not mention a field is silent about it, which
17
+ * is different from a fragment that sets it to null.
18
+ *
19
+ * Deterministic and non-mutating: no input map is aliased into the result, and the result depends only
20
+ * on argument order.
21
+ */
22
+ export function mergeRenderOptions(...options) {
23
+ const merged = {};
24
+ for (const fragment of options) {
25
+ if (fragment.canvasShapeCommands !== undefined) {
26
+ merged.canvasShapeCommands = new Map([...(merged.canvasShapeCommands ?? []), ...fragment.canvasShapeCommands]);
27
+ }
28
+ if (fragment.colorAdjustments !== undefined)
29
+ merged.colorAdjustments = fragment.colorAdjustments;
30
+ if (fragment.colorAdjustmentUnsupportedGuard !== undefined) {
31
+ merged.colorAdjustmentUnsupportedGuard = fragment.colorAdjustmentUnsupportedGuard;
32
+ }
33
+ if (fragment.effectPaddingResolvers !== undefined) {
34
+ merged.effectPaddingResolvers = new Map([
35
+ ...(merged.effectPaddingResolvers ?? []),
36
+ ...fragment.effectPaddingResolvers,
37
+ ]);
38
+ }
39
+ if (fragment.nodeRenderers !== undefined) {
40
+ merged.nodeRenderers = new Map([...(merged.nodeRenderers ?? []), ...fragment.nodeRenderers]);
41
+ }
42
+ if (fragment.renderRootGuard !== undefined)
43
+ merged.renderRootGuard = fragment.renderRootGuard;
44
+ if (fragment.strokeTessellator !== undefined)
45
+ merged.strokeTessellator = fragment.strokeTessellator;
46
+ }
47
+ return merged;
48
+ }
49
+ //# sourceMappingURL=mergeRenderOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mergeRenderOptions.js","sourceRoot":"","sources":["../src/mergeRenderOptions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAG,OAAgD;IACpF,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;QAC/B,IAAI,QAAQ,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC/C,MAAM,CAAC,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACjH,CAAC;QACD,IAAI,QAAQ,CAAC,gBAAgB,KAAK,SAAS;YAAE,MAAM,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACjG,IAAI,QAAQ,CAAC,+BAA+B,KAAK,SAAS,EAAE,CAAC;YAC3D,MAAM,CAAC,+BAA+B,GAAG,QAAQ,CAAC,+BAA+B,CAAC;QACpF,CAAC;QACD,IAAI,QAAQ,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,CAAC,sBAAsB,GAAG,IAAI,GAAG,CAAC;gBACtC,GAAG,CAAC,MAAM,CAAC,sBAAsB,IAAI,EAAE,CAAC;gBACxC,GAAG,QAAQ,CAAC,sBAAsB;aACnC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACzC,MAAM,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS;YAAE,MAAM,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;QAC9F,IAAI,QAAQ,CAAC,iBAAiB,KAAK,SAAS;YAAE,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACtG,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Renderable, RenderCache, RenderCacheAdapter, Renderer, RenderState, EntityConstruction } from '@flighthq/types/contract';
1
+ import type { NodeAny, RenderCache, RenderCacheAdapter, NodeRenderer, RenderState, EntityConstruction } from '@flighthq/types/contract';
2
2
  import { RenderCacheKind } from '@flighthq/types/contract';
3
3
  export { RenderCacheKind };
4
4
  export declare function createRenderCache(): RenderCache;
@@ -12,7 +12,7 @@ export declare function enableRenderCacheAdapterSignals(adapter: RenderCacheAdap
12
12
  * Resolves the cache handle a cache renderer should composite for a render node, by reading the
13
13
  * cache adapter attached to the node's source on this state. Returns null if none is attached.
14
14
  */
15
- export declare function getRenderProxyCache(state: RenderState, source: Renderable): RenderCache | null;
15
+ export declare function getRenderProxyCache(state: RenderState, source: NodeAny): RenderCache | null;
16
16
  /**
17
17
  * Creates a backend-agnostic cache handle. The handle owns no resource; a backend
18
18
  * allocates and stores its own render target on the render state, keyed by this handle,
@@ -27,11 +27,11 @@ export declare function initializeRenderCache(out: EntityConstruction<RenderCach
27
27
  export declare function initializeRenderCacheAdapter(adapter: EntityConstruction<RenderCacheAdapter>, cache?: RenderCache | null): void;
28
28
  export declare function isRenderCache(source: unknown): source is RenderCache;
29
29
  export declare function isRenderCacheAdapter(value: unknown): value is RenderCacheAdapter;
30
- export declare function registerRenderCacheRenderer(state: RenderState, renderer: Renderer): void;
30
+ export declare function registerRenderCacheNodeRenderer(state: RenderState, renderer: NodeRenderer): void;
31
31
  /**
32
32
  * Attaches `cache` to `source` on this state: subsequent renders composite the cache
33
33
  * instead of rendering the source subtree. Reuses an existing cache adapter on the source
34
34
  * if present. The cache shows nothing until it is refreshed with content.
35
35
  */
36
- export declare function useRenderCache(state: RenderState, source: Renderable, cache: RenderCache): RenderCacheAdapter;
36
+ export declare function useRenderCache(state: RenderState, source: NodeAny, cache: RenderCache): RenderCacheAdapter;
37
37
  //# sourceMappingURL=renderCache.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"renderCache.d.ts","sourceRoot":"","sources":["../src/renderCache.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,YAAY,EAEZ,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,OAAO,GAAG,WAAW,GAAG,IAAI,CAG3F;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,+BAA+B,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAEhG;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,GAAG,kBAAkB,CAS1G"}
@@ -2,7 +2,7 @@ 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
- import { registerRenderer } from './renderer';
5
+ import { registerNodeRenderer } from './renderer';
6
6
  import { getRenderProxyAdapter, setRenderProxyAdapter } from './renderProxyAdapter';
7
7
  export { RenderCacheKind };
8
8
  export function createRenderCache() {
@@ -73,8 +73,8 @@ export function isRenderCacheAdapter(value) {
73
73
  typeof value.adapt === 'function' &&
74
74
  'cache' in value);
75
75
  }
76
- export function registerRenderCacheRenderer(state, renderer) {
77
- registerRenderer(state, RenderCacheKind, renderer);
76
+ export function registerRenderCacheNodeRenderer(state, renderer) {
77
+ registerNodeRenderer(state, RenderCacheKind, renderer);
78
78
  }
79
79
  /**
80
80
  * Attaches `cache` to `source` on this state: subsequent renders composite the cache