@flighthq/render 0.3.0-next.1689.2810c05 → 0.3.0-next.1692.f1a7a9a

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.
@@ -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,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;AAID,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAK3F;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"}
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;AAID,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAY3F;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
@@ -15,9 +15,16 @@ export function copyRenderersFromRenderState(target, source) {
15
15
  // cloned, never aliased: derived states start with a snapshot and diverge until an explicit re-copy.
16
16
  export function copyRenderStateRegistrations(target, source) {
17
17
  const targetRuntime = getRenderStateRuntime(target);
18
- const sourceRegistry = getRenderStateRuntime(source).renderEffectPaddingResolverRegistry;
18
+ const sourceRuntime = getRenderStateRuntime(source);
19
+ const sourcePaddingRegistry = sourceRuntime.renderEffectPaddingResolverRegistry;
19
20
  targetRuntime.renderEffectPaddingResolverRegistry =
20
- sourceRegistry === null || sourceRegistry === undefined ? null : new Map(sourceRegistry);
21
+ sourcePaddingRegistry === null || sourcePaddingRegistry === undefined ? null : new Map(sourcePaddingRegistry);
22
+ // The shape-command set is a base-runtime registry every backend replays through, so a pipeline
23
+ // that inherits the renderers must inherit the commands too. Without it an offscreen state resolves
24
+ // no handler for any command in a shape's stream and bakes an empty target.
25
+ const sourceShapeCommands = sourceRuntime.canvasShapeCommandRegistry;
26
+ targetRuntime.canvasShapeCommandRegistry =
27
+ sourceShapeCommands === null || sourceShapeCommands === undefined ? null : new Map(sourceShapeCommands);
21
28
  }
22
29
  export function noopRendererData(_state, _source) {
23
30
  return null;
@@ -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,kGAAkG;AAClG,qGAAqG;AACrG,MAAM,UAAU,4BAA4B,CAAC,MAAmB,EAAE,MAAmB;IACnF,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,mCAAmC,CAAC;IACzF,aAAa,CAAC,mCAAmC;QAC/C,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,CAAC;AAC7F,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"}
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,kGAAkG;AAClG,qGAAqG;AACrG,MAAM,UAAU,4BAA4B,CAAC,MAAmB,EAAE,MAAmB;IACnF,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,qBAAqB,GAAG,aAAa,CAAC,mCAAmC,CAAC;IAChF,aAAa,CAAC,mCAAmC;QAC/C,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAChH,gGAAgG;IAChG,oGAAoG;IACpG,4EAA4E;IAC5E,MAAM,mBAAmB,GAAG,aAAa,CAAC,0BAA0B,CAAC;IACrE,aAAa,CAAC,0BAA0B;QACtC,mBAAmB,KAAK,IAAI,IAAI,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC5G,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/render",
3
- "version": "0.3.0-next.1689.2810c05",
3
+ "version": "0.3.0-next.1692.f1a7a9a",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/flighthq/flight.git",
@@ -36,15 +36,15 @@
36
36
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
37
37
  },
38
38
  "dependencies": {
39
- "@flighthq/color": "0.3.0-next.1689.2810c05",
40
- "@flighthq/entity": "0.3.0-next.1689.2810c05",
41
- "@flighthq/geometry": "0.3.0-next.1689.2810c05",
42
- "@flighthq/log": "0.3.0-next.1689.2810c05",
43
- "@flighthq/materials": "0.3.0-next.1689.2810c05",
44
- "@flighthq/mesh": "0.3.0-next.1689.2810c05",
45
- "@flighthq/node": "0.3.0-next.1689.2810c05",
46
- "@flighthq/signals": "0.3.0-next.1689.2810c05",
47
- "@flighthq/types": "0.3.0-next.1689.2810c05"
39
+ "@flighthq/color": "0.3.0-next.1692.f1a7a9a",
40
+ "@flighthq/entity": "0.3.0-next.1692.f1a7a9a",
41
+ "@flighthq/geometry": "0.3.0-next.1692.f1a7a9a",
42
+ "@flighthq/log": "0.3.0-next.1692.f1a7a9a",
43
+ "@flighthq/materials": "0.3.0-next.1692.f1a7a9a",
44
+ "@flighthq/mesh": "0.3.0-next.1692.f1a7a9a",
45
+ "@flighthq/node": "0.3.0-next.1692.f1a7a9a",
46
+ "@flighthq/signals": "0.3.0-next.1692.f1a7a9a",
47
+ "@flighthq/types": "0.3.0-next.1692.f1a7a9a"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@flighthq/adjustments": "*",
@@ -1,4 +1,4 @@
1
- import type { Scene2DClipHooks, Renderer, RenderState } from '@flighthq/types/contract';
1
+ import type { CanvasShapeCommand, Scene2DClipHooks, Renderer, RenderState } from '@flighthq/types/contract';
2
2
 
3
3
  import {
4
4
  copyAllRenderersFromRenderState,
@@ -83,6 +83,29 @@ describe('copyRenderStateRegistrations', () => {
83
83
  );
84
84
  expect(getRenderStateRuntime(target).renderEffectPaddingResolverRegistry?.get('acme.Effect')).toBe(resolver);
85
85
  });
86
+
87
+ it('snapshot-copies the shape-command registry without aliasing the map', () => {
88
+ const source = createRenderState();
89
+ const target = createRenderState();
90
+ const command = { key: 'beginFill', draw: vi.fn() } as unknown as CanvasShapeCommand;
91
+ getRenderStateRuntime(source).canvasShapeCommandRegistry = new Map([['beginFill', command]]);
92
+
93
+ copyRenderStateRegistrations(target, source);
94
+
95
+ expect(getRenderStateRuntime(target).canvasShapeCommandRegistry).not.toBe(
96
+ getRenderStateRuntime(source).canvasShapeCommandRegistry,
97
+ );
98
+ expect(getRenderStateRuntime(target).canvasShapeCommandRegistry?.get('beginFill')).toBe(command);
99
+ });
100
+
101
+ it('leaves the shape-command registry null when the source never registered one', () => {
102
+ const source = createRenderState();
103
+ const target = createRenderState();
104
+
105
+ copyRenderStateRegistrations(target, source);
106
+
107
+ expect(getRenderStateRuntime(target).canvasShapeCommandRegistry).toBeNull();
108
+ });
86
109
  });
87
110
 
88
111
  describe('noopRendererData', () => {