@lightningjs/renderer 0.8.3 → 0.9.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 (177) hide show
  1. package/dist/src/core/CoreNode.d.ts +27 -1
  2. package/dist/src/core/CoreNode.js +130 -5
  3. package/dist/src/core/CoreNode.js.map +1 -1
  4. package/dist/src/core/CoreShaderManager.js +3 -2
  5. package/dist/src/core/CoreShaderManager.js.map +1 -1
  6. package/dist/src/core/CoreTextNode.js +20 -1
  7. package/dist/src/core/CoreTextNode.js.map +1 -1
  8. package/dist/src/core/CoreTextureManager.d.ts +2 -0
  9. package/dist/src/core/CoreTextureManager.js +2 -0
  10. package/dist/src/core/CoreTextureManager.js.map +1 -1
  11. package/dist/src/core/Stage.js +25 -9
  12. package/dist/src/core/Stage.js.map +1 -1
  13. package/dist/src/core/TextureMemoryManager.d.ts +1 -0
  14. package/dist/src/core/TextureMemoryManager.js +3 -1
  15. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  16. package/dist/src/core/lib/ImageWorker.d.ts +2 -1
  17. package/dist/src/core/lib/ImageWorker.js +10 -6
  18. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  19. package/dist/src/core/lib/Matrix3d.d.ts +38 -24
  20. package/dist/src/core/lib/Matrix3d.js +143 -166
  21. package/dist/src/core/lib/Matrix3d.js.map +1 -1
  22. package/dist/src/core/lib/WebGlContextWrapper.d.ts +26 -1
  23. package/dist/src/core/lib/WebGlContextWrapper.js +37 -1
  24. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  25. package/dist/src/core/renderers/CoreRenderer.d.ts +11 -0
  26. package/dist/src/core/renderers/CoreRenderer.js +1 -0
  27. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  28. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +10 -4
  29. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +18 -7
  30. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
  31. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +2 -2
  32. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +8 -6
  33. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
  34. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +1 -1
  35. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +1 -1
  36. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
  37. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +4 -4
  38. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
  39. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +1 -1
  40. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +2 -2
  41. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -1
  42. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +11 -0
  43. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +51 -0
  44. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
  45. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +11 -1
  46. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +22 -11
  47. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  48. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +4 -1
  49. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +7 -2
  50. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -1
  51. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +16 -1
  52. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +119 -27
  53. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  54. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +19 -4
  55. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
  56. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +4 -6
  57. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -1
  58. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +6 -1
  59. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
  60. package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +12 -0
  61. package/dist/src/core/text-rendering/TextRenderingUtils.js +14 -0
  62. package/dist/src/core/text-rendering/TextRenderingUtils.js.map +1 -0
  63. package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +19 -0
  64. package/dist/src/core/text-rendering/TextTextureRendererUtils.js +61 -0
  65. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
  66. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +8 -2
  67. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +24 -3
  68. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  69. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +2 -0
  70. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +1 -1
  71. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +72 -1
  72. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +11 -1
  73. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -1
  74. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +5 -2
  75. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +4 -3
  76. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -1
  77. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +8 -0
  78. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +42 -16
  79. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  80. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +7 -1
  81. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +42 -11
  82. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  83. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +6 -1
  84. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +27 -9
  85. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  86. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +2 -1
  87. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +32 -5
  88. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +1 -1
  89. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +2 -1
  90. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +2 -1
  91. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  92. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +10 -5
  93. package/dist/src/core/text-rendering/renderers/TextRenderer.js +6 -5
  94. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  95. package/dist/src/core/textures/RenderTexture.d.ts +28 -0
  96. package/dist/src/core/textures/RenderTexture.js +52 -0
  97. package/dist/src/core/textures/RenderTexture.js.map +1 -0
  98. package/dist/src/core/utils.d.ts +6 -1
  99. package/dist/src/core/utils.js +74 -82
  100. package/dist/src/core/utils.js.map +1 -1
  101. package/dist/src/main-api/INode.d.ts +9 -0
  102. package/dist/src/main-api/RendererMain.js +4 -3
  103. package/dist/src/main-api/RendererMain.js.map +1 -1
  104. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +3 -0
  105. package/dist/src/render-drivers/main/MainOnlyNode.js +29 -0
  106. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -1
  107. package/dist/src/render-drivers/main/MainOnlyTextNode.js +2 -3
  108. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -1
  109. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +3 -0
  110. package/dist/src/render-drivers/threadx/NodeStruct.js +9 -0
  111. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -1
  112. package/dist/src/render-drivers/threadx/SharedNode.d.ts +1 -0
  113. package/dist/src/render-drivers/threadx/SharedNode.js +1 -0
  114. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -1
  115. package/dist/src/render-drivers/threadx/TextNodeStruct.js +3 -1
  116. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -1
  117. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +2 -0
  118. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
  119. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +3 -0
  120. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +7 -0
  121. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -1
  122. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +1 -0
  123. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
  124. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +1 -0
  125. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -1
  126. package/dist/src/render-drivers/threadx/worker/renderer.js +1 -0
  127. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
  128. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  129. package/package.json +2 -2
  130. package/src/core/CoreNode.ts +164 -8
  131. package/src/core/CoreShaderManager.ts +6 -3
  132. package/src/core/CoreTextNode.ts +25 -0
  133. package/src/core/CoreTextureManager.ts +3 -0
  134. package/src/core/Stage.ts +32 -11
  135. package/src/core/TextureMemoryManager.ts +3 -1
  136. package/src/core/lib/ImageWorker.ts +12 -7
  137. package/src/core/lib/Matrix3d.ts +144 -190
  138. package/src/core/lib/WebGlContextWrapper.ts +51 -1
  139. package/src/core/renderers/CoreRenderer.ts +15 -1
  140. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +59 -14
  141. package/src/core/renderers/canvas/CanvasCoreTexture.ts +24 -18
  142. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +6 -3
  143. package/src/core/renderers/canvas/internal/ColorUtils.ts +6 -6
  144. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +2 -3
  145. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +79 -0
  146. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +26 -24
  147. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +4 -2
  148. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +166 -33
  149. package/src/core/renderers/webgl/WebGlCoreShader.ts +29 -4
  150. package/src/core/renderers/webgl/shaders/DefaultShader.ts +4 -6
  151. package/src/core/renderers/webgl/shaders/SdfShader.ts +6 -1
  152. package/src/core/text-rendering/TextRenderingUtils.ts +36 -0
  153. package/src/core/text-rendering/TextTextureRendererUtils.ts +74 -0
  154. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +41 -12
  155. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +2 -0
  156. package/src/core/text-rendering/font-face-types/TrFontFace.ts +86 -1
  157. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +13 -7
  158. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +52 -20
  159. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +59 -13
  160. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +36 -8
  161. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +38 -5
  162. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +5 -2
  163. package/src/core/text-rendering/renderers/TextRenderer.ts +17 -10
  164. package/src/core/textures/RenderTexture.ts +81 -0
  165. package/src/core/utils.ts +101 -93
  166. package/src/main-api/INode.ts +11 -0
  167. package/src/main-api/RendererMain.ts +4 -3
  168. package/src/render-drivers/main/MainOnlyNode.ts +44 -0
  169. package/src/render-drivers/main/MainOnlyTextNode.ts +2 -3
  170. package/src/render-drivers/threadx/NodeStruct.ts +10 -0
  171. package/src/render-drivers/threadx/SharedNode.ts +2 -0
  172. package/src/render-drivers/threadx/TextNodeStruct.ts +3 -1
  173. package/src/render-drivers/threadx/ThreadXCoreDriver.ts +2 -0
  174. package/src/render-drivers/threadx/ThreadXMainNode.ts +9 -0
  175. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +1 -0
  176. package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +1 -0
  177. package/src/render-drivers/threadx/worker/renderer.ts +1 -0
@@ -174,6 +174,7 @@ export class ThreadXCoreDriver implements ICoreDriver {
174
174
  pivotX: props.pivotX,
175
175
  pivotY: props.pivotY,
176
176
  rotation: props.rotation,
177
+ rtt: props.rtt,
177
178
  } satisfies NodeStructWritableProps);
178
179
 
179
180
  const node = new ThreadXMainNode(rendererMain, bufferStruct);
@@ -221,6 +222,7 @@ export class ThreadXCoreDriver implements ICoreDriver {
221
222
  pivotX: props.pivotX,
222
223
  pivotY: props.pivotY,
223
224
  rotation: props.rotation,
225
+ rtt: props.rtt,
224
226
 
225
227
  // Text specific properties
226
228
  text: props.text,
@@ -43,6 +43,7 @@ export class ThreadXMainNode extends SharedNode implements INode {
43
43
  protected _shader: ShaderRef | null = null;
44
44
  protected _data: CustomDataMap | undefined = {};
45
45
  private _src = '';
46
+ private _parentHasRenderTexture = false;
46
47
 
47
48
  /**
48
49
  * FinalizationRegistry for animation controllers. When an animation
@@ -168,6 +169,14 @@ export class ThreadXMainNode extends SharedNode implements INode {
168
169
  }
169
170
  }
170
171
 
172
+ set parentHasRenderTexture(hasRenderTexture: boolean) {
173
+ this._parentHasRenderTexture = hasRenderTexture;
174
+ }
175
+
176
+ get parentHasRenderTexture(): boolean {
177
+ return this._parentHasRenderTexture;
178
+ }
179
+
171
180
  get children(): ThreadXMainNode[] {
172
181
  return this._children;
173
182
  }
@@ -231,6 +231,7 @@ export class ThreadXRendererNode extends SharedNode {
231
231
  pivotX: sharedNodeStruct.pivotX,
232
232
  pivotY: sharedNodeStruct.pivotY,
233
233
  rotation: sharedNodeStruct.rotation,
234
+ rtt: sharedNodeStruct.rtt,
234
235
 
235
236
  // These are passed in via message handlers
236
237
  shader: null,
@@ -68,6 +68,7 @@ export class ThreadXRendererTextNode extends ThreadXRendererNode {
68
68
  scaleX: sharedNodeStruct.scaleX,
69
69
  scaleY: sharedNodeStruct.scaleY,
70
70
  rotation: sharedNodeStruct.rotation,
71
+ rtt: sharedNodeStruct.rtt,
71
72
 
72
73
  // These are passed in via message handlers
73
74
  shader: null,
@@ -114,6 +114,7 @@ const threadx = ThreadX.init({
114
114
  pivotX: coreRootNode.pivotX,
115
115
  pivotY: coreRootNode.pivotY,
116
116
  rotation: coreRootNode.rotation,
117
+ rtt: coreRootNode.rtt,
117
118
  } satisfies NodeStructWritableProps);
118
119
 
119
120
  // Share the root node that was created by the Stage with the main worker.