@flighthq/scene2d-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 (136) hide show
  1. package/dist/contract.d.ts +9 -6
  2. package/dist/contract.d.ts.map +1 -1
  3. package/dist/contract.js +9 -6
  4. package/dist/contract.js.map +1 -1
  5. package/dist/enableGlColorAdjustmentGuards.js +2 -2
  6. package/dist/enableGlColorAdjustmentGuards.js.map +1 -1
  7. package/dist/enableGlStrokePathTessellation.d.ts +3 -0
  8. package/dist/enableGlStrokePathTessellation.d.ts.map +1 -0
  9. package/dist/enableGlStrokePathTessellation.js +8 -0
  10. package/dist/enableGlStrokePathTessellation.js.map +1 -0
  11. package/dist/explainGlScene2DCoverage.d.ts +4 -0
  12. package/dist/explainGlScene2DCoverage.d.ts.map +1 -0
  13. package/dist/explainGlScene2DCoverage.js +63 -0
  14. package/dist/explainGlScene2DCoverage.js.map +1 -0
  15. package/dist/glBitmapText.d.ts.map +1 -1
  16. package/dist/glBitmapText.js +20 -15
  17. package/dist/glBitmapText.js.map +1 -1
  18. package/dist/glCache.d.ts +2 -2
  19. package/dist/glCache.d.ts.map +1 -1
  20. package/dist/glCache.js +24 -92
  21. package/dist/glCache.js.map +1 -1
  22. package/dist/glClipContours.js +3 -3
  23. package/dist/glClipContours.js.map +1 -1
  24. package/dist/glClipRectangle.js +10 -8
  25. package/dist/glClipRectangle.js.map +1 -1
  26. package/dist/glColorAdjustmentMaterialFeature.d.ts.map +1 -1
  27. package/dist/glColorAdjustmentMaterialFeature.js +79 -76
  28. package/dist/glColorAdjustmentMaterialFeature.js.map +1 -1
  29. package/dist/glMeshShapeRenderer.d.ts +4 -0
  30. package/dist/glMeshShapeRenderer.d.ts.map +1 -0
  31. package/dist/glMeshShapeRenderer.js +89 -0
  32. package/dist/glMeshShapeRenderer.js.map +1 -0
  33. package/dist/glNode2D.js +2 -2
  34. package/dist/glNode2D.js.map +1 -1
  35. package/dist/glParticleEmitter2D.js +10 -9
  36. package/dist/glParticleEmitter2D.js.map +1 -1
  37. package/dist/glQuadBatch.d.ts.map +1 -1
  38. package/dist/glQuadBatch.js +18 -12
  39. package/dist/glQuadBatch.js.map +1 -1
  40. package/dist/{glSpriteBatch.d.ts → glQuadBatchWriter.d.ts} +6 -6
  41. package/dist/glQuadBatchWriter.d.ts.map +1 -0
  42. package/dist/{glSpriteBatch.js → glQuadBatchWriter.js} +84 -73
  43. package/dist/glQuadBatchWriter.js.map +1 -0
  44. package/dist/glRasterShapeRenderer.d.ts +4 -0
  45. package/dist/glRasterShapeRenderer.d.ts.map +1 -0
  46. package/dist/glRasterShapeRenderer.js +103 -0
  47. package/dist/glRasterShapeRenderer.js.map +1 -0
  48. package/dist/glRichText.js +2 -2
  49. package/dist/glRichText.js.map +1 -1
  50. package/dist/glScale9Shape.d.ts +1 -3
  51. package/dist/glScale9Shape.d.ts.map +1 -1
  52. package/dist/glScale9Shape.js +27 -29
  53. package/dist/glScale9Shape.js.map +1 -1
  54. package/dist/glShape.d.ts +2 -1
  55. package/dist/glShape.d.ts.map +1 -1
  56. package/dist/glShape.js +19 -135
  57. package/dist/glShape.js.map +1 -1
  58. package/dist/glShapeData.d.ts +7 -0
  59. package/dist/glShapeData.d.ts.map +1 -0
  60. package/dist/glShapeData.js +57 -0
  61. package/dist/glShapeData.js.map +1 -0
  62. package/dist/glShapeMesh.js +5 -5
  63. package/dist/glShapeMesh.js.map +1 -1
  64. package/dist/glShapeRasterizer.d.ts +4 -0
  65. package/dist/glShapeRasterizer.d.ts.map +1 -0
  66. package/dist/glShapeRasterizer.js +11 -0
  67. package/dist/glShapeRasterizer.js.map +1 -0
  68. package/dist/glSprite.d.ts +3 -2
  69. package/dist/glSprite.d.ts.map +1 -1
  70. package/dist/glSprite.js +64 -24
  71. package/dist/glSprite.js.map +1 -1
  72. package/dist/glStandardMaterial.d.ts +1 -1
  73. package/dist/glStandardMaterial.js +2 -2
  74. package/dist/glStandardMaterial.js.map +1 -1
  75. package/dist/glTestHelper.d.ts +1 -0
  76. package/dist/glTestHelper.d.ts.map +1 -1
  77. package/dist/glTestHelper.js +1 -0
  78. package/dist/glTestHelper.js.map +1 -1
  79. package/dist/glTextLabel.d.ts.map +1 -1
  80. package/dist/glTextLabel.js +14 -12
  81. package/dist/glTextLabel.js.map +1 -1
  82. package/dist/glTilemap.d.ts.map +1 -1
  83. package/dist/glTilemap.js +19 -17
  84. package/dist/glTilemap.js.map +1 -1
  85. package/dist/glVelocity.js +2 -2
  86. package/dist/glVelocity.js.map +1 -1
  87. package/dist/index.d.ts +2 -1
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +2 -1
  90. package/dist/index.js.map +1 -1
  91. package/package.json +22 -19
  92. package/src/enableGlColorAdjustmentGuards.test.ts +4 -4
  93. package/src/enableGlStrokePathTessellation.test.ts +16 -0
  94. package/src/explainGlScene2DCoverage.test.ts +99 -0
  95. package/src/glBitmapText.test.ts +18 -17
  96. package/src/glCache.test.ts +24 -11
  97. package/src/glClipContours.test.ts +57 -2
  98. package/src/glClipRectangle.test.ts +9 -0
  99. package/src/glColorAdjustmentMaterialFeature.test.ts +74 -71
  100. package/src/glMeshShapeRenderer.test.ts +112 -0
  101. package/src/glParticleEmitter2D.test.ts +38 -22
  102. package/src/glQuadBatch.test.ts +40 -28
  103. package/src/{glSpriteBatch.test.ts → glQuadBatchWriter.test.ts} +74 -53
  104. package/src/glRasterShapeRenderer.test.ts +109 -0
  105. package/src/glScale9Shape.test.ts +0 -13
  106. package/src/glShape.test.ts +166 -21
  107. package/src/glShapeData.test.ts +74 -0
  108. package/src/glShapeMesh.test.ts +1 -1
  109. package/src/glShapeRasterizer.test.ts +32 -0
  110. package/src/glSprite.test.ts +71 -62
  111. package/src/glStandardMaterial.test.ts +3 -3
  112. package/src/glTextLabel.test.ts +16 -16
  113. package/src/glTilemap.test.ts +44 -47
  114. package/src/glVelocity.test.ts +4 -4
  115. package/dist/glBitmap.d.ts +0 -4
  116. package/dist/glBitmap.d.ts.map +0 -1
  117. package/dist/glBitmap.js +0 -93
  118. package/dist/glBitmap.js.map +0 -1
  119. package/dist/glRenderTargetNode2D.d.ts +0 -11
  120. package/dist/glRenderTargetNode2D.d.ts.map +0 -1
  121. package/dist/glRenderTargetNode2D.js +0 -78
  122. package/dist/glRenderTargetNode2D.js.map +0 -1
  123. package/dist/glSpriteBatch.d.ts.map +0 -1
  124. package/dist/glSpriteBatch.js.map +0 -1
  125. package/dist/glSpriteRenderer.d.ts +0 -3
  126. package/dist/glSpriteRenderer.d.ts.map +0 -1
  127. package/dist/glSpriteRenderer.js +0 -54
  128. package/dist/glSpriteRenderer.js.map +0 -1
  129. package/dist/glVideo.d.ts +0 -6
  130. package/dist/glVideo.d.ts.map +0 -1
  131. package/dist/glVideo.js +0 -63
  132. package/dist/glVideo.js.map +0 -1
  133. package/src/glBitmap.test.ts +0 -136
  134. package/src/glRenderTargetNode2D.test.ts +0 -328
  135. package/src/glSpriteRenderer.test.ts +0 -89
  136. package/src/glVideo.test.ts +0 -99
@@ -1 +1 @@
1
- {"version":3,"file":"glVelocity.js","sourceRoot":"","sources":["../src/glVelocity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"glVelocity.js","sourceRoot":"","sources":["../src/glVelocity.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export { createGlCacheState, createGlVelocityTarget, defaultGlBitmapRenderer, defaultGlNode2DVelocityWriter, defaultGlParticleEmitter2DRenderer, defaultGlParticleEmitter2DVelocityWriter, defaultGlQuadBatchRenderer, defaultGlRichTextRenderer, defaultGlScale9ShapeRenderer, defaultGlShapeCommands, defaultGlShapeRenderer, defaultGlSpriteRenderer, defaultGlTextLabelRenderer, defaultGlTilemapRenderer, defaultGlVideoRenderer, destroyGlRenderTargetNode2D, drawGlBitmap, enableGlClipSupport, enableGlRenderCache, enableGlRenderTargetNode2D, enableGlTextInput, refreshGlRenderCache, registerGlColorAdjustmentMaterialFeature, registerGlShapeCommands, registerGlVelocityWriter, registerStandardGlMaterial, renderIntoGlRenderTargetNode2D, renderGlScene2D, renderGlVelocity, } from './contract';
1
+ export { createGlCacheState, createGlVelocityTarget, defaultGlBitmapTextRenderer, defaultGlMeshShapeRenderer, defaultGlMorphShapeRenderer, defaultGlNode2DVelocityWriter, defaultGlParticleEmitter2DRenderer, defaultGlParticleEmitter2DVelocityWriter, defaultGlQuadBatchRenderer, defaultGlRichTextRenderer, defaultGlScale9ShapeRenderer, defaultGlShapeCommands, defaultGlRasterShapeRenderer, defaultGlShapeRenderer, defaultGlSpriteRenderer, defaultGlTextLabelRenderer, defaultGlTextureShapeCommands, defaultGlTilemapRenderer, drawGlSprite, enableGlStrokePathTessellation, enableGlClipSupport, enableGlRenderCache, enableGlTextInput, refreshGlRenderCache, registerGlColorAdjustmentMaterialFeature, registerGlShapeCommands, registerGlVelocityWriter, registerGlStandardMaterial, renderGlScene2D, renderGlVelocity, } from './contract';
2
+ export { getGlShapeRasterizer, registerGlShapeRasterizer } from './glShapeRasterizer';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,kCAAkC,EAClC,wCAAwC,EACxC,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,wCAAwC,EACxC,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,wCAAwC,EACxC,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,EACxB,YAAY,EACZ,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,wCAAwC,EACxC,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,3 @@
1
- export { createGlCacheState, createGlVelocityTarget, defaultGlBitmapRenderer, defaultGlNode2DVelocityWriter, defaultGlParticleEmitter2DRenderer, defaultGlParticleEmitter2DVelocityWriter, defaultGlQuadBatchRenderer, defaultGlRichTextRenderer, defaultGlScale9ShapeRenderer, defaultGlShapeCommands, defaultGlShapeRenderer, defaultGlSpriteRenderer, defaultGlTextLabelRenderer, defaultGlTilemapRenderer, defaultGlVideoRenderer, destroyGlRenderTargetNode2D, drawGlBitmap, enableGlClipSupport, enableGlRenderCache, enableGlRenderTargetNode2D, enableGlTextInput, refreshGlRenderCache, registerGlColorAdjustmentMaterialFeature, registerGlShapeCommands, registerGlVelocityWriter, registerStandardGlMaterial, renderIntoGlRenderTargetNode2D, renderGlScene2D, renderGlVelocity, } from './contract';
1
+ export { createGlCacheState, createGlVelocityTarget, defaultGlBitmapTextRenderer, defaultGlMeshShapeRenderer, defaultGlMorphShapeRenderer, defaultGlNode2DVelocityWriter, defaultGlParticleEmitter2DRenderer, defaultGlParticleEmitter2DVelocityWriter, defaultGlQuadBatchRenderer, defaultGlRichTextRenderer, defaultGlScale9ShapeRenderer, defaultGlShapeCommands, defaultGlRasterShapeRenderer, defaultGlShapeRenderer, defaultGlSpriteRenderer, defaultGlTextLabelRenderer, defaultGlTextureShapeCommands, defaultGlTilemapRenderer, drawGlSprite, enableGlStrokePathTessellation, enableGlClipSupport, enableGlRenderCache, enableGlTextInput, refreshGlRenderCache, registerGlColorAdjustmentMaterialFeature, registerGlShapeCommands, registerGlVelocityWriter, registerGlStandardMaterial, renderGlScene2D, renderGlVelocity, } from './contract';
2
+ export { getGlShapeRasterizer, registerGlShapeRasterizer } from './glShapeRasterizer';
2
3
  //# 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,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,kCAAkC,EAClC,wCAAwC,EACxC,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,wCAAwC,EACxC,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,8BAA8B,EAC9B,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,6BAA6B,EAC7B,kCAAkC,EAClC,wCAAwC,EACxC,0BAA0B,EAC1B,yBAAyB,EACzB,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,6BAA6B,EAC7B,wBAAwB,EACxB,YAAY,EACZ,8BAA8B,EAC9B,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,wCAAwC,EACxC,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,8 @@
1
1
  {
2
2
  "name": "@flighthq/scene2d-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,28 +38,29 @@
36
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
37
39
  },
38
40
  "dependencies": {
39
- "@flighthq/color": "0.3.0-next.906.07cea63",
40
- "@flighthq/scene2d": "0.3.0-next.906.07cea63",
41
- "@flighthq/scene2d-canvas": "0.3.0-next.906.07cea63",
42
- "@flighthq/geometry": "0.3.0-next.906.07cea63",
43
- "@flighthq/image": "0.3.0-next.906.07cea63",
44
- "@flighthq/log": "0.3.0-next.906.07cea63",
45
- "@flighthq/node": "0.3.0-next.906.07cea63",
46
- "@flighthq/path": "0.3.0-next.906.07cea63",
47
- "@flighthq/render": "0.3.0-next.906.07cea63",
48
- "@flighthq/render-gl": "0.3.0-next.906.07cea63",
49
- "@flighthq/shape": "0.3.0-next.906.07cea63",
50
- "@flighthq/text": "0.3.0-next.906.07cea63",
51
- "@flighthq/textinput": "0.3.0-next.906.07cea63",
52
- "@flighthq/textlayout": "0.3.0-next.906.07cea63",
53
- "@flighthq/texture": "0.3.0-next.906.07cea63",
54
- "@flighthq/types": "0.3.0-next.906.07cea63",
55
- "@flighthq/velocity": "0.3.0-next.906.07cea63"
41
+ "@flighthq/color": "0.3.0",
42
+ "@flighthq/scene2d": "0.3.0",
43
+ "@flighthq/scene2d-canvas": "0.3.0",
44
+ "@flighthq/geometry": "0.3.0",
45
+ "@flighthq/image": "0.3.0",
46
+ "@flighthq/log": "0.3.0",
47
+ "@flighthq/node": "0.3.0",
48
+ "@flighthq/path": "0.3.0",
49
+ "@flighthq/render": "0.3.0",
50
+ "@flighthq/render-gl": "0.3.0",
51
+ "@flighthq/shape": "0.3.0",
52
+ "@flighthq/text": "0.3.0",
53
+ "@flighthq/textinput": "0.3.0",
54
+ "@flighthq/textlayout": "0.3.0",
55
+ "@flighthq/texture": "0.3.0",
56
+ "@flighthq/types": "0.3.0",
57
+ "@flighthq/velocity": "0.3.0"
56
58
  },
57
59
  "devDependencies": {
58
60
  "@flighthq/bitmaptext": "*",
59
61
  "@flighthq/particleemitter": "*",
60
- "@flighthq/sprite": "*",
62
+ "@flighthq/quadbatch": "*",
63
+ "@flighthq/tilemap": "*",
61
64
  "typescript": "^5.3.0"
62
65
  },
63
66
  "description": "WebGL2 display-object renderers (bitmap, shape, sprite, text, tilemap, particles)",
@@ -3,7 +3,7 @@ import { getGlRenderStateRuntime } from '@flighthq/render-gl/contract';
3
3
  import type { ColorScaleBias } from '@flighthq/types/contract';
4
4
 
5
5
  import { areGlColorAdjustmentGuardsEnabled, enableGlColorAdjustmentGuards } from './enableGlColorAdjustmentGuards';
6
- import { recordGlSpriteBatchColorScaleBias } from './glSpriteBatch';
6
+ import { recordGlQuadBatchColorScaleBias } from './glQuadBatchWriter';
7
7
  import { createGlState } from './glTestHelper';
8
8
 
9
9
  function ct(): ColorScaleBias {
@@ -35,7 +35,7 @@ describe('enableGlColorAdjustmentGuards', () => {
35
35
  addLogSink(sink.sink);
36
36
  try {
37
37
  enableGlColorAdjustmentGuards(state);
38
- recordGlSpriteBatchColorScaleBias(state, ct(), 0);
38
+ recordGlQuadBatchColorScaleBias(state, ct(), 0);
39
39
  const entries = getMemoryLogSinkEntries(sink);
40
40
  expect(entries.length).toBe(1);
41
41
  const data = entries[0].data as Record<string, unknown>;
@@ -51,7 +51,7 @@ describe('enableGlColorAdjustmentGuards', () => {
51
51
  addLogSink(sink.sink);
52
52
  try {
53
53
  enableGlColorAdjustmentGuards(state);
54
- recordGlSpriteBatchColorScaleBias(state, null, 0);
54
+ recordGlQuadBatchColorScaleBias(state, null, 0);
55
55
  expect(getMemoryLogSinkEntries(sink).length).toBe(0);
56
56
  } finally {
57
57
  removeLogSink(sink.sink);
@@ -73,7 +73,7 @@ describe('enableGlColorAdjustmentGuards', () => {
73
73
  flush: () => false,
74
74
  record: () => {},
75
75
  };
76
- recordGlSpriteBatchColorScaleBias(state, ct(), 0);
76
+ recordGlQuadBatchColorScaleBias(state, ct(), 0);
77
77
  expect(getMemoryLogSinkEntries(sink).length).toBe(0);
78
78
  } finally {
79
79
  removeLogSink(sink.sink);
@@ -0,0 +1,16 @@
1
+ import { tessellateStrokePath } from '@flighthq/path/contract';
2
+ import { getGlRenderStateRuntime } from '@flighthq/render-gl/contract';
3
+
4
+ import { enableGlStrokePathTessellation } from './enableGlStrokePathTessellation';
5
+ import { createGlState } from './glTestHelper';
6
+
7
+ describe('enableGlStrokePathTessellation', () => {
8
+ it('installs the full stroke tessellator on the render state', () => {
9
+ const { state } = createGlState();
10
+ expect(getGlRenderStateRuntime(state).strokeTessellator).toBeNull();
11
+
12
+ enableGlStrokePathTessellation(state);
13
+
14
+ expect(getGlRenderStateRuntime(state).strokeTessellator).toBe(tessellateStrokePath);
15
+ });
16
+ });
@@ -0,0 +1,99 @@
1
+ import { registerGlBlendMode, registerGlMaterialRenderer } from '@flighthq/render-gl/contract';
2
+ import { registerRenderer } from '@flighthq/render/contract';
3
+ import type { GlMaterialRenderer, Renderer, Scene2DKindUsage, SceneCoverageEntry } from '@flighthq/types/contract';
4
+ import { BlendMode, RenderRegistry, SceneCoverage, StandardMaterialKind } from '@flighthq/types/contract';
5
+ import { describe, expect, it } from 'vitest';
6
+
7
+ import { explainGlScene2DCoverage, hasGlScene2DCoverage } from './explainGlScene2DCoverage';
8
+ import { createGlState } from './glTestHelper';
9
+
10
+ const materialRenderer = {} as unknown as GlMaterialRenderer;
11
+ const nodeRenderer: Renderer = { createData: () => null, submit: () => {} } as unknown as Renderer;
12
+
13
+ function usage(overrides: Partial<Scene2DKindUsage> = {}): Scene2DKindUsage {
14
+ return { blendModes: [], materialKinds: [], nodeKinds: [], shapeCommandKeys: [], ...overrides };
15
+ }
16
+
17
+ function entries(state: ReturnType<typeof createGlState>['state'], u: Scene2DKindUsage): SceneCoverageEntry[] {
18
+ const out: SceneCoverageEntry[] = [];
19
+ explainGlScene2DCoverage(out, state, u);
20
+ return out;
21
+ }
22
+
23
+ describe('explainGlScene2DCoverage', () => {
24
+ it('includes the shared node-renderer answer rather than restating it', () => {
25
+ // Composition, not duplication: the base check owns node kinds, and this one must surface them.
26
+ const { state } = createGlState();
27
+ registerRenderer(state, 'Shape', nodeRenderer);
28
+ expect(entries(state, usage({ nodeKinds: ['Shape'] }))).toContainEqual({
29
+ coverage: SceneCoverage.Satisfied,
30
+ kind: 'Shape',
31
+ registry: RenderRegistry.NodeRenderer,
32
+ });
33
+ });
34
+
35
+ it('reports an unregistered blend mode as Fallback, since the node draws but composites as Normal', () => {
36
+ const { state } = createGlState();
37
+ expect(entries(state, usage({ blendModes: [BlendMode.Multiply] }))).toEqual([
38
+ { coverage: SceneCoverage.Fallback, kind: BlendMode.Multiply, registry: RenderRegistry.BlendRealization },
39
+ ]);
40
+ });
41
+
42
+ it('reports a registered blend mode as Satisfied', () => {
43
+ const { state } = createGlState();
44
+ registerGlBlendMode(state, BlendMode.Multiply, {} as never);
45
+ expect(entries(state, usage({ blendModes: [BlendMode.Multiply] }))).toEqual([
46
+ { coverage: SceneCoverage.Satisfied, kind: BlendMode.Multiply, registry: RenderRegistry.BlendRealization },
47
+ ]);
48
+ });
49
+
50
+ it('reports an unregistered material as Missing when nothing can absorb it', () => {
51
+ const { state } = createGlState();
52
+ expect(entries(state, usage({ materialKinds: ['acme.Custom'] }))).toContainEqual({
53
+ coverage: SceneCoverage.Missing,
54
+ kind: 'acme.Custom',
55
+ registry: RenderRegistry.MaterialRenderer,
56
+ });
57
+ });
58
+
59
+ it('downgrades the material gap to Fallback once a standard renderer can absorb it', () => {
60
+ const { state } = createGlState();
61
+ registerGlMaterialRenderer(state, StandardMaterialKind, materialRenderer);
62
+ expect(entries(state, usage({ materialKinds: ['acme.Custom'] }))).toContainEqual({
63
+ coverage: SceneCoverage.Fallback,
64
+ kind: 'acme.Custom',
65
+ registry: RenderRegistry.MaterialRenderer,
66
+ });
67
+ });
68
+ });
69
+
70
+ describe('hasGlScene2DCoverage', () => {
71
+ it('is false when only the shared half is unserved, so composition cannot hide a gap', () => {
72
+ const { state } = createGlState();
73
+ registerGlBlendMode(state, BlendMode.Multiply, {} as never);
74
+ expect(hasGlScene2DCoverage(state, usage({ blendModes: [BlendMode.Multiply], nodeKinds: ['Shape'] }))).toBe(false);
75
+ });
76
+
77
+ it('is false when only the GL half is unserved', () => {
78
+ const { state } = createGlState();
79
+ registerRenderer(state, 'Shape', nodeRenderer);
80
+ expect(hasGlScene2DCoverage(state, usage({ blendModes: [BlendMode.Multiply], nodeKinds: ['Shape'] }))).toBe(false);
81
+ });
82
+
83
+ it('is true once both halves are served', () => {
84
+ const { state } = createGlState();
85
+ registerRenderer(state, 'Shape', nodeRenderer);
86
+ registerGlBlendMode(state, BlendMode.Multiply, {} as never);
87
+ expect(hasGlScene2DCoverage(state, usage({ blendModes: [BlendMode.Multiply], nodeKinds: ['Shape'] }))).toBe(true);
88
+ });
89
+
90
+ it('agrees with the explain tier, so the two can never disagree', () => {
91
+ const { state } = createGlState();
92
+ registerRenderer(state, 'Shape', nodeRenderer);
93
+ const u = usage({ materialKinds: ['acme.Custom'], nodeKinds: ['Shape'] });
94
+ const out: SceneCoverageEntry[] = [];
95
+ explainGlScene2DCoverage(out, state, u);
96
+ const gaps = out.filter((e) => e.coverage !== SceneCoverage.Satisfied);
97
+ expect(hasGlScene2DCoverage(state, u)).toBe(gaps.length === 0);
98
+ });
99
+ });
@@ -1,26 +1,24 @@
1
1
  import { createBitmapText, getBitmapTextPages, updateBitmapText } from '@flighthq/bitmaptext/contract';
2
+ import { createImageResource } from '@flighthq/image/contract';
2
3
  import { setNodeColorAdjustmentsTint } from '@flighthq/node/contract';
3
- import type { BitmapText, GlyphEntry, GlyphSource, ImageResource, RenderProxy2D } from '@flighthq/types/contract';
4
+ import { registerGlImageTextureResolver } from '@flighthq/render-gl/contract';
5
+ import type { BitmapText, GlyphEntry, GlyphSource, RenderProxy2D } from '@flighthq/types/contract';
4
6
 
5
7
  import { defaultGlBitmapTextRenderer } from './glBitmapText';
6
8
  import { registerGlColorAdjustmentMaterialFeature } from './glColorAdjustmentMaterialFeature';
7
- import { flushGlSpriteBatch } from './glSpriteBatch';
8
- import { registerStandardGlMaterial } from './glStandardMaterial';
9
+ import { flushGlQuadBatchWriter } from './glQuadBatchWriter';
10
+ import { registerGlStandardMaterial } from './glStandardMaterial';
9
11
  import { createGlState } from './glTestHelper';
10
12
 
11
- // A single-page stub glyph source whose page-0 image carries a `source` (so hasImageResourcePixels is true).
13
+ // A single-page stub glyph source whose page-0 image carries a drawable host source.
12
14
  function createTestGlyphSource(): GlyphSource {
13
15
  const entries = new Map<number, GlyphEntry>([
14
16
  [0x41, { advance: 10, bearingX: 0, bearingY: 8, height: 8, page: 0, width: 6, x: 0, y: 0 }],
15
17
  [0x42, { advance: 10, bearingX: 0, bearingY: 8, height: 8, page: 0, width: 6, x: 6, y: 0 }],
16
18
  ]);
17
- const image = {
18
- source: document.createElement('img'),
19
- data: null,
20
- compressed: null,
21
- width: 64,
22
- height: 64,
23
- } as unknown as ImageResource;
19
+ const image = createImageResource(globalThis.document.createElement('img'));
20
+ image.width = 64;
21
+ image.height = 64;
24
22
  return {
25
23
  getGlyphAtlasImage: (page = 0) => (page === 0 ? image : null),
26
24
  getGlyphEntry: (cp) => entries.get(cp) ?? null,
@@ -57,9 +55,10 @@ describe('defaultGlBitmapTextRenderer.submit', () => {
57
55
  expect(getBitmapTextPages(text)[0].instanceCount).toBe(2);
58
56
 
59
57
  const { state, gl } = createGlState();
60
- registerStandardGlMaterial(state);
58
+ registerGlImageTextureResolver(state);
59
+ registerGlStandardMaterial(state);
61
60
  defaultGlBitmapTextRenderer.submit(state, makeProxy(text));
62
- flushGlSpriteBatch(state as never);
61
+ flushGlQuadBatchWriter(state as never);
63
62
  expect(gl.drawElementsInstanced).toHaveBeenCalledTimes(1);
64
63
  expect(gl.drawElementsInstanced).toHaveBeenCalledWith(expect.anything(), 6, expect.anything(), 0, 2);
65
64
  });
@@ -68,9 +67,10 @@ describe('defaultGlBitmapTextRenderer.submit', () => {
68
67
  const text = createBitmapText(createTestGlyphSource(), { text: '' });
69
68
  updateBitmapText(text);
70
69
  const { state, gl } = createGlState();
71
- registerStandardGlMaterial(state);
70
+ registerGlImageTextureResolver(state);
71
+ registerGlStandardMaterial(state);
72
72
  defaultGlBitmapTextRenderer.submit(state, makeProxy(text));
73
- flushGlSpriteBatch(state as never);
73
+ flushGlQuadBatchWriter(state as never);
74
74
  expect(gl.drawElementsInstanced).not.toHaveBeenCalled();
75
75
  });
76
76
 
@@ -80,7 +80,8 @@ describe('defaultGlBitmapTextRenderer.submit', () => {
80
80
  updateBitmapText(text);
81
81
 
82
82
  const { state, gl } = createGlState();
83
- registerStandardGlMaterial(state);
83
+ registerGlImageTextureResolver(state);
84
+ registerGlStandardMaterial(state);
84
85
  registerGlColorAdjustmentMaterialFeature(state);
85
86
  // The resolved color adjustment arrives on the proxy; submit must draw without throwing through the fold.
86
87
  defaultGlBitmapTextRenderer.submit(
@@ -96,7 +97,7 @@ describe('defaultGlBitmapTextRenderer.submit', () => {
96
97
  alphaBias: 0,
97
98
  }),
98
99
  );
99
- flushGlSpriteBatch(state as never);
100
+ flushGlQuadBatchWriter(state as never);
100
101
  expect(gl.drawElementsInstanced).toHaveBeenCalledTimes(1);
101
102
  });
102
103
  });
@@ -7,11 +7,11 @@ import { EntityRuntimeKey } from '@flighthq/types/contract';
7
7
 
8
8
  import type * as GlCacheModule from './glCache';
9
9
  import type * as GlNode2DModule from './glNode2D';
10
- import type * as GlSpriteBatchModule from './glSpriteBatch';
10
+ import type * as GlQuadBatchWriterModule from './glQuadBatchWriter';
11
11
  import { scopeModuleMocks } from './moduleMockTestHelper';
12
12
 
13
13
  // The GL render-target lifecycle (@flighthq/render-gl) and the two local collaborators
14
- // ./glSpriteBatch and ./glNode2D are stubbed so cache orchestration can be unit-tested
14
+ // ./glQuadBatchWriter and ./glNode2D are stubbed so cache orchestration can be unit-tested
15
15
  // without a real GL pipeline: createGlRenderTarget returns a plain descriptor, and the composite,
16
16
  // batch-flush, and subtree-render calls become spies for the call and ordering assertions below.
17
17
  // The mocks are scoped to this file's dynamic import of ./glCache and unmocked in afterAll, so under
@@ -31,18 +31,18 @@ let getGlRenderStateRuntime: typeof GlRenderGlModule.getGlRenderStateRuntime;
31
31
  let destroyGlRenderTarget: typeof GlRenderGlModule.destroyGlRenderTarget;
32
32
  let drawGlRenderTargetResult: typeof GlRenderGlModule.drawGlRenderTargetResult;
33
33
  let renderGlScene2D: typeof GlNode2DModule.renderGlScene2D;
34
- let flushGlSpriteBatch: typeof GlSpriteBatchModule.flushGlSpriteBatch;
34
+ let flushGlQuadBatchWriter: typeof GlQuadBatchWriterModule.flushGlQuadBatchWriter;
35
35
 
36
36
  // EntityRuntimeKey (Symbol.for) and RenderCacheKind (a string) are identity-stable across the
37
37
  // registry reset scopeModuleMocks performs, and cache adapters are stored on the state, not module-
38
38
  // level, so the statically-imported @flighthq/render still interoperates with the re-evaluated
39
39
  // subject even though the subject re-imports @flighthq/render under the reset.
40
- scopeModuleMocks(['./glSpriteBatch', '@flighthq/render-gl', './glNode2D']);
40
+ scopeModuleMocks(['./glQuadBatchWriter', '@flighthq/render-gl', './glNode2D']);
41
41
 
42
42
  beforeAll(async () => {
43
- vi.doMock('./glSpriteBatch', async (importOriginal) => {
44
- const actual = await importOriginal<typeof GlSpriteBatchModule>();
45
- return { ...actual, flushGlSpriteBatch: vi.fn() };
43
+ vi.doMock('./glQuadBatchWriter', async (importOriginal) => {
44
+ const actual = await importOriginal<typeof GlQuadBatchWriterModule>();
45
+ return { ...actual, flushGlQuadBatchWriter: vi.fn() };
46
46
  });
47
47
  vi.doMock('@flighthq/render-gl/contract', async (importOriginal) => {
48
48
  const actual = await importOriginal<typeof GlRenderGlModule>();
@@ -53,6 +53,16 @@ beforeAll(async () => {
53
53
  createGlRenderTarget: vi.fn((_state: unknown, descriptor: { width: number; height: number }): GlRenderTarget => {
54
54
  const texture = {} as WebGLTexture;
55
55
  return {
56
+ requestedAxes: {
57
+ width: descriptor.width,
58
+ height: descriptor.height,
59
+ format: 'rgba8',
60
+ colorAttachments: 1,
61
+ colorFormats: ['rgba8'],
62
+ sampleCount: 1,
63
+ depth: 'none',
64
+ colorSpace: 'srgb',
65
+ },
56
66
  framebuffer: {} as WebGLFramebuffer,
57
67
  resolveFramebuffer: null,
58
68
  texture,
@@ -61,6 +71,9 @@ beforeAll(async () => {
61
71
  colorRenderbuffers: [],
62
72
  depthStencilRenderbuffer: null,
63
73
  format: 'rgba8',
74
+ colorAttachments: 1,
75
+ colorFormats: ['rgba8'],
76
+ depth: 'none',
64
77
  colorSpace: 'srgb',
65
78
  clearColors: [],
66
79
  clearDepth: 1,
@@ -85,7 +98,7 @@ beforeAll(async () => {
85
98
 
86
99
  ({ createGlRenderStateRuntime, getGlRenderStateRuntime, destroyGlRenderTarget, drawGlRenderTargetResult } =
87
100
  await import('@flighthq/render-gl/contract'));
88
- ({ flushGlSpriteBatch } = await import('./glSpriteBatch'));
101
+ ({ flushGlQuadBatchWriter } = await import('./glQuadBatchWriter'));
89
102
  ({ renderGlScene2D } = await import('./glNode2D'));
90
103
  ({
91
104
  createGlCacheState,
@@ -145,10 +158,10 @@ describe('defaultGlRenderCacheRenderer', () => {
145
158
  useRenderCache(state, obj, cache);
146
159
  ensureGlRenderCacheTarget(state, cache, 16, 16);
147
160
  defaultGlRenderCacheRenderer.submit(state, makeCacheNode(obj));
148
- // The composite draws an immediate quad outside the sprite batch; geometry submitted earlier in
161
+ // The composite draws an immediate quad outside the quad-batch writer; geometry submitted earlier in
149
162
  // the walk must be drained first, or it replays after the cache result (a doubled image).
150
- expect(flushGlSpriteBatch).toHaveBeenCalledWith(state);
151
- expect((flushGlSpriteBatch as any).mock.invocationCallOrder[0]).toBeLessThan(
163
+ expect(flushGlQuadBatchWriter).toHaveBeenCalledWith(state);
164
+ expect((flushGlQuadBatchWriter as any).mock.invocationCallOrder[0]).toBeLessThan(
152
165
  (drawGlRenderTargetResult as any).mock.invocationCallOrder[0],
153
166
  );
154
167
  });
@@ -1,6 +1,15 @@
1
1
  import { createMatrix } from '@flighthq/geometry/contract';
2
- import { getGlRenderStateRuntime } from '@flighthq/render-gl/contract';
3
-
2
+ import { createViewport } from '@flighthq/node/contract';
3
+ import {
4
+ beginGlRenderPass,
5
+ createGlRenderTarget,
6
+ endGlRenderPass,
7
+ getGlRenderStateRuntime,
8
+ } from '@flighthq/render-gl/contract';
9
+ import { createRenderCache } from '@flighthq/render/contract';
10
+ import { createDisplayObject } from '@flighthq/scene2d/contract';
11
+
12
+ import { createGlCacheState, ensureGlRenderCacheTarget, refreshGlRenderCache } from './glCache';
4
13
  import { popGlClipContours, pushGlClipContours } from './glClipContours';
5
14
  import { createGlState } from './glTestHelper';
6
15
 
@@ -21,6 +30,52 @@ describe('popGlClipContours', () => {
21
30
  });
22
31
 
23
32
  describe('pushGlClipContours', () => {
33
+ it('rejects a shared-context cache refresh into the contour target before it can clear coverage', () => {
34
+ const { state, gl } = createGlState();
35
+ const cache = createRenderCache();
36
+ const cacheState = createGlCacheState(state);
37
+ const source = createDisplayObject();
38
+ const target = ensureGlRenderCacheTarget(state, cache, 1, 1);
39
+ beginGlRenderPass(state, target, { preserveDepth: true });
40
+ pushGlClipContours(state, SQUARE, 'nonZero', createMatrix());
41
+ gl.depthMask(false);
42
+ const stencilClearCount = vi.mocked(gl.clear).mock.calls.length;
43
+
44
+ expect(() => refreshGlRenderCache(cacheState, cache, source)).toThrow(
45
+ 'cannot nest the active framebuffer while a contour clip is live',
46
+ );
47
+
48
+ expect(gl.clear).toHaveBeenCalledTimes(stencilClearCount);
49
+ expect(getGlRenderStateRuntime(state).currentMaskDepth).toBe(1);
50
+ endGlRenderPass(state);
51
+ });
52
+
53
+ it('restores the outer framebuffer after a shared-context cache refresh into another target', () => {
54
+ const { state, gl } = createGlState();
55
+ const cacheState = createGlCacheState(state);
56
+ const outer = createGlRenderTarget(state, {
57
+ depth: 'depth-stencil',
58
+ height: 64,
59
+ width: 64,
60
+ });
61
+ const viewport = createViewport({
62
+ devicePixelRatio: 1,
63
+ height: 16,
64
+ width: 24,
65
+ x: 4,
66
+ y: 5,
67
+ });
68
+
69
+ beginGlRenderPass(state, outer, { preserveDepth: true }, viewport);
70
+ const outerScissor = getGlRenderStateRuntime(state).currentScissorRect;
71
+ refreshGlRenderCache(cacheState, createRenderCache(), createDisplayObject());
72
+
73
+ expect(vi.mocked(gl.bindFramebuffer).mock.calls.at(-1)?.[1]).toBe(outer.framebuffer);
74
+ expect(getGlRenderStateRuntime(state).currentFramebuffer).toBe(outer.framebuffer);
75
+ expect(getGlRenderStateRuntime(state).currentScissorRect).toEqual(outerScissor);
76
+ endGlRenderPass(state);
77
+ });
78
+
24
79
  it('enables the stencil test and clears the buffer when opening the first clip', () => {
25
80
  const { state, gl } = createGlState();
26
81
 
@@ -44,4 +44,13 @@ describe('pushGlClipRectangle', () => {
44
44
 
45
45
  expect(gl.scissor).toHaveBeenLastCalledWith(50, 25, 50, 50);
46
46
  });
47
+
48
+ it('offsets a local clip into the active partial-target viewport', () => {
49
+ const { state, gl } = createGlState();
50
+ getGlRenderStateRuntime(state).renderTargetViewport = { height: 100, width: 100, x: 200, y: 50 };
51
+
52
+ pushGlClipRectangle(state, createRectangle(10, 20, 30, 40), createMatrix());
53
+
54
+ expect(gl.scissor).toHaveBeenLastCalledWith(210, 90, 30, 40);
55
+ });
47
56
  });