@blakron/core 0.4.1 → 0.4.3

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 (601) hide show
  1. package/dist/blakron/display/DisplayObject.d.ts +1 -1
  2. package/dist/blakron/display/DisplayObject.d.ts.map +1 -1
  3. package/dist/blakron/display/DisplayObject.js +1 -1
  4. package/dist/blakron/display/DisplayObject.js.map +1 -1
  5. package/dist/blakron/player/Player.d.ts.map +1 -1
  6. package/dist/blakron/player/Player.js +1 -2
  7. package/dist/blakron/player/Player.js.map +1 -1
  8. package/dist/blakron/player/RenderPipe.d.ts +1 -1
  9. package/dist/blakron/player/RenderPipe.d.ts.map +1 -1
  10. package/dist/blakron/player/{CanvasRenderer.d.ts → canvas/CanvasRenderer.d.ts} +5 -5
  11. package/dist/blakron/player/canvas/CanvasRenderer.d.ts.map +1 -0
  12. package/dist/blakron/player/{CanvasRenderer.js → canvas/CanvasRenderer.js} +11 -11
  13. package/dist/blakron/player/canvas/CanvasRenderer.js.map +1 -0
  14. package/dist/blakron/player/{DisplayList.d.ts → canvas/DisplayList.d.ts} +2 -2
  15. package/dist/blakron/player/canvas/DisplayList.d.ts.map +1 -0
  16. package/dist/blakron/player/{DisplayList.js → canvas/DisplayList.js} +1 -1
  17. package/dist/blakron/player/canvas/DisplayList.js.map +1 -0
  18. package/dist/blakron/player/canvas/RenderBuffer.d.ts.map +1 -0
  19. package/dist/blakron/player/canvas/RenderBuffer.js.map +1 -0
  20. package/dist/blakron/player/canvas/index.d.ts +4 -0
  21. package/dist/blakron/player/canvas/index.d.ts.map +1 -0
  22. package/dist/blakron/player/canvas/index.js +4 -0
  23. package/dist/blakron/player/canvas/index.js.map +1 -0
  24. package/dist/blakron/player/createPlayer.d.ts.map +1 -1
  25. package/dist/blakron/player/createPlayer.js +1 -2
  26. package/dist/blakron/player/createPlayer.js.map +1 -1
  27. package/dist/blakron/player/index.d.ts +2 -4
  28. package/dist/blakron/player/index.d.ts.map +1 -1
  29. package/dist/blakron/player/index.js +2 -4
  30. package/dist/blakron/player/index.js.map +1 -1
  31. package/dist/{heron/player → blakron/player/webgl}/InstructionSet.d.ts +1 -1
  32. package/dist/blakron/player/webgl/InstructionSet.d.ts.map +1 -0
  33. package/dist/blakron/player/webgl/InstructionSet.js.map +1 -0
  34. package/dist/blakron/player/webgl/WebGLRenderContext.d.ts +6 -0
  35. package/dist/blakron/player/webgl/WebGLRenderContext.d.ts.map +1 -1
  36. package/dist/blakron/player/webgl/WebGLRenderContext.js +28 -10
  37. package/dist/blakron/player/webgl/WebGLRenderContext.js.map +1 -1
  38. package/dist/blakron/player/webgl/WebGLRenderer.d.ts.map +1 -1
  39. package/dist/blakron/player/webgl/WebGLRenderer.js +3 -8
  40. package/dist/blakron/player/webgl/WebGLRenderer.js.map +1 -1
  41. package/dist/blakron/player/webgl/index.d.ts +1 -1
  42. package/dist/blakron/player/webgl/index.d.ts.map +1 -1
  43. package/dist/blakron/player/webgl/index.js +1 -1
  44. package/dist/blakron/player/webgl/index.js.map +1 -1
  45. package/dist/{heron/player → blakron/player/webgl}/pipes/BitmapPipe.d.ts +3 -3
  46. package/dist/blakron/player/webgl/pipes/BitmapPipe.d.ts.map +1 -0
  47. package/dist/blakron/player/webgl/pipes/BitmapPipe.js.map +1 -0
  48. package/dist/blakron/player/{pipes → webgl/pipes}/FilterPipe.d.ts +4 -4
  49. package/dist/blakron/player/webgl/pipes/FilterPipe.d.ts.map +1 -0
  50. package/dist/blakron/player/{pipes → webgl/pipes}/FilterPipe.js +2 -2
  51. package/dist/blakron/player/webgl/pipes/FilterPipe.js.map +1 -0
  52. package/dist/{heron/player → blakron/player/webgl}/pipes/GraphicsPipe.d.ts +5 -5
  53. package/dist/blakron/player/webgl/pipes/GraphicsPipe.d.ts.map +1 -0
  54. package/dist/blakron/player/{pipes → webgl/pipes}/GraphicsPipe.js +2 -2
  55. package/dist/blakron/player/webgl/pipes/GraphicsPipe.js.map +1 -0
  56. package/dist/blakron/player/{pipes → webgl/pipes}/MaskPipe.d.ts +3 -3
  57. package/dist/blakron/player/webgl/pipes/MaskPipe.d.ts.map +1 -0
  58. package/dist/blakron/player/{pipes → webgl/pipes}/MaskPipe.js +2 -2
  59. package/dist/blakron/player/webgl/pipes/MaskPipe.js.map +1 -0
  60. package/dist/blakron/player/{pipes → webgl/pipes}/MeshPipe.d.ts +3 -3
  61. package/dist/blakron/player/webgl/pipes/MeshPipe.d.ts.map +1 -0
  62. package/dist/blakron/player/webgl/pipes/MeshPipe.js.map +1 -0
  63. package/dist/{heron/player → blakron/player/webgl}/pipes/TextPipe.d.ts +4 -4
  64. package/dist/blakron/player/webgl/pipes/TextPipe.d.ts.map +1 -0
  65. package/dist/blakron/player/{pipes → webgl/pipes}/TextPipe.js +2 -2
  66. package/dist/blakron/player/webgl/pipes/TextPipe.js.map +1 -0
  67. package/dist/blakron/player/webgl/pipes/index.d.ts +7 -0
  68. package/dist/blakron/player/webgl/pipes/index.d.ts.map +1 -0
  69. package/dist/blakron/player/webgl/pipes/index.js +7 -0
  70. package/dist/blakron/player/webgl/pipes/index.js.map +1 -0
  71. package/dist/{heron/player/webgl → blakron/player/webgl/shaders}/ShaderLib.d.ts +4 -16
  72. package/dist/blakron/player/webgl/shaders/ShaderLib.d.ts.map +1 -0
  73. package/dist/{heron/player/webgl → blakron/player/webgl/shaders}/ShaderLib.js +5 -27
  74. package/dist/blakron/player/webgl/shaders/ShaderLib.js.map +1 -0
  75. package/dist/blakron/player/webgl/shaders/ShaderLib2.d.ts +22 -0
  76. package/dist/blakron/player/webgl/shaders/ShaderLib2.d.ts.map +1 -0
  77. package/dist/blakron/player/webgl/{ShaderLib.js → shaders/ShaderLib2.js} +89 -92
  78. package/dist/blakron/player/webgl/shaders/ShaderLib2.js.map +1 -0
  79. package/dist/blakron/player/webgl/shaders/index.d.ts +5 -0
  80. package/dist/blakron/player/webgl/shaders/index.d.ts.map +1 -0
  81. package/dist/blakron/player/webgl/shaders/index.js +5 -0
  82. package/dist/blakron/player/webgl/shaders/index.js.map +1 -0
  83. package/package.json +51 -52
  84. package/dist/blakron/player/CanvasRenderer.d.ts.map +0 -1
  85. package/dist/blakron/player/CanvasRenderer.js.map +0 -1
  86. package/dist/blakron/player/DisplayList.d.ts.map +0 -1
  87. package/dist/blakron/player/DisplayList.js.map +0 -1
  88. package/dist/blakron/player/InstructionSet.d.ts +0 -49
  89. package/dist/blakron/player/InstructionSet.d.ts.map +0 -1
  90. package/dist/blakron/player/InstructionSet.js.map +0 -1
  91. package/dist/blakron/player/RenderBuffer.d.ts.map +0 -1
  92. package/dist/blakron/player/RenderBuffer.js.map +0 -1
  93. package/dist/blakron/player/pipes/BitmapPipe.d.ts +0 -35
  94. package/dist/blakron/player/pipes/BitmapPipe.d.ts.map +0 -1
  95. package/dist/blakron/player/pipes/BitmapPipe.js.map +0 -1
  96. package/dist/blakron/player/pipes/FilterPipe.d.ts.map +0 -1
  97. package/dist/blakron/player/pipes/FilterPipe.js.map +0 -1
  98. package/dist/blakron/player/pipes/GraphicsPipe.d.ts +0 -36
  99. package/dist/blakron/player/pipes/GraphicsPipe.d.ts.map +0 -1
  100. package/dist/blakron/player/pipes/GraphicsPipe.js.map +0 -1
  101. package/dist/blakron/player/pipes/MaskPipe.d.ts.map +0 -1
  102. package/dist/blakron/player/pipes/MaskPipe.js.map +0 -1
  103. package/dist/blakron/player/pipes/MeshPipe.d.ts.map +0 -1
  104. package/dist/blakron/player/pipes/MeshPipe.js.map +0 -1
  105. package/dist/blakron/player/pipes/TextPipe.d.ts +0 -52
  106. package/dist/blakron/player/pipes/TextPipe.d.ts.map +0 -1
  107. package/dist/blakron/player/pipes/TextPipe.js.map +0 -1
  108. package/dist/blakron/player/webgl/ShaderLib.d.ts +0 -34
  109. package/dist/blakron/player/webgl/ShaderLib.d.ts.map +0 -1
  110. package/dist/blakron/player/webgl/ShaderLib.js.map +0 -1
  111. package/dist/heron/benchmark/BenchmarkRunner.d.ts +0 -60
  112. package/dist/heron/benchmark/BenchmarkRunner.d.ts.map +0 -1
  113. package/dist/heron/benchmark/BenchmarkRunner.js +0 -112
  114. package/dist/heron/benchmark/BenchmarkRunner.js.map +0 -1
  115. package/dist/heron/benchmark/MetricsCollector.d.ts +0 -34
  116. package/dist/heron/benchmark/MetricsCollector.d.ts.map +0 -1
  117. package/dist/heron/benchmark/MetricsCollector.js +0 -123
  118. package/dist/heron/benchmark/MetricsCollector.js.map +0 -1
  119. package/dist/heron/benchmark/PerfPanel.d.ts +0 -24
  120. package/dist/heron/benchmark/PerfPanel.d.ts.map +0 -1
  121. package/dist/heron/benchmark/PerfPanel.js +0 -131
  122. package/dist/heron/benchmark/PerfPanel.js.map +0 -1
  123. package/dist/heron/benchmark/ReportExporter.d.ts +0 -8
  124. package/dist/heron/benchmark/ReportExporter.d.ts.map +0 -1
  125. package/dist/heron/benchmark/ReportExporter.js +0 -54
  126. package/dist/heron/benchmark/ReportExporter.js.map +0 -1
  127. package/dist/heron/benchmark/SceneRegistry.d.ts +0 -16
  128. package/dist/heron/benchmark/SceneRegistry.d.ts.map +0 -1
  129. package/dist/heron/benchmark/SceneRegistry.js +0 -233
  130. package/dist/heron/benchmark/SceneRegistry.js.map +0 -1
  131. package/dist/heron/benchmark/types.d.ts +0 -47
  132. package/dist/heron/benchmark/types.d.ts.map +0 -1
  133. package/dist/heron/benchmark/types.js +0 -2
  134. package/dist/heron/benchmark/types.js.map +0 -1
  135. package/dist/heron/display/Bitmap.d.ts +0 -53
  136. package/dist/heron/display/Bitmap.d.ts.map +0 -1
  137. package/dist/heron/display/Bitmap.js +0 -176
  138. package/dist/heron/display/Bitmap.js.map +0 -1
  139. package/dist/heron/display/DisplayObject.d.ts +0 -206
  140. package/dist/heron/display/DisplayObject.d.ts.map +0 -1
  141. package/dist/heron/display/DisplayObject.js +0 -827
  142. package/dist/heron/display/DisplayObject.js.map +0 -1
  143. package/dist/heron/display/DisplayObjectContainer.d.ts +0 -57
  144. package/dist/heron/display/DisplayObjectContainer.d.ts.map +0 -1
  145. package/dist/heron/display/DisplayObjectContainer.js +0 -348
  146. package/dist/heron/display/DisplayObjectContainer.js.map +0 -1
  147. package/dist/heron/display/Graphics.d.ts +0 -49
  148. package/dist/heron/display/Graphics.d.ts.map +0 -1
  149. package/dist/heron/display/Graphics.js +0 -315
  150. package/dist/heron/display/Graphics.js.map +0 -1
  151. package/dist/heron/display/GraphicsPath.d.ts +0 -112
  152. package/dist/heron/display/GraphicsPath.d.ts.map +0 -1
  153. package/dist/heron/display/GraphicsPath.js +0 -2
  154. package/dist/heron/display/GraphicsPath.js.map +0 -1
  155. package/dist/heron/display/Mesh.d.ts +0 -21
  156. package/dist/heron/display/Mesh.d.ts.map +0 -1
  157. package/dist/heron/display/Mesh.js +0 -56
  158. package/dist/heron/display/Mesh.js.map +0 -1
  159. package/dist/heron/display/Shape.d.ts +0 -12
  160. package/dist/heron/display/Shape.d.ts.map +0 -1
  161. package/dist/heron/display/Shape.js +0 -35
  162. package/dist/heron/display/Shape.js.map +0 -1
  163. package/dist/heron/display/Sprite.d.ts +0 -13
  164. package/dist/heron/display/Sprite.d.ts.map +0 -1
  165. package/dist/heron/display/Sprite.js +0 -37
  166. package/dist/heron/display/Sprite.js.map +0 -1
  167. package/dist/heron/display/Stage.d.ts +0 -45
  168. package/dist/heron/display/Stage.d.ts.map +0 -1
  169. package/dist/heron/display/Stage.js +0 -107
  170. package/dist/heron/display/Stage.js.map +0 -1
  171. package/dist/heron/display/enums/BitmapFillMode.d.ts +0 -7
  172. package/dist/heron/display/enums/BitmapFillMode.d.ts.map +0 -1
  173. package/dist/heron/display/enums/BitmapFillMode.js +0 -6
  174. package/dist/heron/display/enums/BitmapFillMode.js.map +0 -1
  175. package/dist/heron/display/enums/BlendMode.d.ts +0 -24
  176. package/dist/heron/display/enums/BlendMode.d.ts.map +0 -1
  177. package/dist/heron/display/enums/BlendMode.js +0 -31
  178. package/dist/heron/display/enums/BlendMode.js.map +0 -1
  179. package/dist/heron/display/enums/CapsStyle.d.ts +0 -7
  180. package/dist/heron/display/enums/CapsStyle.d.ts.map +0 -1
  181. package/dist/heron/display/enums/CapsStyle.js +0 -6
  182. package/dist/heron/display/enums/CapsStyle.js.map +0 -1
  183. package/dist/heron/display/enums/GradientType.d.ts +0 -6
  184. package/dist/heron/display/enums/GradientType.d.ts.map +0 -1
  185. package/dist/heron/display/enums/GradientType.js +0 -5
  186. package/dist/heron/display/enums/GradientType.js.map +0 -1
  187. package/dist/heron/display/enums/JointStyle.d.ts +0 -7
  188. package/dist/heron/display/enums/JointStyle.d.ts.map +0 -1
  189. package/dist/heron/display/enums/JointStyle.js +0 -6
  190. package/dist/heron/display/enums/JointStyle.js.map +0 -1
  191. package/dist/heron/display/enums/OrientationMode.d.ts +0 -8
  192. package/dist/heron/display/enums/OrientationMode.d.ts.map +0 -1
  193. package/dist/heron/display/enums/OrientationMode.js +0 -7
  194. package/dist/heron/display/enums/OrientationMode.js.map +0 -1
  195. package/dist/heron/display/enums/StageScaleMode.d.ts +0 -12
  196. package/dist/heron/display/enums/StageScaleMode.d.ts.map +0 -1
  197. package/dist/heron/display/enums/StageScaleMode.js +0 -11
  198. package/dist/heron/display/enums/StageScaleMode.js.map +0 -1
  199. package/dist/heron/display/enums/index.d.ts +0 -8
  200. package/dist/heron/display/enums/index.d.ts.map +0 -1
  201. package/dist/heron/display/enums/index.js +0 -8
  202. package/dist/heron/display/enums/index.js.map +0 -1
  203. package/dist/heron/display/index.d.ts +0 -21
  204. package/dist/heron/display/index.d.ts.map +0 -1
  205. package/dist/heron/display/index.js +0 -20
  206. package/dist/heron/display/index.js.map +0 -1
  207. package/dist/heron/display/texture/BitmapData.d.ts +0 -37
  208. package/dist/heron/display/texture/BitmapData.d.ts.map +0 -1
  209. package/dist/heron/display/texture/BitmapData.js +0 -144
  210. package/dist/heron/display/texture/BitmapData.js.map +0 -1
  211. package/dist/heron/display/texture/RenderTexture.d.ts +0 -13
  212. package/dist/heron/display/texture/RenderTexture.d.ts.map +0 -1
  213. package/dist/heron/display/texture/RenderTexture.js +0 -51
  214. package/dist/heron/display/texture/RenderTexture.js.map +0 -1
  215. package/dist/heron/display/texture/SpriteSheet.d.ts +0 -13
  216. package/dist/heron/display/texture/SpriteSheet.d.ts.map +0 -1
  217. package/dist/heron/display/texture/SpriteSheet.js +0 -34
  218. package/dist/heron/display/texture/SpriteSheet.js.map +0 -1
  219. package/dist/heron/display/texture/Texture.d.ts +0 -33
  220. package/dist/heron/display/texture/Texture.d.ts.map +0 -1
  221. package/dist/heron/display/texture/Texture.js +0 -77
  222. package/dist/heron/display/texture/Texture.js.map +0 -1
  223. package/dist/heron/display/texture/index.d.ts +0 -5
  224. package/dist/heron/display/texture/index.d.ts.map +0 -1
  225. package/dist/heron/display/texture/index.js +0 -5
  226. package/dist/heron/display/texture/index.js.map +0 -1
  227. package/dist/heron/events/Event.d.ts +0 -57
  228. package/dist/heron/events/Event.d.ts.map +0 -1
  229. package/dist/heron/events/Event.js +0 -139
  230. package/dist/heron/events/Event.js.map +0 -1
  231. package/dist/heron/events/EventDispatcher.d.ts +0 -23
  232. package/dist/heron/events/EventDispatcher.d.ts.map +0 -1
  233. package/dist/heron/events/EventDispatcher.js +0 -123
  234. package/dist/heron/events/EventDispatcher.js.map +0 -1
  235. package/dist/heron/events/EventPhase.d.ts +0 -6
  236. package/dist/heron/events/EventPhase.d.ts.map +0 -1
  237. package/dist/heron/events/EventPhase.js +0 -2
  238. package/dist/heron/events/EventPhase.js.map +0 -1
  239. package/dist/heron/events/FocusEvent.d.ts +0 -7
  240. package/dist/heron/events/FocusEvent.d.ts.map +0 -1
  241. package/dist/heron/events/FocusEvent.js +0 -11
  242. package/dist/heron/events/FocusEvent.js.map +0 -1
  243. package/dist/heron/events/HTTPStatusEvent.d.ts +0 -10
  244. package/dist/heron/events/HTTPStatusEvent.d.ts.map +0 -1
  245. package/dist/heron/events/HTTPStatusEvent.js +0 -24
  246. package/dist/heron/events/HTTPStatusEvent.js.map +0 -1
  247. package/dist/heron/events/IEventDispatcher.d.ts +0 -11
  248. package/dist/heron/events/IEventDispatcher.d.ts.map +0 -1
  249. package/dist/heron/events/IEventDispatcher.js +0 -2
  250. package/dist/heron/events/IEventDispatcher.js.map +0 -1
  251. package/dist/heron/events/IOErrorEvent.d.ts +0 -8
  252. package/dist/heron/events/IOErrorEvent.d.ts.map +0 -1
  253. package/dist/heron/events/IOErrorEvent.js +0 -17
  254. package/dist/heron/events/IOErrorEvent.js.map +0 -1
  255. package/dist/heron/events/ProgressEvent.d.ts +0 -11
  256. package/dist/heron/events/ProgressEvent.d.ts.map +0 -1
  257. package/dist/heron/events/ProgressEvent.js +0 -25
  258. package/dist/heron/events/ProgressEvent.js.map +0 -1
  259. package/dist/heron/events/StageOrientationEvent.d.ts +0 -8
  260. package/dist/heron/events/StageOrientationEvent.d.ts.map +0 -1
  261. package/dist/heron/events/StageOrientationEvent.js +0 -17
  262. package/dist/heron/events/StageOrientationEvent.js.map +0 -1
  263. package/dist/heron/events/TextEvent.d.ts +0 -9
  264. package/dist/heron/events/TextEvent.d.ts.map +0 -1
  265. package/dist/heron/events/TextEvent.js +0 -21
  266. package/dist/heron/events/TextEvent.js.map +0 -1
  267. package/dist/heron/events/TimerEvent.d.ts +0 -14
  268. package/dist/heron/events/TimerEvent.d.ts.map +0 -1
  269. package/dist/heron/events/TimerEvent.js +0 -27
  270. package/dist/heron/events/TimerEvent.js.map +0 -1
  271. package/dist/heron/events/TouchEvent.d.ts +0 -32
  272. package/dist/heron/events/TouchEvent.d.ts.map +0 -1
  273. package/dist/heron/events/TouchEvent.js +0 -85
  274. package/dist/heron/events/TouchEvent.js.map +0 -1
  275. package/dist/heron/events/index.d.ts +0 -13
  276. package/dist/heron/events/index.d.ts.map +0 -1
  277. package/dist/heron/events/index.js +0 -11
  278. package/dist/heron/events/index.js.map +0 -1
  279. package/dist/heron/external/ExternalInterface.d.ts +0 -18
  280. package/dist/heron/external/ExternalInterface.d.ts.map +0 -1
  281. package/dist/heron/external/ExternalInterface.js +0 -23
  282. package/dist/heron/external/ExternalInterface.js.map +0 -1
  283. package/dist/heron/external/index.d.ts +0 -2
  284. package/dist/heron/external/index.d.ts.map +0 -1
  285. package/dist/heron/external/index.js +0 -2
  286. package/dist/heron/external/index.js.map +0 -1
  287. package/dist/heron/filters/BlurFilter.d.ts +0 -16
  288. package/dist/heron/filters/BlurFilter.d.ts.map +0 -1
  289. package/dist/heron/filters/BlurFilter.js +0 -56
  290. package/dist/heron/filters/BlurFilter.js.map +0 -1
  291. package/dist/heron/filters/ColorMatrixFilter.d.ts +0 -10
  292. package/dist/heron/filters/ColorMatrixFilter.d.ts.map +0 -1
  293. package/dist/heron/filters/ColorMatrixFilter.js +0 -51
  294. package/dist/heron/filters/ColorMatrixFilter.js.map +0 -1
  295. package/dist/heron/filters/CustomFilter.d.ts +0 -12
  296. package/dist/heron/filters/CustomFilter.d.ts.map +0 -1
  297. package/dist/heron/filters/CustomFilter.js +0 -43
  298. package/dist/heron/filters/CustomFilter.js.map +0 -1
  299. package/dist/heron/filters/DropShadowFilter.d.ts +0 -16
  300. package/dist/heron/filters/DropShadowFilter.d.ts.map +0 -1
  301. package/dist/heron/filters/DropShadowFilter.js +0 -76
  302. package/dist/heron/filters/DropShadowFilter.js.map +0 -1
  303. package/dist/heron/filters/Filter.d.ts +0 -20
  304. package/dist/heron/filters/Filter.d.ts.map +0 -1
  305. package/dist/heron/filters/Filter.js +0 -27
  306. package/dist/heron/filters/Filter.js.map +0 -1
  307. package/dist/heron/filters/GlowFilter.d.ts +0 -34
  308. package/dist/heron/filters/GlowFilter.d.ts.map +0 -1
  309. package/dist/heron/filters/GlowFilter.js +0 -131
  310. package/dist/heron/filters/GlowFilter.js.map +0 -1
  311. package/dist/heron/filters/index.d.ts +0 -7
  312. package/dist/heron/filters/index.d.ts.map +0 -1
  313. package/dist/heron/filters/index.js +0 -7
  314. package/dist/heron/filters/index.js.map +0 -1
  315. package/dist/heron/geom/Matrix.d.ts +0 -51
  316. package/dist/heron/geom/Matrix.d.ts.map +0 -1
  317. package/dist/heron/geom/Matrix.js +0 -312
  318. package/dist/heron/geom/Matrix.js.map +0 -1
  319. package/dist/heron/geom/Point.d.ts +0 -24
  320. package/dist/heron/geom/Point.d.ts.map +0 -1
  321. package/dist/heron/geom/Point.js +0 -75
  322. package/dist/heron/geom/Point.js.map +0 -1
  323. package/dist/heron/geom/Rectangle.d.ts +0 -48
  324. package/dist/heron/geom/Rectangle.d.ts.map +0 -1
  325. package/dist/heron/geom/Rectangle.js +0 -176
  326. package/dist/heron/geom/Rectangle.js.map +0 -1
  327. package/dist/heron/geom/index.d.ts +0 -4
  328. package/dist/heron/geom/index.d.ts.map +0 -1
  329. package/dist/heron/geom/index.js +0 -4
  330. package/dist/heron/geom/index.js.map +0 -1
  331. package/dist/heron/localStorage/index.d.ts +0 -2
  332. package/dist/heron/localStorage/index.d.ts.map +0 -1
  333. package/dist/heron/localStorage/index.js +0 -2
  334. package/dist/heron/localStorage/index.js.map +0 -1
  335. package/dist/heron/localStorage/localStorage.d.ts +0 -5
  336. package/dist/heron/localStorage/localStorage.d.ts.map +0 -1
  337. package/dist/heron/localStorage/localStorage.js +0 -19
  338. package/dist/heron/localStorage/localStorage.js.map +0 -1
  339. package/dist/heron/media/Sound.d.ts +0 -26
  340. package/dist/heron/media/Sound.d.ts.map +0 -1
  341. package/dist/heron/media/Sound.js +0 -145
  342. package/dist/heron/media/Sound.js.map +0 -1
  343. package/dist/heron/media/SoundChannel.d.ts +0 -28
  344. package/dist/heron/media/SoundChannel.d.ts.map +0 -1
  345. package/dist/heron/media/SoundChannel.js +0 -117
  346. package/dist/heron/media/SoundChannel.js.map +0 -1
  347. package/dist/heron/media/Video.d.ts +0 -50
  348. package/dist/heron/media/Video.d.ts.map +0 -1
  349. package/dist/heron/media/Video.js +0 -249
  350. package/dist/heron/media/Video.js.map +0 -1
  351. package/dist/heron/media/index.d.ts +0 -4
  352. package/dist/heron/media/index.d.ts.map +0 -1
  353. package/dist/heron/media/index.js +0 -4
  354. package/dist/heron/media/index.js.map +0 -1
  355. package/dist/heron/net/HttpMethod.d.ts +0 -6
  356. package/dist/heron/net/HttpMethod.d.ts.map +0 -1
  357. package/dist/heron/net/HttpMethod.js +0 -5
  358. package/dist/heron/net/HttpMethod.js.map +0 -1
  359. package/dist/heron/net/HttpRequest.d.ts +0 -19
  360. package/dist/heron/net/HttpRequest.d.ts.map +0 -1
  361. package/dist/heron/net/HttpRequest.js +0 -63
  362. package/dist/heron/net/HttpRequest.js.map +0 -1
  363. package/dist/heron/net/HttpResponseType.d.ts +0 -6
  364. package/dist/heron/net/HttpResponseType.d.ts.map +0 -1
  365. package/dist/heron/net/HttpResponseType.js +0 -5
  366. package/dist/heron/net/HttpResponseType.js.map +0 -1
  367. package/dist/heron/net/ImageLoader.d.ts +0 -10
  368. package/dist/heron/net/ImageLoader.d.ts.map +0 -1
  369. package/dist/heron/net/ImageLoader.js +0 -32
  370. package/dist/heron/net/ImageLoader.js.map +0 -1
  371. package/dist/heron/net/index.d.ts +0 -7
  372. package/dist/heron/net/index.d.ts.map +0 -1
  373. package/dist/heron/net/index.js +0 -5
  374. package/dist/heron/net/index.js.map +0 -1
  375. package/dist/heron/player/CanvasRenderer.d.ts +0 -49
  376. package/dist/heron/player/CanvasRenderer.d.ts.map +0 -1
  377. package/dist/heron/player/CanvasRenderer.js +0 -767
  378. package/dist/heron/player/CanvasRenderer.js.map +0 -1
  379. package/dist/heron/player/DisplayList.d.ts +0 -32
  380. package/dist/heron/player/DisplayList.d.ts.map +0 -1
  381. package/dist/heron/player/DisplayList.js +0 -78
  382. package/dist/heron/player/DisplayList.js.map +0 -1
  383. package/dist/heron/player/HeronOptions.d.ts +0 -25
  384. package/dist/heron/player/HeronOptions.d.ts.map +0 -1
  385. package/dist/heron/player/HeronOptions.js +0 -2
  386. package/dist/heron/player/HeronOptions.js.map +0 -1
  387. package/dist/heron/player/InstructionSet.d.ts.map +0 -1
  388. package/dist/heron/player/InstructionSet.js +0 -45
  389. package/dist/heron/player/InstructionSet.js.map +0 -1
  390. package/dist/heron/player/Player.d.ts +0 -45
  391. package/dist/heron/player/Player.d.ts.map +0 -1
  392. package/dist/heron/player/Player.js +0 -149
  393. package/dist/heron/player/Player.js.map +0 -1
  394. package/dist/heron/player/RenderBuffer.d.ts +0 -35
  395. package/dist/heron/player/RenderBuffer.d.ts.map +0 -1
  396. package/dist/heron/player/RenderBuffer.js +0 -81
  397. package/dist/heron/player/RenderBuffer.js.map +0 -1
  398. package/dist/heron/player/RenderPipe.d.ts +0 -33
  399. package/dist/heron/player/RenderPipe.d.ts.map +0 -1
  400. package/dist/heron/player/RenderPipe.js +0 -2
  401. package/dist/heron/player/RenderPipe.js.map +0 -1
  402. package/dist/heron/player/ScreenAdapter.d.ts +0 -29
  403. package/dist/heron/player/ScreenAdapter.d.ts.map +0 -1
  404. package/dist/heron/player/ScreenAdapter.js +0 -127
  405. package/dist/heron/player/ScreenAdapter.js.map +0 -1
  406. package/dist/heron/player/SystemTicker.d.ts +0 -63
  407. package/dist/heron/player/SystemTicker.d.ts.map +0 -1
  408. package/dist/heron/player/SystemTicker.js +0 -207
  409. package/dist/heron/player/SystemTicker.js.map +0 -1
  410. package/dist/heron/player/TouchHandler.d.ts +0 -39
  411. package/dist/heron/player/TouchHandler.d.ts.map +0 -1
  412. package/dist/heron/player/TouchHandler.js +0 -149
  413. package/dist/heron/player/TouchHandler.js.map +0 -1
  414. package/dist/heron/player/createPlayer.d.ts +0 -35
  415. package/dist/heron/player/createPlayer.d.ts.map +0 -1
  416. package/dist/heron/player/createPlayer.js +0 -74
  417. package/dist/heron/player/createPlayer.js.map +0 -1
  418. package/dist/heron/player/index.d.ts +0 -13
  419. package/dist/heron/player/index.d.ts.map +0 -1
  420. package/dist/heron/player/index.js +0 -16
  421. package/dist/heron/player/index.js.map +0 -1
  422. package/dist/heron/player/pipes/BitmapPipe.d.ts.map +0 -1
  423. package/dist/heron/player/pipes/BitmapPipe.js +0 -130
  424. package/dist/heron/player/pipes/BitmapPipe.js.map +0 -1
  425. package/dist/heron/player/pipes/FilterPipe.d.ts +0 -68
  426. package/dist/heron/player/pipes/FilterPipe.d.ts.map +0 -1
  427. package/dist/heron/player/pipes/FilterPipe.js +0 -157
  428. package/dist/heron/player/pipes/FilterPipe.js.map +0 -1
  429. package/dist/heron/player/pipes/GraphicsPipe.d.ts.map +0 -1
  430. package/dist/heron/player/pipes/GraphicsPipe.js +0 -126
  431. package/dist/heron/player/pipes/GraphicsPipe.js.map +0 -1
  432. package/dist/heron/player/pipes/MaskPipe.d.ts +0 -58
  433. package/dist/heron/player/pipes/MaskPipe.d.ts.map +0 -1
  434. package/dist/heron/player/pipes/MaskPipe.js +0 -185
  435. package/dist/heron/player/pipes/MaskPipe.js.map +0 -1
  436. package/dist/heron/player/pipes/MeshPipe.d.ts +0 -22
  437. package/dist/heron/player/pipes/MeshPipe.d.ts.map +0 -1
  438. package/dist/heron/player/pipes/MeshPipe.js +0 -50
  439. package/dist/heron/player/pipes/MeshPipe.js.map +0 -1
  440. package/dist/heron/player/pipes/TextPipe.d.ts.map +0 -1
  441. package/dist/heron/player/pipes/TextPipe.js +0 -163
  442. package/dist/heron/player/pipes/TextPipe.js.map +0 -1
  443. package/dist/heron/player/webgl/MultiTextureBatcher.d.ts +0 -37
  444. package/dist/heron/player/webgl/MultiTextureBatcher.d.ts.map +0 -1
  445. package/dist/heron/player/webgl/MultiTextureBatcher.js +0 -63
  446. package/dist/heron/player/webgl/MultiTextureBatcher.js.map +0 -1
  447. package/dist/heron/player/webgl/ShaderLib.d.ts.map +0 -1
  448. package/dist/heron/player/webgl/ShaderLib.js.map +0 -1
  449. package/dist/heron/player/webgl/WebGLDrawCmdManager.d.ts +0 -58
  450. package/dist/heron/player/webgl/WebGLDrawCmdManager.d.ts.map +0 -1
  451. package/dist/heron/player/webgl/WebGLDrawCmdManager.js +0 -197
  452. package/dist/heron/player/webgl/WebGLDrawCmdManager.js.map +0 -1
  453. package/dist/heron/player/webgl/WebGLProgram.d.ts +0 -14
  454. package/dist/heron/player/webgl/WebGLProgram.d.ts.map +0 -1
  455. package/dist/heron/player/webgl/WebGLProgram.js +0 -32
  456. package/dist/heron/player/webgl/WebGLProgram.js.map +0 -1
  457. package/dist/heron/player/webgl/WebGLRenderBuffer.d.ts +0 -52
  458. package/dist/heron/player/webgl/WebGLRenderBuffer.d.ts.map +0 -1
  459. package/dist/heron/player/webgl/WebGLRenderBuffer.js +0 -227
  460. package/dist/heron/player/webgl/WebGLRenderBuffer.js.map +0 -1
  461. package/dist/heron/player/webgl/WebGLRenderContext.d.ts +0 -114
  462. package/dist/heron/player/webgl/WebGLRenderContext.d.ts.map +0 -1
  463. package/dist/heron/player/webgl/WebGLRenderContext.js +0 -852
  464. package/dist/heron/player/webgl/WebGLRenderContext.js.map +0 -1
  465. package/dist/heron/player/webgl/WebGLRenderTarget.d.ts +0 -19
  466. package/dist/heron/player/webgl/WebGLRenderTarget.d.ts.map +0 -1
  467. package/dist/heron/player/webgl/WebGLRenderTarget.js +0 -90
  468. package/dist/heron/player/webgl/WebGLRenderTarget.js.map +0 -1
  469. package/dist/heron/player/webgl/WebGLRenderer.d.ts +0 -91
  470. package/dist/heron/player/webgl/WebGLRenderer.d.ts.map +0 -1
  471. package/dist/heron/player/webgl/WebGLRenderer.js +0 -721
  472. package/dist/heron/player/webgl/WebGLRenderer.js.map +0 -1
  473. package/dist/heron/player/webgl/WebGLUtils.d.ts +0 -11
  474. package/dist/heron/player/webgl/WebGLUtils.d.ts.map +0 -1
  475. package/dist/heron/player/webgl/WebGLUtils.js +0 -57
  476. package/dist/heron/player/webgl/WebGLUtils.js.map +0 -1
  477. package/dist/heron/player/webgl/WebGLVertexArrayObject.d.ts +0 -39
  478. package/dist/heron/player/webgl/WebGLVertexArrayObject.d.ts.map +0 -1
  479. package/dist/heron/player/webgl/WebGLVertexArrayObject.js +0 -367
  480. package/dist/heron/player/webgl/WebGLVertexArrayObject.js.map +0 -1
  481. package/dist/heron/player/webgl/index.d.ts +0 -11
  482. package/dist/heron/player/webgl/index.d.ts.map +0 -1
  483. package/dist/heron/player/webgl/index.js +0 -11
  484. package/dist/heron/player/webgl/index.js.map +0 -1
  485. package/dist/heron/system/Capabilities.d.ts +0 -46
  486. package/dist/heron/system/Capabilities.d.ts.map +0 -1
  487. package/dist/heron/system/Capabilities.js +0 -100
  488. package/dist/heron/system/Capabilities.js.map +0 -1
  489. package/dist/heron/system/index.d.ts +0 -2
  490. package/dist/heron/system/index.d.ts.map +0 -1
  491. package/dist/heron/system/index.js +0 -2
  492. package/dist/heron/system/index.js.map +0 -1
  493. package/dist/heron/text/BitmapFont.d.ts +0 -31
  494. package/dist/heron/text/BitmapFont.d.ts.map +0 -1
  495. package/dist/heron/text/BitmapFont.js +0 -86
  496. package/dist/heron/text/BitmapFont.js.map +0 -1
  497. package/dist/heron/text/BitmapText.d.ts +0 -56
  498. package/dist/heron/text/BitmapText.d.ts.map +0 -1
  499. package/dist/heron/text/BitmapText.js +0 -230
  500. package/dist/heron/text/BitmapText.js.map +0 -1
  501. package/dist/heron/text/HtmlTextParser.d.ts +0 -14
  502. package/dist/heron/text/HtmlTextParser.d.ts.map +0 -1
  503. package/dist/heron/text/HtmlTextParser.js +0 -147
  504. package/dist/heron/text/HtmlTextParser.js.map +0 -1
  505. package/dist/heron/text/InputController.d.ts +0 -29
  506. package/dist/heron/text/InputController.d.ts.map +0 -1
  507. package/dist/heron/text/InputController.js +0 -131
  508. package/dist/heron/text/InputController.js.map +0 -1
  509. package/dist/heron/text/StageText.d.ts +0 -53
  510. package/dist/heron/text/StageText.d.ts.map +0 -1
  511. package/dist/heron/text/StageText.js +0 -392
  512. package/dist/heron/text/StageText.js.map +0 -1
  513. package/dist/heron/text/TextField.d.ts +0 -145
  514. package/dist/heron/text/TextField.d.ts.map +0 -1
  515. package/dist/heron/text/TextField.js +0 -716
  516. package/dist/heron/text/TextField.js.map +0 -1
  517. package/dist/heron/text/TextMeasurer.d.ts +0 -9
  518. package/dist/heron/text/TextMeasurer.d.ts.map +0 -1
  519. package/dist/heron/text/TextMeasurer.js +0 -36
  520. package/dist/heron/text/TextMeasurer.js.map +0 -1
  521. package/dist/heron/text/WordWrap.d.ts +0 -15
  522. package/dist/heron/text/WordWrap.d.ts.map +0 -1
  523. package/dist/heron/text/WordWrap.js +0 -50
  524. package/dist/heron/text/WordWrap.js.map +0 -1
  525. package/dist/heron/text/enums/HorizontalAlign.d.ts +0 -9
  526. package/dist/heron/text/enums/HorizontalAlign.d.ts.map +0 -1
  527. package/dist/heron/text/enums/HorizontalAlign.js +0 -8
  528. package/dist/heron/text/enums/HorizontalAlign.js.map +0 -1
  529. package/dist/heron/text/enums/TextFieldInputType.d.ts +0 -7
  530. package/dist/heron/text/enums/TextFieldInputType.d.ts.map +0 -1
  531. package/dist/heron/text/enums/TextFieldInputType.js +0 -6
  532. package/dist/heron/text/enums/TextFieldInputType.js.map +0 -1
  533. package/dist/heron/text/enums/TextFieldType.d.ts +0 -6
  534. package/dist/heron/text/enums/TextFieldType.d.ts.map +0 -1
  535. package/dist/heron/text/enums/TextFieldType.js +0 -5
  536. package/dist/heron/text/enums/TextFieldType.js.map +0 -1
  537. package/dist/heron/text/enums/VerticalAlign.d.ts +0 -9
  538. package/dist/heron/text/enums/VerticalAlign.d.ts.map +0 -1
  539. package/dist/heron/text/enums/VerticalAlign.js +0 -8
  540. package/dist/heron/text/enums/VerticalAlign.js.map +0 -1
  541. package/dist/heron/text/enums/index.d.ts +0 -5
  542. package/dist/heron/text/enums/index.d.ts.map +0 -1
  543. package/dist/heron/text/enums/index.js +0 -5
  544. package/dist/heron/text/enums/index.js.map +0 -1
  545. package/dist/heron/text/index.d.ts +0 -14
  546. package/dist/heron/text/index.d.ts.map +0 -1
  547. package/dist/heron/text/index.js +0 -13
  548. package/dist/heron/text/index.js.map +0 -1
  549. package/dist/heron/text/types/ITextElement.d.ts +0 -31
  550. package/dist/heron/text/types/ITextElement.d.ts.map +0 -1
  551. package/dist/heron/text/types/ITextElement.js +0 -2
  552. package/dist/heron/text/types/ITextElement.js.map +0 -1
  553. package/dist/heron/text/types/index.d.ts +0 -2
  554. package/dist/heron/text/types/index.d.ts.map +0 -1
  555. package/dist/heron/text/types/index.js +0 -2
  556. package/dist/heron/text/types/index.js.map +0 -1
  557. package/dist/heron/utils/Base64Util.d.ts +0 -5
  558. package/dist/heron/utils/Base64Util.d.ts.map +0 -1
  559. package/dist/heron/utils/Base64Util.js +0 -45
  560. package/dist/heron/utils/Base64Util.js.map +0 -1
  561. package/dist/heron/utils/ByteArray.d.ts +0 -66
  562. package/dist/heron/utils/ByteArray.d.ts.map +0 -1
  563. package/dist/heron/utils/ByteArray.js +0 -303
  564. package/dist/heron/utils/ByteArray.js.map +0 -1
  565. package/dist/heron/utils/DebugLog.d.ts +0 -9
  566. package/dist/heron/utils/DebugLog.d.ts.map +0 -1
  567. package/dist/heron/utils/DebugLog.js +0 -25
  568. package/dist/heron/utils/DebugLog.js.map +0 -1
  569. package/dist/heron/utils/FontManager.d.ts +0 -11
  570. package/dist/heron/utils/FontManager.d.ts.map +0 -1
  571. package/dist/heron/utils/FontManager.js +0 -39
  572. package/dist/heron/utils/FontManager.js.map +0 -1
  573. package/dist/heron/utils/HashObject.d.ts +0 -9
  574. package/dist/heron/utils/HashObject.d.ts.map +0 -1
  575. package/dist/heron/utils/HashObject.js +0 -11
  576. package/dist/heron/utils/HashObject.js.map +0 -1
  577. package/dist/heron/utils/Logger.d.ts +0 -16
  578. package/dist/heron/utils/Logger.d.ts.map +0 -1
  579. package/dist/heron/utils/Logger.js +0 -26
  580. package/dist/heron/utils/Logger.js.map +0 -1
  581. package/dist/heron/utils/NumberUtils.d.ts +0 -15
  582. package/dist/heron/utils/NumberUtils.d.ts.map +0 -1
  583. package/dist/heron/utils/NumberUtils.js +0 -60
  584. package/dist/heron/utils/NumberUtils.js.map +0 -1
  585. package/dist/heron/utils/Timer.d.ts +0 -22
  586. package/dist/heron/utils/Timer.d.ts.map +0 -1
  587. package/dist/heron/utils/Timer.js +0 -67
  588. package/dist/heron/utils/Timer.js.map +0 -1
  589. package/dist/heron/utils/index.d.ts +0 -11
  590. package/dist/heron/utils/index.d.ts.map +0 -1
  591. package/dist/heron/utils/index.js +0 -10
  592. package/dist/heron/utils/index.js.map +0 -1
  593. package/dist/heron/utils/toColorString.d.ts +0 -2
  594. package/dist/heron/utils/toColorString.d.ts.map +0 -1
  595. package/dist/heron/utils/toColorString.js +0 -5
  596. package/dist/heron/utils/toColorString.js.map +0 -1
  597. /package/dist/blakron/player/{RenderBuffer.d.ts → canvas/RenderBuffer.d.ts} +0 -0
  598. /package/dist/blakron/player/{RenderBuffer.js → canvas/RenderBuffer.js} +0 -0
  599. /package/dist/blakron/player/{InstructionSet.js → webgl/InstructionSet.js} +0 -0
  600. /package/dist/blakron/player/{pipes → webgl/pipes}/BitmapPipe.js +0 -0
  601. /package/dist/blakron/player/{pipes → webgl/pipes}/MeshPipe.js +0 -0
@@ -1,721 +0,0 @@
1
- import { DisplayObjectContainer } from '../../display/DisplayObjectContainer.js';
2
- import { Matrix } from '../../geom/Matrix.js';
3
- import { CanvasRenderer } from '../CanvasRenderer.js';
4
- import { InstructionSet } from '../InstructionSet.js';
5
- import { BitmapPipe } from '../pipes/BitmapPipe.js';
6
- import { GraphicsPipe } from '../pipes/GraphicsPipe.js';
7
- import { MeshPipe } from '../pipes/MeshPipe.js';
8
- import { FilterPipe } from '../pipes/FilterPipe.js';
9
- import { MaskPipe } from '../pipes/MaskPipe.js';
10
- import { TextPipe } from '../pipes/TextPipe.js';
11
- import { WebGLRenderBuffer } from './WebGLRenderBuffer.js';
12
- // ── WebGLRenderer ─────────────────────────────────────────────────────────────
13
- /**
14
- * Two-phase WebGL renderer inspired by Pixi.js 8's RenderPipe / InstructionSet pattern.
15
- *
16
- * Phase A — Build (only when structureDirty):
17
- * Traverse the DisplayObject tree and produce a flat InstructionSet.
18
- * Each instruction captures the object reference + transform snapshot.
19
- *
20
- * Phase B — Execute (every frame):
21
- * Walk the InstructionSet and dispatch each instruction to its pipe.
22
- * No scene-graph traversal happens here.
23
- *
24
- * When only data changes (renderDirty but not structureDirty):
25
- * Call pipe.updateRenderable() for each dirty object, then execute.
26
- */
27
- export class WebGLRenderer {
28
- // ── Pipes ─────────────────────────────────────────────────────────────────
29
- _canvasRenderer = new CanvasRenderer();
30
- _bitmapPipe;
31
- _graphicsPipe;
32
- _meshPipe;
33
- _textPipe;
34
- _filterPipe = new FilterPipe();
35
- _maskPipe = new MaskPipe();
36
- // ── Instruction set ───────────────────────────────────────────────────────
37
- _instructionSet = new InstructionSet();
38
- _renderGroupSets = new WeakMap();
39
- _renderGroupSetList = [];
40
- // ── Nesting (for recursive offscreen renders, e.g. cacheAsBitmap) ────────
41
- _nestLevel = 0;
42
- constructor() {
43
- this._bitmapPipe = new BitmapPipe();
44
- this._graphicsPipe = new GraphicsPipe(this._canvasRenderer);
45
- this._meshPipe = new MeshPipe();
46
- this._textPipe = new TextPipe(this._canvasRenderer);
47
- }
48
- // ── Public entry point ────────────────────────────────────────────────────
49
- // Release pooled instructions back to their respective pipes before a rebuild.
50
- _releaseInstructions(set) {
51
- for (let i = 0; i < set.instructionSize; i++) {
52
- const inst = set.instructions[i];
53
- switch (inst.renderPipeId) {
54
- case 'filterPush':
55
- FilterPipe.releasePush(inst);
56
- break;
57
- case 'filterPop':
58
- FilterPipe.releasePop(inst);
59
- break;
60
- case 'maskPush':
61
- MaskPipe.releasePush(inst);
62
- break;
63
- case 'maskPop':
64
- MaskPipe.releasePop(inst);
65
- break;
66
- }
67
- }
68
- }
69
- render(displayObject, buffer, matrix) {
70
- this._nestLevel++;
71
- const ctx = buffer.context;
72
- ctx.pushBuffer(buffer);
73
- // Set (not multiply) the root transform so it doesn't accumulate across frames.
74
- buffer.setTransform(matrix.a, matrix.b, matrix.c, matrix.d, 0, 0);
75
- const set = this._instructionSet;
76
- // ── Phase A: build instructions if scene structure changed ────────────
77
- if (set.structureDirty) {
78
- this._releaseInstructions(set);
79
- set.reset();
80
- buffer.globalAlpha = 1;
81
- buffer.globalTintColor = 0xffffff;
82
- this._buildInstructions(displayObject, set, buffer, matrix.tx, matrix.ty, true);
83
- set.structureDirty = false;
84
- }
85
- else {
86
- // ── Partial update: patch GPU data for dirty renderables ──────────
87
- this._updateDirtyRenderables(set);
88
- }
89
- // ── Phase B: execute ──────────────────────────────────────────────────
90
- this._executeInstructions(set, buffer);
91
- ctx.flush();
92
- const drawCalls = buffer.drawCalls;
93
- buffer.onRenderFinish();
94
- ctx.popBuffer();
95
- // Reset to identity — clean slate for next frame.
96
- buffer.setTransform(1, 0, 0, 1, 0, 0);
97
- // Root renderDirty is consumed after a full render pass.
98
- displayObject.renderDirty = false;
99
- this._nestLevel--;
100
- if (this._nestLevel === 0) {
101
- WebGLRenderBuffer.release(WebGLRenderBuffer.create(buffer.context, 0, 0));
102
- }
103
- return drawCalls;
104
- }
105
- // ── Phase A: build ────────────────────────────────────────────────────────
106
- /**
107
- * Recursively traverse the DisplayObject tree and append instructions to `set`.
108
- * Captures the current transform/alpha/tint state into each instruction.
109
- */
110
- _buildInstructions(displayObject, set, buffer, offsetX, offsetY, isStage = false) {
111
- // cacheAsBitmap — treat as a single opaque leaf; render offscreen lazily.
112
- const displayList = displayObject.displayList;
113
- if (displayList && !isStage) {
114
- // Emit a synthetic BitmapInstruction backed by the DisplayList cache.
115
- // The execute phase will refresh the cache if dirty.
116
- const inst = this._makeCacheInstruction(displayObject, offsetX, offsetY, buffer);
117
- if (inst)
118
- set.add(inst);
119
- return;
120
- }
121
- // Emit self instruction (Bitmap / Shape / Sprite / Mesh).
122
- this._buildLeaf(displayObject, set, buffer, offsetX, offsetY);
123
- const children = displayObject.children;
124
- if (!children || children.length === 0)
125
- return;
126
- for (const child of children) {
127
- if (child.renderMode === 1 /* RenderMode.NONE */)
128
- continue;
129
- // Compute child transform.
130
- let ox, oy;
131
- let savedMatrix;
132
- if (child.useTranslate) {
133
- const m = child.getMatrix();
134
- ox = offsetX + child.internalX;
135
- oy = offsetY + child.internalY;
136
- savedMatrix = Matrix.create();
137
- savedMatrix.copyFrom(buffer.globalMatrix);
138
- buffer.transform(m.a, m.b, m.c, m.d, ox, oy);
139
- ox = -child.internalAnchorOffsetX;
140
- oy = -child.internalAnchorOffsetY;
141
- }
142
- else {
143
- ox = offsetX + child.internalX - child.internalAnchorOffsetX;
144
- oy = offsetY + child.internalY - child.internalAnchorOffsetY;
145
- }
146
- const prevAlpha = buffer.globalAlpha;
147
- if (child.internalAlpha !== 1)
148
- buffer.globalAlpha *= child.internalAlpha;
149
- const prevTint = buffer.globalTintColor;
150
- if (child.tintRGB !== 0xffffff)
151
- buffer.globalTintColor = child.tintRGB;
152
- // Emit effect wrappers then recurse.
153
- // RenderGroup: build the subtree into its own InstructionSet and
154
- // emit a single renderGroup instruction into the parent set.
155
- if (child instanceof DisplayObjectContainer && child.isRenderGroup) {
156
- this._buildRenderGroup(child, set, buffer, ox, oy);
157
- }
158
- else {
159
- switch (child.renderMode) {
160
- case 2 /* RenderMode.FILTER */:
161
- this._buildFilter(child, set, buffer, ox, oy);
162
- break;
163
- case 3 /* RenderMode.CLIP */:
164
- this._buildClip(child, set, buffer, ox, oy);
165
- break;
166
- case 4 /* RenderMode.SCROLLRECT */:
167
- this._buildScrollRect(child, set, buffer, ox, oy);
168
- break;
169
- default:
170
- this._buildInstructions(child, set, buffer, ox, oy);
171
- }
172
- }
173
- buffer.globalAlpha = prevAlpha;
174
- buffer.globalTintColor = prevTint;
175
- if (savedMatrix) {
176
- buffer.globalMatrix.copyFrom(savedMatrix);
177
- Matrix.release(savedMatrix);
178
- }
179
- }
180
- }
181
- // Emit a leaf instruction for a single DisplayObject (no children).
182
- _buildLeaf(obj, set, buffer, offsetX, offsetY) {
183
- const transform = this._snapshotTransform(buffer, offsetX, offsetY);
184
- switch (obj.renderObjectType) {
185
- case 2 /* RenderObjectType.MESH */:
186
- set.addLeaf({
187
- renderPipeId: 'mesh',
188
- renderable: obj,
189
- offsetX,
190
- offsetY,
191
- transform,
192
- });
193
- break;
194
- case 1 /* RenderObjectType.BITMAP */:
195
- set.addLeaf({
196
- renderPipeId: 'bitmap',
197
- renderable: obj,
198
- offsetX,
199
- offsetY,
200
- transform,
201
- });
202
- break;
203
- case 3 /* RenderObjectType.SHAPE */:
204
- set.addLeaf({
205
- renderPipeId: 'graphics',
206
- renderable: obj,
207
- graphics: obj.graphics,
208
- offsetX,
209
- offsetY,
210
- transform,
211
- });
212
- break;
213
- case 5 /* RenderObjectType.TEXT */:
214
- set.addLeaf({
215
- renderPipeId: 'text',
216
- renderable: obj,
217
- offsetX,
218
- offsetY,
219
- transform,
220
- });
221
- break;
222
- case 4 /* RenderObjectType.SPRITE */: {
223
- const sprite = obj;
224
- if (sprite.graphics.commands.length > 0) {
225
- set.addLeaf({
226
- renderPipeId: 'graphics',
227
- renderable: obj,
228
- graphics: sprite.graphics,
229
- offsetX,
230
- offsetY,
231
- transform,
232
- });
233
- }
234
- break;
235
- }
236
- }
237
- }
238
- _buildFilter(obj, set, buffer, offsetX, offsetY) {
239
- const filters = obj.internalFilters;
240
- if (!filters.length) {
241
- this._buildInstructions(obj, set, buffer, offsetX, offsetY);
242
- return;
243
- }
244
- const transform = this._snapshotTransform(buffer, offsetX, offsetY);
245
- const push = Object.assign(FilterPipe.makePush(obj, filters, offsetX, offsetY), {
246
- transform,
247
- });
248
- set.add(push);
249
- this._buildInstructions(obj, set, buffer, offsetX, offsetY);
250
- set.add(FilterPipe.makePop(obj, push));
251
- }
252
- _buildClip(obj, set, buffer, offsetX, offsetY) {
253
- const transform = this._snapshotTransform(buffer, offsetX, offsetY);
254
- const push = Object.assign(MaskPipe.makePush(obj, offsetX, offsetY), { transform });
255
- set.add(push);
256
- this._buildInstructions(obj, set, buffer, offsetX, offsetY);
257
- set.add(MaskPipe.makePop(obj, push));
258
- }
259
- _buildScrollRect(obj, set, buffer, offsetX, offsetY) {
260
- const rect = obj.internalScrollRect ?? obj.internalMaskRect;
261
- if (!rect || rect.isEmpty())
262
- return;
263
- let ox = offsetX, oy = offsetY;
264
- if (obj.internalScrollRect) {
265
- ox -= rect.x;
266
- oy -= rect.y;
267
- }
268
- const transform = this._snapshotTransform(buffer, offsetX, offsetY);
269
- const push = Object.assign(MaskPipe.makePush(obj, offsetX, offsetY), { transform });
270
- // Tag as scrollRect so execute knows which path to take.
271
- push.isScrollRect = true;
272
- set.add(push);
273
- this._buildInstructions(obj, set, buffer, ox, oy);
274
- set.add(MaskPipe.makePop(obj, push));
275
- }
276
- /**
277
- * Build a RenderGroup subtree into its own InstructionSet and emit a
278
- * single `renderGroup` instruction into the parent set.
279
- *
280
- * The child set is rebuilt only when its own `structureDirty` flag is set,
281
- * so changes inside the group never force a rebuild of the parent set.
282
- */
283
- _buildRenderGroup(obj, parentSet, buffer, offsetX, offsetY) {
284
- let groupSet = this._renderGroupSets.get(obj);
285
- if (!groupSet) {
286
- groupSet = new InstructionSet();
287
- this._renderGroupSets.set(obj, groupSet);
288
- this._renderGroupSetList.push(new WeakRef(obj));
289
- }
290
- if (groupSet.structureDirty) {
291
- this._releaseInstructions(groupSet);
292
- groupSet.reset();
293
- this._buildInstructions(obj, groupSet, buffer, offsetX, offsetY);
294
- groupSet.structureDirty = false;
295
- }
296
- else {
297
- this._updateDirtyRenderables(groupSet);
298
- }
299
- const transform = this._snapshotTransform(buffer, offsetX, offsetY);
300
- parentSet.add({
301
- renderPipeId: 'renderGroup',
302
- renderable: obj,
303
- set: groupSet,
304
- offsetX,
305
- offsetY,
306
- transform,
307
- });
308
- }
309
- // Build a synthetic instruction for a cacheAsBitmap object.
310
- _makeCacheInstruction(obj, offsetX, offsetY, buffer) {
311
- const displayList = obj.displayList;
312
- if (!displayList)
313
- return null;
314
- const transform = this._snapshotTransform(buffer, offsetX, offsetY);
315
- return {
316
- renderPipeId: 'displayListCache',
317
- renderable: obj,
318
- offsetX,
319
- offsetY,
320
- transform,
321
- };
322
- }
323
- // ── Phase A helpers ───────────────────────────────────────────────────────
324
- _snapshotTransform(buffer, offsetX, offsetY) {
325
- const m = buffer.globalMatrix;
326
- return {
327
- a: m.a,
328
- b: m.b,
329
- c: m.c,
330
- d: m.d,
331
- tx: m.tx,
332
- ty: m.ty,
333
- offsetX,
334
- offsetY,
335
- alpha: buffer.globalAlpha,
336
- tint: buffer.globalTintColor,
337
- };
338
- }
339
- // ── Partial update ────────────────────────────────────────────────────────
340
- _updateDirtyRenderables(set) {
341
- for (let i = 0; i < set.dirtyRenderableCount; i++) {
342
- const obj = set.dirtyRenderables[i];
343
- // Look up the instruction index for this object.
344
- const idx = set.renderableIndex.get(obj);
345
- if (idx === undefined)
346
- continue;
347
- const inst = set.instructions[idx];
348
- if (!inst)
349
- continue;
350
- // Recompute the transform snapshot from the object's current world state.
351
- // We can't use buffer.globalMatrix here (it's the main buffer's current
352
- // state, not the object's world transform), so we rebuild from scratch.
353
- this._refreshLeafTransform(obj, inst);
354
- }
355
- set.dirtyRenderableCount = 0;
356
- }
357
- /**
358
- * Recompute the transform snapshot for a leaf instruction from the object's
359
- * current concatenated matrix and cached world alpha/tint.
360
- */
361
- _refreshLeafTransform(obj, inst) {
362
- const cm = obj.getConcatenatedMatrix();
363
- const t = inst.transform;
364
- t.a = cm.a;
365
- t.b = cm.b;
366
- t.c = cm.c;
367
- t.d = cm.d;
368
- t.tx = cm.tx;
369
- t.ty = cm.ty;
370
- t.offsetX = 0;
371
- t.offsetY = 0;
372
- t.alpha = obj.worldAlpha;
373
- t.tint = obj.worldTint;
374
- }
375
- // ── Phase B: execute ──────────────────────────────────────────────────────
376
- _executeInstructions(set, buffer) {
377
- // Stack for offscreen buffers opened by filter/mask push instructions.
378
- const offscreenStack = [];
379
- const scissorStack = [];
380
- // Track the currently active buffer — leaf instructions draw into this.
381
- let activeBuffer = buffer;
382
- for (let i = 0; i < set.instructionSize; i++) {
383
- const inst = set.instructions[i];
384
- switch (inst.renderPipeId) {
385
- // ── Leaf nodes ────────────────────────────────────────────────
386
- case 'bitmap': {
387
- const leaf = inst;
388
- this._applyTransform(activeBuffer, leaf.transform);
389
- this._bitmapPipe.execute(leaf, activeBuffer);
390
- break;
391
- }
392
- case 'mesh': {
393
- const leaf = inst;
394
- this._applyTransform(activeBuffer, leaf.transform);
395
- this._meshPipe.execute(leaf, activeBuffer);
396
- break;
397
- }
398
- case 'graphics': {
399
- const leaf = inst;
400
- this._applyTransform(activeBuffer, leaf.transform);
401
- this._graphicsPipe.execute(leaf, activeBuffer);
402
- break;
403
- }
404
- case 'text': {
405
- const leaf = inst;
406
- this._applyTransform(activeBuffer, leaf.transform);
407
- this._textPipe.execute(leaf, activeBuffer);
408
- break;
409
- }
410
- // ── DisplayList cache ─────────────────────────────────────────
411
- case 'displayListCache': {
412
- const cacheInst = inst;
413
- this._applyTransform(activeBuffer, cacheInst.transform);
414
- this._executeDisplayListCache(cacheInst.renderable, activeBuffer, cacheInst.offsetX, cacheInst.offsetY);
415
- break;
416
- }
417
- // ── RenderGroup ───────────────────────────────────────────────
418
- case 'renderGroup': {
419
- const rgInst = inst;
420
- this._applyTransform(activeBuffer, rgInst.transform);
421
- this._executeInstructions(rgInst.set, activeBuffer);
422
- break;
423
- }
424
- // ── Filter push/pop ───────────────────────────────────────────
425
- case 'filterPush': {
426
- const push = inst;
427
- const pushT = push.transform;
428
- this._applyTransform(activeBuffer, pushT);
429
- const offscreen = this._filterPipe.executePush(push, activeBuffer);
430
- offscreenStack.push(offscreen);
431
- if (offscreen) {
432
- this._setOffscreenOrigin(offscreen, push.renderable.getOriginalBounds(), pushT);
433
- activeBuffer = offscreen;
434
- }
435
- break;
436
- }
437
- case 'filterPop': {
438
- const pop = inst;
439
- const offscreen = offscreenStack.pop() ?? null;
440
- if (offscreen)
441
- activeBuffer =
442
- offscreenStack.length > 0 ? (offscreenStack[offscreenStack.length - 1] ?? buffer) : buffer;
443
- this._filterPipe.executePop(pop, activeBuffer, offscreen);
444
- break;
445
- }
446
- // ── Mask / clip push/pop ──────────────────────────────────────
447
- case 'maskPush': {
448
- const push = inst;
449
- const pushT = push.transform;
450
- this._applyTransform(activeBuffer, pushT);
451
- if (push.isScrollRect) {
452
- const usedScissor = this._maskPipe.executeScrollRectPush(push, activeBuffer);
453
- scissorStack.push(usedScissor);
454
- offscreenStack.push(null);
455
- }
456
- else {
457
- const displayBuffer = this._maskPipe.executeClipPush(push, activeBuffer, this);
458
- offscreenStack.push(displayBuffer);
459
- if (displayBuffer) {
460
- this._setOffscreenOrigin(displayBuffer, push.renderable.getOriginalBounds(), pushT);
461
- activeBuffer = displayBuffer;
462
- }
463
- }
464
- break;
465
- }
466
- case 'maskPop': {
467
- const pop = inst;
468
- if (pop.push.isScrollRect) {
469
- const usedScissor = scissorStack.pop() ?? false;
470
- offscreenStack.pop();
471
- this._maskPipe.executeScrollRectPop(activeBuffer, usedScissor);
472
- }
473
- else {
474
- const displayBuffer = offscreenStack.pop() ?? null;
475
- // Restore the parent buffer before compositing.
476
- if (displayBuffer)
477
- activeBuffer =
478
- offscreenStack.length > 0
479
- ? (offscreenStack[offscreenStack.length - 1] ?? buffer)
480
- : buffer;
481
- this._maskPipe.executeClipPop(pop, activeBuffer, displayBuffer, this);
482
- }
483
- break;
484
- }
485
- }
486
- }
487
- }
488
- // Restore the buffer's global matrix / alpha / tint from a snapshot.
489
- _applyTransform(buffer, t) {
490
- const m = buffer.globalMatrix;
491
- m.a = t.a;
492
- m.b = t.b;
493
- m.c = t.c;
494
- m.d = t.d;
495
- m.tx = t.tx + t.offsetX - buffer.offscreenOriginX;
496
- m.ty = t.ty + t.offsetY - buffer.offscreenOriginY;
497
- buffer.globalAlpha = t.alpha;
498
- buffer.globalTintColor = t.tint;
499
- }
500
- /**
501
- * Compute the world-space position that should map to (padX, padY) in the
502
- * offscreen buffer. Because the buffer includes filter padding, the
503
- * content's bounds origin must land at (padX, padY) rather than (0,0).
504
- */
505
- _setOffscreenOrigin(buf, bounds, t) {
506
- const padX = buf.filterPadX;
507
- const padY = buf.filterPadY;
508
- // World position of bounds origin:
509
- const worldBX = t.a * bounds.x + t.c * bounds.y + t.tx + t.offsetX;
510
- const worldBY = t.b * bounds.x + t.d * bounds.y + t.ty + t.offsetY;
511
- // We want: _applyTransform gives globalMatrix.tx = worldBX - originX = padX
512
- // So: originX = worldBX - padX
513
- buf.offscreenOriginX = worldBX - padX;
514
- buf.offscreenOriginY = worldBY - padY;
515
- }
516
- // Execute a cacheAsBitmap DisplayList instruction.
517
- _executeDisplayListCache(obj, buffer, offsetX, offsetY) {
518
- const displayList = obj.displayList;
519
- if (!displayList)
520
- return;
521
- if (obj.cacheDirty || obj.renderDirty) {
522
- if (displayList.updateSurfaceSize()) {
523
- displayList.renderBuffer.clear();
524
- this._canvasRenderer.renderToContext(obj, displayList.renderBuffer.context, displayList.offsetX, displayList.offsetY);
525
- displayList.updateBitmapData();
526
- }
527
- obj.cacheDirty = false;
528
- obj.renderDirty = false;
529
- // Structure may have changed inside the cached subtree — mark dirty
530
- // so next frame rebuilds if the cache is invalidated.
531
- }
532
- if (!displayList.bitmapData?.source)
533
- return;
534
- const bd = displayList.bitmapData;
535
- const w = displayList.renderBuffer.width;
536
- const h = displayList.renderBuffer.height;
537
- // offsetX/Y already in globalMatrix via _applyTransform.
538
- if (offsetX !== 0 || offsetY !== 0) {
539
- buffer.globalMatrix.append(1, 0, 0, 1, offsetX, offsetY);
540
- }
541
- buffer.context.drawImage(bd, 0, 0, w, h, -displayList.offsetX, -displayList.offsetY, w, h, w, h, false);
542
- if (offsetX !== 0 || offsetY !== 0) {
543
- buffer.globalMatrix.append(1, 0, 0, 1, -offsetX, -offsetY);
544
- }
545
- }
546
- // ── Public accessor for MaskPipe (needs to call _drawDisplayObject) ───────
547
- /**
548
- * @internal Used by MaskPipe.executeClipPush() to render mask objects
549
- * into offscreen buffers during the execute phase.
550
- */
551
- _drawDisplayObject(obj, buffer, offsetX, offsetY) {
552
- // For mask rendering we do a direct (non-instruction-set) traversal
553
- // into the offscreen buffer — this is the same as the old approach.
554
- return this._directDraw(obj, buffer, offsetX, offsetY);
555
- }
556
- // Direct draw (used for offscreen mask/filter buffers).
557
- _directDraw(obj, buffer, offsetX, offsetY) {
558
- let drawCalls = 0;
559
- // Bake offset into globalMatrix instead of buffer.offsetX
560
- // so that GraphicsPipe / BitmapPipe / MeshPipe see it in the matrix.
561
- if (offsetX !== 0 || offsetY !== 0) {
562
- buffer.globalMatrix.append(1, 0, 0, 1, offsetX, offsetY);
563
- }
564
- switch (obj.renderObjectType) {
565
- case 2 /* RenderObjectType.MESH */: {
566
- const inst = { renderPipeId: 'mesh', renderable: obj, offsetX: 0, offsetY: 0 };
567
- this._meshPipe.execute(inst, buffer);
568
- drawCalls++;
569
- break;
570
- }
571
- case 1 /* RenderObjectType.BITMAP */: {
572
- const inst = {
573
- renderPipeId: 'bitmap',
574
- renderable: obj,
575
- offsetX: 0,
576
- offsetY: 0,
577
- };
578
- this._bitmapPipe.execute(inst, buffer);
579
- drawCalls++;
580
- break;
581
- }
582
- case 3 /* RenderObjectType.SHAPE */: {
583
- const inst = {
584
- renderPipeId: 'graphics',
585
- renderable: obj,
586
- graphics: obj.graphics,
587
- offsetX: 0,
588
- offsetY: 0,
589
- };
590
- this._graphicsPipe.execute(inst, buffer);
591
- drawCalls++;
592
- break;
593
- }
594
- case 5 /* RenderObjectType.TEXT */: {
595
- const inst = {
596
- renderPipeId: 'text',
597
- renderable: obj,
598
- offsetX: 0,
599
- offsetY: 0,
600
- };
601
- this._textPipe.execute(inst, buffer);
602
- drawCalls++;
603
- break;
604
- }
605
- case 4 /* RenderObjectType.SPRITE */: {
606
- const sprite = obj;
607
- if (sprite.graphics && sprite.graphics.commands.length > 0) {
608
- const inst = {
609
- renderPipeId: 'graphics',
610
- renderable: obj,
611
- graphics: sprite.graphics,
612
- offsetX: 0,
613
- offsetY: 0,
614
- };
615
- this._graphicsPipe.execute(inst, buffer);
616
- drawCalls++;
617
- }
618
- break;
619
- }
620
- }
621
- if (offsetX !== 0 || offsetY !== 0) {
622
- buffer.globalMatrix.append(1, 0, 0, 1, -offsetX, -offsetY);
623
- }
624
- const children = obj.children;
625
- if (!children)
626
- return drawCalls;
627
- for (const child of children) {
628
- if (child.renderMode === 1 /* RenderMode.NONE */)
629
- continue;
630
- let ox, oy;
631
- let savedMatrix;
632
- if (child.useTranslate) {
633
- const m = child.getMatrix();
634
- ox = offsetX + child.internalX;
635
- oy = offsetY + child.internalY;
636
- savedMatrix = Matrix.create();
637
- savedMatrix.copyFrom(buffer.globalMatrix);
638
- buffer.transform(m.a, m.b, m.c, m.d, ox, oy);
639
- ox = -child.internalAnchorOffsetX;
640
- oy = -child.internalAnchorOffsetY;
641
- }
642
- else {
643
- ox = offsetX + child.internalX - child.internalAnchorOffsetX;
644
- oy = offsetY + child.internalY - child.internalAnchorOffsetY;
645
- }
646
- const prevAlpha = buffer.globalAlpha;
647
- if (child.internalAlpha !== 1)
648
- buffer.globalAlpha *= child.internalAlpha;
649
- const prevTint = buffer.globalTintColor;
650
- if (child.tintRGB !== 0xffffff)
651
- buffer.globalTintColor = child.tintRGB;
652
- drawCalls += this._directDraw(child, buffer, ox, oy);
653
- buffer.globalAlpha = prevAlpha;
654
- buffer.globalTintColor = prevTint;
655
- if (savedMatrix) {
656
- buffer.globalMatrix.copyFrom(savedMatrix);
657
- Matrix.release(savedMatrix);
658
- }
659
- }
660
- return drawCalls;
661
- }
662
- // ── Structure dirty notification ──────────────────────────────────────────
663
- /**
664
- * Call this when the scene graph structure changes (child added/removed,
665
- * visibility toggled, filter added, etc.) to trigger a full rebuild next frame.
666
- *
667
- * If `owner` is provided and is a RenderGroup, only that group's set is
668
- * marked dirty — the parent set is left untouched.
669
- */
670
- markStructureDirty(owner) {
671
- if (owner?.isRenderGroup) {
672
- const groupSet = this._renderGroupSets.get(owner);
673
- if (groupSet) {
674
- groupSet.structureDirty = true;
675
- return;
676
- }
677
- }
678
- this._instructionSet.structureDirty = true;
679
- // When no specific owner is given (e.g. context restored), mark ALL
680
- // RenderGroup sets dirty so they also rebuild with fresh texture refs.
681
- if (!owner) {
682
- for (let i = this._renderGroupSetList.length - 1; i >= 0; i--) {
683
- const container = this._renderGroupSetList[i].deref();
684
- if (!container) {
685
- // GC'd — remove dead entry.
686
- this._renderGroupSetList.splice(i, 1);
687
- continue;
688
- }
689
- const groupSet = this._renderGroupSets.get(container);
690
- if (groupSet)
691
- groupSet.structureDirty = true;
692
- }
693
- }
694
- }
695
- /**
696
- * @internal Called by Player when a DisplayObject's data changes but the
697
- * scene structure is stable. Queues the object for a transform-snapshot
698
- * update instead of a full rebuild.
699
- *
700
- * Routes to the RenderGroup's set if the object lives inside one.
701
- */
702
- markRenderableDirty(obj) {
703
- // Walk up to find the nearest RenderGroup ancestor (if any).
704
- let p = obj.internalParent;
705
- while (p) {
706
- if (p instanceof DisplayObjectContainer && p.isRenderGroup) {
707
- const groupSet = this._renderGroupSets.get(p);
708
- if (groupSet) {
709
- if (!groupSet.structureDirty)
710
- groupSet.markRenderableDirty(obj);
711
- return;
712
- }
713
- }
714
- p = p.internalParent;
715
- }
716
- // No RenderGroup ancestor — route to the root set.
717
- if (!this._instructionSet.structureDirty)
718
- this._instructionSet.markRenderableDirty(obj);
719
- }
720
- }
721
- //# sourceMappingURL=WebGLRenderer.js.map