@flighthq/effects-gl 0.3.0 → 0.3.1-next.1041.35b950c
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/enableGlRenderEffectGuards.d.ts.map +1 -1
- package/dist/enableGlRenderEffectGuards.js +35 -1
- package/dist/enableGlRenderEffectGuards.js.map +1 -1
- package/dist/glBevelEffect.d.ts.map +1 -1
- package/dist/glBevelEffect.js +11 -5
- package/dist/glBevelEffect.js.map +1 -1
- package/dist/glConvolutionEffect.d.ts.map +1 -1
- package/dist/glConvolutionEffect.js +5 -1
- package/dist/glConvolutionEffect.js.map +1 -1
- package/dist/glCrtEffect.js +3 -1
- package/dist/glCrtEffect.js.map +1 -1
- package/dist/glCustomShaderEffect.d.ts +3 -1
- package/dist/glCustomShaderEffect.d.ts.map +1 -1
- package/dist/glCustomShaderEffect.js +34 -12
- package/dist/glCustomShaderEffect.js.map +1 -1
- package/dist/glDisplacementEffect.js +8 -2
- package/dist/glDisplacementEffect.js.map +1 -1
- package/dist/glDropShadowEffect.d.ts.map +1 -1
- package/dist/glDropShadowEffect.js +3 -1
- package/dist/glDropShadowEffect.js.map +1 -1
- package/dist/glEffectTintShader.d.ts.map +1 -1
- package/dist/glEffectTintShader.js +9 -4
- package/dist/glEffectTintShader.js.map +1 -1
- package/dist/glGlitchEffect.js +5 -1
- package/dist/glGlitchEffect.js.map +1 -1
- package/dist/glGradientBevelEffect.js +1 -1
- package/dist/glGradientBevelEffect.js.map +1 -1
- package/dist/glGradientGlowEffect.js +1 -1
- package/dist/glGradientGlowEffect.js.map +1 -1
- package/dist/glInnerGlowEffect.d.ts.map +1 -1
- package/dist/glInnerGlowEffect.js +8 -8
- package/dist/glInnerGlowEffect.js.map +1 -1
- package/dist/glInnerShadowEffect.d.ts.map +1 -1
- package/dist/glInnerShadowEffect.js +8 -8
- package/dist/glInnerShadowEffect.js.map +1 -1
- package/dist/glOuterGlowEffect.js +1 -1
- package/dist/glOuterGlowEffect.js.map +1 -1
- package/dist/glRenderEffectPipeline.d.ts +2 -1
- package/dist/glRenderEffectPipeline.d.ts.map +1 -1
- package/dist/glRenderEffectPipeline.js +16 -1
- package/dist/glRenderEffectPipeline.js.map +1 -1
- package/dist/glRenderEffectRegistry.d.ts +3 -2
- package/dist/glRenderEffectRegistry.d.ts.map +1 -1
- package/dist/glRenderEffectRegistry.js +25 -4
- package/dist/glRenderEffectRegistry.js.map +1 -1
- package/dist/glRenderTextureEffect.d.ts.map +1 -1
- package/dist/glRenderTextureEffect.js +21 -6
- package/dist/glRenderTextureEffect.js.map +1 -1
- package/dist/glScanlinesEffect.js +3 -1
- package/dist/glScanlinesEffect.js.map +1 -1
- package/dist/glScreenSpaceFogEffect.js +6 -3
- package/dist/glScreenSpaceFogEffect.js.map +1 -1
- package/dist/glTiltShiftEffect.js +4 -1
- package/dist/glTiltShiftEffect.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +9 -7
- package/src/enableGlRenderEffectGuards.test.ts +71 -0
- package/src/glBevelEffect.test.ts +98 -0
- package/src/glConvolutionEffect.test.ts +60 -0
- package/src/glCustomShaderEffect.test.ts +109 -3
- package/src/glDropShadowEffect.test.ts +19 -0
- package/src/glEffectTintShader.test.ts +66 -0
- package/src/glInnerGlowEffect.test.ts +1 -1
- package/src/glInnerShadowEffect.test.ts +1 -1
- package/src/glRenderEffectPipeline.test.ts +25 -0
- package/src/glRenderEffectRegistry.test.ts +40 -2
- package/src/glRenderTextureEffect.test.ts +57 -0
|
@@ -141,6 +141,7 @@ describe('explainGlRenderEffectApplication', () => {
|
|
|
141
141
|
requestedCount: 2,
|
|
142
142
|
status: 'partial-registration',
|
|
143
143
|
unregisteredKinds: ['test.explain-c'],
|
|
144
|
+
unresolvedIndexes: [],
|
|
144
145
|
});
|
|
145
146
|
});
|
|
146
147
|
|
|
@@ -158,6 +159,62 @@ describe('explainGlRenderEffectApplication', () => {
|
|
|
158
159
|
expect(explainGlRenderEffectApplication(state, effects(['test.explain-e']), true).status).toBe('complete');
|
|
159
160
|
});
|
|
160
161
|
|
|
162
|
+
it('reports an effect whose runner cannot resolve it, which PASSES THROUGH rather than dropping', () => {
|
|
163
|
+
const state = createState();
|
|
164
|
+
// Registered, so nothing is missing at the kind level — the runner simply has nothing to run with.
|
|
165
|
+
registerGlRenderEffect(
|
|
166
|
+
state,
|
|
167
|
+
'test.explain-h',
|
|
168
|
+
() => {},
|
|
169
|
+
() => false,
|
|
170
|
+
);
|
|
171
|
+
const explanation = explainGlRenderEffectApplication(state, effects(['test.explain-h']), true);
|
|
172
|
+
expect(explanation.status).toBe('unresolved-effects');
|
|
173
|
+
// Registration is clean; the failure is entirely on the resolution axis.
|
|
174
|
+
expect(explanation.registeredCount).toBe(1);
|
|
175
|
+
expect(explanation.unregisteredKinds).toEqual([]);
|
|
176
|
+
expect(explanation.unresolvedIndexes).toEqual([0]);
|
|
177
|
+
});
|
|
178
|
+
|
|
179
|
+
it('distinguishes two effects of the SAME KIND, one resolvable and one not', () => {
|
|
180
|
+
const state = createState();
|
|
181
|
+
// The case a kind-keyed answer gets wrong: both effects share a kind, so any per-kind verdict must
|
|
182
|
+
// report both or neither. Resolution is per instance, and the report has to say WHICH instance.
|
|
183
|
+
registerGlRenderEffect(
|
|
184
|
+
state,
|
|
185
|
+
'test.explain-i',
|
|
186
|
+
() => {},
|
|
187
|
+
(_state, effect) => (effect as unknown as { shaderKey: string }).shaderKey === 'present',
|
|
188
|
+
);
|
|
189
|
+
const chain = [
|
|
190
|
+
{ kind: 'test.explain-i', shaderKey: 'present' },
|
|
191
|
+
{ kind: 'test.explain-i', shaderKey: 'absent' },
|
|
192
|
+
];
|
|
193
|
+
const explanation = explainGlRenderEffectApplication(
|
|
194
|
+
state,
|
|
195
|
+
chain as unknown as ReadonlyArray<Readonly<RenderEffect>>,
|
|
196
|
+
true,
|
|
197
|
+
);
|
|
198
|
+
expect(explanation.status).toBe('partial-resolution');
|
|
199
|
+
expect(explanation.unresolvedIndexes).toEqual([1]);
|
|
200
|
+
// Not 'unresolved-effects': one stage really runs, so the chain is short one stage, not inert.
|
|
201
|
+
expect(explanation.registeredCount).toBe(2);
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
it('blames registration ahead of resolution while still naming the passthroughs', () => {
|
|
205
|
+
const state = createState();
|
|
206
|
+
registerGlRenderEffect(
|
|
207
|
+
state,
|
|
208
|
+
'test.explain-j',
|
|
209
|
+
() => {},
|
|
210
|
+
() => false,
|
|
211
|
+
);
|
|
212
|
+
const explanation = explainGlRenderEffectApplication(state, effects(['test.explain-j', 'test.explain-k']), true);
|
|
213
|
+
// Registering the missing kind has to happen first, but the passthrough is not lost from the report.
|
|
214
|
+
expect(explanation.status).toBe('partial-registration');
|
|
215
|
+
expect(explanation.unresolvedIndexes).toEqual([0]);
|
|
216
|
+
});
|
|
217
|
+
|
|
161
218
|
it('reports a ready destination as stale when a failed call cannot replace it', () => {
|
|
162
219
|
const state = createState();
|
|
163
220
|
expect(explainGlRenderEffectApplication(state, effects(['test.explain-f']), true, true).status).toBe(
|