@flighthq/effects-gl 0.3.0-next.906.07cea63 → 0.3.0

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.
Files changed (278) hide show
  1. package/dist/contract.d.ts +3 -2
  2. package/dist/contract.d.ts.map +1 -1
  3. package/dist/contract.js +3 -2
  4. package/dist/contract.js.map +1 -1
  5. package/dist/enableGlRenderEffectGuards.d.ts +5 -0
  6. package/dist/enableGlRenderEffectGuards.d.ts.map +1 -0
  7. package/dist/enableGlRenderEffectGuards.js +43 -0
  8. package/dist/enableGlRenderEffectGuards.js.map +1 -0
  9. package/dist/glBevelEffect.d.ts +1 -0
  10. package/dist/glBevelEffect.d.ts.map +1 -1
  11. package/dist/glBevelEffect.js +7 -3
  12. package/dist/glBevelEffect.js.map +1 -1
  13. package/dist/glBlendEffect.d.ts +2 -0
  14. package/dist/glBlendEffect.d.ts.map +1 -1
  15. package/dist/glBlendEffect.js +13 -2
  16. package/dist/glBlendEffect.js.map +1 -1
  17. package/dist/glBloomEffect.d.ts +1 -0
  18. package/dist/glBloomEffect.d.ts.map +1 -1
  19. package/dist/glBloomEffect.js +4 -0
  20. package/dist/glBloomEffect.js.map +1 -1
  21. package/dist/glBlurEffect.d.ts +7 -1
  22. package/dist/glBlurEffect.d.ts.map +1 -1
  23. package/dist/glBlurEffect.js +34 -6
  24. package/dist/glBlurEffect.js.map +1 -1
  25. package/dist/glBokehDepthOfFieldEffect.d.ts +1 -0
  26. package/dist/glBokehDepthOfFieldEffect.d.ts.map +1 -1
  27. package/dist/glBokehDepthOfFieldEffect.js +4 -0
  28. package/dist/glBokehDepthOfFieldEffect.js.map +1 -1
  29. package/dist/glCameraMotionBlurEffect.d.ts +1 -0
  30. package/dist/glCameraMotionBlurEffect.d.ts.map +1 -1
  31. package/dist/glCameraMotionBlurEffect.js +4 -0
  32. package/dist/glCameraMotionBlurEffect.js.map +1 -1
  33. package/dist/glChromaticAberrationEffect.d.ts +1 -0
  34. package/dist/glChromaticAberrationEffect.d.ts.map +1 -1
  35. package/dist/glChromaticAberrationEffect.js +4 -0
  36. package/dist/glChromaticAberrationEffect.js.map +1 -1
  37. package/dist/glCompositeEffect.d.ts +1 -0
  38. package/dist/glCompositeEffect.d.ts.map +1 -1
  39. package/dist/glCompositeEffect.js +4 -0
  40. package/dist/glCompositeEffect.js.map +1 -1
  41. package/dist/glContactShadowsEffect.d.ts +5 -0
  42. package/dist/glContactShadowsEffect.d.ts.map +1 -0
  43. package/dist/glContactShadowsEffect.js +20 -0
  44. package/dist/glContactShadowsEffect.js.map +1 -0
  45. package/dist/glConvolutionEffect.d.ts +1 -0
  46. package/dist/glConvolutionEffect.d.ts.map +1 -1
  47. package/dist/glConvolutionEffect.js +4 -0
  48. package/dist/glConvolutionEffect.js.map +1 -1
  49. package/dist/glCrtEffect.d.ts +1 -0
  50. package/dist/glCrtEffect.d.ts.map +1 -1
  51. package/dist/glCrtEffect.js +4 -0
  52. package/dist/glCrtEffect.js.map +1 -1
  53. package/dist/glCustomShaderEffect.d.ts +1 -0
  54. package/dist/glCustomShaderEffect.d.ts.map +1 -1
  55. package/dist/glCustomShaderEffect.js +4 -0
  56. package/dist/glCustomShaderEffect.js.map +1 -1
  57. package/dist/glDirectionalBlurEffect.d.ts +1 -0
  58. package/dist/glDirectionalBlurEffect.d.ts.map +1 -1
  59. package/dist/glDirectionalBlurEffect.js +4 -0
  60. package/dist/glDirectionalBlurEffect.js.map +1 -1
  61. package/dist/glDisplacementEffect.d.ts +1 -0
  62. package/dist/glDisplacementEffect.d.ts.map +1 -1
  63. package/dist/glDisplacementEffect.js +4 -0
  64. package/dist/glDisplacementEffect.js.map +1 -1
  65. package/dist/glDitherEffect.d.ts +1 -0
  66. package/dist/glDitherEffect.d.ts.map +1 -1
  67. package/dist/glDitherEffect.js +4 -0
  68. package/dist/glDitherEffect.js.map +1 -1
  69. package/dist/glDropShadowEffect.d.ts +1 -0
  70. package/dist/glDropShadowEffect.d.ts.map +1 -1
  71. package/dist/glDropShadowEffect.js +4 -0
  72. package/dist/glDropShadowEffect.js.map +1 -1
  73. package/dist/glEffectBlitShader.js +6 -6
  74. package/dist/glEffectBlitShader.js.map +1 -1
  75. package/dist/glEffectBoxBlur.js +2 -2
  76. package/dist/glEffectBoxBlur.js.map +1 -1
  77. package/dist/glEffectProgramCache.js +5 -5
  78. package/dist/glEffectProgramCache.js.map +1 -1
  79. package/dist/glEffectTintShader.js +4 -4
  80. package/dist/glEffectTintShader.js.map +1 -1
  81. package/dist/glFilmGrainEffect.d.ts +1 -0
  82. package/dist/glFilmGrainEffect.d.ts.map +1 -1
  83. package/dist/glFilmGrainEffect.js +4 -0
  84. package/dist/glFilmGrainEffect.js.map +1 -1
  85. package/dist/glFxaaEffect.d.ts +1 -0
  86. package/dist/glFxaaEffect.d.ts.map +1 -1
  87. package/dist/glFxaaEffect.js +4 -0
  88. package/dist/glFxaaEffect.js.map +1 -1
  89. package/dist/glGlitchEffect.d.ts +1 -0
  90. package/dist/glGlitchEffect.d.ts.map +1 -1
  91. package/dist/glGlitchEffect.js +4 -0
  92. package/dist/glGlitchEffect.js.map +1 -1
  93. package/dist/glGodRaysEffect.d.ts +1 -0
  94. package/dist/glGodRaysEffect.d.ts.map +1 -1
  95. package/dist/glGodRaysEffect.js +4 -0
  96. package/dist/glGodRaysEffect.js.map +1 -1
  97. package/dist/glGradientBevelEffect.d.ts +1 -0
  98. package/dist/glGradientBevelEffect.d.ts.map +1 -1
  99. package/dist/glGradientBevelEffect.js +8 -4
  100. package/dist/glGradientBevelEffect.js.map +1 -1
  101. package/dist/glGradientGlowEffect.d.ts +1 -0
  102. package/dist/glGradientGlowEffect.d.ts.map +1 -1
  103. package/dist/glGradientGlowEffect.js +6 -2
  104. package/dist/glGradientGlowEffect.js.map +1 -1
  105. package/dist/glHalftoneEffect.d.ts +1 -0
  106. package/dist/glHalftoneEffect.d.ts.map +1 -1
  107. package/dist/glHalftoneEffect.js +4 -0
  108. package/dist/glHalftoneEffect.js.map +1 -1
  109. package/dist/glInnerGlowEffect.d.ts +1 -0
  110. package/dist/glInnerGlowEffect.d.ts.map +1 -1
  111. package/dist/glInnerGlowEffect.js +6 -2
  112. package/dist/glInnerGlowEffect.js.map +1 -1
  113. package/dist/glInnerShadowEffect.d.ts +1 -0
  114. package/dist/glInnerShadowEffect.d.ts.map +1 -1
  115. package/dist/glInnerShadowEffect.js +6 -2
  116. package/dist/glInnerShadowEffect.js.map +1 -1
  117. package/dist/glKuwaharaEffect.d.ts +1 -0
  118. package/dist/glKuwaharaEffect.d.ts.map +1 -1
  119. package/dist/glKuwaharaEffect.js +4 -0
  120. package/dist/glKuwaharaEffect.js.map +1 -1
  121. package/dist/glLensDirtEffect.d.ts +1 -0
  122. package/dist/glLensDirtEffect.d.ts.map +1 -1
  123. package/dist/glLensDirtEffect.js +4 -0
  124. package/dist/glLensDirtEffect.js.map +1 -1
  125. package/dist/glLensDistortionEffect.d.ts +1 -0
  126. package/dist/glLensDistortionEffect.d.ts.map +1 -1
  127. package/dist/glLensDistortionEffect.js +4 -0
  128. package/dist/glLensDistortionEffect.js.map +1 -1
  129. package/dist/glLensFlareEffect.d.ts +1 -0
  130. package/dist/glLensFlareEffect.d.ts.map +1 -1
  131. package/dist/glLensFlareEffect.js +4 -0
  132. package/dist/glLensFlareEffect.js.map +1 -1
  133. package/dist/glMedianEffect.d.ts +1 -0
  134. package/dist/glMedianEffect.d.ts.map +1 -1
  135. package/dist/glMedianEffect.js +4 -0
  136. package/dist/glMedianEffect.js.map +1 -1
  137. package/dist/glMotionBlurEffect.d.ts +1 -0
  138. package/dist/glMotionBlurEffect.d.ts.map +1 -1
  139. package/dist/glMotionBlurEffect.js +4 -0
  140. package/dist/glMotionBlurEffect.js.map +1 -1
  141. package/dist/glOuterGlowEffect.d.ts +1 -0
  142. package/dist/glOuterGlowEffect.d.ts.map +1 -1
  143. package/dist/glOuterGlowEffect.js +4 -0
  144. package/dist/glOuterGlowEffect.js.map +1 -1
  145. package/dist/glOutlineEffect.d.ts +1 -0
  146. package/dist/glOutlineEffect.d.ts.map +1 -1
  147. package/dist/glOutlineEffect.js +4 -0
  148. package/dist/glOutlineEffect.js.map +1 -1
  149. package/dist/glPixelateEffect.d.ts +1 -0
  150. package/dist/glPixelateEffect.d.ts.map +1 -1
  151. package/dist/glPixelateEffect.js +4 -0
  152. package/dist/glPixelateEffect.js.map +1 -1
  153. package/dist/glPosterizeEffect.d.ts +1 -0
  154. package/dist/glPosterizeEffect.d.ts.map +1 -1
  155. package/dist/glPosterizeEffect.js +4 -0
  156. package/dist/glPosterizeEffect.js.map +1 -1
  157. package/dist/glRadialBlurEffect.d.ts +1 -0
  158. package/dist/glRadialBlurEffect.d.ts.map +1 -1
  159. package/dist/glRadialBlurEffect.js +4 -0
  160. package/dist/glRadialBlurEffect.js.map +1 -1
  161. package/dist/glRenderEffectPipeline.d.ts +2 -2
  162. package/dist/glRenderEffectPipeline.d.ts.map +1 -1
  163. package/dist/glRenderEffectPipeline.js +14 -7
  164. package/dist/glRenderEffectPipeline.js.map +1 -1
  165. package/dist/glRenderEffectRegistry.d.ts.map +1 -1
  166. package/dist/glRenderEffectRegistry.js +8 -10
  167. package/dist/glRenderEffectRegistry.js.map +1 -1
  168. package/dist/glRenderTextureEffect.d.ts +5 -0
  169. package/dist/glRenderTextureEffect.d.ts.map +1 -0
  170. package/dist/glRenderTextureEffect.js +83 -0
  171. package/dist/glRenderTextureEffect.js.map +1 -0
  172. package/dist/glScanlinesEffect.d.ts +1 -0
  173. package/dist/glScanlinesEffect.d.ts.map +1 -1
  174. package/dist/glScanlinesEffect.js +4 -0
  175. package/dist/glScanlinesEffect.js.map +1 -1
  176. package/dist/glScreenSpaceFogEffect.d.ts +1 -0
  177. package/dist/glScreenSpaceFogEffect.d.ts.map +1 -1
  178. package/dist/glScreenSpaceFogEffect.js +4 -0
  179. package/dist/glScreenSpaceFogEffect.js.map +1 -1
  180. package/dist/glSharpenEffect.d.ts +1 -0
  181. package/dist/glSharpenEffect.d.ts.map +1 -1
  182. package/dist/glSharpenEffect.js +4 -0
  183. package/dist/glSharpenEffect.js.map +1 -1
  184. package/dist/glSketchEffect.d.ts +1 -0
  185. package/dist/glSketchEffect.d.ts.map +1 -1
  186. package/dist/glSketchEffect.js +4 -0
  187. package/dist/glSketchEffect.js.map +1 -1
  188. package/dist/glSmaaEffect.d.ts +1 -0
  189. package/dist/glSmaaEffect.d.ts.map +1 -1
  190. package/dist/glSmaaEffect.js +4 -0
  191. package/dist/glSmaaEffect.js.map +1 -1
  192. package/dist/glSsaoEffect.d.ts +1 -0
  193. package/dist/glSsaoEffect.d.ts.map +1 -1
  194. package/dist/glSsaoEffect.js +4 -0
  195. package/dist/glSsaoEffect.js.map +1 -1
  196. package/dist/glTiltShiftEffect.d.ts +1 -0
  197. package/dist/glTiltShiftEffect.d.ts.map +1 -1
  198. package/dist/glTiltShiftEffect.js +4 -0
  199. package/dist/glTiltShiftEffect.js.map +1 -1
  200. package/dist/glToneMapEffect.d.ts +1 -0
  201. package/dist/glToneMapEffect.d.ts.map +1 -1
  202. package/dist/glToneMapEffect.js +4 -0
  203. package/dist/glToneMapEffect.js.map +1 -1
  204. package/dist/glVignetteEffect.d.ts +1 -0
  205. package/dist/glVignetteEffect.d.ts.map +1 -1
  206. package/dist/glVignetteEffect.js +4 -0
  207. package/dist/glVignetteEffect.js.map +1 -1
  208. package/dist/glWhiteBalanceEffect.d.ts +1 -0
  209. package/dist/glWhiteBalanceEffect.d.ts.map +1 -1
  210. package/dist/glWhiteBalanceEffect.js +4 -0
  211. package/dist/glWhiteBalanceEffect.js.map +1 -1
  212. package/dist/index.d.ts +1 -1
  213. package/dist/index.d.ts.map +1 -1
  214. package/dist/index.js +1 -1
  215. package/dist/index.js.map +1 -1
  216. package/package.json +9 -6
  217. package/src/enableGlRenderEffectGuards.test.ts +156 -0
  218. package/src/glBevelEffect.test.ts +7 -1
  219. package/src/glBlendEffect.test.ts +26 -0
  220. package/src/glBloomEffect.test.ts +7 -1
  221. package/src/glBlurEffect.test.ts +69 -1
  222. package/src/glBokehDepthOfFieldEffect.test.ts +11 -1
  223. package/src/glCameraMotionBlurEffect.test.ts +11 -1
  224. package/src/glChromaticAberrationEffect.test.ts +7 -0
  225. package/src/glCompositeEffect.test.ts +7 -0
  226. package/src/glContactShadowsEffect.test.ts +43 -0
  227. package/src/glConvolutionEffect.test.ts +11 -1
  228. package/src/glCrtEffect.test.ts +7 -1
  229. package/src/glCustomShaderEffect.test.ts +7 -0
  230. package/src/glDirectionalBlurEffect.test.ts +11 -1
  231. package/src/glDisplacementEffect.test.ts +11 -1
  232. package/src/glDitherEffect.test.ts +7 -1
  233. package/src/glDropShadowEffect.test.ts +11 -9
  234. package/src/glEffectBoxBlur.test.ts +0 -5
  235. package/src/glFilmGrainEffect.test.ts +11 -1
  236. package/src/glFxaaEffect.test.ts +7 -1
  237. package/src/glGlitchEffect.test.ts +7 -1
  238. package/src/glGodRaysEffect.test.ts +7 -1
  239. package/src/glGradientBevelEffect.test.ts +11 -1
  240. package/src/glGradientGlowEffect.test.ts +11 -1
  241. package/src/glHalftoneEffect.test.ts +7 -1
  242. package/src/glInnerGlowEffect.test.ts +11 -9
  243. package/src/glInnerShadowEffect.test.ts +11 -9
  244. package/src/glKuwaharaEffect.test.ts +7 -1
  245. package/src/glLensDirtEffect.test.ts +7 -1
  246. package/src/glLensDistortionEffect.test.ts +11 -1
  247. package/src/glLensFlareEffect.test.ts +11 -1
  248. package/src/glMedianEffect.test.ts +7 -1
  249. package/src/glMotionBlurEffect.test.ts +11 -1
  250. package/src/glOuterGlowEffect.test.ts +11 -9
  251. package/src/glOutlineEffect.test.ts +7 -1
  252. package/src/glPixelateEffect.test.ts +7 -1
  253. package/src/glPosterizeEffect.test.ts +11 -1
  254. package/src/glRadialBlurEffect.test.ts +11 -1
  255. package/src/glRenderEffectPipeline.test.ts +15 -0
  256. package/src/glRenderEffectRegistry.test.ts +24 -14
  257. package/src/glRenderTextureEffect.test.ts +246 -0
  258. package/src/glScanlinesEffect.test.ts +11 -1
  259. package/src/glScreenSpaceFogEffect.test.ts +11 -1
  260. package/src/glSharpenEffect.test.ts +7 -1
  261. package/src/glSketchEffect.test.ts +7 -1
  262. package/src/glSmaaEffect.test.ts +7 -1
  263. package/src/glSpatialEffectRegistration.test.ts +64 -0
  264. package/src/glSsaoEffect.test.ts +7 -1
  265. package/src/glTiltShiftEffect.test.ts +11 -1
  266. package/src/glToneMapEffect.test.ts +7 -1
  267. package/src/glVignetteEffect.test.ts +7 -1
  268. package/src/glWhiteBalanceEffect.test.ts +11 -1
  269. package/dist/glSsrEffect.d.ts +0 -4
  270. package/dist/glSsrEffect.d.ts.map +0 -1
  271. package/dist/glSsrEffect.js +0 -24
  272. package/dist/glSsrEffect.js.map +0 -1
  273. package/dist/glTaaEffect.d.ts +0 -4
  274. package/dist/glTaaEffect.d.ts.map +0 -1
  275. package/dist/glTaaEffect.js +0 -22
  276. package/dist/glTaaEffect.js.map +0 -1
  277. package/src/glSsrEffect.test.ts +0 -13
  278. package/src/glTaaEffect.test.ts +0 -13
@@ -0,0 +1,83 @@
1
+ import { explainGlRenderTexture, getGlRenderTextureTarget, withGlRenderState, writeGlRenderTextureTarget, } from '@flighthq/render-gl/contract';
2
+ import { getGlRenderEffectRunner } from './glRenderEffectRegistry';
3
+ // Applies the registered members of a chain from one RenderTexture to another. Each effect composites
4
+ // into its destination and this function never clears `dest` or `scratch`; callers reusing either
5
+ // texture across frames must clear it first with `clearGlRenderTexture` for frame-stable replacement.
6
+ export function applyGlRenderEffectsToRenderTexture(state, pool, source, dest, scratch, effects) {
7
+ if (source === dest || source === scratch || dest === scratch) {
8
+ throw new Error('applyGlRenderEffectsToRenderTexture: source, destination, and scratch must be distinct');
9
+ }
10
+ const sourceTarget = getGlRenderTextureTarget(state, source);
11
+ const operations = effects.flatMap((effect) => {
12
+ const runner = getGlRenderEffectRunner(state, effect.kind);
13
+ return runner === null ? [] : [{ effect, runner }];
14
+ });
15
+ // Report BEFORE returning: both sentinel exits below leave `dest` unchanged, so a caller that then
16
+ // samples it sees either no published texture or plausible pixels from an older application.
17
+ reportGlRenderEffectApplication(state, explainGlRenderEffectApplication(state, effects, sourceTarget !== null, explainGlRenderTexture(state, dest).status === 'ready'));
18
+ if (sourceTarget === null)
19
+ return false;
20
+ if (operations.length === 0)
21
+ return false;
22
+ withGlRenderState(state, () => {
23
+ let current = sourceTarget;
24
+ for (let index = 0; index < operations.length; index++) {
25
+ const operation = operations[index];
26
+ const remaining = operations.length - index;
27
+ const output = remaining % 2 === 1 ? dest : scratch;
28
+ writeGlRenderTextureTarget(state, output, (target) => {
29
+ operation.runner({
30
+ state,
31
+ source: current,
32
+ dest: target,
33
+ pool: pool.effectTargets,
34
+ sceneDepthTexture: null,
35
+ sceneVelocityTexture: null,
36
+ }, operation.effect);
37
+ });
38
+ current = getGlRenderTextureTarget(state, output);
39
+ }
40
+ });
41
+ return true;
42
+ }
43
+ // Why an apply call would (or would not) write its destination, without performing it. Pure query over
44
+ // the same registry the apply path consults, so a caller can ask ahead of time or explain after the
45
+ // fact. `sourceAvailable` reports whether the source RenderTexture has a realized GL target;
46
+ // `destinationAvailable` reports whether a failed call would leave previously published pixels behind.
47
+ export function explainGlRenderEffectApplication(state, effects, sourceAvailable, destinationAvailable = false) {
48
+ const unregisteredKinds = effects
49
+ .filter((effect) => getGlRenderEffectRunner(state, effect.kind) === null)
50
+ .map((effect) => effect.kind);
51
+ const requestedCount = effects.length;
52
+ const registeredCount = requestedCount - unregisteredKinds.length;
53
+ return { registeredCount, requestedCount, status: getStatus(), unregisteredKinds };
54
+ function getStatus() {
55
+ // An empty chain is a no-op the caller asked for, NOT a miss — reporting it would train readers to
56
+ // ignore the crumb. A ready destination is the highest-cost failed-call outcome because consumers
57
+ // keep sampling plausible pixels from an older application instead of an empty texture.
58
+ if (requestedCount === 0)
59
+ return 'no-effects';
60
+ if (destinationAvailable && (!sourceAvailable || registeredCount === 0))
61
+ return 'stale-destination';
62
+ if (!sourceAvailable)
63
+ return 'source-unavailable';
64
+ if (registeredCount === 0)
65
+ return 'unregistered-effects';
66
+ return unregisteredKinds.length > 0 ? 'partial-registration' : 'complete';
67
+ }
68
+ }
69
+ // The diagnostics seam. Core stays message-free; enableGlRenderEffectGuards installs the reporter that
70
+ // turns these observations into caller-facing warnings.
71
+ export function setGlRenderEffectApplicationGuard(state, guard) {
72
+ if (guard === null)
73
+ _guards.delete(state);
74
+ else
75
+ _guards.set(state, guard);
76
+ }
77
+ function reportGlRenderEffectApplication(state, explanation) {
78
+ if (explanation.status === 'complete' || explanation.status === 'no-effects')
79
+ return;
80
+ _guards.get(state)?.(state, explanation);
81
+ }
82
+ const _guards = new WeakMap();
83
+ //# sourceMappingURL=glRenderTextureEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glRenderTextureEffect.js","sourceRoot":"","sources":["../src/glRenderTextureEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,8BAA8B,CAAC;AAUtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,sGAAsG;AACtG,kGAAkG;AAClG,sGAAsG;AACtG,MAAM,UAAU,mCAAmC,CACjD,KAAoB,EACpB,IAAyB,EACzB,MAA+B,EAC/B,IAAmB,EACnB,OAAsB,EACtB,OAA8C;IAE9C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;IAC5G,CAAC;IACD,MAAM,YAAY,GAAG,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC5C,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IACH,mGAAmG;IACnG,6FAA6F;IAC7F,+BAA+B,CAC7B,KAAK,EACL,gCAAgC,CAC9B,KAAK,EACL,OAAO,EACP,YAAY,KAAK,IAAI,EACrB,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CACvD,CACF,CAAC;IACF,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE;QAC5B,IAAI,OAAO,GAAG,YAAY,CAAC;QAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;YAC5C,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;YACpD,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;gBACnD,SAAS,CAAC,MAAM,CACd;oBACE,KAAK;oBACL,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,aAAa;oBACxB,iBAAiB,EAAE,IAAI;oBACvB,oBAAoB,EAAE,IAAI;iBAC3B,EACD,SAAS,CAAC,MAAM,CACjB,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAE,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uGAAuG;AACvG,oGAAoG;AACpG,6FAA6F;AAC7F,uGAAuG;AACvG,MAAM,UAAU,gCAAgC,CAC9C,KAAoB,EACpB,OAA8C,EAC9C,eAAwB,EACxB,oBAAoB,GAAG,KAAK;IAE5B,MAAM,iBAAiB,GAAG,OAAO;SAC9B,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;SACxE,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IACtC,MAAM,eAAe,GAAG,cAAc,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAClE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,CAAC;IAEnF,SAAS,SAAS;QAChB,mGAAmG;QACnG,kGAAkG;QAClG,wFAAwF;QACxF,IAAI,cAAc,KAAK,CAAC;YAAE,OAAO,YAAY,CAAC;QAC9C,IAAI,oBAAoB,IAAI,CAAC,CAAC,eAAe,IAAI,eAAe,KAAK,CAAC,CAAC;YAAE,OAAO,mBAAmB,CAAC;QACpG,IAAI,CAAC,eAAe;YAAE,OAAO,oBAAoB,CAAC;QAClD,IAAI,eAAe,KAAK,CAAC;YAAE,OAAO,sBAAsB,CAAC;QACzD,OAAO,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,wDAAwD;AACxD,MAAM,UAAU,iCAAiC,CAC/C,KAAoB,EACpB,KAA4C;IAE5C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;QACrC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,+BAA+B,CACtC,KAAoB,EACpB,WAA2D;IAE3D,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,IAAI,WAAW,CAAC,MAAM,KAAK,YAAY;QAAE,OAAO;IACrF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAiD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, ScanlinesEffect } from '@flighthq/types/contract';
2
2
  export declare function applyScanlinesEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<ScanlinesEffect>): void;
3
3
  export declare const defaultGlScanlinesEffectRunner: GlRenderEffectRunner;
4
+ export declare function registerGlScanlinesEffect(state: GlRenderState): void;
4
5
  //# sourceMappingURL=glScanlinesEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glScanlinesEffect.d.ts","sourceRoot":"","sources":["../src/glScanlinesEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAKrH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAChC,IAAI,CAQN;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAE5C,CAAC"}
1
+ {"version":3,"file":"glScanlinesEffect.d.ts","sourceRoot":"","sources":["../src/glScanlinesEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAMrH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAChC,IAAI,CAQN;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAE5C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEpE"}
@@ -1,5 +1,6 @@
1
1
  import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
2
2
  import { getGlEffectProgram } from './glEffectProgramCache';
3
+ import { registerGlRenderEffect } from './glRenderEffectRegistry';
3
4
  // Scanlines: darken by a vertical sine band; `count` sets the line density, `intensity` the darkening.
4
5
  export function applyScanlinesEffectToGl(state, source, dest, effect) {
5
6
  const count = effect.count ?? 240;
@@ -13,6 +14,9 @@ export function applyScanlinesEffectToGl(state, source, dest, effect) {
13
14
  export const defaultGlScanlinesEffectRunner = (ctx, effect) => {
14
15
  applyScanlinesEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
15
16
  };
17
+ export function registerGlScanlinesEffect(state) {
18
+ registerGlRenderEffect(state, 'ScanlinesEffect', defaultGlScanlinesEffectRunner);
19
+ }
16
20
  const SCANLINES_FRAGMENT_SRC = `#version 300 es
17
21
  precision highp float;
18
22
  in vec2 v_texCoord;
@@ -1 +1 @@
1
- {"version":3,"file":"glScanlinesEffect.js","sourceRoot":"","sources":["../src/glScanlinesEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,uGAAuG;AACvG,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAiC;IAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IAC3F,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAClF,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAyB,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG;;;;;;;;;;;EAW7B,CAAC"}
1
+ {"version":3,"file":"glScanlinesEffect.js","sourceRoot":"","sources":["../src/glScanlinesEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,uGAAuG;AACvG,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAiC;IAEjC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IAC3F,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAClF,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAyB,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,KAAoB;IAC5D,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,sBAAsB,GAAG;;;;;;;;;;;EAW7B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, ScreenSpaceFogEffect } from '@flighthq/types/contract';
2
2
  export declare function applyScreenSpaceFogEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, depthTexture: WebGLTexture | null, effect: Readonly<ScreenSpaceFogEffect>): void;
3
3
  export declare const defaultGlScreenSpaceFogEffectRunner: GlRenderEffectRunner;
4
+ export declare function registerGlScreenSpaceFogEffect(state: GlRenderState): void;
4
5
  //# sourceMappingURL=glScreenSpaceFogEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glScreenSpaceFogEffect.d.ts","sourceRoot":"","sources":["../src/glScreenSpaceFogEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAUlC,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACrC,IAAI,CAiBN;AAED,eAAO,MAAM,mCAAmC,EAAE,oBAEjD,CAAC"}
1
+ {"version":3,"file":"glScreenSpaceFogEffect.d.ts","sourceRoot":"","sources":["../src/glScreenSpaceFogEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAWlC,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,YAAY,EAAE,YAAY,GAAG,IAAI,EACjC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACrC,IAAI,CAiBN;AAED,eAAO,MAAM,mCAAmC,EAAE,oBAEjD,CAAC;AAEF,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEzE"}
@@ -1,5 +1,6 @@
1
1
  import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
2
2
  import { getGlEffectProgram } from './glEffectProgramCache';
3
+ import { registerGlRenderEffect } from './glRenderEffectRegistry';
3
4
  // Screen-space fog: blends the scene toward an unpacked fog color by distance. When the scene supplied a
4
5
  // sampleable DEPTH texture (`depthTexture`), this is the real recipe — fog factor = 1 - exp(-density *
5
6
  // depth) over the [near, far] window, read per fragment. When depth is absent (a flat 2D scene that did
@@ -27,6 +28,9 @@ export function applyScreenSpaceFogEffectToGl(state, source, dest, depthTexture,
27
28
  export const defaultGlScreenSpaceFogEffectRunner = (ctx, effect) => {
28
29
  applyScreenSpaceFogEffectToGl(ctx.state, ctx.source, ctx.dest, ctx.sceneDepthTexture, effect);
29
30
  };
31
+ export function registerGlScreenSpaceFogEffect(state) {
32
+ registerGlRenderEffect(state, 'ScreenSpaceFogEffect', defaultGlScreenSpaceFogEffectRunner);
33
+ }
30
34
  const SCREEN_SPACE_FOG_FRAGMENT_SRC = `#version 300 es
31
35
  precision highp float;
32
36
  in vec2 v_texCoord;
@@ -1 +1 @@
1
- {"version":3,"file":"glScreenSpaceFogEffect.js","sourceRoot":"","sources":["../src/glScreenSpaceFogEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,yGAAyG;AACzG,uGAAuG;AACvG,wGAAwG;AACxG,sGAAsG;AACtG,8FAA8F;AAC9F,sFAAsF;AACtF,MAAM,UAAU,6BAA6B,CAC3C,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,YAAiC,EACjC,MAAsC;IAEtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,4BAA4B,EAAE,6BAA6B,CAAC,CAAC;IACvG,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAC3D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,mCAAmC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACvF,6BAA6B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,iBAAiB,EAAE,MAA8B,CAAC,CAAC;AACxH,CAAC,CAAC;AAEF,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EAwBpC,CAAC"}
1
+ {"version":3,"file":"glScreenSpaceFogEffect.js","sourceRoot":"","sources":["../src/glScreenSpaceFogEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAQpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,yGAAyG;AACzG,uGAAuG;AACvG,wGAAwG;AACxG,sGAAsG;AACtG,8FAA8F;AAC9F,sFAAsF;AACtF,MAAM,UAAU,6BAA6B,CAC3C,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,YAAiC,EACjC,MAAsC;IAEtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;IAC1C,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,4BAA4B,EAAE,6BAA6B,CAAC,CAAC;IACvG,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAC3D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,mCAAmC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACvF,6BAA6B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,iBAAiB,EAAE,MAA8B,CAAC,CAAC;AACxH,CAAC,CAAC;AAEF,MAAM,UAAU,8BAA8B,CAAC,KAAoB;IACjE,sBAAsB,CAAC,KAAK,EAAE,sBAAsB,EAAE,mCAAmC,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,6BAA6B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EAwBpC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, SharpenEffect } from '@flighthq/types/contract';
2
2
  export declare function applySharpenEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<SharpenEffect>): void;
3
3
  export declare const defaultGlSharpenEffectRunner: GlRenderEffectRunner;
4
+ export declare function registerGlSharpenEffect(state: GlRenderState): void;
4
5
  //# sourceMappingURL=glSharpenEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glSharpenEffect.d.ts","sourceRoot":"","sources":["../src/glSharpenEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKnH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC9B,IAAI,CAON;AAED,eAAO,MAAM,4BAA4B,EAAE,oBAE1C,CAAC"}
1
+ {"version":3,"file":"glSharpenEffect.d.ts","sourceRoot":"","sources":["../src/glSharpenEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMnH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC9B,IAAI,CAON;AAED,eAAO,MAAM,4BAA4B,EAAE,oBAE1C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAElE"}
@@ -1,5 +1,6 @@
1
1
  import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
2
2
  import { getGlEffectProgram } from './glEffectProgramCache';
3
+ import { registerGlRenderEffect } from './glRenderEffectRegistry';
3
4
  // Sharpen: unsharp mask via a 3x3 Laplacian kernel; `amount` scales the high-frequency boost.
4
5
  export function applySharpenEffectToGl(state, source, dest, effect) {
5
6
  const amount = effect.amount ?? 0.5;
@@ -12,6 +13,9 @@ export function applySharpenEffectToGl(state, source, dest, effect) {
12
13
  export const defaultGlSharpenEffectRunner = (ctx, effect) => {
13
14
  applySharpenEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
14
15
  };
16
+ export function registerGlSharpenEffect(state) {
17
+ registerGlRenderEffect(state, 'SharpenEffect', defaultGlSharpenEffectRunner);
18
+ }
15
19
  const SHARPEN_FRAGMENT_SRC = `#version 300 es
16
20
  precision highp float;
17
21
  in vec2 v_texCoord;
@@ -1 +1 @@
1
- {"version":3,"file":"glSharpenEffect.js","sourceRoot":"","sources":["../src/glSharpenEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,8FAA8F;AAC9F,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IACpC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;IACvF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAChF,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAuB,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;EAiB3B,CAAC"}
1
+ {"version":3,"file":"glSharpenEffect.js","sourceRoot":"","sources":["../src/glSharpenEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,8FAA8F;AAC9F,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IACpC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;IACvF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAChF,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAuB,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;EAiB3B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, SketchEffect } from '@flighthq/types/contract';
2
2
  export declare function applySketchEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<SketchEffect>): void;
3
3
  export declare const defaultGlSketchEffectRunner: GlRenderEffectRunner;
4
+ export declare function registerGlSketchEffect(state: GlRenderState): void;
4
5
  //# sourceMappingURL=glSketchEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glSketchEffect.d.ts","sourceRoot":"","sources":["../src/glSketchEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAMlH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC7B,IAAI,CAON;AAED,eAAO,MAAM,2BAA2B,EAAE,oBAEzC,CAAC"}
1
+ {"version":3,"file":"glSketchEffect.d.ts","sourceRoot":"","sources":["../src/glSketchEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAOlH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC7B,IAAI,CAON;AAED,eAAO,MAAM,2BAA2B,EAAE,oBAEzC,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEjE"}
@@ -1,5 +1,6 @@
1
1
  import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
2
2
  import { getGlEffectProgram } from './glEffectProgramCache';
3
+ import { registerGlRenderEffect } from './glRenderEffectRegistry';
3
4
  // Sketch: detect luminance edges and invert them into dark pencil strokes over a light page; `strength`
4
5
  // scales how dark the strokes get.
5
6
  export function applySketchEffectToGl(state, source, dest, effect) {
@@ -13,6 +14,9 @@ export function applySketchEffectToGl(state, source, dest, effect) {
13
14
  export const defaultGlSketchEffectRunner = (ctx, effect) => {
14
15
  applySketchEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
15
16
  };
17
+ export function registerGlSketchEffect(state) {
18
+ registerGlRenderEffect(state, 'SketchEffect', defaultGlSketchEffectRunner);
19
+ }
16
20
  const SKETCH_FRAGMENT_SRC = `#version 300 es
17
21
  precision highp float;
18
22
  in vec2 v_texCoord;
@@ -1 +1 @@
1
- {"version":3,"file":"glSketchEffect.js","sourceRoot":"","sources":["../src/glSketchEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,wGAAwG;AACxG,mCAAmC;AACnC,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IACrF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC/E,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAsB,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B1B,CAAC"}
1
+ {"version":3,"file":"glSketchEffect.js","sourceRoot":"","sources":["../src/glSketchEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,wGAAwG;AACxG,mCAAmC;AACnC,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA8B;IAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;IACrF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC/E,qBAAqB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAsB,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,KAAoB;IACzD,sBAAsB,CAAC,KAAK,EAAE,cAAc,EAAE,2BAA2B,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;EA0B1B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, SmaaEffect } from '@flighthq/types/contract';
2
2
  export declare function applySmaaEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<SmaaEffect>): void;
3
3
  export declare const defaultGlSmaaEffectRunner: GlRenderEffectRunner;
4
+ export declare function registerGlSmaaEffect(state: GlRenderState): void;
4
5
  //# sourceMappingURL=glSmaaEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glSmaaEffect.d.ts","sourceRoot":"","sources":["../src/glSmaaEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAOhH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC3B,IAAI,CAON;AAED,eAAO,MAAM,yBAAyB,EAAE,oBAEvC,CAAC"}
1
+ {"version":3,"file":"glSmaaEffect.d.ts","sourceRoot":"","sources":["../src/glSmaaEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAQhH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC3B,IAAI,CAON;AAED,eAAO,MAAM,yBAAyB,EAAE,oBAEvC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE/D"}
@@ -1,5 +1,6 @@
1
1
  import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
2
2
  import { getGlEffectProgram } from './glEffectProgramCache';
3
+ import { registerGlRenderEffect } from './glRenderEffectRegistry';
3
4
  // SMAA: a single-pass edge-aware blur approximation. Full SMAA needs separate edge-detection and
4
5
  // blend-weight passes against precomputed area/search lookup textures; this single-pass approximation
5
6
  // softens detected edges only and is acceptable until the multi-pass recipe lands.
@@ -14,6 +15,9 @@ export function applySmaaEffectToGl(state, source, dest, effect) {
14
15
  export const defaultGlSmaaEffectRunner = (ctx, effect) => {
15
16
  applySmaaEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
16
17
  };
18
+ export function registerGlSmaaEffect(state) {
19
+ registerGlRenderEffect(state, 'SmaaEffect', defaultGlSmaaEffectRunner);
20
+ }
17
21
  const SMAA_FRAGMENT_SRC = `#version 300 es
18
22
  precision highp float;
19
23
  in vec2 v_texCoord;
@@ -1 +1 @@
1
- {"version":3,"file":"glSmaaEffect.js","sourceRoot":"","sources":["../src/glSmaaEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,iGAAiG;AACjG,sGAAsG;AACtG,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CACjC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA4B;IAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAClF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5F,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC7E,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BxB,CAAC"}
1
+ {"version":3,"file":"glSmaaEffect.js","sourceRoot":"","sources":["../src/glSmaaEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,iGAAiG;AACjG,sGAAsG;AACtG,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CACjC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA4B;IAE5B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,GAAG,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;IAClF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5F,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC7E,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,yBAAyB,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BxB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, SsaoEffect } from '@flighthq/types/contract';
2
2
  export declare function applySsaoEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<SsaoEffect>): void;
3
3
  export declare const defaultGlSsaoEffectRunner: GlRenderEffectRunner;
4
+ export declare function registerGlSsaoEffect(state: GlRenderState): void;
4
5
  //# sourceMappingURL=glSsaoEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glSsaoEffect.d.ts","sourceRoot":"","sources":["../src/glSsaoEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAShH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC3B,IAAI,CASN;AAED,eAAO,MAAM,yBAAyB,EAAE,oBAEvC,CAAC"}
1
+ {"version":3,"file":"glSsaoEffect.d.ts","sourceRoot":"","sources":["../src/glSsaoEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAUhH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC3B,IAAI,CASN;AAED,eAAO,MAAM,yBAAyB,EAAE,oBAEvC,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE/D"}
@@ -1,5 +1,6 @@
1
1
  import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
2
2
  import { getGlEffectProgram } from './glEffectProgramCache';
3
+ import { registerGlRenderEffect } from './glRenderEffectRegistry';
3
4
  // SSAO: ambient-occlusion approximation. Real SSAO reconstructs view-space position/normals from a
4
5
  // sampleable DEPTH texture and accumulates occlusion over `samples` kernel offsets within `radius`,
5
6
  // gated by `bias`; none of that depth data exists in the color-only context. This stand-in darkens
@@ -18,6 +19,9 @@ export function applySsaoEffectToGl(state, source, dest, effect) {
18
19
  export const defaultGlSsaoEffectRunner = (ctx, effect) => {
19
20
  applySsaoEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
20
21
  };
22
+ export function registerGlSsaoEffect(state) {
23
+ registerGlRenderEffect(state, 'SsaoEffect', defaultGlSsaoEffectRunner);
24
+ }
21
25
  const SSAO_FRAGMENT_SRC = `#version 300 es
22
26
  precision highp float;
23
27
  in vec2 v_texCoord;
@@ -1 +1 @@
1
- {"version":3,"file":"glSsaoEffect.js","sourceRoot":"","sources":["../src/glSsaoEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,mGAAmG;AACnG,oGAAoG;AACpG,mGAAmG;AACnG,sGAAsG;AACtG,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CACjC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IACjF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5F,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC7E,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;EAuBxB,CAAC"}
1
+ {"version":3,"file":"glSsaoEffect.js","sourceRoot":"","sources":["../src/glSsaoEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,mGAAmG;AACnG,oGAAoG;AACpG,mGAAmG;AACnG,sGAAsG;AACtG,yEAAyE;AACzE,MAAM,UAAU,mBAAmB,CACjC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA4B;IAE5B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;IACjF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5F,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAC7E,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAoB,CAAC,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,yBAAyB,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;EAuBxB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, TiltShiftEffect } from '@flighthq/types/contract';
2
2
  export declare function applyTiltShiftEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<TiltShiftEffect>): void;
3
3
  export declare const defaultGlTiltShiftEffectRunner: GlRenderEffectRunner;
4
+ export declare function registerGlTiltShiftEffect(state: GlRenderState): void;
4
5
  //# sourceMappingURL=glTiltShiftEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glTiltShiftEffect.d.ts","sourceRoot":"","sources":["../src/glTiltShiftEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAOrH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAChC,IAAI,CAWN;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAE5C,CAAC"}
1
+ {"version":3,"file":"glTiltShiftEffect.d.ts","sourceRoot":"","sources":["../src/glTiltShiftEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAQrH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,GAChC,IAAI,CAWN;AAED,eAAO,MAAM,8BAA8B,EAAE,oBAE5C,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEpE"}
@@ -1,5 +1,6 @@
1
1
  import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
2
2
  import { getGlEffectProgram } from './glEffectProgramCache';
3
+ import { registerGlRenderEffect } from './glRenderEffectRegistry';
3
4
  // Tilt-shift: keep a horizontal focus band sharp and blur above and below it. The band is centered at
4
5
  // `center` on Y with height `width`; blur strength ramps with distance outside the band. Blur is
5
6
  // approximated by averaging a few neighbor taps using the pixel size from u_resolution.
@@ -18,6 +19,9 @@ export function applyTiltShiftEffectToGl(state, source, dest, effect) {
18
19
  export const defaultGlTiltShiftEffectRunner = (ctx, effect) => {
19
20
  applyTiltShiftEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
20
21
  };
22
+ export function registerGlTiltShiftEffect(state) {
23
+ registerGlRenderEffect(state, 'TiltShiftEffect', defaultGlTiltShiftEffectRunner);
24
+ }
21
25
  const TILT_SHIFT_FRAGMENT_SRC = `#version 300 es
22
26
  precision highp float;
23
27
  in vec2 v_texCoord;
@@ -1 +1 @@
1
- {"version":3,"file":"glTiltShiftEffect.js","sourceRoot":"","sources":["../src/glTiltShiftEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,sGAAsG;AACtG,iGAAiG;AACjG,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAiC;IAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;IACrF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAClF,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAyB,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;EAuB9B,CAAC"}
1
+ {"version":3,"file":"glTiltShiftEffect.js","sourceRoot":"","sources":["../src/glTiltShiftEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,sGAAsG;AACtG,iGAAiG;AACjG,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CACtC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAiC;IAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,CAAC,CAAC;IACrF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAClF,wBAAwB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAyB,CAAC,CAAC;AACvF,CAAC,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,KAAoB;IAC5D,sBAAsB,CAAC,KAAK,EAAE,iBAAiB,EAAE,8BAA8B,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;EAuB9B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, ToneMapEffect } from '@flighthq/types/contract';
2
2
  export declare function applyToneMapEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<ToneMapEffect>): void;
3
3
  export declare const defaultGlToneMapEffectRunner: GlRenderEffectRunner;
4
+ export declare function registerGlToneMapEffect(state: GlRenderState): void;
4
5
  //# sourceMappingURL=glToneMapEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glToneMapEffect.d.ts","sourceRoot":"","sources":["../src/glToneMapEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKnH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC9B,IAAI,CAQN;AAED,eAAO,MAAM,4BAA4B,EAAE,oBAE1C,CAAC"}
1
+ {"version":3,"file":"glToneMapEffect.d.ts","sourceRoot":"","sources":["../src/glToneMapEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMnH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,GAC9B,IAAI,CAQN;AAED,eAAO,MAAM,4BAA4B,EAAE,oBAE1C,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAElE"}
@@ -1,5 +1,6 @@
1
1
  import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
2
2
  import { getGlEffectProgram } from './glEffectProgramCache';
3
+ import { registerGlRenderEffect } from './glRenderEffectRegistry';
3
4
  // Tone map: compress HDR to displayable range via the selected operator. Single-pass reference recipe.
4
5
  export function applyToneMapEffectToGl(state, source, dest, effect) {
5
6
  const operator = effect.operator ?? 'aces';
@@ -13,6 +14,9 @@ export function applyToneMapEffectToGl(state, source, dest, effect) {
13
14
  export const defaultGlToneMapEffectRunner = (ctx, effect) => {
14
15
  applyToneMapEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
15
16
  };
17
+ export function registerGlToneMapEffect(state) {
18
+ registerGlRenderEffect(state, 'ToneMapEffect', defaultGlToneMapEffectRunner);
19
+ }
16
20
  function buildToneMapFragment(operator) {
17
21
  return TONEMAP_FRAGMENT_HEAD + (TONEMAP_OPERATORS[operator] ?? TONEMAP_OPERATORS.aces) + TONEMAP_FRAGMENT_TAIL;
18
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"glToneMapEffect.js","sourceRoot":"","sources":["../src/glToneMapEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,uGAAuG;AACvG,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,WAAW,QAAQ,EAAE,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjG,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAChF,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAuB,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,OAAO,qBAAqB,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC;AACjH,CAAC;AAED,MAAM,qBAAqB,GAAG;;;;;;;uBAOP,CAAC;AAExB,MAAM,qBAAqB,GAAG;;;;;EAK5B,CAAC;AAEH,MAAM,iBAAiB,GAA2B;IAChD,IAAI,EAAE;;;gBAGQ;IACd,QAAQ,EAAE;8CACkC;IAC5C,MAAM,EAAE;;+DAEqD;IAC7D,UAAU,EAAE;;;YAGF;IACV,GAAG,EAAE;;4BAEqB;CAC3B,CAAC"}
1
+ {"version":3,"file":"glToneMapEffect.js","sourceRoot":"","sources":["../src/glToneMapEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,uGAAuG;AACvG,MAAM,UAAU,sBAAsB,CACpC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,WAAW,QAAQ,EAAE,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjG,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,4BAA4B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IAChF,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAuB,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,OAAO,qBAAqB,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC;AACjH,CAAC;AAED,MAAM,qBAAqB,GAAG;;;;;;;uBAOP,CAAC;AAExB,MAAM,qBAAqB,GAAG;;;;;EAK5B,CAAC;AAEH,MAAM,iBAAiB,GAA2B;IAChD,IAAI,EAAE;;;gBAGQ;IACd,QAAQ,EAAE;8CACkC;IAC5C,MAAM,EAAE;;+DAEqD;IAC7D,UAAU,EAAE;;;YAGF;IACV,GAAG,EAAE;;4BAEqB;CAC3B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, VignetteEffect } from '@flighthq/types/contract';
2
2
  export declare function applyVignetteEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<VignetteEffect>): void;
3
3
  export declare const defaultGlVignetteEffectRunner: GlRenderEffectRunner;
4
+ export declare function registerGlVignetteEffect(state: GlRenderState): void;
4
5
  //# sourceMappingURL=glVignetteEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glVignetteEffect.d.ts","sourceRoot":"","sources":["../src/glVignetteEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAMpH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAC/B,IAAI,CAgBN;AAED,eAAO,MAAM,6BAA6B,EAAE,oBAE3C,CAAC"}
1
+ {"version":3,"file":"glVignetteEffect.d.ts","sourceRoot":"","sources":["../src/glVignetteEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAOpH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAC/B,IAAI,CAgBN;AAED,eAAO,MAAM,6BAA6B,EAAE,oBAE3C,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEnE"}
@@ -1,5 +1,6 @@
1
1
  import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
2
2
  import { getGlEffectProgram } from './glEffectProgramCache';
3
+ import { registerGlRenderEffect } from './glRenderEffectRegistry';
3
4
  // Vignette: darken toward the edges. Pixels inside `radius` stay full bright; beyond it, brightness
4
5
  // falls off over `softness` and the color is blended toward the (unpacked) vignette color by intensity.
5
6
  export function applyVignetteEffectToGl(state, source, dest, effect) {
@@ -22,6 +23,9 @@ export function applyVignetteEffectToGl(state, source, dest, effect) {
22
23
  export const defaultGlVignetteEffectRunner = (ctx, effect) => {
23
24
  applyVignetteEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
24
25
  };
26
+ export function registerGlVignetteEffect(state) {
27
+ registerGlRenderEffect(state, 'VignetteEffect', defaultGlVignetteEffectRunner);
28
+ }
25
29
  const VIGNETTE_FRAGMENT_SRC = `#version 300 es
26
30
  precision highp float;
27
31
  in vec2 v_texCoord;
@@ -1 +1 @@
1
- {"version":3,"file":"glVignetteEffect.js","sourceRoot":"","sources":["../src/glVignetteEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,oGAAoG;AACpG,wGAAwG;AACxG,MAAM,UAAU,uBAAuB,CACrC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAgC;IAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAC/B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;IAClF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;QACzE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACjF,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAwB,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;EAgB5B,CAAC"}
1
+ {"version":3,"file":"glVignetteEffect.js","sourceRoot":"","sources":["../src/glVignetteEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,oGAAoG;AACpG,wGAAwG;AACxG,MAAM,UAAU,uBAAuB,CACrC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAgC;IAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACxC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IAC/B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,eAAe,EAAE,qBAAqB,CAAC,CAAC;IAClF,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC,CAAC;QACzE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;QACnE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,6BAA6B,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACjF,uBAAuB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAAwB,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,KAAoB;IAC3D,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,EAAE,6BAA6B,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;EAgB5B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { GlRenderEffectRunner, GlRenderState, GlRenderTarget, WhiteBalanceEffect } from '@flighthq/types/contract';
2
2
  export declare function applyWhiteBalanceEffectToGl(state: GlRenderState, source: Readonly<GlRenderTarget>, dest: Readonly<GlRenderTarget>, effect: Readonly<WhiteBalanceEffect>): void;
3
3
  export declare const defaultGlWhiteBalanceEffectRunner: GlRenderEffectRunner;
4
+ export declare function registerGlWhiteBalanceEffect(state: GlRenderState): void;
4
5
  //# sourceMappingURL=glWhiteBalanceEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glWhiteBalanceEffect.d.ts","sourceRoot":"","sources":["../src/glWhiteBalanceEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAKxH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACnC,IAAI,CAQN;AAED,eAAO,MAAM,iCAAiC,EAAE,oBAE/C,CAAC"}
1
+ {"version":3,"file":"glWhiteBalanceEffect.d.ts","sourceRoot":"","sources":["../src/glWhiteBalanceEffect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAMxH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,aAAa,EACpB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,EAChC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,EAC9B,MAAM,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GACnC,IAAI,CAQN;AAED,eAAO,MAAM,iCAAiC,EAAE,oBAE/C,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEvE"}
@@ -1,5 +1,6 @@
1
1
  import { drawGlFullscreenPass } from '@flighthq/render-gl/contract';
2
2
  import { getGlEffectProgram } from './glEffectProgramCache';
3
+ import { registerGlRenderEffect } from './glRenderEffectRegistry';
3
4
  // White balance: warm/cool temperature and magenta/green tint channel shift.
4
5
  export function applyWhiteBalanceEffectToGl(state, source, dest, effect) {
5
6
  const temperature = effect.temperature ?? 0;
@@ -13,6 +14,9 @@ export function applyWhiteBalanceEffectToGl(state, source, dest, effect) {
13
14
  export const defaultGlWhiteBalanceEffectRunner = (ctx, effect) => {
14
15
  applyWhiteBalanceEffectToGl(ctx.state, ctx.source, ctx.dest, effect);
15
16
  };
17
+ export function registerGlWhiteBalanceEffect(state) {
18
+ registerGlRenderEffect(state, 'WhiteBalanceEffect', defaultGlWhiteBalanceEffectRunner);
19
+ }
16
20
  const WHITE_BALANCE_FRAGMENT_SRC = `#version 300 es
17
21
  precision highp float;
18
22
  in vec2 v_texCoord;
@@ -1 +1 @@
1
- {"version":3,"file":"glWhiteBalanceEffect.js","sourceRoot":"","sources":["../src/glWhiteBalanceEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,6EAA6E;AAC7E,MAAM,UAAU,2BAA2B,CACzC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAoC;IAEpC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,yBAAyB,EAAE,0BAA0B,CAAC,CAAC;IACjG,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;QAC7E,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACrF,2BAA2B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA4B,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;EAcjC,CAAC"}
1
+ {"version":3,"file":"glWhiteBalanceEffect.js","sourceRoot":"","sources":["../src/glWhiteBalanceEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,6EAA6E;AAC7E,MAAM,UAAU,2BAA2B,CACzC,KAAoB,EACpB,MAAgC,EAChC,IAA8B,EAC9B,MAAoC;IAEpC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,yBAAyB,EAAE,0BAA0B,CAAC,CAAC;IACjG,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QACrE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;QAC7E,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;IACrF,2BAA2B,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,MAA4B,CAAC,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,KAAoB;IAC/D,sBAAsB,CAAC,KAAK,EAAE,oBAAoB,EAAE,iCAAiC,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;EAcjC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { beginGlRenderEffectPipeline, createGlRenderEffectPipeline, defaultGlBlendEffectRunner, defaultGlBloomEffectRunner, defaultGlBokehDepthOfFieldEffectRunner, defaultGlCameraMotionBlurEffectRunner, defaultGlChromaticAberrationEffectRunner, defaultGlCrtEffectRunner, defaultGlDirectionalBlurEffectRunner, defaultGlDisplacementEffectRunner, defaultGlDitherEffectRunner, defaultGlFilmGrainEffectRunner, defaultGlFxaaEffectRunner, defaultGlGlitchEffectRunner, defaultGlGodRaysEffectRunner, defaultGlHalftoneEffectRunner, defaultGlKuwaharaEffectRunner, defaultGlLensDirtEffectRunner, defaultGlLensDistortionEffectRunner, defaultGlLensFlareEffectRunner, defaultGlMotionBlurEffectRunner, defaultGlOutlineEffectRunner, defaultGlPixelateEffectRunner, defaultGlPosterizeEffectRunner, defaultGlRadialBlurEffectRunner, defaultGlScanlinesEffectRunner, defaultGlScreenSpaceFogEffectRunner, defaultGlSharpenEffectRunner, defaultGlSketchEffectRunner, defaultGlSmaaEffectRunner, defaultGlSsaoEffectRunner, defaultGlSsrEffectRunner, defaultGlTaaEffectRunner, defaultGlTiltShiftEffectRunner, defaultGlToneMapEffectRunner, defaultGlVignetteEffectRunner, defaultGlWhiteBalanceEffectRunner, endGlRenderEffectPipeline, registerGlBlendEffectBackdrop, registerGlRenderEffect, setGlRenderEffectVelocityTexture, } from './contract';
1
+ export { applyBlurEffectToGlRenderTextures, applyGaussianBlurToGlRenderTextures, disableGlRenderEffectGuards, enableGlRenderEffectGuards, explainGlRenderEffectApplication, applyGlRenderEffectsToRenderTexture, beginGlRenderEffectPipeline, createGlRenderEffectPipeline, defaultGlBevelEffectRunner, defaultGlBlendEffectRunner, defaultGlBloomEffectRunner, defaultGlBlurEffectRunner, defaultGlBokehDepthOfFieldEffectRunner, defaultGlCameraMotionBlurEffectRunner, defaultGlChromaticAberrationEffectRunner, defaultGlCompositeEffectRunner, defaultGlContactShadowsEffectRunner, defaultGlConvolutionEffectRunner, defaultGlCrtEffectRunner, defaultGlCustomShaderEffectRunner, defaultGlDirectionalBlurEffectRunner, defaultGlDisplacementEffectRunner, defaultGlDitherEffectRunner, defaultGlDropShadowEffectRunner, defaultGlFilmGrainEffectRunner, defaultGlFxaaEffectRunner, defaultGlGlitchEffectRunner, defaultGlGodRaysEffectRunner, defaultGlGradientBevelEffectRunner, defaultGlGradientGlowEffectRunner, defaultGlHalftoneEffectRunner, defaultGlInnerGlowEffectRunner, defaultGlInnerShadowEffectRunner, defaultGlKuwaharaEffectRunner, defaultGlLensDirtEffectRunner, defaultGlLensDistortionEffectRunner, defaultGlLensFlareEffectRunner, defaultGlMedianEffectRunner, defaultGlMotionBlurEffectRunner, defaultGlOuterGlowEffectRunner, defaultGlOutlineEffectRunner, defaultGlPixelateEffectRunner, defaultGlPosterizeEffectRunner, defaultGlRadialBlurEffectRunner, defaultGlScanlinesEffectRunner, defaultGlScreenSpaceFogEffectRunner, defaultGlSharpenEffectRunner, defaultGlSketchEffectRunner, defaultGlSmaaEffectRunner, defaultGlSsaoEffectRunner, defaultGlTiltShiftEffectRunner, defaultGlToneMapEffectRunner, defaultGlVignetteEffectRunner, defaultGlWhiteBalanceEffectRunner, endGlRenderEffectPipeline, registerGlBlendEffectBackdrop, registerGlBevelEffect, registerGlBlurEffect, registerGlContactShadowsEffect, registerGlDropShadowEffect, registerGlGradientBevelEffect, registerGlGradientGlowEffect, registerGlInnerGlowEffect, registerGlInnerShadowEffect, registerGlOuterGlowEffect, registerGlBlendEffect, registerGlBloomEffect, registerGlBokehDepthOfFieldEffect, registerGlCameraMotionBlurEffect, registerGlChromaticAberrationEffect, registerGlCompositeEffect, registerGlConvolutionEffect, registerGlCrtEffect, registerGlCustomShaderEffect, registerGlDirectionalBlurEffect, registerGlDisplacementEffect, registerGlDitherEffect, registerGlFilmGrainEffect, registerGlFxaaEffect, registerGlGlitchEffect, registerGlGodRaysEffect, registerGlHalftoneEffect, registerGlKuwaharaEffect, registerGlLensDirtEffect, registerGlLensDistortionEffect, registerGlLensFlareEffect, registerGlMedianEffect, registerGlMotionBlurEffect, registerGlOutlineEffect, registerGlPixelateEffect, registerGlPosterizeEffect, registerGlRadialBlurEffect, registerGlScanlinesEffect, registerGlScreenSpaceFogEffect, registerGlSharpenEffect, registerGlSketchEffect, registerGlSmaaEffect, registerGlSsaoEffect, registerGlTiltShiftEffect, registerGlToneMapEffect, registerGlVignetteEffect, registerGlWhiteBalanceEffect, registerGlRenderEffect, setGlRenderEffectVelocityTexture, } from './contract';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,sCAAsC,EACtC,qCAAqC,EACrC,wCAAwC,EACxC,wBAAwB,EACxB,oCAAoC,EACpC,iCAAiC,EACjC,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,sCAAsC,EACtC,qCAAqC,EACrC,wCAAwC,EACxC,8BAA8B,EAC9B,mCAAmC,EACnC,gCAAgC,EAChC,wBAAwB,EACxB,iCAAiC,EACjC,oCAAoC,EACpC,iCAAiC,EACjC,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { beginGlRenderEffectPipeline, createGlRenderEffectPipeline, defaultGlBlendEffectRunner, defaultGlBloomEffectRunner, defaultGlBokehDepthOfFieldEffectRunner, defaultGlCameraMotionBlurEffectRunner, defaultGlChromaticAberrationEffectRunner, defaultGlCrtEffectRunner, defaultGlDirectionalBlurEffectRunner, defaultGlDisplacementEffectRunner, defaultGlDitherEffectRunner, defaultGlFilmGrainEffectRunner, defaultGlFxaaEffectRunner, defaultGlGlitchEffectRunner, defaultGlGodRaysEffectRunner, defaultGlHalftoneEffectRunner, defaultGlKuwaharaEffectRunner, defaultGlLensDirtEffectRunner, defaultGlLensDistortionEffectRunner, defaultGlLensFlareEffectRunner, defaultGlMotionBlurEffectRunner, defaultGlOutlineEffectRunner, defaultGlPixelateEffectRunner, defaultGlPosterizeEffectRunner, defaultGlRadialBlurEffectRunner, defaultGlScanlinesEffectRunner, defaultGlScreenSpaceFogEffectRunner, defaultGlSharpenEffectRunner, defaultGlSketchEffectRunner, defaultGlSmaaEffectRunner, defaultGlSsaoEffectRunner, defaultGlSsrEffectRunner, defaultGlTaaEffectRunner, defaultGlTiltShiftEffectRunner, defaultGlToneMapEffectRunner, defaultGlVignetteEffectRunner, defaultGlWhiteBalanceEffectRunner, endGlRenderEffectPipeline, registerGlBlendEffectBackdrop, registerGlRenderEffect, setGlRenderEffectVelocityTexture, } from './contract';
1
+ export { applyBlurEffectToGlRenderTextures, applyGaussianBlurToGlRenderTextures, disableGlRenderEffectGuards, enableGlRenderEffectGuards, explainGlRenderEffectApplication, applyGlRenderEffectsToRenderTexture, beginGlRenderEffectPipeline, createGlRenderEffectPipeline, defaultGlBevelEffectRunner, defaultGlBlendEffectRunner, defaultGlBloomEffectRunner, defaultGlBlurEffectRunner, defaultGlBokehDepthOfFieldEffectRunner, defaultGlCameraMotionBlurEffectRunner, defaultGlChromaticAberrationEffectRunner, defaultGlCompositeEffectRunner, defaultGlContactShadowsEffectRunner, defaultGlConvolutionEffectRunner, defaultGlCrtEffectRunner, defaultGlCustomShaderEffectRunner, defaultGlDirectionalBlurEffectRunner, defaultGlDisplacementEffectRunner, defaultGlDitherEffectRunner, defaultGlDropShadowEffectRunner, defaultGlFilmGrainEffectRunner, defaultGlFxaaEffectRunner, defaultGlGlitchEffectRunner, defaultGlGodRaysEffectRunner, defaultGlGradientBevelEffectRunner, defaultGlGradientGlowEffectRunner, defaultGlHalftoneEffectRunner, defaultGlInnerGlowEffectRunner, defaultGlInnerShadowEffectRunner, defaultGlKuwaharaEffectRunner, defaultGlLensDirtEffectRunner, defaultGlLensDistortionEffectRunner, defaultGlLensFlareEffectRunner, defaultGlMedianEffectRunner, defaultGlMotionBlurEffectRunner, defaultGlOuterGlowEffectRunner, defaultGlOutlineEffectRunner, defaultGlPixelateEffectRunner, defaultGlPosterizeEffectRunner, defaultGlRadialBlurEffectRunner, defaultGlScanlinesEffectRunner, defaultGlScreenSpaceFogEffectRunner, defaultGlSharpenEffectRunner, defaultGlSketchEffectRunner, defaultGlSmaaEffectRunner, defaultGlSsaoEffectRunner, defaultGlTiltShiftEffectRunner, defaultGlToneMapEffectRunner, defaultGlVignetteEffectRunner, defaultGlWhiteBalanceEffectRunner, endGlRenderEffectPipeline, registerGlBlendEffectBackdrop, registerGlBevelEffect, registerGlBlurEffect, registerGlContactShadowsEffect, registerGlDropShadowEffect, registerGlGradientBevelEffect, registerGlGradientGlowEffect, registerGlInnerGlowEffect, registerGlInnerShadowEffect, registerGlOuterGlowEffect, registerGlBlendEffect, registerGlBloomEffect, registerGlBokehDepthOfFieldEffect, registerGlCameraMotionBlurEffect, registerGlChromaticAberrationEffect, registerGlCompositeEffect, registerGlConvolutionEffect, registerGlCrtEffect, registerGlCustomShaderEffect, registerGlDirectionalBlurEffect, registerGlDisplacementEffect, registerGlDitherEffect, registerGlFilmGrainEffect, registerGlFxaaEffect, registerGlGlitchEffect, registerGlGodRaysEffect, registerGlHalftoneEffect, registerGlKuwaharaEffect, registerGlLensDirtEffect, registerGlLensDistortionEffect, registerGlLensFlareEffect, registerGlMedianEffect, registerGlMotionBlurEffect, registerGlOutlineEffect, registerGlPixelateEffect, registerGlPosterizeEffect, registerGlRadialBlurEffect, registerGlScanlinesEffect, registerGlScreenSpaceFogEffect, registerGlSharpenEffect, registerGlSketchEffect, registerGlSmaaEffect, registerGlSsaoEffect, registerGlTiltShiftEffect, registerGlToneMapEffect, registerGlVignetteEffect, registerGlWhiteBalanceEffect, registerGlRenderEffect, setGlRenderEffectVelocityTexture, } from './contract';
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,sCAAsC,EACtC,qCAAqC,EACrC,wCAAwC,EACxC,wBAAwB,EACxB,oCAAoC,EACpC,iCAAiC,EACjC,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,+BAA+B,EAC/B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,2BAA2B,EAC3B,0BAA0B,EAC1B,gCAAgC,EAChC,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,sCAAsC,EACtC,qCAAqC,EACrC,wCAAwC,EACxC,8BAA8B,EAC9B,mCAAmC,EACnC,gCAAgC,EAChC,wBAAwB,EACxB,iCAAiC,EACjC,oCAAoC,EACpC,iCAAiC,EACjC,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,yBAAyB,EACzB,2BAA2B,EAC3B,4BAA4B,EAC5B,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,EAC7B,mCAAmC,EACnC,8BAA8B,EAC9B,2BAA2B,EAC3B,+BAA+B,EAC/B,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,8BAA8B,EAC9B,mCAAmC,EACnC,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,6BAA6B,EAC7B,iCAAiC,EACjC,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,8BAA8B,EAC9B,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,qBAAqB,EACrB,qBAAqB,EACrB,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,yBAAyB,EACzB,2BAA2B,EAC3B,mBAAmB,EACnB,4BAA4B,EAC5B,+BAA+B,EAC/B,4BAA4B,EAC5B,sBAAsB,EACtB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,EAC5B,sBAAsB,EACtB,gCAAgC,GACjC,MAAM,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "@flighthq/effects-gl",
3
- "version": "0.3.0-next.906.07cea63",
3
+ "version": "0.3.0",
4
+ "author": "Joshua Granick and other contributors",
5
+ "license": "MIT",
4
6
  "repository": {
5
7
  "type": "git",
6
8
  "url": "https://github.com/flighthq/flight.git",
@@ -36,11 +38,12 @@
36
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
37
39
  },
38
40
  "dependencies": {
39
- "@flighthq/adjustments": "0.3.0-next.906.07cea63",
40
- "@flighthq/effects": "0.3.0-next.906.07cea63",
41
- "@flighthq/geometry": "0.3.0-next.906.07cea63",
42
- "@flighthq/render-gl": "0.3.0-next.906.07cea63",
43
- "@flighthq/types": "0.3.0-next.906.07cea63"
41
+ "@flighthq/adjustments": "0.3.0",
42
+ "@flighthq/effects": "0.3.0",
43
+ "@flighthq/geometry": "0.3.0",
44
+ "@flighthq/log": "0.3.0",
45
+ "@flighthq/render-gl": "0.3.0",
46
+ "@flighthq/types": "0.3.0"
44
47
  },
45
48
  "devDependencies": {
46
49
  "typescript": "^5.3.0"