@flighthq/render-gl 0.3.1-next.704.69286f6 → 0.3.1-next.733.f1845ac

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,4 +1,4 @@
1
- import type { GlRenderOptions, GlRenderState, GlRenderStateRuntime } from '@flighthq/types/contract';
1
+ import type { GlColorAdjustmentMaterialFeature, GlColorAdjustmentMaterialFeatureGuard, GlRenderOptions, GlRenderState, GlRenderStateRuntime } from '@flighthq/types/contract';
2
2
  export declare function copyGlRenderStateRegistrations(target: GlRenderState, source: GlRenderState): void;
3
3
  /**
4
4
  * Creates a second render pipeline over `screenState`'s WebGL context.
@@ -12,6 +12,8 @@ export declare function createGlOffscreenRenderState(screenState: GlRenderState)
12
12
  export declare function createGlRenderState(canvas: HTMLCanvasElement, options?: GlRenderOptions): GlRenderState;
13
13
  export declare function createGlRenderStateRuntime(sharedRuntime?: GlRenderStateRuntime): GlRenderStateRuntime;
14
14
  export declare function destroyGlRenderState(state: GlRenderState): void;
15
+ export declare function getGlColorAdjustmentMaterialFeature(state: GlRenderState): Readonly<GlColorAdjustmentMaterialFeature> | null;
16
+ export declare function getGlColorAdjustmentMaterialFeatureGuard(state: GlRenderState): GlColorAdjustmentMaterialFeatureGuard | null;
15
17
  export declare function getGlRenderStateRuntime(state: GlRenderState): GlRenderStateRuntime;
16
18
  export declare function invalidateGlRenderStateCache(state: GlRenderState): void;
17
19
  //# sourceMappingURL=glRenderState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderState.d.ts","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAQrG,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA+BjG;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,aAAa,GAAG,aAAa,CAwBtF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB,GAAG,aAAa,CAqF3G;AAMD,wBAAgB,0BAA0B,CAAC,aAAa,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAuCrG;AAeD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAgC/D;AAID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAElF;AAcD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAUvE"}
1
+ {"version":3,"file":"glRenderState.d.ts","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,gCAAgC,EAChC,qCAAqC,EACrC,eAAe,EACf,aAAa,EACb,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CA+BjG;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,aAAa,GAAG,aAAa,CAwBtF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,eAAoB,GAAG,aAAa,CAqF3G;AAMD,wBAAgB,0BAA0B,CAAC,aAAa,CAAC,EAAE,oBAAoB,GAAG,oBAAoB,CAuCrG;AAeD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAgC/D;AAED,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,aAAa,GACnB,QAAQ,CAAC,gCAAgC,CAAC,GAAG,IAAI,CAGnD;AAED,wBAAgB,wCAAwC,CACtD,KAAK,EAAE,aAAa,GACnB,qCAAqC,GAAG,IAAI,CAG9C;AAID,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAElF;AAcD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAUvE"}
@@ -1,7 +1,7 @@
1
1
  import { createMatrix } from '@flighthq/geometry/contract';
2
2
  import { createKeyedTable, createSlotTable } from '@flighthq/registry/contract';
3
3
  import { copyAllRenderersFromRenderState, copyRenderStateRegistrations, createRenderState as _createRenderState, createRenderStateRuntime, destroyRenderState, setRenderStateBackgroundColor, } from '@flighthq/render/contract';
4
- import { EntityRuntimeKey } from '@flighthq/types/contract';
4
+ import { EntityRuntimeKey, RegistryEntryState } from '@flighthq/types/contract';
5
5
  import { compileDefaultGlProgram, createDefaultGlBitmapShader } from './glShader';
6
6
  // Explicit snapshot re-copy. Mutable legacy maps are cloned; persistent tables may share immutable
7
7
  // snapshots through distinct aggregates. Either way, later replacements diverge between render states,
@@ -11,13 +11,13 @@ export function copyGlRenderStateRegistrations(target, source) {
11
11
  const sourceRuntime = getGlRenderStateRuntime(source);
12
12
  target.applyBlendMode = source.applyBlendMode;
13
13
  targetRuntime.defaultBitmapShader = sourceRuntime.defaultBitmapShader;
14
- targetRuntime.glColorAdjustmentMaterialFeature = sourceRuntime.glColorAdjustmentMaterialFeature;
15
- targetRuntime.glColorAdjustmentMaterialFeatureGuard = sourceRuntime.glColorAdjustmentMaterialFeatureGuard;
16
14
  targetRuntime.materialBitmapShaderMap =
17
15
  sourceRuntime.materialBitmapShaderMap === undefined ? undefined : new Map(sourceRuntime.materialBitmapShaderMap);
18
16
  targetRuntime.webglShaderBindingResolver = sourceRuntime.webglShaderBindingResolver;
19
17
  targetRuntime.registries = {
20
18
  blendRealizations: sourceRuntime.registries.blendRealizations,
19
+ colorAdjustmentFeature: sourceRuntime.registries.colorAdjustmentFeature,
20
+ colorAdjustmentFeatureGuard: sourceRuntime.registries.colorAdjustmentFeatureGuard,
21
21
  compressedTextureDecoder: sourceRuntime.registries.compressedTextureDecoder,
22
22
  compressedTextureUpload: sourceRuntime.registries.compressedTextureUpload,
23
23
  customEffectShaders: sourceRuntime.registries.customEffectShaders,
@@ -254,6 +254,14 @@ export function destroyGlRenderState(state) {
254
254
  if (runtime.quadBatchWriterColorScaleBiasBuffer)
255
255
  gl.deleteBuffer(runtime.quadBatchWriterColorScaleBiasBuffer);
256
256
  }
257
+ export function getGlColorAdjustmentMaterialFeature(state) {
258
+ const entry = getGlRenderStateRuntime(state).registries.colorAdjustmentFeature?.entry;
259
+ return entry?.state === RegistryEntryState.Bound ? entry.value : null;
260
+ }
261
+ export function getGlColorAdjustmentMaterialFeatureGuard(state) {
262
+ const entry = getGlRenderStateRuntime(state).registries.colorAdjustmentFeatureGuard?.entry;
263
+ return entry?.state === RegistryEntryState.Bound ? entry.value : null;
264
+ }
257
265
  // Resolves the package-private GPU runtime attached to a GlRenderState. Mutable by design: the
258
266
  // render path writes its fields every frame.
259
267
  export function getGlRenderStateRuntime(state) {
@@ -1 +1 @@
1
- {"version":3,"file":"glRenderState.js","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glRenderState.js","sourceRoot":"","sources":["../src/glRenderState.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/render-gl",
3
- "version": "0.3.1-next.704.69286f6",
3
+ "version": "0.3.1-next.733.f1845ac",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,16 +38,16 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/color": "0.3.1-next.704.69286f6",
42
- "@flighthq/entity": "0.3.1-next.704.69286f6",
43
- "@flighthq/log": "0.3.1-next.704.69286f6",
44
- "@flighthq/scene2d": "0.3.1-next.704.69286f6",
45
- "@flighthq/geometry": "0.3.1-next.704.69286f6",
46
- "@flighthq/render": "0.3.1-next.704.69286f6",
47
- "@flighthq/registry": "0.3.1-next.704.69286f6",
48
- "@flighthq/signals": "0.3.1-next.704.69286f6",
49
- "@flighthq/texture": "0.3.1-next.704.69286f6",
50
- "@flighthq/types": "0.3.1-next.704.69286f6"
41
+ "@flighthq/color": "0.3.1-next.733.f1845ac",
42
+ "@flighthq/entity": "0.3.1-next.733.f1845ac",
43
+ "@flighthq/log": "0.3.1-next.733.f1845ac",
44
+ "@flighthq/scene2d": "0.3.1-next.733.f1845ac",
45
+ "@flighthq/geometry": "0.3.1-next.733.f1845ac",
46
+ "@flighthq/render": "0.3.1-next.733.f1845ac",
47
+ "@flighthq/registry": "0.3.1-next.733.f1845ac",
48
+ "@flighthq/signals": "0.3.1-next.733.f1845ac",
49
+ "@flighthq/texture": "0.3.1-next.733.f1845ac",
50
+ "@flighthq/types": "0.3.1-next.733.f1845ac"
51
51
  },
52
52
  "devDependencies": {
53
53
  "typescript": "^5.3.0"
@@ -7,12 +7,20 @@ import {
7
7
  } from '@flighthq/registry/contract';
8
8
  import {
9
9
  copyAllRenderersFromRenderState,
10
+ enableColorAdjustmentGuards,
11
+ enableColorAdjustments,
12
+ getColorAdjustmentUnsupportedGuard,
10
13
  getRenderStateRuntime,
11
14
  prepareScene2DRender,
12
15
  registerRenderer,
13
16
  } from '@flighthq/render/contract';
14
17
  import { createDisplayObject } from '@flighthq/scene2d/contract';
15
- import type { RenderEffectPaddingResolver, RenderState } from '@flighthq/types/contract';
18
+ import type {
19
+ GlColorAdjustmentMaterialFeature,
20
+ GlColorAdjustmentMaterialFeatureGuard,
21
+ RenderEffectPaddingResolver,
22
+ RenderState,
23
+ } from '@flighthq/types/contract';
16
24
  import { BlendMode, RegistryEntryState } from '@flighthq/types/contract';
17
25
 
18
26
  import { enableGlRenderStateGuards } from './enableGlRenderStateGuards';
@@ -25,6 +33,8 @@ import {
25
33
  createGlRenderState,
26
34
  createGlRenderStateRuntime,
27
35
  destroyGlRenderState,
36
+ getGlColorAdjustmentMaterialFeature,
37
+ getGlColorAdjustmentMaterialFeatureGuard,
28
38
  getGlRenderStateRuntime,
29
39
  invalidateGlRenderStateCache,
30
40
  } from './glRenderState';
@@ -137,15 +147,37 @@ describe('createGlOffscreenRenderState', () => {
137
147
  const paddingResolver = vi.fn(() => ({ bottom: 1, left: 1, right: 1, top: 1 }));
138
148
  const textureResolver = vi.fn(() => null);
139
149
  const effectRunner = vi.fn();
150
+ const colorAdjustmentFeature: GlColorAdjustmentMaterialFeature = {
151
+ drawShapeMeshes: vi.fn(),
152
+ flush: vi.fn(() => false),
153
+ fragmentShaderChunk: '',
154
+ matrixFragmentShaderChunk: '',
155
+ record: vi.fn(),
156
+ };
157
+ const colorAdjustmentFeatureGuard: GlColorAdjustmentMaterialFeatureGuard = vi.fn();
140
158
  registerRenderer(screen, 'acme.Node', renderer);
141
159
  registerGlMaterialRenderer(screen, 'acme.Material', materialRenderer);
142
160
  registerGlTextureResolver(screen, 'acme.Texture', textureResolver);
161
+ enableColorAdjustments(screen);
162
+ enableColorAdjustmentGuards(screen);
143
163
  getGlRenderStateRuntime(screen).registries.renderEffects = withRegistryTableEntry(
144
164
  getGlRenderStateRuntime(screen).registries.renderEffects,
145
165
  'acme.Effect',
146
166
  { runner: effectRunner as never },
147
167
  );
148
168
  registerPaddingResolver(screen, 'acme.Effect', paddingResolver);
169
+ getGlRenderStateRuntime(screen).registries.colorAdjustmentFeature = {
170
+ entry: { state: RegistryEntryState.Bound, value: colorAdjustmentFeature },
171
+ onMiss: 'Disabled',
172
+ registry: 'GlColorAdjustmentFeature',
173
+ shape: 'slot',
174
+ };
175
+ getGlRenderStateRuntime(screen).registries.colorAdjustmentFeatureGuard = {
176
+ entry: { state: RegistryEntryState.Bound, value: colorAdjustmentFeatureGuard },
177
+ onMiss: 'Disabled',
178
+ registry: 'GlColorAdjustmentFeatureGuard',
179
+ shape: 'slot',
180
+ };
149
181
  getGlRenderStateRuntime(screen).glRenderTextureCache = new WeakMap();
150
182
 
151
183
  const offscreen = createGlOffscreenRenderState(screen);
@@ -163,6 +195,32 @@ describe('createGlOffscreenRenderState', () => {
163
195
  expect(offscreenRuntime.registries.renderers).toBe(screenRuntime.registries.renderers);
164
196
  expect(offscreenRuntime.registries).not.toBe(screenRuntime.registries);
165
197
  expect(offscreenRuntime.registries.blendRealizations).toBe(screenRuntime.registries.blendRealizations);
198
+ expect(offscreenRuntime.registries.colorAdjustmentFeature).toBe(screenRuntime.registries.colorAdjustmentFeature);
199
+ expect(getGlColorAdjustmentMaterialFeature(offscreen)).toBe(colorAdjustmentFeature);
200
+ expect(offscreenRuntime.registries.colorAdjustmentFeatureGuard).toBe(
201
+ screenRuntime.registries.colorAdjustmentFeatureGuard,
202
+ );
203
+ expect(getGlColorAdjustmentMaterialFeatureGuard(offscreen)).toBe(colorAdjustmentFeatureGuard);
204
+ const sharedColorFeatureGuard = offscreenRuntime.registries.colorAdjustmentFeatureGuard;
205
+ screenRuntime.registries.colorAdjustmentFeatureGuard = undefined;
206
+ expect(getGlColorAdjustmentMaterialFeatureGuard(screen)).toBeNull();
207
+ expect(offscreenRuntime.registries.colorAdjustmentFeatureGuard).toBe(sharedColorFeatureGuard);
208
+ expect(getGlColorAdjustmentMaterialFeatureGuard(offscreen)).toBe(colorAdjustmentFeatureGuard);
209
+ const sharedColorFeature = offscreenRuntime.registries.colorAdjustmentFeature;
210
+ screenRuntime.registries.colorAdjustmentFeature = undefined;
211
+ expect(getGlColorAdjustmentMaterialFeature(screen)).toBeNull();
212
+ expect(offscreenRuntime.registries.colorAdjustmentFeature).toBe(sharedColorFeature);
213
+ expect(getGlColorAdjustmentMaterialFeature(offscreen)).toBe(colorAdjustmentFeature);
214
+ expect(offscreenRuntime.registries.colorAdjustments).toBe(screenRuntime.registries.colorAdjustments);
215
+ expect(offscreenRuntime.registries.colorAdjustmentUnsupportedGuard).toBe(
216
+ screenRuntime.registries.colorAdjustmentUnsupportedGuard,
217
+ );
218
+ expect(getColorAdjustmentUnsupportedGuard(offscreen)).not.toBeNull();
219
+ const sharedUnsupportedGuard = offscreenRuntime.registries.colorAdjustmentUnsupportedGuard;
220
+ screenRuntime.registries.colorAdjustmentUnsupportedGuard = undefined;
221
+ expect(getColorAdjustmentUnsupportedGuard(screen)).toBeNull();
222
+ expect(offscreenRuntime.registries.colorAdjustmentUnsupportedGuard).toBe(sharedUnsupportedGuard);
223
+ expect(getColorAdjustmentUnsupportedGuard(offscreen)).not.toBeNull();
166
224
  expect(offscreenRuntime.registries.compressedTextureDecoder).toBe(
167
225
  screenRuntime.registries.compressedTextureDecoder,
168
226
  );
@@ -398,6 +456,7 @@ describe('createGlRenderStateRuntime', () => {
398
456
  registry: 'GlCompressedTextureDecoder',
399
457
  shape: 'slot',
400
458
  });
459
+ expect(runtime.registries.colorAdjustments).toBeUndefined();
401
460
  expect(runtime.registries.compressedTextureUpload).toEqual({
402
461
  entry: null,
403
462
  onMiss: 'Unregistered',
@@ -465,6 +524,58 @@ describe('enableGlRenderStateGuards', () => {
465
524
  });
466
525
  });
467
526
 
527
+ describe('getGlColorAdjustmentMaterialFeature', () => {
528
+ it('resolves only a bound feature entry', () => {
529
+ const { canvas } = makeCanvas();
530
+ const state = createGlRenderState(canvas);
531
+ const feature: GlColorAdjustmentMaterialFeature = {
532
+ drawShapeMeshes: vi.fn(),
533
+ flush: vi.fn(() => false),
534
+ fragmentShaderChunk: '',
535
+ matrixFragmentShaderChunk: '',
536
+ record: vi.fn(),
537
+ };
538
+ const runtime = getGlRenderStateRuntime(state);
539
+
540
+ expect(getGlColorAdjustmentMaterialFeature(state)).toBeNull();
541
+ runtime.registries.colorAdjustmentFeature = {
542
+ entry: { state: RegistryEntryState.Bound, value: feature },
543
+ onMiss: 'Disabled',
544
+ registry: 'GlColorAdjustmentFeature',
545
+ shape: 'slot',
546
+ };
547
+ expect(getGlColorAdjustmentMaterialFeature(state)).toBe(feature);
548
+ runtime.registries.colorAdjustmentFeature = {
549
+ ...runtime.registries.colorAdjustmentFeature,
550
+ entry: { state: RegistryEntryState.Tombstoned },
551
+ };
552
+ expect(getGlColorAdjustmentMaterialFeature(state)).toBeNull();
553
+ });
554
+ });
555
+
556
+ describe('getGlColorAdjustmentMaterialFeatureGuard', () => {
557
+ it('resolves only a bound guard entry', () => {
558
+ const { canvas } = makeCanvas();
559
+ const state = createGlRenderState(canvas);
560
+ const guard: GlColorAdjustmentMaterialFeatureGuard = vi.fn();
561
+ const runtime = getGlRenderStateRuntime(state);
562
+
563
+ expect(getGlColorAdjustmentMaterialFeatureGuard(state)).toBeNull();
564
+ runtime.registries.colorAdjustmentFeatureGuard = {
565
+ entry: { state: RegistryEntryState.Bound, value: guard },
566
+ onMiss: 'Disabled',
567
+ registry: 'GlColorAdjustmentFeatureGuard',
568
+ shape: 'slot',
569
+ };
570
+ expect(getGlColorAdjustmentMaterialFeatureGuard(state)).toBe(guard);
571
+ runtime.registries.colorAdjustmentFeatureGuard = {
572
+ ...runtime.registries.colorAdjustmentFeatureGuard,
573
+ entry: { state: RegistryEntryState.Tombstoned },
574
+ };
575
+ expect(getGlColorAdjustmentMaterialFeatureGuard(state)).toBeNull();
576
+ });
577
+ });
578
+
468
579
  describe('getGlRenderStateRuntime', () => {
469
580
  it('returns the runtime attached by createGlRenderState', () => {
470
581
  const { canvas } = makeCanvas();