@flighthq/render 0.2.1-next.841.373388f → 0.3.0-edge.1516.1b4fb2b

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 (107) hide show
  1. package/dist/contract.d.ts +21 -0
  2. package/dist/contract.d.ts.map +1 -0
  3. package/dist/contract.js +21 -0
  4. package/dist/contract.js.map +1 -0
  5. package/dist/enableColorAdjustmentGuards.d.ts +1 -1
  6. package/dist/enableColorAdjustmentGuards.d.ts.map +1 -1
  7. package/dist/enableColorAdjustmentGuards.js +12 -13
  8. package/dist/enableColorAdjustmentGuards.js.map +1 -1
  9. package/dist/enableSceneRenderGuards.d.ts +22 -0
  10. package/dist/enableSceneRenderGuards.d.ts.map +1 -0
  11. package/dist/enableSceneRenderGuards.js +36 -0
  12. package/dist/enableSceneRenderGuards.js.map +1 -0
  13. package/dist/explainScene2DRender.d.ts +1 -1
  14. package/dist/explainScene2DRender.d.ts.map +1 -1
  15. package/dist/index.d.ts +2 -16
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +2 -16
  18. package/dist/index.js.map +1 -1
  19. package/dist/renderAppearance.d.ts +1 -1
  20. package/dist/renderAppearance.d.ts.map +1 -1
  21. package/dist/renderAppearance.js +1 -1
  22. package/dist/renderAppearance.js.map +1 -1
  23. package/dist/renderCache.d.ts +2 -2
  24. package/dist/renderCache.d.ts.map +1 -1
  25. package/dist/renderCache.js +4 -4
  26. package/dist/renderCache.js.map +1 -1
  27. package/dist/renderColor.d.ts +1 -1
  28. package/dist/renderColor.d.ts.map +1 -1
  29. package/dist/renderColorScaleBias.d.ts +3 -0
  30. package/dist/renderColorScaleBias.d.ts.map +1 -0
  31. package/dist/renderColorScaleBias.js +21 -0
  32. package/dist/renderColorScaleBias.js.map +1 -0
  33. package/dist/renderMaterial.d.ts +1 -1
  34. package/dist/renderMaterial.d.ts.map +1 -1
  35. package/dist/renderProxy.d.ts +1 -1
  36. package/dist/renderProxy.d.ts.map +1 -1
  37. package/dist/renderProxy.js +25 -12
  38. package/dist/renderProxy.js.map +1 -1
  39. package/dist/renderProxyAdapter.d.ts +1 -1
  40. package/dist/renderProxyAdapter.d.ts.map +1 -1
  41. package/dist/renderProxyAdapter.js +1 -1
  42. package/dist/renderProxyAdapter.js.map +1 -1
  43. package/dist/renderQueue.d.ts +1 -1
  44. package/dist/renderQueue.d.ts.map +1 -1
  45. package/dist/renderQueue.js +1 -1
  46. package/dist/renderQueue.js.map +1 -1
  47. package/dist/renderRegistryGuards.d.ts +5 -0
  48. package/dist/renderRegistryGuards.d.ts.map +1 -0
  49. package/dist/renderRegistryGuards.js +57 -0
  50. package/dist/renderRegistryGuards.js.map +1 -0
  51. package/dist/renderRegistrySignals.d.ts +3 -0
  52. package/dist/renderRegistrySignals.d.ts.map +1 -0
  53. package/dist/renderRegistrySignals.js +19 -0
  54. package/dist/renderRegistrySignals.js.map +1 -0
  55. package/dist/renderState.d.ts +2 -1
  56. package/dist/renderState.d.ts.map +1 -1
  57. package/dist/renderState.js +28 -3
  58. package/dist/renderState.js.map +1 -1
  59. package/dist/renderTarget.d.ts +4 -2
  60. package/dist/renderTarget.d.ts.map +1 -1
  61. package/dist/renderTarget.js +54 -4
  62. package/dist/renderTarget.js.map +1 -1
  63. package/dist/renderTransform2d.d.ts +1 -1
  64. package/dist/renderTransform2d.d.ts.map +1 -1
  65. package/dist/renderTransform2d.js +6 -3
  66. package/dist/renderTransform2d.js.map +1 -1
  67. package/dist/renderViewport.d.ts +1 -1
  68. package/dist/renderViewport.d.ts.map +1 -1
  69. package/dist/renderViewport.js +2 -2
  70. package/dist/renderViewport.js.map +1 -1
  71. package/dist/renderer.d.ts +3 -1
  72. package/dist/renderer.d.ts.map +1 -1
  73. package/dist/renderer.js +15 -0
  74. package/dist/renderer.js.map +1 -1
  75. package/dist/scene2dWorkingColorSpace.d.ts +3 -0
  76. package/dist/scene2dWorkingColorSpace.d.ts.map +1 -0
  77. package/dist/scene2dWorkingColorSpace.js +19 -0
  78. package/dist/scene2dWorkingColorSpace.js.map +1 -0
  79. package/dist/sceneRender.d.ts +6 -2
  80. package/dist/sceneRender.d.ts.map +1 -1
  81. package/dist/sceneRender.js +52 -18
  82. package/dist/sceneRender.js.map +1 -1
  83. package/package.json +16 -11
  84. package/src/enableColorAdjustmentGuards.test.ts +13 -13
  85. package/src/enableSceneRenderGuards.test.ts +96 -0
  86. package/src/explainScene2DRender.test.ts +2 -2
  87. package/src/renderAppearance.test.ts +3 -3
  88. package/src/renderCache.test.ts +2 -2
  89. package/src/renderColorScaleBias.test.ts +53 -0
  90. package/src/renderMaterial.test.ts +2 -2
  91. package/src/renderProxy.test.ts +22 -5
  92. package/src/renderProxyAdapter.test.ts +2 -2
  93. package/src/renderQueue.test.ts +4 -4
  94. package/src/renderRegistryGuards.test.ts +94 -0
  95. package/src/renderRegistrySignals.test.ts +15 -0
  96. package/src/renderState.test.ts +18 -4
  97. package/src/renderTarget.test.ts +114 -6
  98. package/src/renderTransform2d.test.ts +16 -2
  99. package/src/renderViewport.test.ts +9 -4
  100. package/src/renderer.test.ts +42 -1
  101. package/src/scene2dWorkingColorSpace.test.ts +11 -0
  102. package/src/sceneRender.test.ts +92 -10
  103. package/dist/renderColorTransform.d.ts +0 -3
  104. package/dist/renderColorTransform.d.ts.map +0 -1
  105. package/dist/renderColorTransform.js +0 -21
  106. package/dist/renderColorTransform.js.map +0 -1
  107. package/src/renderColorTransform.test.ts +0 -45
@@ -0,0 +1,21 @@
1
+ export * from './enableSceneRenderGuards';
2
+ export * from './enableColorAdjustmentGuards';
3
+ export * from './explainScene2DRender';
4
+ export * from './renderAppearance';
5
+ export * from './renderCache';
6
+ export * from './renderColor';
7
+ export * from './renderColorScaleBias';
8
+ export * from './renderer';
9
+ export * from './renderMaterial';
10
+ export * from './renderProxy';
11
+ export * from './renderProxyAdapter';
12
+ export * from './renderQueue';
13
+ export * from './renderRegistryGuards';
14
+ export * from './renderRegistrySignals';
15
+ export * from './renderState';
16
+ export * from './renderTarget';
17
+ export * from './renderTransform2d';
18
+ export * from './renderViewport';
19
+ export * from './sceneRender';
20
+ export { SCENE2D_WORKING_COLOR_SPACE } from './scene2dWorkingColorSpace';
21
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +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,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,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,eAAe,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,21 @@
1
+ export * from './enableSceneRenderGuards';
2
+ export * from './enableColorAdjustmentGuards';
3
+ export * from './explainScene2DRender';
4
+ export * from './renderAppearance';
5
+ export * from './renderCache';
6
+ export * from './renderColor';
7
+ export * from './renderColorScaleBias';
8
+ export * from './renderer';
9
+ export * from './renderMaterial';
10
+ export * from './renderProxy';
11
+ export * from './renderProxyAdapter';
12
+ export * from './renderQueue';
13
+ export * from './renderRegistryGuards';
14
+ export * from './renderRegistrySignals';
15
+ export * from './renderState';
16
+ export * from './renderTarget';
17
+ export * from './renderTransform2d';
18
+ export * from './renderViewport';
19
+ export * from './sceneRender';
20
+ export { SCENE2D_WORKING_COLOR_SPACE } from './scene2dWorkingColorSpace';
21
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +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,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,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,eAAe,CAAC;AAC9B,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { RenderState } from '@flighthq/types';
1
+ import type { RenderState } from '@flighthq/types/contract';
2
2
  export declare function areColorAdjustmentGuardsEnabled(state: RenderState): boolean;
3
3
  export declare function enableColorAdjustmentGuards(state: RenderState): void;
4
4
  //# sourceMappingURL=enableColorAdjustmentGuards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enableColorAdjustmentGuards.d.ts","sourceRoot":"","sources":["../src/enableColorAdjustmentGuards.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAMnD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE3E;AAQD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAEpE"}
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,CAEpE"}
@@ -1,22 +1,21 @@
1
- import { logOnce } from '@flighthq/log';
2
- import { LogLevel } from '@flighthq/types';
1
+ import { logOnce } from '@flighthq/log/contract';
2
+ import { LogLevel } from '@flighthq/types/contract';
3
3
  import { getRenderStateRuntime } from './renderState';
4
4
  // Returns whether the color-adjustment deferral guard is installed on `state`.
5
5
  export function areColorAdjustmentGuardsEnabled(state) {
6
- return getRenderStateRuntime(state).colorAdjustmentChannelMixingGuard != null;
6
+ return getRenderStateRuntime(state).colorAdjustmentUnsupportedGuard != null;
7
7
  }
8
- // Installs the shakeable color-adjustment guard on `state`: when a node's color-adjustment stack contains
9
- // an off-diagonal channel-mixing adjustment (saturation/hue/sepia/channelMixer) that the affine inline
10
- // fold cannot represent yet, the render walk reaches this guard through its nullable runtime slot and
11
- // warns once (only the affine part of the tint is applied — the non-affine part is skipped, never a
12
- // throw). Not calling this — the production default — costs the render walk nothing, since the message
13
- // and @flighthq/log dependency live only in this separately-imported module. Idempotent.
8
+ // Installs the shakeable color-adjustment guard on `state`: when a node's stack contains a non-matrix
9
+ // operation that neither the compact affine path nor the full 4×5 path can represent, the render walk
10
+ // reaches this guard through its nullable runtime slot and warns once. Not calling this — the production
11
+ // default — costs the render walk nothing, since the message and @flighthq/log dependency live only in
12
+ // this separately-imported module. Idempotent.
14
13
  export function enableColorAdjustmentGuards(state) {
15
- getRenderStateRuntime(state).colorAdjustmentChannelMixingGuard = warnColorAdjustmentChannelMixingNotInlineable;
14
+ getRenderStateRuntime(state).colorAdjustmentUnsupportedGuard = warnUnsupportedColorAdjustment;
16
15
  }
17
- function warnColorAdjustmentChannelMixingNotInlineable() {
18
- logOnce('render:color-adjustment-channel-mixing-not-inlineable', LogLevel.Warn, {
19
- message: 'updateRenderProxyColorTransform: per-object channel-mixing color adjustment (saturation/hue/sepia/channelMixer) is not inline-able yet — the 4×5 fold is deferred, so only the affine part of the stack was applied. Use an Effect pass for the channel-mixing op.',
16
+ function warnUnsupportedColorAdjustment() {
17
+ logOnce('render:unsupported-color-adjustment', LogLevel.Warn, {
18
+ message: 'updateRenderProxyColorScaleBias: a per-object color adjustment is not inline-able because it has no 4×5 matrix representation. Use an Effect pass for the unsupported operation.',
20
19
  }, 'render');
21
20
  }
22
21
  //# sourceMappingURL=enableColorAdjustmentGuards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enableColorAdjustmentGuards.js","sourceRoot":"","sources":["../src/enableColorAdjustmentGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,+EAA+E;AAC/E,MAAM,UAAU,+BAA+B,CAAC,KAAkB;IAChE,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,iCAAiC,IAAI,IAAI,CAAC;AAChF,CAAC;AAED,0GAA0G;AAC1G,uGAAuG;AACvG,sGAAsG;AACtG,oGAAoG;AACpG,uGAAuG;AACvG,yFAAyF;AACzF,MAAM,UAAU,2BAA2B,CAAC,KAAkB;IAC5D,qBAAqB,CAAC,KAAK,CAAC,CAAC,iCAAiC,GAAG,6CAA6C,CAAC;AACjH,CAAC;AAED,SAAS,6CAA6C;IACpD,OAAO,CACL,uDAAuD,EACvD,QAAQ,CAAC,IAAI,EACb;QACE,OAAO,EACL,oQAAoQ;KACvQ,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,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,+EAA+E;AAC/E,MAAM,UAAU,+BAA+B,CAAC,KAAkB;IAChE,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,+BAA+B,IAAI,IAAI,CAAC;AAC9E,CAAC;AAED,sGAAsG;AACtG,sGAAsG;AACtG,yGAAyG;AACzG,uGAAuG;AACvG,+CAA+C;AAC/C,MAAM,UAAU,2BAA2B,CAAC,KAAkB;IAC5D,qBAAqB,CAAC,KAAK,CAAC,CAAC,+BAA+B,GAAG,8BAA8B,CAAC;AAChG,CAAC;AAED,SAAS,8BAA8B;IACrC,OAAO,CACL,qCAAqC,EACrC,QAAQ,CAAC,IAAI,EACb;QACE,OAAO,EACL,kLAAkL;KACrL,EACD,QAAQ,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,22 @@
1
+ /** Uninstalls the guards installed by `enableSceneRenderGuards`. */
2
+ export declare function disableSceneRenderGuards(): void;
3
+ /**
4
+ * Installs the caller-facing scene-render guards (opt-in, dev-only). It warns once — through
5
+ * `@flighthq/log` — when a skinned mesh reaches frustum culling with no posed bounds, meaning the
6
+ * deform pass `prepareScene3DRender` documents as a precondition never ran.
7
+ *
8
+ * That is worth a message because the failure is invisible at the point of the mistake. A GPU-skinned
9
+ * mesh deforms in the shader, so its geometry bounds stay bind pose; without the deform pass, culling
10
+ * tests a swung limb against the box the character occupied in bind pose and removes it from the frame.
11
+ * The symptom is a limb or a whole character flickering out at certain angles, which reads as a
12
+ * culling bug or a camera bug — anything except a missing call in the frame loop.
13
+ *
14
+ * `prepareScene3DRender` cannot simply run the deform pass itself: that would make `@flighthq/render`
15
+ * depend on `@flighthq/skeleton3d` and bundle skinning into every rigid and 2D consumer. So the
16
+ * precondition is real and the guard is how it becomes discoverable.
17
+ *
18
+ * Not importing this module costs production nothing: the message and the `@flighthq/log` dependency
19
+ * live only here.
20
+ */
21
+ export declare function enableSceneRenderGuards(): void;
22
+ //# sourceMappingURL=enableSceneRenderGuards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enableSceneRenderGuards.d.ts","sourceRoot":"","sources":["../src/enableSceneRenderGuards.ts"],"names":[],"mappings":"AAMA,oEAAoE;AACpE,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
@@ -0,0 +1,36 @@
1
+ import { logOnce } from '@flighthq/log/contract';
2
+ import { LogLevel } from '@flighthq/types/contract';
3
+ import { setSkinnedMeshBoundsGuard } from './sceneRender';
4
+ /** Uninstalls the guards installed by `enableSceneRenderGuards`. */
5
+ export function disableSceneRenderGuards() {
6
+ setSkinnedMeshBoundsGuard(null);
7
+ }
8
+ /**
9
+ * Installs the caller-facing scene-render guards (opt-in, dev-only). It warns once — through
10
+ * `@flighthq/log` — when a skinned mesh reaches frustum culling with no posed bounds, meaning the
11
+ * deform pass `prepareScene3DRender` documents as a precondition never ran.
12
+ *
13
+ * That is worth a message because the failure is invisible at the point of the mistake. A GPU-skinned
14
+ * mesh deforms in the shader, so its geometry bounds stay bind pose; without the deform pass, culling
15
+ * tests a swung limb against the box the character occupied in bind pose and removes it from the frame.
16
+ * The symptom is a limb or a whole character flickering out at certain angles, which reads as a
17
+ * culling bug or a camera bug — anything except a missing call in the frame loop.
18
+ *
19
+ * `prepareScene3DRender` cannot simply run the deform pass itself: that would make `@flighthq/render`
20
+ * depend on `@flighthq/skeleton3d` and bundle skinning into every rigid and 2D consumer. So the
21
+ * precondition is real and the guard is how it becomes discoverable.
22
+ *
23
+ * Not importing this module costs production nothing: the message and the `@flighthq/log` dependency
24
+ * live only here.
25
+ */
26
+ export function enableSceneRenderGuards() {
27
+ setSkinnedMeshBoundsGuard(warnOnUnposedSkinnedMesh);
28
+ }
29
+ function warnOnUnposedSkinnedMesh(_mesh) {
30
+ logOnce('render:skinned-mesh-without-deformed-bounds', LogLevel.Warn, {
31
+ message: 'prepareScene3DRender: a skinned mesh has no posed bounds, so culling is testing it against its ' +
32
+ 'BIND POSE box and a deformed limb can be wrongly culled. Call prepareScene3DSkinning ' +
33
+ '(@flighthq/skeleton3d) before prepareScene3DRender each frame.',
34
+ }, 'render');
35
+ }
36
+ //# sourceMappingURL=enableSceneRenderGuards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enableSceneRenderGuards.js","sourceRoot":"","sources":["../src/enableSceneRenderGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAE1D,oEAAoE;AACpE,MAAM,UAAU,wBAAwB;IACtC,yBAAyB,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uBAAuB;IACrC,yBAAyB,CAAC,wBAAwB,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAqB;IACrD,OAAO,CACL,6CAA6C,EAC7C,QAAQ,CAAC,IAAI,EACb;QACE,OAAO,EACL,iGAAiG;YACjG,uFAAuF;YACvF,gEAAgE;KACnE,EACD,QAAQ,CACT,CAAC;AACJ,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { Scene2DRenderExplanation, Renderable, RenderState } from '@flighthq/types';
1
+ import type { Scene2DRenderExplanation, Renderable, RenderState } from '@flighthq/types/contract';
2
2
  export declare function explainScene2DRender(state: RenderState, source: Renderable): 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,iBAAiB,CAAC;AAqBzB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,wBAAwB,CAmBrG"}
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;AAqBlC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,GAAG,wBAAwB,CAmBrG"}
package/dist/index.d.ts CHANGED
@@ -1,17 +1,3 @@
1
- export * from './enableColorAdjustmentGuards';
2
- export * from './explainScene2DRender';
3
- export * from './renderAppearance';
4
- export * from './renderCache';
5
- export * from './renderColor';
6
- export * from './renderColorTransform';
7
- export * from './renderer';
8
- export * from './renderMaterial';
9
- export * from './renderProxy';
10
- export * from './renderProxyAdapter';
11
- export * from './renderQueue';
12
- export * from './renderState';
13
- export * from './renderTarget';
14
- export * from './renderTransform2d';
15
- export * from './renderViewport';
16
- export * from './sceneRender';
1
+ export { disableSceneRenderGuards, enableSceneRenderGuards, createRenderCache, destroyRenderState, disposeScene2DRender, enableRenderRegistryGuards, enableRenderRegistrySignals, explainRenderRegistryMisses, packScene3DLightBlock, prepareScene2DRender, prepareScene3DRender, registerRenderer, useRenderCache, } from './contract';
2
+ export { SCENE2D_WORKING_COLOR_SPACE } from './scene2dWorkingColorSpace';
17
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,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"}
package/dist/index.js CHANGED
@@ -1,17 +1,3 @@
1
- export * from './enableColorAdjustmentGuards';
2
- export * from './explainScene2DRender';
3
- export * from './renderAppearance';
4
- export * from './renderCache';
5
- export * from './renderColor';
6
- export * from './renderColorTransform';
7
- export * from './renderer';
8
- export * from './renderMaterial';
9
- export * from './renderProxy';
10
- export * from './renderProxyAdapter';
11
- export * from './renderQueue';
12
- export * from './renderState';
13
- export * from './renderTarget';
14
- export * from './renderTransform2d';
15
- export * from './renderViewport';
16
- export * from './sceneRender';
1
+ export { disableSceneRenderGuards, enableSceneRenderGuards, createRenderCache, destroyRenderState, disposeScene2DRender, enableRenderRegistryGuards, enableRenderRegistrySignals, explainRenderRegistryMisses, packScene3DLightBlock, prepareScene2DRender, prepareScene3DRender, registerRenderer, useRenderCache, } from './contract';
2
+ export { SCENE2D_WORKING_COLOR_SPACE } from './scene2dWorkingColorSpace';
17
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,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,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,3 +1,3 @@
1
- import type { RenderProxy, RenderState } from '@flighthq/types';
1
+ import type { RenderProxy, RenderState } from '@flighthq/types/contract';
2
2
  export declare function updateRenderProxyAppearance(state: RenderState, data: RenderProxy, parentData?: RenderProxy): boolean;
3
3
  //# sourceMappingURL=renderAppearance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderAppearance.d.ts","sourceRoot":"","sources":["../src/renderAppearance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqC,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAInG,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,OAAO,CAWpH"}
1
+ {"version":3,"file":"renderAppearance.d.ts","sourceRoot":"","sources":["../src/renderAppearance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAqC,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAI5G,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,WAAW,GAAG,OAAO,CAWpH"}
@@ -1,4 +1,4 @@
1
- import { getNodeAppearanceRevision } from '@flighthq/node';
1
+ import { getNodeAppearanceRevision } from '@flighthq/node/contract';
2
2
  import { getRenderStateRuntime } from './renderState';
3
3
  export function updateRenderProxyAppearance(state, data, parentData) {
4
4
  const appearanceId = getNodeAppearanceRevision(data.source);
@@ -1 +1 @@
1
- {"version":3,"file":"renderAppearance.js","sourceRoot":"","sources":["../src/renderAppearance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,UAAU,2BAA2B,CAAC,KAAkB,EAAE,IAAiB,EAAE,UAAwB;IACzG,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAc,CAAC,CAAC;IACpE,IACE,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,iBAAiB,KAAK,qBAAqB,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;QAC1G,IAAI,CAAC,gBAAgB,KAAK,YAAY,EACtC,CAAC;QACD,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAkB,EAAE,IAAiB,EAAE,UAAwB;IAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAiD,CAAC;IACtE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC7C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO;QAC5B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;QAC9C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IAC7F,CAAC;IACD,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"renderAppearance.js","sourceRoot":"","sources":["../src/renderAppearance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAGpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,UAAU,2BAA2B,CAAC,KAAkB,EAAE,IAAiB,EAAE,UAAwB;IACzG,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,CAAC,MAAc,CAAC,CAAC;IACpE,IACE,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,iBAAiB,KAAK,qBAAqB,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;QAC1G,IAAI,CAAC,gBAAgB,KAAK,YAAY,EACtC,CAAC;QACD,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAkB,EAAE,IAAiB,EAAE,UAAwB;IAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAiD,CAAC;IACtE,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC7C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO;QAC5B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;QAC9C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;YAAE,OAAO;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;IAC7F,CAAC;IACD,IAAI,CAAC,iBAAiB,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC;AACvE,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { Renderable, RenderCache, RenderCacheAdapter, Renderer, RenderState } from '@flighthq/types';
2
- import { RenderCacheKind } from '@flighthq/types';
1
+ import type { Renderable, RenderCache, RenderCacheAdapter, Renderer, RenderState } from '@flighthq/types/contract';
2
+ import { RenderCacheKind } from '@flighthq/types/contract';
3
3
  export { RenderCacheKind };
4
4
  /**
5
5
  * Creates a backend-agnostic cache handle. The handle owns no resource; a backend
@@ -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,iBAAiB,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKlD,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,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,7 +1,7 @@
1
- import { createEntity } from '@flighthq/entity';
2
- import { createMatrix, multiplyMatrix } from '@flighthq/geometry';
3
- import { createSignal } from '@flighthq/signals';
4
- import { RenderCacheKind } from '@flighthq/types';
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+ import { createMatrix, multiplyMatrix } from '@flighthq/geometry/contract';
3
+ import { createSignal } from '@flighthq/signals/contract';
4
+ import { RenderCacheKind } from '@flighthq/types/contract';
5
5
  import { registerRenderer } from './renderer';
6
6
  import { getRenderProxyAdapter, setRenderProxyAdapter } from './renderProxyAdapter';
7
7
  export { RenderCacheKind };
@@ -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,3 +1,3 @@
1
- import type { RenderState } from '@flighthq/types';
1
+ import type { RenderState } from '@flighthq/types/contract';
2
2
  export declare function setRenderStateBackgroundColor(state: RenderState, color: number): void;
3
3
  //# sourceMappingURL=renderColor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderColor.d.ts","sourceRoot":"","sources":["../src/renderColor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAerF"}
1
+ {"version":3,"file":"renderColor.d.ts","sourceRoot":"","sources":["../src/renderColor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAerF"}
@@ -0,0 +1,3 @@
1
+ import type { RenderProxy, RenderState } from '@flighthq/types/contract';
2
+ export declare function updateRenderProxyColorScaleBias(state: RenderState, data: RenderProxy, _parentData?: RenderProxy): void;
3
+ //# sourceMappingURL=renderColorScaleBias.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderColorScaleBias.d.ts","sourceRoot":"","sources":["../src/renderColorScaleBias.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4C,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAcnH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,WAAW,EACjB,WAAW,CAAC,EAAE,WAAW,GACxB,IAAI,CAON"}
@@ -0,0 +1,21 @@
1
+ import { getNodeRuntime } from '@flighthq/node/contract';
2
+ import { getRenderStateRuntime } from './renderState';
3
+ // Hands the node's resolved color adjustment to the render node. A node's color-adjustment stack
4
+ // (NodeRuntime.colorAdjustments) is fused once into the affine `resolvedColorScaleBias` cache by the
5
+ // set-accessors on change — never per frame — so this hot-path visitor is a single field read, identical
6
+ // in cost to reading the old `.colorScaleBias`. Non-inheriting: a node uses its own resolved value (or
7
+ // none → null). The value is the Adjustment-tier fold input; it is not a material and does not key the
8
+ // batch.
9
+ //
10
+ // Matrix-tier channel mixing travels through `resolvedColorMatrix`. A non-matrix operation that cannot
11
+ // be represented by either path leaves `colorAdjustmentsUnsupported` set, invoking the shakeable guard
12
+ // so unsupported adjustment data is reported rather than silently discarded.
13
+ export function updateRenderProxyColorScaleBias(state, data, _parentData) {
14
+ const runtime = getNodeRuntime(data.source);
15
+ data.colorScaleBias = runtime.resolvedColorScaleBias ?? null;
16
+ data.colorMatrix = runtime.resolvedColorMatrix ?? null;
17
+ if (runtime.colorAdjustmentsUnsupported) {
18
+ getRenderStateRuntime(state).colorAdjustmentUnsupportedGuard?.(state, data.source);
19
+ }
20
+ }
21
+ //# sourceMappingURL=renderColorScaleBias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderColorScaleBias.js","sourceRoot":"","sources":["../src/renderColorScaleBias.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,iGAAiG;AACjG,qGAAqG;AACrG,yGAAyG;AACzG,uGAAuG;AACvG,uGAAuG;AACvG,SAAS;AACT,EAAE;AACF,uGAAuG;AACvG,uGAAuG;AACvG,6EAA6E;AAC7E,MAAM,UAAU,+BAA+B,CAC7C,KAAkB,EAClB,IAAiB,EACjB,WAAyB;IAEzB,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,MAAc,CAA8C,CAAC;IACjG,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,sBAAsB,IAAI,IAAI,CAAC;IAC7D,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,mBAAmB,IAAI,IAAI,CAAC;IACvD,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC;QACxC,qBAAqB,CAAC,KAAK,CAAC,CAAC,+BAA+B,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,MAAoB,CAAC,CAAC;IACnG,CAAC;AACH,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { RenderProxy, RenderState } from '@flighthq/types';
1
+ import type { RenderProxy, RenderState } from '@flighthq/types/contract';
2
2
  export declare function updateRenderProxyMaterial(state: RenderState, data: RenderProxy, _parentData?: RenderProxy): void;
3
3
  //# sourceMappingURL=renderMaterial.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderMaterial.d.ts","sourceRoot":"","sources":["../src/renderMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,WAAW,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAK7E,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAIhH"}
1
+ {"version":3,"file":"renderMaterial.d.ts","sourceRoot":"","sources":["../src/renderMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,WAAW,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAKtF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAIhH"}
@@ -1,4 +1,4 @@
1
- import type { HasBoundsRectangle, HasTransform2D, Renderable, RenderProxy, RenderProxy2D, RenderProxyVisitor, RenderState } from '@flighthq/types';
1
+ import type { HasBoundsRectangle, HasTransform2D, Renderable, RenderProxy, RenderProxy2D, RenderProxyVisitor, RenderState } 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;
@@ -1 +1 @@
1
- {"version":3,"file":"renderProxy.d.ts","sourceRoot":"","sources":["../src/renderProxy.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,kBAAkB,EAClB,cAAc,EAEd,UAAU,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AASzB,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,CAwBrF;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,CAM/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,CAY9F;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,CAWT;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,CASN;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAWrF;AAMD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CA+CjG"}
1
+ {"version":3,"file":"renderProxy.d.ts","sourceRoot":"","sources":["../src/renderProxy.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,kBAAkB,EAClB,cAAc,EAEd,UAAU,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AASlC,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,CAyBrF;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,CAYT;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,CASN;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,CAWrF;AAaD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAgDjG"}
@@ -1,15 +1,15 @@
1
- import { createEntity } from '@flighthq/entity';
2
- import { createMatrix } from '@flighthq/geometry';
3
- import { getNodeAppearanceRevision, getNodeLocalContentRevision, getNodeLocalTransformRevision, getNodeParent, getNodeRuntime, } from '@flighthq/node';
4
- import { BlendMode } from '@flighthq/types';
1
+ import { createEntity } from '@flighthq/entity/contract';
2
+ import { createMatrix } from '@flighthq/geometry/contract';
3
+ import { getNodeAppearanceRevision, getNodeLocalContentRevision, getNodeLocalTransformRevision, getNodeParent, getNodeRuntime, } from '@flighthq/node/contract';
4
+ import { BlendMode } from '@flighthq/types/contract';
5
5
  import { updateRenderProxyAppearance } from './renderAppearance';
6
- import { updateRenderProxyColorTransform } from './renderColorTransform';
6
+ import { updateRenderProxyColorScaleBias } from './renderColorScaleBias';
7
7
  import { updateRenderProxyMaterial } from './renderMaterial';
8
8
  import { getRenderStateRuntime } from './renderState';
9
9
  import { updateRenderProxy2DTransform } from './renderTransform2d';
10
10
  export function createRenderProxy(state, source) {
11
11
  const runtime = getRenderStateRuntime(state);
12
- const renderer = runtime.rendererMap.get(source.kind) ?? null;
12
+ const renderer = resolveRenderProxyRenderer(state, source.kind);
13
13
  return createEntity({
14
14
  source: source,
15
15
  kind: source.kind,
@@ -17,7 +17,8 @@ export function createRenderProxy(state, source) {
17
17
  alpha: 1,
18
18
  appearanceFrameId: -1,
19
19
  blendMode: BlendMode.Normal,
20
- colorTransform: null,
20
+ colorScaleBias: null,
21
+ colorMatrix: null,
21
22
  material: null,
22
23
  materialData: null,
23
24
  lastAppearanceId: -1,
@@ -47,13 +48,15 @@ export function createRenderProxy2D(state, source) {
47
48
  // renderer's destroyData to free the non-GC GPU resources it owns. Call when a node is removed from
48
49
  // rendering for good — otherwise those GPU textures/framebuffers linger until the source is GC'd.
49
50
  export function disposeRenderProxy(state, source) {
50
- const renderProxyMap = getRenderStateRuntime(state).renderProxyMap;
51
+ const runtime = getRenderStateRuntime(state);
52
+ const renderProxyMap = runtime.renderProxyMap;
51
53
  const node = renderProxyMap.get(source);
52
54
  if (node === undefined)
53
55
  return;
54
56
  if (node.rendererData !== null)
55
57
  node.renderer?.destroyData?.(state, node.rendererData);
56
58
  renderProxyMap.delete(source);
59
+ runtime.renderProxySources.delete(source);
57
60
  }
58
61
  // Teardown counterpart to prepareScene2DRender: disposes the render of `root` and every descendant —
59
62
  // the render proxies that prepareScene2DRender created. Each disposeRenderProxy cascades to the
@@ -72,6 +75,7 @@ export function getOrCreateRenderProxy2D(state, source) {
72
75
  if (!node) {
73
76
  node = createRenderProxy2D(state, source);
74
77
  renderProxyMap.set(source, node);
78
+ runtime.renderProxySources.add(source);
75
79
  }
76
80
  if (node.rendererMapId !== runtime.rendererMapId) {
77
81
  updateRenderProxyRenderer(state, node);
@@ -88,11 +92,12 @@ export function isRenderProxyDirty(state, source, data, parentData) {
88
92
  const currentFrameId = getRenderStateRuntime(state).currentFrameId;
89
93
  const parentDirty = parentData !== undefined &&
90
94
  (parentData.transformFrameId === currentFrameId || parentData.appearanceFrameId === currentFrameId);
95
+ const rendererDirty = data.renderer?.isDirty?.(state, source, data.rendererData) ?? false;
91
96
  const localDirty = state.sceneGraphSyncPolicy === 'refreshDerivedState' ||
92
97
  data.lastLocalTransformId !== getNodeLocalTransformRevision(source) ||
93
98
  data.lastAppearanceId !== getNodeAppearanceRevision(source) ||
94
99
  data.lastLocalContentId !== getNodeLocalContentRevision(source);
95
- return parentDirty || localDirty;
100
+ return parentDirty || rendererDirty || localDirty;
96
101
  }
97
102
  export function isRenderProxyVisible(data) {
98
103
  return data.visible && data.alpha > 0 && !(data.transform2D.a === 0 && data.transform2D.d === 0);
@@ -113,13 +118,13 @@ export function updateNodeClip(_state, source, data, parentData) {
113
118
  const parentDepth = parentData !== undefined ? parentData.clipDepth : 0;
114
119
  data.clipDepth = parentDepth + (source.clip != null ? 1 : 0);
115
120
  }
116
- // The one per-node update step for the 2D walk: appearance, transform, material, color transform,
121
+ // The one per-node update step for the 2D walk: appearance, transform, material, color adjustment,
117
122
  // then the clip nesting depth. Sprites and display objects share this single visitor.
118
123
  export function updateRenderProxy2D(state, source, data, parentData) {
119
124
  updateRenderProxyAppearance(state, data, parentData);
120
125
  updateRenderProxy2DTransform(state, data, parentData);
121
126
  updateRenderProxyMaterial(state, data, parentData);
122
- updateRenderProxyColorTransform(state, data, parentData);
127
+ updateRenderProxyColorScaleBias(state, data, parentData);
123
128
  updateNodeClip(state, source, data, parentData);
124
129
  // Record the content revision we synced at, so a later content-only change re-dirties the node.
125
130
  data.lastLocalContentId = getNodeLocalContentRevision(source);
@@ -127,7 +132,7 @@ export function updateRenderProxy2D(state, source, data, parentData) {
127
132
  }
128
133
  export function updateRenderProxyRenderer(state, node) {
129
134
  const runtime = getRenderStateRuntime(state);
130
- const renderer = runtime.rendererMap.get(node.kind) ?? null;
135
+ const renderer = resolveRenderProxyRenderer(state, node.kind);
131
136
  if (node.renderer !== renderer || node.rendererDataSource !== node.source) {
132
137
  // Free the outgoing renderer's GPU resources before replacing the data it owned.
133
138
  if (node.rendererData !== null)
@@ -138,12 +143,20 @@ export function updateRenderProxyRenderer(state, node) {
138
143
  }
139
144
  node.rendererMapId = runtime.rendererMapId;
140
145
  }
146
+ function resolveRenderProxyRenderer(state, kind) {
147
+ const runtime = getRenderStateRuntime(state);
148
+ const renderer = runtime.rendererMap.get(kind);
149
+ if (renderer === undefined)
150
+ runtime.registryMiss?.(1, kind);
151
+ return renderer ?? null;
152
+ }
141
153
  // One generic, dirty-checked pre-order walk over the 2D node graph. `visit` composes the trait
142
154
  // update* steps. Sprites and display objects share this single traversal and a single render-node
143
155
  // type — what differs is the traits they carry, not the path. Clip is not handled here: it is a
144
156
  // trait update step in the visitor (updateNodeClip), realized at draw time by the backend clip hooks.
145
157
  export function walkNode(state, root, visit) {
146
158
  const runtime = getRenderStateRuntime(state);
159
+ runtime.renderRootGuard?.(state, root);
147
160
  ++runtime.currentFrameId;
148
161
  const tempStack = runtime.tempStack;
149
162
  let stackLength = 1;
@@ -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,4 +1,4 @@
1
- import type { Renderable, RenderProxy2D, RenderProxyAdapter, RenderState } from '@flighthq/types';
1
+ import type { Renderable, RenderProxy2D, RenderProxyAdapter, RenderState } from '@flighthq/types/contract';
2
2
  export declare function applyRenderProxyAdapter(state: RenderState, source: Renderable, data: RenderProxy2D & {
3
3
  traverseChildren: boolean;
4
4
  }): void;
@@ -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,iBAAiB,CAAC;AAKxG,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,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,4 +1,4 @@
1
- import { invalidateNodeAppearance } from '@flighthq/node';
1
+ import { invalidateNodeAppearance } from '@flighthq/node/contract';
2
2
  import { installRenderAdaptHook, updateRenderProxyRenderer } from './renderProxy';
3
3
  import { getRenderStateRuntime } from './renderState';
4
4
  export function applyRenderProxyAdapter(state, source, data) {
@@ -1 +1 @@
1
- {"version":3,"file":"renderProxyAdapter.js","sourceRoot":"","sources":["../src/renderProxyAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,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,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,4 +1,4 @@
1
- import type { Renderable, RenderProxy, RenderQueue, RenderQueueEntry, RenderSortKey, RenderState } from '@flighthq/types';
1
+ import type { Renderable, RenderProxy, RenderQueue, RenderQueueEntry, RenderSortKey, RenderState } 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;