@flighthq/render 0.5.1-next.1450.5738463 → 0.5.1-next.1467.7e2fc7d

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/README.md CHANGED
@@ -13,5 +13,5 @@ Import the supported application-facing API from `@flighthq/render`. The `@fligh
13
13
  This package is part of the locked-version Flight SDK graph. Applications may instead install and import `@flighthq/sdk` when package-level tree shaking is sufficient.
14
14
 
15
15
  - [Flight project](https://github.com/flighthq/flight)
16
- - [Source for @flighthq/render@0.5.1-next.1450.5738463](https://github.com/flighthq/flight/tree/5738463479690d1fd0a89839d92fcc6164a3d23b/packages/render)
17
- - [License](https://github.com/flighthq/flight/blob/5738463479690d1fd0a89839d92fcc6164a3d23b/LICENSE.md)
16
+ - [Source for @flighthq/render@0.5.1-next.1467.7e2fc7d](https://github.com/flighthq/flight/tree/7e2fc7df5378313ceaf21ba8d6ef39cc18a6f4ad/packages/render)
17
+ - [License](https://github.com/flighthq/flight/blob/7e2fc7df5378313ceaf21ba8d6ef39cc18a6f4ad/LICENSE.md)
@@ -1 +1 @@
1
- {"version":3,"file":"renderState.d.ts","sourceRoot":"","sources":["../src/renderState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,+BAA+B,EAC/B,WAAW,EACX,kBAAkB,EAElB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAIzE;AAOD,wBAAgB,wBAAwB,IAAI,kBAAkB,CAe7D;AAID,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAO3D;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,WAAW,GAAG,+BAA+B,GAAG,IAAI,CAG7G;AAID,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,kBAAkB,CAE5E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAY9G"}
1
+ {"version":3,"file":"renderState.d.ts","sourceRoot":"","sources":["../src/renderState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,+BAA+B,EAC/B,WAAW,EACX,kBAAkB,EAElB,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAGlC,wBAAgB,iBAAiB,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAIzE;AAOD,wBAAgB,wBAAwB,IAAI,kBAAkB,CAkB7D;AAID,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAO3D;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,WAAW,GAAG,+BAA+B,GAAG,IAAI,CAG7G;AAID,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,kBAAkB,CAE5E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAY9G"}
@@ -1,5 +1,5 @@
1
1
  import { allocateEntity, createEntityRuntime, finishEntity } from '@flighthq/entity/contract';
2
- import { createKeyedTable, createSlotTable } from '@flighthq/registry/contract';
2
+ import { createKeyedTable } from '@flighthq/registry/contract';
3
3
  import { BlendMode, EntityRuntimeKey, RegistryEntryState } from '@flighthq/types/contract';
4
4
  export function createRenderState(obj) {
5
5
  const state = allocateEntity();
@@ -21,7 +21,10 @@ export function createRenderStateRuntime() {
21
21
  runtime.registryMiss = null;
22
22
  runtime.registries = {
23
23
  renderers: createKeyedTable('NodeRenderer', 'Unregistered'),
24
- strokeTessellator: createSlotTable('StrokeTessellator', 'Rasterize'),
24
+ // Written as null rather than left off: the field's presence is what keeps every registries object
25
+ // one hidden class, so the per-shape reads on the draw path stay monomorphic. The opt-in registrar
26
+ // fills the slot; nothing allocates a table for a state that never opts in.
27
+ strokeTessellator: null,
25
28
  };
26
29
  runtime.rendererMapId = 0;
27
30
  runtime.tempStack = [];
@@ -1 +1 @@
1
- {"version":3,"file":"renderState.js","sourceRoot":"","sources":["../src/renderState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderState.js","sourceRoot":"","sources":["../src/renderState.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.5.1-next.1450.5738463",
3
+ "version": "0.5.1-next.1467.7e2fc7d",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,18 +38,18 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/adjustments": "0.5.1-next.1450.5738463",
42
- "@flighthq/camera": "0.5.1-next.1450.5738463",
43
- "@flighthq/color": "0.5.1-next.1450.5738463",
44
- "@flighthq/entity": "0.5.1-next.1450.5738463",
45
- "@flighthq/geometry": "0.5.1-next.1450.5738463",
46
- "@flighthq/log": "0.5.1-next.1450.5738463",
47
- "@flighthq/materials": "0.5.1-next.1450.5738463",
48
- "@flighthq/mesh": "0.5.1-next.1450.5738463",
49
- "@flighthq/node": "0.5.1-next.1450.5738463",
50
- "@flighthq/registry": "0.5.1-next.1450.5738463",
51
- "@flighthq/signals": "0.5.1-next.1450.5738463",
52
- "@flighthq/types": "0.5.1-next.1450.5738463"
41
+ "@flighthq/adjustments": "0.5.1-next.1467.7e2fc7d",
42
+ "@flighthq/camera": "0.5.1-next.1467.7e2fc7d",
43
+ "@flighthq/color": "0.5.1-next.1467.7e2fc7d",
44
+ "@flighthq/entity": "0.5.1-next.1467.7e2fc7d",
45
+ "@flighthq/geometry": "0.5.1-next.1467.7e2fc7d",
46
+ "@flighthq/log": "0.5.1-next.1467.7e2fc7d",
47
+ "@flighthq/materials": "0.5.1-next.1467.7e2fc7d",
48
+ "@flighthq/mesh": "0.5.1-next.1467.7e2fc7d",
49
+ "@flighthq/node": "0.5.1-next.1467.7e2fc7d",
50
+ "@flighthq/registry": "0.5.1-next.1467.7e2fc7d",
51
+ "@flighthq/signals": "0.5.1-next.1467.7e2fc7d",
52
+ "@flighthq/types": "0.5.1-next.1467.7e2fc7d"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@flighthq/scene2d": "*",
@@ -37,7 +37,8 @@ describe('createRenderState', () => {
37
37
  expect(runtime.renderProxyAdapterMap).toStrictEqual(new WeakMap());
38
38
  expect(runtime.registries).toStrictEqual({
39
39
  renderers: createKeyedTable('NodeRenderer', 'Unregistered'),
40
- strokeTessellator: createSlotTable('StrokeTessellator', 'Rasterize'),
40
+ // Present and null, not absent: the stable key set is what keeps the registries one hidden class.
41
+ strokeTessellator: null,
41
42
  });
42
43
  expect(runtime.rendererMapId).toStrictEqual(0);
43
44
  expect(runtime.tempStack).toStrictEqual([]);
@@ -76,7 +77,8 @@ describe('createRenderStateRuntime', () => {
76
77
  expect(runtime.renderProxyAdapterMap).toStrictEqual(new WeakMap());
77
78
  expect(runtime.registries.colorAdjustments).toBeUndefined();
78
79
  expect(runtime.registries.renderers).toStrictEqual(createKeyedTable('NodeRenderer', 'Unregistered'));
79
- expect(runtime.registries.strokeTessellator).toStrictEqual(createSlotTable('StrokeTessellator', 'Rasterize'));
80
+ // Opt-in: the stroke kernel's slot is allocated by enable*StrokePathTessellation, never here.
81
+ expect(runtime.registries.strokeTessellator).toBeNull();
80
82
  expect(runtime.rendererMapId).toStrictEqual(0);
81
83
  expect(runtime.tempStack).toStrictEqual([]);
82
84
  });
@@ -86,7 +88,6 @@ describe('createRenderStateRuntime', () => {
86
88
  const b = createRenderStateRuntime();
87
89
  expect(a).not.toBe(b);
88
90
  expect(a.registries.renderers).not.toBe(b.registries.renderers);
89
- expect(a.registries.strokeTessellator).not.toBe(b.registries.strokeTessellator);
90
91
  });
91
92
  });
92
93
 
@@ -130,7 +130,7 @@ describe('copyRenderStateRegistrations', () => {
130
130
  entry: { state: RegistryEntryState.Bound, value: colorAdjustmentUnsupportedGuard },
131
131
  };
132
132
  getRenderStateRuntime(source).registries.strokeTessellator = {
133
- ...getRenderStateRuntime(source).registries.strokeTessellator,
133
+ ...createSlotTable('StrokeTessellator', 'Rasterize'),
134
134
  entry: { state: RegistryEntryState.Bound, value: strokeTessellator },
135
135
  };
136
136
  getRenderStateRuntime(source).registries.renderRootGuard = {
@@ -171,15 +171,18 @@ describe('copyRenderStateRegistrations', () => {
171
171
  expect(sourceRuntime.registries.colorAdjustmentUnsupportedGuard).not.toBe(sharedGuardSnapshot);
172
172
  expect(targetRuntime.registries.colorAdjustmentUnsupportedGuard).toBe(sharedGuardSnapshot);
173
173
  expect(targetRuntime.registries.strokeTessellator).toBe(sourceRuntime.registries.strokeTessellator);
174
- expect(targetRuntime.registries.strokeTessellator.entry).toEqual({
174
+ expect(targetRuntime.registries.strokeTessellator?.entry).toEqual({
175
175
  state: RegistryEntryState.Bound,
176
176
  value: strokeTessellator,
177
177
  });
178
178
  const sharedStrokeSnapshot = targetRuntime.registries.strokeTessellator;
179
- sourceRuntime.registries.strokeTessellator = { ...sourceRuntime.registries.strokeTessellator, entry: null };
179
+ sourceRuntime.registries.strokeTessellator = {
180
+ ...createSlotTable('StrokeTessellator', 'Rasterize'),
181
+ entry: null,
182
+ };
180
183
  expect(sourceRuntime.registries.strokeTessellator).not.toBe(sharedStrokeSnapshot);
181
184
  expect(targetRuntime.registries.strokeTessellator).toBe(sharedStrokeSnapshot);
182
- expect(targetRuntime.registries.strokeTessellator.entry?.state).toBe(RegistryEntryState.Bound);
185
+ expect(targetRuntime.registries.strokeTessellator?.entry?.state).toBe(RegistryEntryState.Bound);
183
186
  expect(targetRuntime.registries.effectPaddingResolvers).toBe(sourceRuntime.registries.effectPaddingResolvers);
184
187
  expect(targetRuntime.registries.effectPaddingResolvers?.entries.get('acme.Effect')).toEqual({
185
188
  state: RegistryEntryState.Bound,