@flighthq/scene2d-gl 0.2.1-next.841.373388f → 0.3.0-next.1032.e2b99fc

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 (152) hide show
  1. package/dist/contract.d.ts +25 -0
  2. package/dist/contract.d.ts.map +1 -0
  3. package/dist/contract.js +26 -0
  4. package/dist/contract.js.map +1 -0
  5. package/dist/enableGlColorAdjustmentGuards.d.ts +1 -1
  6. package/dist/enableGlColorAdjustmentGuards.d.ts.map +1 -1
  7. package/dist/enableGlColorAdjustmentGuards.js +8 -8
  8. package/dist/enableGlColorAdjustmentGuards.js.map +1 -1
  9. package/dist/glBitmapText.d.ts +3 -0
  10. package/dist/glBitmapText.d.ts.map +1 -0
  11. package/dist/glBitmapText.js +91 -0
  12. package/dist/glBitmapText.js.map +1 -0
  13. package/dist/glCache.d.ts +2 -1
  14. package/dist/glCache.d.ts.map +1 -1
  15. package/dist/glCache.js +57 -42
  16. package/dist/glCache.js.map +1 -1
  17. package/dist/glClip.d.ts +1 -1
  18. package/dist/glClip.d.ts.map +1 -1
  19. package/dist/glClip.js +1 -1
  20. package/dist/glClip.js.map +1 -1
  21. package/dist/glClipContours.d.ts +1 -1
  22. package/dist/glClipContours.d.ts.map +1 -1
  23. package/dist/glClipContours.js +5 -5
  24. package/dist/glClipContours.js.map +1 -1
  25. package/dist/glClipRectangle.d.ts +1 -1
  26. package/dist/glClipRectangle.d.ts.map +1 -1
  27. package/dist/glClipRectangle.js +11 -9
  28. package/dist/glClipRectangle.js.map +1 -1
  29. package/dist/glColorAdjustmentMaterialFeature.d.ts +3 -0
  30. package/dist/glColorAdjustmentMaterialFeature.d.ts.map +1 -0
  31. package/dist/glColorAdjustmentMaterialFeature.js +854 -0
  32. package/dist/glColorAdjustmentMaterialFeature.js.map +1 -0
  33. package/dist/glNode2D.d.ts +1 -1
  34. package/dist/glNode2D.d.ts.map +1 -1
  35. package/dist/glNode2D.js +5 -5
  36. package/dist/glNode2D.js.map +1 -1
  37. package/dist/glParticleEmitter2D.d.ts +1 -1
  38. package/dist/glParticleEmitter2D.d.ts.map +1 -1
  39. package/dist/glParticleEmitter2D.js +11 -11
  40. package/dist/glParticleEmitter2D.js.map +1 -1
  41. package/dist/glQuadBatch.d.ts +1 -1
  42. package/dist/glQuadBatch.d.ts.map +1 -1
  43. package/dist/glQuadBatch.js +27 -19
  44. package/dist/glQuadBatch.js.map +1 -1
  45. package/dist/{glSpriteBatch.d.ts → glQuadBatchWriter.d.ts} +6 -6
  46. package/dist/glQuadBatchWriter.d.ts.map +1 -0
  47. package/dist/{glSpriteBatch.js → glQuadBatchWriter.js} +97 -85
  48. package/dist/glQuadBatchWriter.js.map +1 -0
  49. package/dist/glRichText.d.ts +1 -1
  50. package/dist/glRichText.d.ts.map +1 -1
  51. package/dist/glRichText.js +8 -8
  52. package/dist/glRichText.js.map +1 -1
  53. package/dist/glScale9Mapper.d.ts +1 -1
  54. package/dist/glScale9Mapper.d.ts.map +1 -1
  55. package/dist/glScale9Shape.d.ts +2 -2
  56. package/dist/glScale9Shape.d.ts.map +1 -1
  57. package/dist/glScale9Shape.js +7 -7
  58. package/dist/glScale9Shape.js.map +1 -1
  59. package/dist/glShape.d.ts +1 -1
  60. package/dist/glShape.d.ts.map +1 -1
  61. package/dist/glShape.js +20 -18
  62. package/dist/glShape.js.map +1 -1
  63. package/dist/glShapeMesh.d.ts +1 -1
  64. package/dist/glShapeMesh.d.ts.map +1 -1
  65. package/dist/glShapeMesh.js +10 -10
  66. package/dist/glShapeMesh.js.map +1 -1
  67. package/dist/glSprite.d.ts +3 -2
  68. package/dist/glSprite.d.ts.map +1 -1
  69. package/dist/glSprite.js +57 -26
  70. package/dist/glSprite.js.map +1 -1
  71. package/dist/glStandardMaterial.d.ts +4 -0
  72. package/dist/glStandardMaterial.d.ts.map +1 -0
  73. package/dist/{glDefaultMaterial.js → glStandardMaterial.js} +9 -9
  74. package/dist/glStandardMaterial.js.map +1 -0
  75. package/dist/glTestHelper.d.ts +1 -1
  76. package/dist/glTestHelper.d.ts.map +1 -1
  77. package/dist/glTestHelper.js +1 -1
  78. package/dist/glTestHelper.js.map +1 -1
  79. package/dist/glTextInput.d.ts +1 -1
  80. package/dist/glTextInput.d.ts.map +1 -1
  81. package/dist/glTextInput.js +3 -3
  82. package/dist/glTextInput.js.map +1 -1
  83. package/dist/glTextLabel.d.ts +1 -1
  84. package/dist/glTextLabel.d.ts.map +1 -1
  85. package/dist/glTextLabel.js +21 -19
  86. package/dist/glTextLabel.js.map +1 -1
  87. package/dist/glTilemap.d.ts +1 -1
  88. package/dist/glTilemap.d.ts.map +1 -1
  89. package/dist/glTilemap.js +28 -24
  90. package/dist/glTilemap.js.map +1 -1
  91. package/dist/glVelocity.d.ts +1 -1
  92. package/dist/glVelocity.d.ts.map +1 -1
  93. package/dist/glVelocity.js +6 -6
  94. package/dist/glVelocity.js.map +1 -1
  95. package/dist/index.d.ts +1 -26
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +1 -27
  98. package/dist/index.js.map +1 -1
  99. package/package.json +25 -19
  100. package/src/enableGlColorAdjustmentGuards.test.ts +26 -20
  101. package/src/glBitmapText.test.ts +103 -0
  102. package/src/glCache.test.ts +31 -19
  103. package/src/glClip.test.ts +4 -4
  104. package/src/glClipContours.test.ts +31 -2
  105. package/src/glClipRectangle.test.ts +11 -2
  106. package/src/glColorAdjustmentMaterialFeature.test.ts +225 -0
  107. package/src/glNode2D.test.ts +6 -6
  108. package/src/glParticleEmitter2D.test.ts +38 -22
  109. package/src/glQuadBatch.test.ts +41 -29
  110. package/src/{glSpriteBatch.test.ts → glQuadBatchWriter.test.ts} +104 -73
  111. package/src/glRichText.test.ts +4 -4
  112. package/src/glScale9Mapper.test.ts +1 -1
  113. package/src/glScale9Shape.test.ts +2 -2
  114. package/src/glShape.test.ts +20 -20
  115. package/src/glShapeMesh.test.ts +36 -36
  116. package/src/glSprite.test.ts +55 -67
  117. package/src/glStandardMaterial.test.ts +19 -0
  118. package/src/glTextInput.test.ts +3 -3
  119. package/src/glTextLabel.test.ts +23 -23
  120. package/src/glTilemap.test.ts +45 -48
  121. package/src/glVelocity.test.ts +9 -9
  122. package/dist/glBitmap.d.ts +0 -4
  123. package/dist/glBitmap.d.ts.map +0 -1
  124. package/dist/glBitmap.js +0 -93
  125. package/dist/glBitmap.js.map +0 -1
  126. package/dist/glColorAdjustment.d.ts +0 -3
  127. package/dist/glColorAdjustment.d.ts.map +0 -1
  128. package/dist/glColorAdjustment.js +0 -361
  129. package/dist/glColorAdjustment.js.map +0 -1
  130. package/dist/glDefaultMaterial.d.ts +0 -4
  131. package/dist/glDefaultMaterial.d.ts.map +0 -1
  132. package/dist/glDefaultMaterial.js.map +0 -1
  133. package/dist/glNode2DRegistration.d.ts +0 -25
  134. package/dist/glNode2DRegistration.d.ts.map +0 -1
  135. package/dist/glNode2DRegistration.js +0 -51
  136. package/dist/glNode2DRegistration.js.map +0 -1
  137. package/dist/glSpriteBatch.d.ts.map +0 -1
  138. package/dist/glSpriteBatch.js.map +0 -1
  139. package/dist/glSpriteRenderer.d.ts +0 -3
  140. package/dist/glSpriteRenderer.d.ts.map +0 -1
  141. package/dist/glSpriteRenderer.js +0 -54
  142. package/dist/glSpriteRenderer.js.map +0 -1
  143. package/dist/glVideo.d.ts +0 -6
  144. package/dist/glVideo.d.ts.map +0 -1
  145. package/dist/glVideo.js +0 -62
  146. package/dist/glVideo.js.map +0 -1
  147. package/src/glBitmap.test.ts +0 -136
  148. package/src/glColorAdjustment.test.ts +0 -166
  149. package/src/glDefaultMaterial.test.ts +0 -19
  150. package/src/glNode2DRegistration.test.ts +0 -132
  151. package/src/glSpriteRenderer.test.ts +0 -89
  152. package/src/glVideo.test.ts +0 -98
@@ -0,0 +1,25 @@
1
+ export * from './enableGlColorAdjustmentGuards';
2
+ export * from './glSprite';
3
+ export * from './glBitmapText';
4
+ export * from './glCache';
5
+ export * from './glClip';
6
+ export * from './glClipContours';
7
+ export * from './glClipRectangle';
8
+ export * from './glColorAdjustmentMaterialFeature';
9
+ export * from './glStandardMaterial';
10
+ export * from './glNode2D';
11
+ export * from './glParticleEmitter2D';
12
+ export * from './glQuadBatch';
13
+ export * from './glRichText';
14
+ export * from './glScale9Mapper';
15
+ export * from './glScale9Shape';
16
+ export * from './glShape';
17
+ export * from './glShapeMesh';
18
+ export * from './glSprite';
19
+ export * from './glQuadBatchWriter';
20
+ export * from './glTextInput';
21
+ export * from './glTextLabel';
22
+ export * from './glTilemap';
23
+ export * from './glVelocity';
24
+ export { defaultCanvasBeginTextureFill as defaultGlBeginTextureFill, defaultCanvasBeginFill as defaultGlBeginFill, defaultCanvasBeginGradientFill as defaultGlBeginGradientFill, defaultCanvasCubicCurveTo as defaultGlCubicCurveTo, defaultCanvasCurveTo as defaultGlCurveTo, defaultCanvasDrawCircle as defaultGlDrawCircle, defaultCanvasDrawEllipse as defaultGlDrawEllipse, defaultCanvasDrawRectangle as defaultGlDrawRectangle, defaultCanvasDrawRoundRectangle as defaultGlDrawRoundRectangle, defaultCanvasEndFill as defaultGlEndFill, defaultCanvasLineStyle as defaultGlLineStyle, defaultCanvasLineTo as defaultGlLineTo, defaultCanvasMoveTo as defaultGlMoveTo, defaultCanvasShapeCommands as defaultGlShapeCommands, defaultCanvasTextureShapeCommands as defaultGlTextureShapeCommands, registerCanvasShapeCommands as registerGlShapeCommands, } from '@flighthq/scene2d-canvas/contract';
25
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAG7B,OAAO,EACL,6BAA6B,IAAI,yBAAyB,EAC1D,sBAAsB,IAAI,kBAAkB,EAC5C,8BAA8B,IAAI,0BAA0B,EAC5D,yBAAyB,IAAI,qBAAqB,EAClD,oBAAoB,IAAI,gBAAgB,EACxC,uBAAuB,IAAI,mBAAmB,EAC9C,wBAAwB,IAAI,oBAAoB,EAChD,0BAA0B,IAAI,sBAAsB,EACpD,+BAA+B,IAAI,2BAA2B,EAC9D,oBAAoB,IAAI,gBAAgB,EACxC,sBAAsB,IAAI,kBAAkB,EAC5C,mBAAmB,IAAI,eAAe,EACtC,mBAAmB,IAAI,eAAe,EACtC,0BAA0B,IAAI,sBAAsB,EACpD,iCAAiC,IAAI,6BAA6B,EAClE,2BAA2B,IAAI,uBAAuB,GACvD,MAAM,mCAAmC,CAAC"}
@@ -0,0 +1,26 @@
1
+ export * from './enableGlColorAdjustmentGuards';
2
+ export * from './glSprite';
3
+ export * from './glBitmapText';
4
+ export * from './glCache';
5
+ export * from './glClip';
6
+ export * from './glClipContours';
7
+ export * from './glClipRectangle';
8
+ export * from './glColorAdjustmentMaterialFeature';
9
+ export * from './glStandardMaterial';
10
+ export * from './glNode2D';
11
+ export * from './glParticleEmitter2D';
12
+ export * from './glQuadBatch';
13
+ export * from './glRichText';
14
+ export * from './glScale9Mapper';
15
+ export * from './glScale9Shape';
16
+ export * from './glShape';
17
+ export * from './glShapeMesh';
18
+ export * from './glSprite';
19
+ export * from './glQuadBatchWriter';
20
+ export * from './glTextInput';
21
+ export * from './glTextLabel';
22
+ export * from './glTilemap';
23
+ export * from './glVelocity';
24
+ // Re-export shape commands from canvas (shapes deferred to canvas for now)
25
+ export { defaultCanvasBeginTextureFill as defaultGlBeginTextureFill, defaultCanvasBeginFill as defaultGlBeginFill, defaultCanvasBeginGradientFill as defaultGlBeginGradientFill, defaultCanvasCubicCurveTo as defaultGlCubicCurveTo, defaultCanvasCurveTo as defaultGlCurveTo, defaultCanvasDrawCircle as defaultGlDrawCircle, defaultCanvasDrawEllipse as defaultGlDrawEllipse, defaultCanvasDrawRectangle as defaultGlDrawRectangle, defaultCanvasDrawRoundRectangle as defaultGlDrawRoundRectangle, defaultCanvasEndFill as defaultGlEndFill, defaultCanvasLineStyle as defaultGlLineStyle, defaultCanvasLineTo as defaultGlLineTo, defaultCanvasMoveTo as defaultGlMoveTo, defaultCanvasShapeCommands as defaultGlShapeCommands, defaultCanvasTextureShapeCommands as defaultGlTextureShapeCommands, registerCanvasShapeCommands as registerGlShapeCommands, } from '@flighthq/scene2d-canvas/contract';
26
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oCAAoC,CAAC;AACnD,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAE7B,2EAA2E;AAC3E,OAAO,EACL,6BAA6B,IAAI,yBAAyB,EAC1D,sBAAsB,IAAI,kBAAkB,EAC5C,8BAA8B,IAAI,0BAA0B,EAC5D,yBAAyB,IAAI,qBAAqB,EAClD,oBAAoB,IAAI,gBAAgB,EACxC,uBAAuB,IAAI,mBAAmB,EAC9C,wBAAwB,IAAI,oBAAoB,EAChD,0BAA0B,IAAI,sBAAsB,EACpD,+BAA+B,IAAI,2BAA2B,EAC9D,oBAAoB,IAAI,gBAAgB,EACxC,sBAAsB,IAAI,kBAAkB,EAC5C,mBAAmB,IAAI,eAAe,EACtC,mBAAmB,IAAI,eAAe,EACtC,0BAA0B,IAAI,sBAAsB,EACpD,iCAAiC,IAAI,6BAA6B,EAClE,2BAA2B,IAAI,uBAAuB,GACvD,MAAM,mCAAmC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { GlRenderState } from '@flighthq/types';
1
+ import type { GlRenderState } from '@flighthq/types/contract';
2
2
  export declare function areGlColorAdjustmentGuardsEnabled(state: GlRenderState): boolean;
3
3
  export declare function enableGlColorAdjustmentGuards(state: GlRenderState): void;
4
4
  //# sourceMappingURL=enableGlColorAdjustmentGuards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enableGlColorAdjustmentGuards.d.ts","sourceRoot":"","sources":["../src/enableGlColorAdjustmentGuards.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAE/E;AAOD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAExE"}
1
+ {"version":3,"file":"enableGlColorAdjustmentGuards.d.ts","sourceRoot":"","sources":["../src/enableGlColorAdjustmentGuards.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAI9D,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAE/E;AAOD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAExE"}
@@ -1,21 +1,21 @@
1
- import { logOnce } from '@flighthq/log';
2
- import { getGlRenderStateRuntime } from '@flighthq/render-gl';
3
- import { LogLevel } from '@flighthq/types';
1
+ import { logOnce } from '@flighthq/log/contract';
2
+ import { getGlRenderStateRuntime } from '@flighthq/render-gl/contract';
3
+ import { LogLevel } from '@flighthq/types/contract';
4
4
  // Returns whether color-adjustment guards are installed on `state` (enableGlColorAdjustmentGuards).
5
5
  export function areGlColorAdjustmentGuardsEnabled(state) {
6
- return getGlRenderStateRuntime(state).glColorAdjustmentGuard != null;
6
+ return getGlRenderStateRuntime(state).glColorAdjustmentMaterialFeatureGuard != null;
7
7
  }
8
- // Installs the shakeable color-adjustment guard on `state`: when a node carries a color transform but
9
- // enableGlColorAdjustment was never called, recordGlSpriteBatchColorTransform reaches this guard
8
+ // Installs the shakeable color-adjustment guard on `state`: when a node carries a color adjustment but
9
+ // registerGlColorAdjustmentMaterialFeature was never called, recordGlQuadBatchColorScaleBias reaches this guard
10
10
  // through its nullable runtime slot and warns once (the tint is skipped, drawn untinted — the sentinel
11
11
  // behavior, never a throw). Not calling this — the production default — costs the batch nothing, since
12
12
  // the message and @flighthq/log dependency live only in this separately-imported module. Idempotent.
13
13
  export function enableGlColorAdjustmentGuards(state) {
14
- getGlRenderStateRuntime(state).glColorAdjustmentGuard = warnGlColorAdjustmentNotEnabled;
14
+ getGlRenderStateRuntime(state).glColorAdjustmentMaterialFeatureGuard = warnGlColorAdjustmentNotEnabled;
15
15
  }
16
16
  function warnGlColorAdjustmentNotEnabled() {
17
17
  logOnce('scene2d-gl:color-adjustment-not-enabled', LogLevel.Warn, {
18
- message: 'recordGlSpriteBatchColorTransform: color transform present but GL color adjustment not enabled — call enableGlColorAdjustment(state)',
18
+ message: 'recordGlQuadBatchColorScaleBias: color adjustment present but GL color adjustment not enabled — call registerGlColorAdjustmentMaterialFeature(state)',
19
19
  }, 'scene2d-gl');
20
20
  }
21
21
  //# sourceMappingURL=enableGlColorAdjustmentGuards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enableGlColorAdjustmentGuards.js","sourceRoot":"","sources":["../src/enableGlColorAdjustmentGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,oGAAoG;AACpG,MAAM,UAAU,iCAAiC,CAAC,KAAoB;IACpE,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC,sBAAsB,IAAI,IAAI,CAAC;AACvE,CAAC;AAED,sGAAsG;AACtG,iGAAiG;AACjG,uGAAuG;AACvG,uGAAuG;AACvG,qGAAqG;AACrG,MAAM,UAAU,6BAA6B,CAAC,KAAoB;IAChE,uBAAuB,CAAC,KAAK,CAAC,CAAC,sBAAsB,GAAG,+BAA+B,CAAC;AAC1F,CAAC;AAED,SAAS,+BAA+B;IACtC,OAAO,CACL,yCAAyC,EACzC,QAAQ,CAAC,IAAI,EACb;QACE,OAAO,EACL,sIAAsI;KACzI,EACD,YAAY,CACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"enableGlColorAdjustmentGuards.js","sourceRoot":"","sources":["../src/enableGlColorAdjustmentGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,oGAAoG;AACpG,MAAM,UAAU,iCAAiC,CAAC,KAAoB;IACpE,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAC,qCAAqC,IAAI,IAAI,CAAC;AACtF,CAAC;AAED,uGAAuG;AACvG,gHAAgH;AAChH,uGAAuG;AACvG,uGAAuG;AACvG,qGAAqG;AACrG,MAAM,UAAU,6BAA6B,CAAC,KAAoB;IAChE,uBAAuB,CAAC,KAAK,CAAC,CAAC,qCAAqC,GAAG,+BAA+B,CAAC;AACzG,CAAC;AAED,SAAS,+BAA+B;IACtC,OAAO,CACL,yCAAyC,EACzC,QAAQ,CAAC,IAAI,EACb;QACE,OAAO,EACL,sJAAsJ;KACzJ,EACD,YAAY,CACb,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SpriteRenderer } from '@flighthq/types/contract';
2
+ export declare const defaultGlBitmapTextRenderer: SpriteRenderer;
3
+ //# sourceMappingURL=glBitmapText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glBitmapText.d.ts","sourceRoot":"","sources":["../src/glBitmapText.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAKV,cAAc,EACf,MAAM,0BAA0B,CAAC;AAsGlC,eAAO,MAAM,2BAA2B,EAAE,cAIzC,CAAC"}
@@ -0,0 +1,91 @@
1
+ import { getGlRenderStateRuntime, resolveGlMaterialRenderer, resolveGlTexture } from '@flighthq/render-gl/contract';
2
+ import { noopRendererData } from '@flighthq/render/contract';
3
+ import { getNode2DRuntime } from '@flighthq/scene2d/contract';
4
+ import { getTextureHeight, getTextureWidth, hasTextureBacking } from '@flighthq/texture/contract';
5
+ import { BatchFormat } from '@flighthq/types/contract';
6
+ import { ensureGlQuadBatchShader, packGlQuadBatchMaterialInstance, prepareGlQuadBatchWrite, recordGlQuadBatchColorScaleBias, } from './glQuadBatchWriter';
7
+ // Per-instance stride, matching the QuadBatch/Tilemap sprite path (13 floats: world transform + region +
8
+ // uv + alpha). See glQuadBatch.
9
+ const INSTANCE_FLOATS = 13;
10
+ // Draws a BitmapText leaf: one batched sprite pass per glyph-atlas page (each page binds its own atlas
11
+ // image, so a multi-page source issues one draw per page). The node's resolved color adjustment folds in
12
+ // as a whole-node tint on every glyph — the same `recordGlQuadBatchColorScaleBias` path a tinted
13
+ // QuadBatch uses — realized only when `registerGlColorAdjustmentMaterialFeature` has installed the fold. Mirrors
14
+ // `submitGlQuadBatch`'s vector2 inner loop, sourced from the page's own `ids`/`transforms` arrays.
15
+ function submitGlBitmapText(state, node) {
16
+ const runtime = getGlRenderStateRuntime(state);
17
+ const source = node.source;
18
+ const pages = getNode2DRuntime(source).pages;
19
+ const material = node.material;
20
+ const materialRenderer = resolveGlMaterialRenderer(state, material);
21
+ if (materialRenderer === null)
22
+ return;
23
+ const nodeMaterialData = node.materialData;
24
+ const nodeColorScaleBias = node.colorMatrix ?? node.colorScaleBias;
25
+ const pt = node.transform2D;
26
+ const pa = pt.a;
27
+ const pb = pt.b;
28
+ const pc = pt.c;
29
+ const pd = pt.d;
30
+ const ptx = pt.tx;
31
+ const pty = pt.ty;
32
+ const alpha = node.alpha;
33
+ for (const page of pages) {
34
+ const atlas = page.atlas;
35
+ const texture = atlas.texture;
36
+ if (texture === null || !hasTextureBacking(texture) || page.instanceCount === 0)
37
+ continue;
38
+ const glTexture = resolveGlTexture(state, texture, true);
39
+ if (glTexture === null)
40
+ continue;
41
+ const straightAlpha = runtime.currentTextureStraightAlpha;
42
+ ensureGlQuadBatchShader(state);
43
+ // prepareGlQuadBatchWrite may flush the prior page's batch (each page binds a different image), so
44
+ // read the running instance count AFTER it so material/color-adjustment indices align with `base`.
45
+ const base = prepareGlQuadBatchWrite(state, glTexture, straightAlpha, texture.sampler, node.blendMode, material, materialRenderer, page.instanceCount);
46
+ const startCount = runtime.quadBatchWriterCount;
47
+ const regions = atlas.regions;
48
+ const numRegions = regions.length;
49
+ const iw = 1 / Math.max(1, getTextureWidth(texture));
50
+ const ih = 1 / Math.max(1, getTextureHeight(texture));
51
+ const instanceData = runtime.quadBatchWriterInstanceData;
52
+ const ids = page.ids;
53
+ const transforms = page.transforms;
54
+ let writeBase = base;
55
+ let drawCount = 0;
56
+ for (let i = 0; i < page.instanceCount; i++) {
57
+ const id = ids[i];
58
+ if (id < 0 || id >= numRegions)
59
+ continue;
60
+ const region = regions[id];
61
+ if (region.width <= 0 || region.height <= 0)
62
+ continue;
63
+ const dx = transforms[i * 2];
64
+ const dy = transforms[i * 2 + 1];
65
+ instanceData[writeBase] = pa;
66
+ instanceData[writeBase + 1] = pb;
67
+ instanceData[writeBase + 2] = pc;
68
+ instanceData[writeBase + 3] = pd;
69
+ instanceData[writeBase + 4] = pa * dx + pc * dy + ptx;
70
+ instanceData[writeBase + 5] = pb * dx + pd * dy + pty;
71
+ instanceData[writeBase + 6] = region.width;
72
+ instanceData[writeBase + 7] = region.height;
73
+ instanceData[writeBase + 8] = region.x * iw;
74
+ instanceData[writeBase + 9] = region.y * ih;
75
+ instanceData[writeBase + 10] = (region.x + region.width) * iw;
76
+ instanceData[writeBase + 11] = (region.y + region.height) * ih;
77
+ instanceData[writeBase + 12] = alpha;
78
+ packGlQuadBatchMaterialInstance(state, nodeMaterialData, startCount + drawCount);
79
+ recordGlQuadBatchColorScaleBias(state, nodeColorScaleBias, startCount + drawCount);
80
+ writeBase += INSTANCE_FLOATS;
81
+ drawCount++;
82
+ }
83
+ runtime.quadBatchWriterCount += drawCount;
84
+ }
85
+ }
86
+ export const defaultGlBitmapTextRenderer = {
87
+ format: BatchFormat.Quad,
88
+ createData: noopRendererData,
89
+ submit: submitGlBitmapText,
90
+ };
91
+ //# sourceMappingURL=glBitmapText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glBitmapText.js","sourceRoot":"","sources":["../src/glBitmapText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACpH,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAQlG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EACL,uBAAuB,EACvB,+BAA+B,EAC/B,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,qBAAqB,CAAC;AAE7B,yGAAyG;AACzG,gCAAgC;AAChC,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,uGAAuG;AACvG,yGAAyG;AACzG,iGAAiG;AACjG,iHAAiH;AACjH,mGAAmG;AACnG,SAAS,kBAAkB,CAAC,KAAoB,EAAE,IAAmB;IACnE,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAoB,CAAC;IACzC,MAAM,KAAK,GAAI,gBAAgB,CAAC,MAAM,CAAuB,CAAC,KAAK,CAAC;IAEpE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpE,IAAI,gBAAgB,KAAK,IAAI;QAAE,OAAO;IACtC,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;IAC3C,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC;IACnE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;IAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAChB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAChB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;IAClB,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;IAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC;YAAE,SAAS;QAE1F,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,SAAS,KAAK,IAAI;YAAE,SAAS;QACjC,MAAM,aAAa,GAAG,OAAO,CAAC,2BAA2B,CAAC;QAC1D,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/B,mGAAmG;QACnG,mGAAmG;QACnG,MAAM,IAAI,GAAG,uBAAuB,CAClC,KAAK,EACL,SAAS,EACT,aAAa,EACb,OAAO,CAAC,OAAO,EACf,IAAI,CAAC,SAAS,EACd,QAAQ,EACR,gBAAgB,EAChB,IAAI,CAAC,aAAa,CACnB,CAAC;QACF,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAEhD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;QAClC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACrD,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,OAAO,CAAC,2BAA2B,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,UAAU;gBAAE,SAAS;YACzC,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC;gBAAE,SAAS;YAEtD,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7B,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YAC7B,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACjC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACjC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;YACjC,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;YACtD,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;YACtD,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3C,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5C,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YAC5C,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;YAC5C,YAAY,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC9D,YAAY,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAC/D,YAAY,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC;YACrC,+BAA+B,CAAC,KAAK,EAAE,gBAAgB,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;YACjF,+BAA+B,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;YACnF,SAAS,IAAI,eAAe,CAAC;YAC7B,SAAS,EAAE,CAAC;QACd,CAAC;QAED,OAAO,CAAC,oBAAoB,IAAI,SAAS,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAmB;IACzD,MAAM,EAAE,WAAW,CAAC,IAAI;IACxB,UAAU,EAAE,gBAAgB;IAC5B,MAAM,EAAE,kBAAkB;CAC3B,CAAC"}
package/dist/glCache.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Node2D, Scene2DRenderer, GlRenderState, GlRenderTarget, RenderCache, RenderCacheRefreshOptions } from '@flighthq/types';
1
+ import type { Node2D, Scene2DRenderer, GlRenderState, GlRenderTarget, RenderCache, RenderCacheRefreshOptions } from '@flighthq/types/contract';
2
2
  /**
3
3
  * Creates an offscreen render state for baking render caches consumed by `screenState`.
4
4
  *
@@ -16,6 +16,7 @@ export declare function enableGlRenderCache(state: GlRenderState): void;
16
16
  * content prefer refreshGlRenderCache.
17
17
  */
18
18
  export declare function ensureGlRenderCacheTarget(state: GlRenderState, cache: RenderCache, width: number, height: number): GlRenderTarget;
19
+ export declare function getGlRenderCacheScreenState(state: GlRenderState): GlRenderState;
19
20
  export declare function getGlRenderCacheTarget(state: GlRenderState, cache: RenderCache): GlRenderTarget | null;
20
21
  /**
21
22
  * Bakes `source`'s subtree into its cache target using the offscreen `cacheState`, then records
@@ -1 +1 @@
1
- {"version":3,"file":"glCache.d.ts","sourceRoot":"","sources":["../src/glCache.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,MAAM,EACN,eAAe,EACf,aAAa,EACb,cAAc,EAEd,WAAW,EACX,yBAAyB,EAE1B,MAAM,iBAAiB,CAAC;AAMzB;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,aAAa,GAAG,aAAa,CAiE5E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,cAAc,CAUhB;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CAEtG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,aAAa,EACzB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAC5C,OAAO,CA8CT;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAOnF;AA0BD,eAAO,MAAM,4BAA4B,EAAE,eAG1C,CAAC"}
1
+ {"version":3,"file":"glCache.d.ts","sourceRoot":"","sources":["../src/glCache.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,MAAM,EACN,eAAe,EACf,aAAa,EACb,cAAc,EAEd,WAAW,EACX,yBAAyB,EAE1B,MAAM,0BAA0B,CAAC;AAMlC;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,aAAa,GAAG,aAAa,CAsE5E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,EACpB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,cAAc,CAUhB;AAID,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAE/E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,GAAG,cAAc,GAAG,IAAI,CAEtG;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,aAAa,EACzB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAC5C,OAAO,CAkDT;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAOnF;AA0BD,eAAO,MAAM,4BAA4B,EAAE,eAG1C,CAAC"}
package/dist/glCache.js CHANGED
@@ -1,11 +1,11 @@
1
- import { createMatrix, createRectangle } from '@flighthq/geometry';
2
- import { computeNodeBoundsRectangle } from '@flighthq/node';
3
- import { computeScene2DRenderTargetTransform, computeRenderCacheTransform, computeRenderTargetSize, copyAllRenderersFromRenderState, createRenderState, getRenderProxyCache, noopRendererData, prepareScene2DRender, registerRenderCacheRenderer, } from '@flighthq/render';
4
- import { createGlRenderStateRuntime, getGlRenderStateRuntime } from '@flighthq/render-gl';
5
- import { beginGlRenderPass, createGlRenderTarget, destroyGlRenderTarget, drawGlRenderTargetResult, endGlRenderPass, resizeGlRenderTarget, setGlRenderTransform2D, } from '@flighthq/render-gl';
6
- import { EntityRuntimeKey } from '@flighthq/types';
1
+ import { createMatrix, createRectangle } from '@flighthq/geometry/contract';
2
+ import { computeNodeBoundsRectangle } from '@flighthq/node/contract';
3
+ import { createGlRenderStateRuntime, getGlRenderStateRuntime } from '@flighthq/render-gl/contract';
4
+ import { beginGlRenderPass, createGlRenderTarget, destroyGlRenderTarget, drawGlRenderTargetResult, endGlRenderPass, resizeGlRenderTarget, setGlRenderTransform2D, } from '@flighthq/render-gl/contract';
5
+ import { computeScene2DRenderTargetTransform, computeRenderCacheTransform, computeRenderTargetSize, copyAllRenderersFromRenderState, createRenderState, getRenderProxyCache, noopRendererData, prepareScene2DRender, registerRenderCacheRenderer, } from '@flighthq/render/contract';
6
+ import { EntityRuntimeKey } from '@flighthq/types/contract';
7
7
  import { renderGlScene2D } from './glNode2D';
8
- import { flushGlSpriteBatch } from './glSpriteBatch';
8
+ import { flushGlQuadBatchWriter } from './glQuadBatchWriter';
9
9
  /**
10
10
  * Creates an offscreen render state for baking render caches consumed by `screenState`.
11
11
  *
@@ -39,16 +39,18 @@ export function createGlCacheState(screenState) {
39
39
  cacheRuntime.particleInstanceData = screenRuntime.particleInstanceData;
40
40
  cacheRuntime.quadBatchShader = screenRuntime.quadBatchShader;
41
41
  cacheRuntime.quadBatchCornerBuffer = screenRuntime.quadBatchCornerBuffer;
42
- cacheRuntime.colorTransformInstancedShader = screenRuntime.colorTransformInstancedShader;
43
- cacheRuntime.uniformColorTransformShader = screenRuntime.uniformColorTransformShader;
42
+ cacheRuntime.colorScaleBiasInstancedShader = screenRuntime.colorScaleBiasInstancedShader;
43
+ cacheRuntime.uniformColorScaleBiasShader = screenRuntime.uniformColorScaleBiasShader;
44
44
  // Propagate the opt-in color-adjustment fold + guard so tinted nodes inside a cached subtree fold
45
45
  // the same way when baked offscreen. Their per-batch CT data lives on cacheRuntime, lazily grown.
46
- cacheRuntime.glColorAdjustmentFold = screenRuntime.glColorAdjustmentFold;
47
- cacheRuntime.glColorAdjustmentGuard = screenRuntime.glColorAdjustmentGuard;
46
+ cacheRuntime.glColorAdjustmentMaterialFeature = screenRuntime.glColorAdjustmentMaterialFeature;
47
+ cacheRuntime.glColorAdjustmentMaterialFeatureGuard = screenRuntime.glColorAdjustmentMaterialFeatureGuard;
48
48
  cacheRuntime.materialRendererMap = screenRuntime.materialRendererMap;
49
49
  cacheRuntime.materialBitmapShaderMap = screenRuntime.materialBitmapShaderMap;
50
50
  cacheRuntime.shaderLoc = screenRuntime.shaderLoc;
51
51
  cacheRuntime.textureCache = screenRuntime.textureCache;
52
+ cacheRuntime.glRenderTextureCache = screenRuntime.glRenderTextureCache ??= new WeakMap();
53
+ cacheRuntime.glRenderTextureGuard = screenRuntime.glRenderTextureGuard;
52
54
  cacheRuntime.quadVertexBuffer = screenRuntime.quadVertexBuffer;
53
55
  cacheRuntime.quadIndexBuffer = screenRuntime.quadIndexBuffer;
54
56
  cacheRuntime.quadVertexData = screenRuntime.quadVertexData;
@@ -60,19 +62,22 @@ export function createGlCacheState(screenState) {
60
62
  cacheRuntime.currentScissorRect = null;
61
63
  cacheRuntime.currentTexture = null;
62
64
  cacheRuntime.currentTextureStraightAlpha = false;
65
+ cacheRuntime.flushPendingDraws = null;
63
66
  cacheRuntime.renderTargetViewport = null;
64
67
  cacheRuntime.scissorStack = [];
65
- cacheRuntime.spriteBatchBlendMode = null;
66
- cacheRuntime.spriteBatchMaterial = null;
67
- cacheRuntime.spriteBatchMaterialRenderer = null;
68
- cacheRuntime.spriteBatchMaterialFloats = 0;
69
- cacheRuntime.spriteBatchMaterialData = new Float32Array(0);
70
- cacheRuntime.spriteBatchMaterialBuffer = null;
71
- cacheRuntime.spriteBatchCount = 0;
72
- cacheRuntime.spriteBatchInstanceBuffer = null;
73
- cacheRuntime.spriteBatchInstanceData = new Float32Array(0);
74
- cacheRuntime.spriteBatchTexture = null;
75
- cacheRuntime.spriteBatchSmoothing = null;
68
+ cacheRuntime.quadBatchWriterBlendMode = null;
69
+ cacheRuntime.quadBatchWriterMaterial = null;
70
+ cacheRuntime.quadBatchWriterMaterialRenderer = null;
71
+ cacheRuntime.quadBatchWriterMaterialFloats = 0;
72
+ cacheRuntime.quadBatchWriterMaterialData = new Float32Array(0);
73
+ cacheRuntime.quadBatchWriterMaterialBuffer = null;
74
+ cacheRuntime.quadBatchWriterCount = 0;
75
+ cacheRuntime.quadBatchWriterInstanceBuffer = null;
76
+ cacheRuntime.quadBatchWriterInstanceData = new Float32Array(0);
77
+ cacheRuntime.quadBatchWriterTexture = null;
78
+ cacheRuntime.quadBatchWriterSampler = null;
79
+ cacheRuntime.quadBatchWriterStraightAlpha = false;
80
+ cacheRuntime.quadBatchWriterSmoothing = null;
76
81
  _cacheStateScreen.set(cacheState, screenState);
77
82
  return cacheState;
78
83
  }
@@ -96,6 +101,11 @@ export function ensureGlRenderCacheTarget(state, cache, width, height) {
96
101
  }
97
102
  return target;
98
103
  }
104
+ // Cache rendering uses a second render state over the screen state's GL context. Backend resources
105
+ // that must remain visible while that cache state walks a subtree are owned by the screen state.
106
+ export function getGlRenderCacheScreenState(state) {
107
+ return _cacheStateScreen.get(state) ?? state;
108
+ }
99
109
  export function getGlRenderCacheTarget(state, cache) {
100
110
  return getTargets(state).get(cache) ?? null;
101
111
  }
@@ -107,7 +117,7 @@ export function getGlRenderCacheTarget(state, cache) {
107
117
  * cached GL state is reset afterward so it re-establishes cleanly on its next draw.
108
118
  */
109
119
  export function refreshGlRenderCache(cacheState, cache, source, options) {
110
- const screenState = _cacheStateScreen.get(cacheState) ?? cacheState;
120
+ const screenState = getGlRenderCacheScreenState(cacheState);
111
121
  const padding = options?.padding ?? 0;
112
122
  const minWidth = options?.minWidth ?? 1;
113
123
  const minHeight = options?.minHeight ?? 1;
@@ -122,24 +132,29 @@ export function refreshGlRenderCache(cacheState, cache, source, options) {
122
132
  // retained cache content on the not-dirty path. The cache's local-space transform is set explicitly,
123
133
  // since a pass no longer carries one.
124
134
  beginGlRenderPass(cacheState, target, { preserveColor: true, preserveDepth: true });
125
- setGlRenderTransform2D(cacheState, _renderTransform);
126
- const dirty = prepareScene2DRender(cacheState, source);
127
- if (dirty || resized) {
128
- const cacheRuntime = getGlRenderStateRuntime(cacheState);
129
- // The cache state shares the screen's GL context, so the actual GL program/blend/scissor are
130
- // whatever the screen render (or a prior blur pass) last left — state this cache state does not
131
- // track. Reset its cached GL state so the bake re-establishes everything instead of skipping a
132
- // rebind and setting uniforms on the wrong program.
133
- cacheRuntime.currentProgram = null;
134
- cacheRuntime.currentTexture = null;
135
- cacheRuntime.currentTextureStraightAlpha = false;
136
- cacheRuntime.currentBlendMode = null;
137
- cacheRuntime.currentScissorRect = null;
138
- cacheState.gl.clearColor(0, 0, 0, 0);
139
- cacheState.gl.clear(cacheState.gl.COLOR_BUFFER_BIT);
140
- renderGlScene2D(cacheState, source);
135
+ let dirty = false;
136
+ try {
137
+ setGlRenderTransform2D(cacheState, _renderTransform);
138
+ dirty = prepareScene2DRender(cacheState, source);
139
+ if (dirty || resized) {
140
+ const cacheRuntime = getGlRenderStateRuntime(cacheState);
141
+ // The cache state shares the screen's GL context, so the actual GL program/blend/scissor are
142
+ // whatever the screen render (or a prior blur pass) last left — state this cache state does not
143
+ // track. Reset its cached GL state so the bake re-establishes everything instead of skipping a
144
+ // rebind and setting uniforms on the wrong program.
145
+ cacheRuntime.currentProgram = null;
146
+ cacheRuntime.currentTexture = null;
147
+ cacheRuntime.currentTextureStraightAlpha = false;
148
+ cacheRuntime.currentBlendMode = null;
149
+ cacheRuntime.currentScissorRect = null;
150
+ cacheState.gl.clearColor(0, 0, 0, 0);
151
+ cacheState.gl.clear(cacheState.gl.COLOR_BUFFER_BIT);
152
+ renderGlScene2D(cacheState, source);
153
+ }
154
+ }
155
+ finally {
156
+ endGlRenderPass(cacheState);
141
157
  }
142
- endGlRenderPass(cacheState);
143
158
  const screenRuntime = getGlRenderStateRuntime(screenState);
144
159
  screenRuntime.currentBlendMode = null;
145
160
  screenRuntime.currentProgram = null;
@@ -165,10 +180,10 @@ function drawGlRenderCache(state, renderProxy) {
165
180
  if (target === undefined)
166
181
  return;
167
182
  // Drain pending batched geometry before the immediate composite quad. Like every other
168
- // immediate-draw renderer (RichText, Video, Scale9), this bypasses the sprite batch; without the
183
+ // immediate-draw renderer (RichText, Scale9), this bypasses the quad-batch writer; without the
169
184
  // flush the cached result draws ahead of geometry submitted earlier in the walk, which only
170
185
  // flushes at the end — producing out-of-order replay (a doubled image on Gl).
171
- flushGlSpriteBatch(state);
186
+ flushGlQuadBatchWriter(state);
172
187
  // renderProxy.transform2D already carries the cache placement transform (folded in by the
173
188
  // adapter), so the target composites with an identity offset.
174
189
  drawGlRenderTargetResult(state, renderProxy, target, _identity);
@@ -1 +1 @@
1
- {"version":3,"file":"glCache.js","sourceRoot":"","sources":["../src/glCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glCache.js","sourceRoot":"","sources":["../src/glCache.ts"],"names":[],"mappings":"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"}
package/dist/glClip.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import type { GlRenderState } from '@flighthq/types';
1
+ import type { GlRenderState } from '@flighthq/types/contract';
2
2
  export declare function enableGlClipSupport(state: GlRenderState): void;
3
3
  //# sourceMappingURL=glClip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glClip.d.ts","sourceRoot":"","sources":["../src/glClip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAO9F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE9D"}
1
+ {"version":3,"file":"glClip.d.ts","sourceRoot":"","sources":["../src/glClip.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,aAAa,EAAiB,MAAM,0BAA0B,CAAC;AAOvG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAE9D"}
package/dist/glClip.js CHANGED
@@ -1,4 +1,4 @@
1
- import { getGlRenderStateRuntime } from '@flighthq/render-gl';
1
+ import { getGlRenderStateRuntime } from '@flighthq/render-gl/contract';
2
2
  import { popGlClipContours, pushGlClipContours } from './glClipContours';
3
3
  import { popGlClipRectangle, pushGlClipRectangle } from './glClipRectangle';
4
4
  // Clip support installs the unified clip hooks. Masks are RETIRED — a former mask is now a path
@@ -1 +1 @@
1
- {"version":3,"file":"glClip.js","sourceRoot":"","sources":["../src/glClip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,gGAAgG;AAChG,gGAAgG;AAChG,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,KAAK,CAAC,sBAAsB,GAAG,cAAc,CAAC;AAChD,CAAC;AAED,8FAA8F;AAC9F,mGAAmG;AACnG,8DAA8D;AAC9D,SAAS,YAAY,CAAC,KAAoB;IACxC,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IAC5D,IAAI,IAAI,KAAK,SAAS;QAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;;QAC5C,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,cAAc,GAAqB;IACvC,QAAQ,CAAC,KAAoB;QAC3B,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,KAAoB,EAAE,IAAmB,EAAE,MAAc;QAC/D,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,QAAQ,CAAC,KAAoB,EAAE,IAAmB,EAAE,MAAc;QAChE,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACxD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"glClip.js","sourceRoot":"","sources":["../src/glClip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE5E,gGAAgG;AAChG,gGAAgG;AAChG,MAAM,UAAU,mBAAmB,CAAC,KAAoB;IACtD,KAAK,CAAC,sBAAsB,GAAG,cAAc,CAAC;AAChD,CAAC;AAED,8FAA8F;AAC9F,mGAAmG;AACnG,8DAA8D;AAC9D,SAAS,YAAY,CAAC,KAAoB;IACxC,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IAC5D,IAAI,IAAI,KAAK,SAAS;QAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;;QAC5C,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,cAAc,GAAqB;IACvC,QAAQ,CAAC,KAAoB;QAC3B,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,CAAC,KAAoB,EAAE,IAAmB,EAAE,MAAc;QAC/D,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IACD,QAAQ,CAAC,KAAoB,EAAE,IAAmB,EAAE,MAAc;QAChE,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO;QAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACxD,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { GlRenderState, Matrix, PathWinding } from '@flighthq/types';
1
+ import type { GlRenderState, Matrix, PathWinding } from '@flighthq/types/contract';
2
2
  export declare function popGlClipContours(state: GlRenderState): void;
3
3
  export declare function pushGlClipContours(state: GlRenderState, contours: readonly (readonly number[])[], winding: PathWinding, worldTransform: Readonly<Matrix>): void;
4
4
  //# sourceMappingURL=glClipContours.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glClipContours.d.ts","sourceRoot":"","sources":["../src/glClipContours.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAsC1E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAa5D;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACxC,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC/B,IAAI,CAiDN"}
1
+ {"version":3,"file":"glClipContours.d.ts","sourceRoot":"","sources":["../src/glClipContours.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAsCnF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAa5D;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,EACxC,OAAO,EAAE,WAAW,EACpB,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC/B,IAAI,CAiDN"}
@@ -1,6 +1,6 @@
1
- import { createGlProgram } from '@flighthq/render-gl';
2
- import { getGlRenderStateRuntime } from '@flighthq/render-gl';
3
- import { flushGlSpriteBatch } from './glSpriteBatch';
1
+ import { createGlProgram } from '@flighthq/render-gl/contract';
2
+ import { getGlRenderStateRuntime } from '@flighthq/render-gl/contract';
3
+ import { flushGlQuadBatchWriter } from './glQuadBatchWriter';
4
4
  // Stencil-then-cover fill of arbitrary flattened contours, used to realize a *path* ClipRegion exactly
5
5
  // (crisp at any zoom — the contours are transformed in the vertex shader each frame, never cached as a
6
6
  // texture). This is the contour counterpart to webglClipRectangle's scissor and replaces the old mask
@@ -33,7 +33,7 @@ precision mediump float;
33
33
  void main() { gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); }
34
34
  `;
35
35
  export function popGlClipContours(state) {
36
- flushGlSpriteBatch(state);
36
+ flushGlQuadBatchWriter(state);
37
37
  const runtime = getGlRenderStateRuntime(state);
38
38
  const gl = state.gl;
39
39
  const nextDepth = Math.max(0, (runtime.currentMaskDepth ?? 0) - 1);
@@ -47,7 +47,7 @@ export function popGlClipContours(state) {
47
47
  }
48
48
  }
49
49
  export function pushGlClipContours(state, contours, winding, worldTransform) {
50
- flushGlSpriteBatch(state);
50
+ flushGlQuadBatchWriter(state);
51
51
  const runtime = getGlRenderStateRuntime(state);
52
52
  const gl = state.gl;
53
53
  const depth = runtime.currentMaskDepth ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"glClipContours.js","sourceRoot":"","sources":["../src/glClipContours.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glClipContours.js","sourceRoot":"","sources":["../src/glClipContours.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { GlRenderState, MatrixLike, RectangleLike } from '@flighthq/types';
1
+ import type { GlRenderState, MatrixLike, RectangleLike } from '@flighthq/types/contract';
2
2
  export declare function popGlClipRectangle(state: GlRenderState): void;
3
3
  export declare function pushGlClipRectangle(state: GlRenderState, rect: Readonly<RectangleLike>, transform: Readonly<MatrixLike>): void;
4
4
  //# sourceMappingURL=glClipRectangle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glClipRectangle.d.ts","sourceRoot":"","sources":["../src/glClipRectangle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKhF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAc7D;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC7B,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC9B,IAAI,CAUN"}
1
+ {"version":3,"file":"glClipRectangle.d.ts","sourceRoot":"","sources":["../src/glClipRectangle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAKzF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAc7D;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC7B,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,GAC9B,IAAI,CAUN"}