@flighthq/render 0.2.1-next.841.373388f → 0.3.0-next.1032.e2b99fc
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.
- package/dist/contract.d.ts +17 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +17 -0
- package/dist/contract.js.map +1 -0
- package/dist/enableColorAdjustmentGuards.d.ts +1 -1
- package/dist/enableColorAdjustmentGuards.d.ts.map +1 -1
- package/dist/enableColorAdjustmentGuards.js +12 -13
- package/dist/enableColorAdjustmentGuards.js.map +1 -1
- package/dist/explainScene2DRender.d.ts +1 -1
- package/dist/explainScene2DRender.d.ts.map +1 -1
- package/dist/index.d.ts +1 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -16
- package/dist/index.js.map +1 -1
- package/dist/renderAppearance.d.ts +1 -1
- package/dist/renderAppearance.d.ts.map +1 -1
- package/dist/renderAppearance.js +1 -1
- package/dist/renderAppearance.js.map +1 -1
- package/dist/renderCache.d.ts +2 -2
- package/dist/renderCache.d.ts.map +1 -1
- package/dist/renderCache.js +4 -4
- package/dist/renderCache.js.map +1 -1
- package/dist/renderColor.d.ts +1 -1
- package/dist/renderColor.d.ts.map +1 -1
- package/dist/renderColorScaleBias.d.ts +3 -0
- package/dist/renderColorScaleBias.d.ts.map +1 -0
- package/dist/renderColorScaleBias.js +21 -0
- package/dist/renderColorScaleBias.js.map +1 -0
- package/dist/renderMaterial.d.ts +1 -1
- package/dist/renderMaterial.d.ts.map +1 -1
- package/dist/renderProxy.d.ts +1 -1
- package/dist/renderProxy.d.ts.map +1 -1
- package/dist/renderProxy.js +9 -8
- package/dist/renderProxy.js.map +1 -1
- package/dist/renderProxyAdapter.d.ts +1 -1
- package/dist/renderProxyAdapter.d.ts.map +1 -1
- package/dist/renderProxyAdapter.js +1 -1
- package/dist/renderProxyAdapter.js.map +1 -1
- package/dist/renderQueue.d.ts +1 -1
- package/dist/renderQueue.d.ts.map +1 -1
- package/dist/renderQueue.js +1 -1
- package/dist/renderQueue.js.map +1 -1
- package/dist/renderState.d.ts +1 -1
- package/dist/renderState.d.ts.map +1 -1
- package/dist/renderState.js +3 -3
- package/dist/renderState.js.map +1 -1
- package/dist/renderTarget.d.ts +1 -1
- package/dist/renderTarget.d.ts.map +1 -1
- package/dist/renderTarget.js +2 -2
- package/dist/renderTarget.js.map +1 -1
- package/dist/renderTransform2d.d.ts +1 -1
- package/dist/renderTransform2d.d.ts.map +1 -1
- package/dist/renderTransform2d.js +2 -2
- package/dist/renderTransform2d.js.map +1 -1
- package/dist/renderViewport.d.ts +1 -1
- package/dist/renderViewport.d.ts.map +1 -1
- package/dist/renderViewport.js +2 -2
- package/dist/renderViewport.js.map +1 -1
- package/dist/renderer.d.ts +2 -1
- package/dist/renderer.d.ts.map +1 -1
- package/dist/renderer.js +7 -0
- package/dist/renderer.js.map +1 -1
- package/dist/sceneRender.d.ts +2 -2
- package/dist/sceneRender.d.ts.map +1 -1
- package/dist/sceneRender.js +26 -18
- package/dist/sceneRender.js.map +1 -1
- package/package.json +16 -11
- package/src/enableColorAdjustmentGuards.test.ts +13 -13
- package/src/explainScene2DRender.test.ts +2 -2
- package/src/renderAppearance.test.ts +3 -3
- package/src/renderCache.test.ts +2 -2
- package/src/renderColorScaleBias.test.ts +53 -0
- package/src/renderMaterial.test.ts +2 -2
- package/src/renderProxy.test.ts +5 -5
- package/src/renderProxyAdapter.test.ts +2 -2
- package/src/renderQueue.test.ts +4 -4
- package/src/renderState.test.ts +3 -3
- package/src/renderTarget.test.ts +2 -2
- package/src/renderTransform2d.test.ts +1 -1
- package/src/renderViewport.test.ts +9 -4
- package/src/renderer.test.ts +25 -1
- package/src/sceneRender.test.ts +31 -9
- package/dist/renderColorTransform.d.ts +0 -3
- package/dist/renderColorTransform.d.ts.map +0 -1
- package/dist/renderColorTransform.js +0 -21
- package/dist/renderColorTransform.js.map +0 -1
- package/src/renderColorTransform.test.ts +0 -45
package/dist/renderViewport.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Matrix, Rectangle, RenderProxy2D, RenderViewport2D } from '@flighthq/types';
|
|
1
|
+
import type { Matrix, Rectangle, RenderProxy2D, RenderViewport2D } from '@flighthq/types/contract';
|
|
2
2
|
export declare function computeRenderProxyWorldBounds(out: Pick<Rectangle, 'x' | 'y' | 'width' | 'height'>, source: unknown): boolean;
|
|
3
3
|
export declare function createRenderViewport2D(x: number, y: number, width: number, height: number): RenderViewport2D;
|
|
4
4
|
export declare function isRenderableInViewport(source: unknown, viewport: Readonly<RenderViewport2D>, renderTransform2D?: Readonly<Matrix> | null): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderViewport.d.ts","sourceRoot":"","sources":["../src/renderViewport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"renderViewport.d.ts","sourceRoot":"","sources":["../src/renderViewport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAiB,MAAM,0BAA0B,CAAC;AAKlH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,QAAQ,CAAC,EACpD,MAAM,EAAE,OAAO,GACd,OAAO,CAQT;AAGD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAE5G;AAOD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EACpC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,GAC1C,OAAO,CAoBT;AAID,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC9B,QAAQ,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EACpC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,GAC1C,OAAO,CAET"}
|
package/dist/renderViewport.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createRectangle, matrixTransformRectangle } from '@flighthq/geometry';
|
|
2
|
-
import { getNodeWorldBoundsRectangle } from '@flighthq/node';
|
|
1
|
+
import { createRectangle, matrixTransformRectangle } from '@flighthq/geometry/contract';
|
|
2
|
+
import { getNodeWorldBoundsRectangle } from '@flighthq/node/contract';
|
|
3
3
|
// Writes the world-space axis-aligned bounding box of `source` into `out`. Returns true when
|
|
4
4
|
// `source` is a Spatial2DNode and the bounds were written; returns false and leaves `out`
|
|
5
5
|
// unchanged when the source has no spatial traits.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderViewport.js","sourceRoot":"","sources":["../src/renderViewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"renderViewport.js","sourceRoot":"","sources":["../src/renderViewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACxF,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAGtE,6FAA6F;AAC7F,0FAA0F;AAC1F,mDAAmD;AACnD,MAAM,UAAU,6BAA6B,CAC3C,GAAoD,EACpD,MAAe;IAEf,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,WAAW,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC;IACxD,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IACtB,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;IACtB,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IAC9B,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,sBAAsB,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;IACxF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,+FAA+F;AAC/F,iGAAiG;AACjG,+FAA+F;AAC/F,6FAA6F;AAC7F,yDAAyD;AACzD,MAAM,UAAU,sBAAsB,CACpC,MAAe,EACf,QAAoC,EACpC,iBAA2C;IAE3C,IAAI,CAAC,6BAA6B,CAAC,cAAc,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAExE,IAAI,MAAM,GAAG,cAAc,CAAC;IAC5B,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;QAC9B,wBAAwB,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,CAAC,CAAC;QACjF,MAAM,GAAG,mBAAmB,CAAC;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC;IACzB,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAEzC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;IAE5C,OAAO,CAAC,CAAC,OAAO,GAAG,MAAM,IAAI,OAAO,GAAG,MAAM,IAAI,OAAO,GAAG,MAAM,IAAI,OAAO,GAAG,MAAM,CAAC,CAAC;AACzF,CAAC;AAED,6FAA6F;AAC7F,mDAAmD;AACnD,MAAM,UAAU,uBAAuB,CACrC,KAA8B,EAC9B,QAAoC,EACpC,iBAA2C;IAE3C,OAAO,sBAAsB,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AAC3E,CAAC;AAED,sGAAsG;AACtG,gGAAgG;AAChG,wEAAwE;AACxE,SAAS,eAAe,CAAC,MAAe;IACtC,OAAO,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,QAAQ,IAAK,MAAiB,CAAC;AACzF,CAAC;AAED,oGAAoG;AACpG,MAAM,cAAc,GAAG,eAAe,EAAE,CAAC;AACzC,MAAM,mBAAmB,GAAG,eAAe,EAAE,CAAC"}
|
package/dist/renderer.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { Kind, Renderable, Renderer, RendererData, RenderState } from '@flighthq/types';
|
|
1
|
+
import type { Kind, Renderable, Renderer, RendererData, RenderState } from '@flighthq/types/contract';
|
|
2
2
|
export declare function copyAllRenderersFromRenderState(target: RenderState, source: RenderState): void;
|
|
3
3
|
export declare function copyRenderersFromRenderState(target: RenderState, source: RenderState): void;
|
|
4
4
|
export declare function noopRendererData(_state: RenderState, _source: Renderable): RendererData | null;
|
|
5
5
|
export declare function registerRenderer(state: RenderState, kind: Kind, renderer: Renderer): void;
|
|
6
|
+
export declare function registerRenderers(state: RenderState, entries: ReadonlyArray<readonly [Kind, Renderer]>): void;
|
|
6
7
|
//# sourceMappingURL=renderer.d.ts.map
|
package/dist/renderer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAMtG,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAG9F;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAI3F;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAE9F;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAKzF;AAKD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,GAAG,IAAI,CAE7G"}
|
package/dist/renderer.js
CHANGED
|
@@ -21,4 +21,11 @@ export function registerRenderer(state, kind, renderer) {
|
|
|
21
21
|
runtime.rendererMapId = (runtime.rendererMapId + 1) >>> 0;
|
|
22
22
|
runtime.rendererMap.set(kind, renderer);
|
|
23
23
|
}
|
|
24
|
+
// Batch form of registerRenderer over a caller-supplied set of [kind, renderer] pairs. The registry
|
|
25
|
+
// stays open and tree-shakable: only the renderers the caller references are pulled in — there is no
|
|
26
|
+
// "register all built-ins" set, which would force every renderer into the bundle.
|
|
27
|
+
export function registerRenderers(state, entries) {
|
|
28
|
+
for (const [kind, renderer] of entries)
|
|
29
|
+
registerRenderer(state, kind, renderer);
|
|
30
|
+
}
|
|
24
31
|
//# sourceMappingURL=renderer.js.map
|
package/dist/renderer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,uGAAuG;AACvG,8FAA8F;AAC9F,MAAM,UAAU,+BAA+B,CAAC,MAAmB,EAAE,MAAmB;IACtF,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,sBAAsB,KAAK,IAAI;QAAE,MAAM,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAmB,EAAE,MAAmB;IACnF,qBAAqB,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QACnE,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAmB,EAAE,OAAmB;IACvE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,IAAU,EAAE,QAAkB;IACjF,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO;IACvD,OAAO,CAAC,aAAa,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1D,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC"}
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,uGAAuG;AACvG,8FAA8F;AAC9F,MAAM,UAAU,+BAA+B,CAAC,MAAmB,EAAE,MAAmB;IACtF,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,sBAAsB,KAAK,IAAI;QAAE,MAAM,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;AAC5G,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAmB,EAAE,MAAmB;IACnF,qBAAqB,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE;QACnE,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAmB,EAAE,OAAmB;IACvE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,IAAU,EAAE,QAAkB;IACjF,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO;IACvD,OAAO,CAAC,aAAa,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1D,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,oGAAoG;AACpG,qGAAqG;AACrG,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,KAAkB,EAAE,OAAiD;IACrG,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,OAAO;QAAE,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AAClF,CAAC"}
|
package/dist/sceneRender.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Camera3D, RenderState, Scene3DLightBlock, Scene3DLightsLike, Node3D, Scene3DRenderList } from '@flighthq/types';
|
|
1
|
+
import type { Camera3D, RenderState, Scene3DLightBlock, Scene3DLightsLike, Node3D, Scene3DRenderList } from '@flighthq/types/contract';
|
|
2
2
|
export declare function packScene3DLightBlock(out: Scene3DLightBlock, lights: Readonly<Scene3DLightsLike>): void;
|
|
3
|
-
export declare function prepareScene3DRender(state: RenderState, scene: Readonly<Node3D>, camera: Readonly<Camera3D>, lights: Readonly<Scene3DLightsLike
|
|
3
|
+
export declare function prepareScene3DRender(state: RenderState, scene: Readonly<Node3D>, camera: Readonly<Camera3D>, lights: Readonly<Scene3DLightsLike>, viewportAspect?: number): Scene3DRenderList;
|
|
4
4
|
//# sourceMappingURL=sceneRender.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sceneRender.d.ts","sourceRoot":"","sources":["../src/sceneRender.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAGV,QAAQ,EAUR,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,EACN,iBAAiB,EAGlB,MAAM,
|
|
1
|
+
{"version":3,"file":"sceneRender.d.ts","sourceRoot":"","sources":["../src/sceneRender.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAGV,QAAQ,EAUR,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,EACN,iBAAiB,EAGlB,MAAM,0BAA0B,CAAC;AA2BlC,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAkEvG;AAuBD,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC1B,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EACnC,cAAc,CAAC,EAAE,MAAM,GACtB,iBAAiB,CAyBnB"}
|
package/dist/sceneRender.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { unpackColorToLinear } from '@flighthq/color';
|
|
2
|
-
import { createAabb, createFrustum, createMatrix4, isFrustumIntersectingAabb, multiplyMatrix4, setFrustumFromMatrix4, setOrthographicMatrix4, setPerspectiveMatrix4, transformAabbByMatrix4, } from '@flighthq/geometry';
|
|
3
|
-
import { ensureMeshGeometryBounds } from '@flighthq/mesh';
|
|
4
|
-
import { getNodeRuntime, getNodeWorldMatrix4, invalidateNodeLocalTransform, isNodeLocalMatrix4Detached, } from '@flighthq/node';
|
|
5
|
-
import { MAX_FORWARD_LIGHTS, SCENE_LIGHT_AMBIENT_RADIANCE_OFFSET, SCENE_LIGHT_BLOCK_FLOATS, SCENE_LIGHT_DIRECTIONAL_DIRECTION_OFFSET, SCENE_LIGHT_DIRECTIONAL_RADIANCE_OFFSET, SCENE_LIGHT_HEMISPHERE_OFFSET, SCENE_LIGHT_HEMISPHERE_STRIDE, SCENE_LIGHT_POINT_OFFSET, SCENE_LIGHT_POINT_STRIDE, SCENE_LIGHT_SPOT_OFFSET, SCENE_LIGHT_SPOT_STRIDE, } from '@flighthq/types';
|
|
1
|
+
import { unpackColorToLinear } from '@flighthq/color/contract';
|
|
2
|
+
import { createAabb, createFrustum, createMatrix4, isFrustumIntersectingAabb, multiplyMatrix4, setFrustumFromMatrix4, setOrthographicMatrix4, setPerspectiveMatrix4, transformAabbByMatrix4, } from '@flighthq/geometry/contract';
|
|
3
|
+
import { ensureMeshGeometryBounds } from '@flighthq/mesh/contract';
|
|
4
|
+
import { getNodeRuntime, getNodeWorldMatrix4, invalidateNodeLocalTransform, isNodeLocalMatrix4Detached, } from '@flighthq/node/contract';
|
|
5
|
+
import { MAX_FORWARD_LIGHTS, SCENE_LIGHT_AMBIENT_RADIANCE_OFFSET, SCENE_LIGHT_BLOCK_FLOATS, SCENE_LIGHT_DIRECTIONAL_DIRECTION_OFFSET, SCENE_LIGHT_DIRECTIONAL_RADIANCE_OFFSET, SCENE_LIGHT_HEMISPHERE_OFFSET, SCENE_LIGHT_HEMISPHERE_STRIDE, SCENE_LIGHT_POINT_OFFSET, SCENE_LIGHT_POINT_STRIDE, SCENE_LIGHT_SPOT_OFFSET, SCENE_LIGHT_SPOT_STRIDE, } from '@flighthq/types/contract';
|
|
6
6
|
// Packs the directional + ambient + punctual (point/spot/hemisphere) draw-arg lights into `out` (the
|
|
7
7
|
// GPU-ready light block), converting each packed sRgb color to linear, premultiplied radiance
|
|
8
8
|
// (unpackColorToLinear(color) * intensity) so the shader never sees sRgb. Sets every presence count
|
|
@@ -86,17 +86,16 @@ export function packScene3DLightBlock(out, lights) {
|
|
|
86
86
|
// it sees the current-frame posed silhouette without any skinning code in this package. A rigid scene
|
|
87
87
|
// calls neither and this pass is unchanged.
|
|
88
88
|
//
|
|
89
|
-
// `
|
|
90
|
-
//
|
|
91
|
-
// state (so a gl state and a wgpu state prepare independently);
|
|
92
|
-
// drawScene3D it feeds.
|
|
93
|
-
export function prepareScene3DRender(state, scene, camera, lights) {
|
|
89
|
+
// `viewportAspect`, when supplied by a backend draw path, is authoritative for a perspective camera.
|
|
90
|
+
// Omitting it uses the projection's authored aspect for standalone/headless preparation. The returned
|
|
91
|
+
// list is reused scratch owned per render state (so a gl state and a wgpu state prepare independently);
|
|
92
|
+
// a caller must not retain it past the drawScene3D it feeds.
|
|
93
|
+
export function prepareScene3DRender(state, scene, camera, lights, viewportAspect) {
|
|
94
94
|
const prepared = ensurePreparedScene3D(state);
|
|
95
95
|
const list = prepared.list;
|
|
96
|
-
// RenderState carries no canonical viewport size
|
|
97
|
-
//
|
|
98
|
-
|
|
99
|
-
setScene3DViewProjectionMatrix4(prepared.viewProjection, camera, DEFAULT_VIEWPORT_ASPECT);
|
|
96
|
+
// RenderState carries no canonical viewport size. Backend draws pass their active viewport ratio;
|
|
97
|
+
// neutral callers fall back to the authored projection without mutating it.
|
|
98
|
+
setScene3DViewProjectionMatrix4(prepared.viewProjection, camera, resolveScene3DViewportAspect(camera, viewportAspect));
|
|
100
99
|
setFrustumFromMatrix4(prepared.frustum, prepared.viewProjection);
|
|
101
100
|
packScene3DLightBlock(list.lights, lights);
|
|
102
101
|
prepared.meshes.length = 0;
|
|
@@ -264,20 +263,29 @@ function packSpotLight(data, offset, spot) {
|
|
|
264
263
|
data[offset + 13] = spot.outerConeCos;
|
|
265
264
|
}
|
|
266
265
|
// Composes the camera's view-projection (projection x view) into `out`. For a perspective camera the
|
|
267
|
-
//
|
|
268
|
-
//
|
|
269
|
-
// so it is safe even if `out` aliases the camera's view.
|
|
266
|
+
// resolved draw-time `aspect` is authoritative; near/far come from the camera. Reads camera fields
|
|
267
|
+
// through a scratch projection before the multiply, so it is safe even if `out` aliases camera.view.
|
|
270
268
|
function setScene3DViewProjectionMatrix4(out, camera, aspect) {
|
|
271
269
|
const projection = camera.projection;
|
|
272
270
|
if (projection.kind === 'perspective') {
|
|
273
271
|
// Geometry's setPerspectiveMatrix4 takes the tangent of the half-FOV, not the full angle.
|
|
274
|
-
setPerspectiveMatrix4(scratchProjection, Math.tan(projection.fovY * 0.5),
|
|
272
|
+
setPerspectiveMatrix4(scratchProjection, Math.tan(projection.fovY * 0.5), aspect, camera.near, camera.far);
|
|
275
273
|
}
|
|
276
274
|
else {
|
|
277
275
|
setOrthographicMatrix4(scratchProjection, -projection.halfWidth, projection.halfWidth, -projection.halfHeight, projection.halfHeight, camera.near, camera.far);
|
|
278
276
|
}
|
|
279
277
|
multiplyMatrix4(out, scratchProjection, camera.view);
|
|
280
278
|
}
|
|
279
|
+
function resolveScene3DViewportAspect(camera, viewportAspect) {
|
|
280
|
+
if (viewportAspect !== undefined && Number.isFinite(viewportAspect) && viewportAspect > 0) {
|
|
281
|
+
return viewportAspect;
|
|
282
|
+
}
|
|
283
|
+
const projection = camera.projection;
|
|
284
|
+
if (projection.kind === 'perspective' && Number.isFinite(projection.aspect) && projection.aspect > 0) {
|
|
285
|
+
return projection.aspect;
|
|
286
|
+
}
|
|
287
|
+
return DEFAULT_VIEWPORT_ASPECT;
|
|
288
|
+
}
|
|
281
289
|
// Neutral viewport aspect used when a perspective camera does not carry its own.
|
|
282
290
|
const DEFAULT_VIEWPORT_ASPECT = 1;
|
|
283
291
|
// Per-render-state prepared frames. Keyed by state so independent backends prepare without sharing
|
package/dist/sceneRender.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sceneRender.js","sourceRoot":"","sources":["../src/sceneRender.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sceneRender.js","sourceRoot":"","sources":["../src/sceneRender.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flighthq/render",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-next.1032.e2b99fc",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/flighthq/flight.git",
|
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
".": {
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
15
|
"default": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./contract": {
|
|
18
|
+
"types": "./dist/contract.d.ts",
|
|
19
|
+
"default": "./dist/contract.js"
|
|
16
20
|
}
|
|
17
21
|
},
|
|
18
22
|
"files": [
|
|
@@ -32,15 +36,15 @@
|
|
|
32
36
|
"clean:dist": "tsx ../../scripts/clean-package-dist.ts"
|
|
33
37
|
},
|
|
34
38
|
"dependencies": {
|
|
35
|
-
"@flighthq/color": "0.
|
|
36
|
-
"@flighthq/entity": "0.
|
|
37
|
-
"@flighthq/geometry": "0.
|
|
38
|
-
"@flighthq/log": "0.
|
|
39
|
-
"@flighthq/materials": "0.
|
|
40
|
-
"@flighthq/mesh": "0.
|
|
41
|
-
"@flighthq/node": "0.
|
|
42
|
-
"@flighthq/signals": "0.
|
|
43
|
-
"@flighthq/types": "0.
|
|
39
|
+
"@flighthq/color": "0.3.0-next.1032.e2b99fc",
|
|
40
|
+
"@flighthq/entity": "0.3.0-next.1032.e2b99fc",
|
|
41
|
+
"@flighthq/geometry": "0.3.0-next.1032.e2b99fc",
|
|
42
|
+
"@flighthq/log": "0.3.0-next.1032.e2b99fc",
|
|
43
|
+
"@flighthq/materials": "0.3.0-next.1032.e2b99fc",
|
|
44
|
+
"@flighthq/mesh": "0.3.0-next.1032.e2b99fc",
|
|
45
|
+
"@flighthq/node": "0.3.0-next.1032.e2b99fc",
|
|
46
|
+
"@flighthq/signals": "0.3.0-next.1032.e2b99fc",
|
|
47
|
+
"@flighthq/types": "0.3.0-next.1032.e2b99fc"
|
|
44
48
|
},
|
|
45
49
|
"devDependencies": {
|
|
46
50
|
"@flighthq/adjustments": "*",
|
|
@@ -48,7 +52,8 @@
|
|
|
48
52
|
"@flighthq/scene2d": "*",
|
|
49
53
|
"@flighthq/lighting": "*",
|
|
50
54
|
"@flighthq/scene3d": "*",
|
|
51
|
-
"@flighthq/
|
|
55
|
+
"@flighthq/quadbatch": "*",
|
|
56
|
+
"@flighthq/tilemap": "*",
|
|
52
57
|
"typescript": "^5.3.0"
|
|
53
58
|
},
|
|
54
59
|
"description": "Renderer registration, render state, render queue, and backend draw contracts",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { addLogSink, createMemoryLogSink, getMemoryLogSinkEntries, removeLogSink } from '@flighthq/log';
|
|
3
|
-
import {
|
|
4
|
-
import { createDisplayObject
|
|
5
|
-
import type { Adjustment, Renderable } from '@flighthq/types';
|
|
1
|
+
import { createTintAdjustment } from '@flighthq/adjustments/contract';
|
|
2
|
+
import { addLogSink, createMemoryLogSink, getMemoryLogSinkEntries, removeLogSink } from '@flighthq/log/contract';
|
|
3
|
+
import { setNodeColorAdjustments } from '@flighthq/node/contract';
|
|
4
|
+
import { createDisplayObject } from '@flighthq/scene2d/contract';
|
|
5
|
+
import type { Adjustment, Renderable } from '@flighthq/types/contract';
|
|
6
6
|
|
|
7
7
|
import { areColorAdjustmentGuardsEnabled, enableColorAdjustmentGuards } from './enableColorAdjustmentGuards';
|
|
8
|
-
import {
|
|
8
|
+
import { updateRenderProxyColorScaleBias } from './renderColorScaleBias';
|
|
9
9
|
import { createRenderProxy } from './renderProxy';
|
|
10
10
|
import { createRenderState } from './renderState';
|
|
11
11
|
|
|
@@ -19,20 +19,20 @@ describe('areColorAdjustmentGuardsEnabled', () => {
|
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
describe('enableColorAdjustmentGuards', () => {
|
|
22
|
-
it('warns once when a node carries a non-inline-able
|
|
22
|
+
it('warns once when a node carries a non-inline-able non-matrix adjustment', () => {
|
|
23
23
|
const state = createRenderState();
|
|
24
24
|
enableColorAdjustmentGuards(state);
|
|
25
25
|
const node = createDisplayObject();
|
|
26
|
-
const
|
|
27
|
-
|
|
26
|
+
const lut: Adjustment = { kind: 'acme.Lut' };
|
|
27
|
+
setNodeColorAdjustments(node, [lut]);
|
|
28
28
|
const data = createRenderProxy(state, node as unknown as Renderable);
|
|
29
29
|
const sink = createMemoryLogSink(8);
|
|
30
30
|
addLogSink(sink.sink);
|
|
31
31
|
try {
|
|
32
|
-
|
|
32
|
+
updateRenderProxyColorScaleBias(state, data);
|
|
33
33
|
const entries = getMemoryLogSinkEntries(sink);
|
|
34
34
|
expect(entries.length).toBe(1);
|
|
35
|
-
expect(String((entries[0].data as Record<string, unknown>).message)).toContain('
|
|
35
|
+
expect(String((entries[0].data as Record<string, unknown>).message)).toContain('not inline-able');
|
|
36
36
|
} finally {
|
|
37
37
|
removeLogSink(sink.sink);
|
|
38
38
|
}
|
|
@@ -42,12 +42,12 @@ describe('enableColorAdjustmentGuards', () => {
|
|
|
42
42
|
const state = createRenderState();
|
|
43
43
|
enableColorAdjustmentGuards(state);
|
|
44
44
|
const node = createDisplayObject();
|
|
45
|
-
|
|
45
|
+
setNodeColorAdjustments(node, [createTintAdjustment(0x7fffffff)]);
|
|
46
46
|
const data = createRenderProxy(state, node as unknown as Renderable);
|
|
47
47
|
const sink = createMemoryLogSink(8);
|
|
48
48
|
addLogSink(sink.sink);
|
|
49
49
|
try {
|
|
50
|
-
|
|
50
|
+
updateRenderProxyColorScaleBias(state, data);
|
|
51
51
|
expect(getMemoryLogSinkEntries(sink).length).toBe(0);
|
|
52
52
|
} finally {
|
|
53
53
|
removeLogSink(sink.sink);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { addNodeChild } from '@flighthq/node';
|
|
2
|
-
import { createDisplayObject } from '@flighthq/scene2d';
|
|
1
|
+
import { addNodeChild } from '@flighthq/node/contract';
|
|
2
|
+
import { createDisplayObject } from '@flighthq/scene2d/contract';
|
|
3
3
|
|
|
4
4
|
import { explainScene2DRender } from './explainScene2DRender';
|
|
5
5
|
import { registerRenderer } from './renderer';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { invalidateNodeAppearance } from '@flighthq/node';
|
|
2
|
-
import { createDisplayObject } from '@flighthq/scene2d';
|
|
3
|
-
import { BlendMode } from '@flighthq/types';
|
|
1
|
+
import { invalidateNodeAppearance } from '@flighthq/node/contract';
|
|
2
|
+
import { createDisplayObject } from '@flighthq/scene2d/contract';
|
|
3
|
+
import { BlendMode } from '@flighthq/types/contract';
|
|
4
4
|
|
|
5
5
|
import { updateRenderProxyAppearance } from './renderAppearance';
|
|
6
6
|
import { createRenderProxy } from './renderProxy';
|
package/src/renderCache.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createDisplayObject } from '@flighthq/scene2d';
|
|
2
|
-
import { connectSignal } from '@flighthq/signals';
|
|
1
|
+
import { createDisplayObject } from '@flighthq/scene2d/contract';
|
|
2
|
+
import { connectSignal } from '@flighthq/signals/contract';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
createRenderCache,
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createColorMatrixAdjustment, createTintAdjustment } from '@flighthq/adjustments/contract';
|
|
2
|
+
import { setNodeColorAdjustments } from '@flighthq/node/contract';
|
|
3
|
+
import { createDisplayObject, getNode2DRuntime } from '@flighthq/scene2d/contract';
|
|
4
|
+
import type { Renderable } from '@flighthq/types/contract';
|
|
5
|
+
|
|
6
|
+
import { updateRenderProxyColorScaleBias } from './renderColorScaleBias';
|
|
7
|
+
import { createRenderProxy } from './renderProxy';
|
|
8
|
+
import { createRenderState } from './renderState';
|
|
9
|
+
|
|
10
|
+
describe('updateRenderProxyColorScaleBias', () => {
|
|
11
|
+
it('resolves a node color-adjustment stack onto the render node as an affine ColorScaleBias', () => {
|
|
12
|
+
const state = createRenderState();
|
|
13
|
+
const node = createDisplayObject();
|
|
14
|
+
setNodeColorAdjustments(node, [createTintAdjustment(0x7f0000ff)]);
|
|
15
|
+
const data = createRenderProxy(state, node as unknown as Renderable);
|
|
16
|
+
updateRenderProxyColorScaleBias(state, data);
|
|
17
|
+
expect(data.colorScaleBias).not.toBeNull();
|
|
18
|
+
expect(data.colorScaleBias!.redScale).toBeCloseTo(0x7f / 255);
|
|
19
|
+
expect(data.colorScaleBias!.greenScale).toBe(0);
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
it('resolves channel mixing onto the render node as a complete matrix', () => {
|
|
23
|
+
const state = createRenderState();
|
|
24
|
+
const node = createDisplayObject();
|
|
25
|
+
const matrix = [1, 0.5, 0, 0, 0.1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0];
|
|
26
|
+
setNodeColorAdjustments(node, [createColorMatrixAdjustment(matrix)]);
|
|
27
|
+
const data = createRenderProxy(state, node as unknown as Renderable);
|
|
28
|
+
updateRenderProxyColorScaleBias(state, data);
|
|
29
|
+
expect(data.colorMatrix).toEqual(matrix);
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it('resolves to null when the node carries no adjustments', () => {
|
|
33
|
+
const state = createRenderState();
|
|
34
|
+
const node = createDisplayObject();
|
|
35
|
+
const data = createRenderProxy(state, node as unknown as Renderable);
|
|
36
|
+
updateRenderProxyColorScaleBias(state, data);
|
|
37
|
+
expect(data.colorScaleBias).toBeNull();
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it('reads the cache the accessor fused once (the walk never re-fuses)', () => {
|
|
41
|
+
const state = createRenderState();
|
|
42
|
+
const node = createDisplayObject();
|
|
43
|
+
setNodeColorAdjustments(node, [createTintAdjustment(0x3fffffff)]);
|
|
44
|
+
// The set-accessor fused the stack once; the runtime already holds the cached resolved value.
|
|
45
|
+
const cached = getNode2DRuntime(node).resolvedColorScaleBias;
|
|
46
|
+
expect(cached).not.toBeNull();
|
|
47
|
+
const data = createRenderProxy(state, node as unknown as Renderable);
|
|
48
|
+
updateRenderProxyColorScaleBias(state, data);
|
|
49
|
+
expect(data.colorScaleBias).toBe(cached);
|
|
50
|
+
updateRenderProxyColorScaleBias(state, data);
|
|
51
|
+
expect(data.colorScaleBias).toBe(cached);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createMaterial } from '@flighthq/materials';
|
|
2
|
-
import type { Renderable } from '@flighthq/types';
|
|
1
|
+
import { createMaterial } from '@flighthq/materials/contract';
|
|
2
|
+
import type { Renderable } from '@flighthq/types/contract';
|
|
3
3
|
|
|
4
4
|
import { updateRenderProxyMaterial } from './renderMaterial';
|
|
5
5
|
import { createRenderProxy } from './renderProxy';
|
package/src/renderProxy.test.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createMatrix, createRectangle } from '@flighthq/geometry';
|
|
1
|
+
import { createMatrix, createRectangle } from '@flighthq/geometry/contract';
|
|
2
2
|
import {
|
|
3
3
|
addNodeChild,
|
|
4
4
|
getNodeAppearanceRevision,
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
getNodeLocalTransformRevision,
|
|
7
7
|
invalidateNodeAppearance,
|
|
8
8
|
invalidateNodeLocalTransform,
|
|
9
|
-
} from '@flighthq/node';
|
|
10
|
-
import { createDisplayObject, setNode2DClip } from '@flighthq/scene2d';
|
|
11
|
-
import { createSprite } from '@flighthq/
|
|
12
|
-
import type { ClipRegion } from '@flighthq/types';
|
|
9
|
+
} from '@flighthq/node/contract';
|
|
10
|
+
import { createDisplayObject, setNode2DClip } from '@flighthq/scene2d/contract';
|
|
11
|
+
import { createSprite } from '@flighthq/scene2d/contract';
|
|
12
|
+
import type { ClipRegion } from '@flighthq/types/contract';
|
|
13
13
|
|
|
14
14
|
import { registerRenderer } from './renderer';
|
|
15
15
|
import {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createDisplayObject } from '@flighthq/scene2d';
|
|
2
|
-
import type { RenderProxyAdapter } from '@flighthq/types';
|
|
1
|
+
import { createDisplayObject } from '@flighthq/scene2d/contract';
|
|
2
|
+
import type { RenderProxyAdapter } from '@flighthq/types/contract';
|
|
3
3
|
|
|
4
4
|
import { registerRenderer } from './renderer';
|
|
5
5
|
import { createRenderProxy2D } from './renderProxy';
|
package/src/renderQueue.test.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { addNodeChild } from '@flighthq/node';
|
|
2
|
-
import { createDisplayObject } from '@flighthq/scene2d';
|
|
3
|
-
import { createSprite } from '@flighthq/
|
|
4
|
-
import type { Renderer, RenderProxy, RenderQueueEntry } from '@flighthq/types';
|
|
1
|
+
import { addNodeChild } from '@flighthq/node/contract';
|
|
2
|
+
import { createDisplayObject } from '@flighthq/scene2d/contract';
|
|
3
|
+
import { createSprite } from '@flighthq/scene2d/contract';
|
|
4
|
+
import type { Renderer, RenderProxy, RenderQueueEntry } from '@flighthq/types/contract';
|
|
5
5
|
|
|
6
6
|
import { registerRenderer } from './renderer';
|
|
7
7
|
import { prepareScene2DRender } from './renderProxy';
|
package/src/renderState.test.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createMatrix } from '@flighthq/geometry';
|
|
2
|
-
import type { RenderState } from '@flighthq/types';
|
|
3
|
-
import { BlendMode, EntityRuntimeKey } from '@flighthq/types';
|
|
1
|
+
import { createMatrix } from '@flighthq/geometry/contract';
|
|
2
|
+
import type { RenderState } from '@flighthq/types/contract';
|
|
3
|
+
import { BlendMode, EntityRuntimeKey } from '@flighthq/types/contract';
|
|
4
4
|
|
|
5
5
|
import { createRenderState, createRenderStateRuntime, getRenderStateRuntime } from './renderState';
|
|
6
6
|
|
package/src/renderTarget.test.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createMatrix, createRectangle } from '@flighthq/geometry';
|
|
2
|
-
import { createDisplayObject } from '@flighthq/scene2d';
|
|
1
|
+
import { createMatrix, createRectangle } from '@flighthq/geometry/contract';
|
|
2
|
+
import { createDisplayObject } from '@flighthq/scene2d/contract';
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
computeScene2DRenderTargetTransform,
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import { createMatrix, createRectangle } from '@flighthq/geometry';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { createMatrix, createRectangle } from '@flighthq/geometry/contract';
|
|
2
|
+
import {
|
|
3
|
+
addNodeChild,
|
|
4
|
+
getNodeRuntime,
|
|
5
|
+
invalidateNodeLocalBounds,
|
|
6
|
+
invalidateNodeLocalTransform,
|
|
7
|
+
} from '@flighthq/node/contract';
|
|
8
|
+
import { createSprite, createDisplayObject } from '@flighthq/scene2d/contract';
|
|
9
|
+
import type { HasBoundsRectangleRuntime, RenderProxy2D, RenderViewport2D } from '@flighthq/types/contract';
|
|
5
10
|
|
|
6
11
|
import { createRenderProxy2D, prepareScene2DRender } from './renderProxy';
|
|
7
12
|
import { createRenderState } from './renderState';
|
package/src/renderer.test.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { Scene2DClipHooks, Renderer, RenderState } from '@flighthq/types';
|
|
1
|
+
import type { Scene2DClipHooks, Renderer, RenderState } from '@flighthq/types/contract';
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
copyAllRenderersFromRenderState,
|
|
5
5
|
copyRenderersFromRenderState,
|
|
6
6
|
noopRendererData,
|
|
7
7
|
registerRenderer,
|
|
8
|
+
registerRenderers,
|
|
8
9
|
} from './renderer';
|
|
9
10
|
import { createRenderState, getRenderStateRuntime } from './renderState';
|
|
10
11
|
|
|
@@ -126,3 +127,26 @@ describe('registerRenderer', () => {
|
|
|
126
127
|
expect(getRenderStateRuntime(state).rendererMapId).toBe(0);
|
|
127
128
|
});
|
|
128
129
|
});
|
|
130
|
+
|
|
131
|
+
describe('registerRenderers', () => {
|
|
132
|
+
it('should register every [kind, renderer] pair in the supplied set', () => {
|
|
133
|
+
const state = createRenderState();
|
|
134
|
+
const kindA = 'A';
|
|
135
|
+
const kindB = 'B';
|
|
136
|
+
const rendererA = {} as Renderer;
|
|
137
|
+
const rendererB = {} as Renderer;
|
|
138
|
+
registerRenderers(state, [
|
|
139
|
+
[kindA, rendererA],
|
|
140
|
+
[kindB, rendererB],
|
|
141
|
+
]);
|
|
142
|
+
expect(getRenderStateRuntime(state).rendererMap.get(kindA)).toBe(rendererA);
|
|
143
|
+
expect(getRenderStateRuntime(state).rendererMap.get(kindB)).toBe(rendererB);
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
it('should register nothing for an empty set', () => {
|
|
147
|
+
const state = createRenderState();
|
|
148
|
+
const idBefore = getRenderStateRuntime(state).rendererMapId;
|
|
149
|
+
registerRenderers(state, []);
|
|
150
|
+
expect(getRenderStateRuntime(state).rendererMapId).toBe(idBefore);
|
|
151
|
+
});
|
|
152
|
+
});
|