@blakron/core 0.4.2 → 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 (541) hide show
  1. package/package.json +1 -1
  2. package/dist/blakron/player/CanvasRenderer.d.ts +0 -49
  3. package/dist/blakron/player/CanvasRenderer.d.ts.map +0 -1
  4. package/dist/blakron/player/CanvasRenderer.js +0 -792
  5. package/dist/blakron/player/CanvasRenderer.js.map +0 -1
  6. package/dist/blakron/player/DisplayList.d.ts +0 -32
  7. package/dist/blakron/player/DisplayList.d.ts.map +0 -1
  8. package/dist/blakron/player/DisplayList.js +0 -78
  9. package/dist/blakron/player/DisplayList.js.map +0 -1
  10. package/dist/blakron/player/InstructionSet.d.ts +0 -49
  11. package/dist/blakron/player/InstructionSet.d.ts.map +0 -1
  12. package/dist/blakron/player/InstructionSet.js +0 -45
  13. package/dist/blakron/player/InstructionSet.js.map +0 -1
  14. package/dist/blakron/player/RenderBuffer.d.ts +0 -35
  15. package/dist/blakron/player/RenderBuffer.d.ts.map +0 -1
  16. package/dist/blakron/player/RenderBuffer.js +0 -83
  17. package/dist/blakron/player/RenderBuffer.js.map +0 -1
  18. package/dist/blakron/player/pipes/BitmapPipe.d.ts +0 -35
  19. package/dist/blakron/player/pipes/BitmapPipe.d.ts.map +0 -1
  20. package/dist/blakron/player/pipes/BitmapPipe.js +0 -130
  21. package/dist/blakron/player/pipes/BitmapPipe.js.map +0 -1
  22. package/dist/blakron/player/pipes/FilterPipe.d.ts +0 -68
  23. package/dist/blakron/player/pipes/FilterPipe.d.ts.map +0 -1
  24. package/dist/blakron/player/pipes/FilterPipe.js +0 -169
  25. package/dist/blakron/player/pipes/FilterPipe.js.map +0 -1
  26. package/dist/blakron/player/pipes/GraphicsPipe.d.ts +0 -36
  27. package/dist/blakron/player/pipes/GraphicsPipe.d.ts.map +0 -1
  28. package/dist/blakron/player/pipes/GraphicsPipe.js +0 -126
  29. package/dist/blakron/player/pipes/GraphicsPipe.js.map +0 -1
  30. package/dist/blakron/player/pipes/MaskPipe.d.ts +0 -58
  31. package/dist/blakron/player/pipes/MaskPipe.d.ts.map +0 -1
  32. package/dist/blakron/player/pipes/MaskPipe.js +0 -190
  33. package/dist/blakron/player/pipes/MaskPipe.js.map +0 -1
  34. package/dist/blakron/player/pipes/MeshPipe.d.ts +0 -22
  35. package/dist/blakron/player/pipes/MeshPipe.d.ts.map +0 -1
  36. package/dist/blakron/player/pipes/MeshPipe.js +0 -50
  37. package/dist/blakron/player/pipes/MeshPipe.js.map +0 -1
  38. package/dist/blakron/player/pipes/TextPipe.d.ts +0 -52
  39. package/dist/blakron/player/pipes/TextPipe.d.ts.map +0 -1
  40. package/dist/blakron/player/pipes/TextPipe.js +0 -163
  41. package/dist/blakron/player/pipes/TextPipe.js.map +0 -1
  42. package/dist/blakron/player/webgl/ShaderLib.d.ts +0 -22
  43. package/dist/blakron/player/webgl/ShaderLib.d.ts.map +0 -1
  44. package/dist/blakron/player/webgl/ShaderLib.js +0 -246
  45. package/dist/blakron/player/webgl/ShaderLib.js.map +0 -1
  46. package/dist/blakron/player/webgl2/ShaderLib2.d.ts +0 -22
  47. package/dist/blakron/player/webgl2/ShaderLib2.d.ts.map +0 -1
  48. package/dist/blakron/player/webgl2/ShaderLib2.js +0 -261
  49. package/dist/blakron/player/webgl2/ShaderLib2.js.map +0 -1
  50. package/dist/heron/benchmark/BenchmarkRunner.d.ts +0 -60
  51. package/dist/heron/benchmark/BenchmarkRunner.d.ts.map +0 -1
  52. package/dist/heron/benchmark/BenchmarkRunner.js +0 -112
  53. package/dist/heron/benchmark/BenchmarkRunner.js.map +0 -1
  54. package/dist/heron/benchmark/MetricsCollector.d.ts +0 -34
  55. package/dist/heron/benchmark/MetricsCollector.d.ts.map +0 -1
  56. package/dist/heron/benchmark/MetricsCollector.js +0 -123
  57. package/dist/heron/benchmark/MetricsCollector.js.map +0 -1
  58. package/dist/heron/benchmark/PerfPanel.d.ts +0 -24
  59. package/dist/heron/benchmark/PerfPanel.d.ts.map +0 -1
  60. package/dist/heron/benchmark/PerfPanel.js +0 -131
  61. package/dist/heron/benchmark/PerfPanel.js.map +0 -1
  62. package/dist/heron/benchmark/ReportExporter.d.ts +0 -8
  63. package/dist/heron/benchmark/ReportExporter.d.ts.map +0 -1
  64. package/dist/heron/benchmark/ReportExporter.js +0 -54
  65. package/dist/heron/benchmark/ReportExporter.js.map +0 -1
  66. package/dist/heron/benchmark/SceneRegistry.d.ts +0 -16
  67. package/dist/heron/benchmark/SceneRegistry.d.ts.map +0 -1
  68. package/dist/heron/benchmark/SceneRegistry.js +0 -233
  69. package/dist/heron/benchmark/SceneRegistry.js.map +0 -1
  70. package/dist/heron/benchmark/types.d.ts +0 -47
  71. package/dist/heron/benchmark/types.d.ts.map +0 -1
  72. package/dist/heron/benchmark/types.js +0 -2
  73. package/dist/heron/benchmark/types.js.map +0 -1
  74. package/dist/heron/display/Bitmap.d.ts +0 -53
  75. package/dist/heron/display/Bitmap.d.ts.map +0 -1
  76. package/dist/heron/display/Bitmap.js +0 -176
  77. package/dist/heron/display/Bitmap.js.map +0 -1
  78. package/dist/heron/display/DisplayObject.d.ts +0 -206
  79. package/dist/heron/display/DisplayObject.d.ts.map +0 -1
  80. package/dist/heron/display/DisplayObject.js +0 -827
  81. package/dist/heron/display/DisplayObject.js.map +0 -1
  82. package/dist/heron/display/DisplayObjectContainer.d.ts +0 -57
  83. package/dist/heron/display/DisplayObjectContainer.d.ts.map +0 -1
  84. package/dist/heron/display/DisplayObjectContainer.js +0 -348
  85. package/dist/heron/display/DisplayObjectContainer.js.map +0 -1
  86. package/dist/heron/display/Graphics.d.ts +0 -49
  87. package/dist/heron/display/Graphics.d.ts.map +0 -1
  88. package/dist/heron/display/Graphics.js +0 -315
  89. package/dist/heron/display/Graphics.js.map +0 -1
  90. package/dist/heron/display/GraphicsPath.d.ts +0 -112
  91. package/dist/heron/display/GraphicsPath.d.ts.map +0 -1
  92. package/dist/heron/display/GraphicsPath.js +0 -2
  93. package/dist/heron/display/GraphicsPath.js.map +0 -1
  94. package/dist/heron/display/Mesh.d.ts +0 -21
  95. package/dist/heron/display/Mesh.d.ts.map +0 -1
  96. package/dist/heron/display/Mesh.js +0 -56
  97. package/dist/heron/display/Mesh.js.map +0 -1
  98. package/dist/heron/display/Shape.d.ts +0 -12
  99. package/dist/heron/display/Shape.d.ts.map +0 -1
  100. package/dist/heron/display/Shape.js +0 -35
  101. package/dist/heron/display/Shape.js.map +0 -1
  102. package/dist/heron/display/Sprite.d.ts +0 -13
  103. package/dist/heron/display/Sprite.d.ts.map +0 -1
  104. package/dist/heron/display/Sprite.js +0 -37
  105. package/dist/heron/display/Sprite.js.map +0 -1
  106. package/dist/heron/display/Stage.d.ts +0 -45
  107. package/dist/heron/display/Stage.d.ts.map +0 -1
  108. package/dist/heron/display/Stage.js +0 -107
  109. package/dist/heron/display/Stage.js.map +0 -1
  110. package/dist/heron/display/enums/BitmapFillMode.d.ts +0 -7
  111. package/dist/heron/display/enums/BitmapFillMode.d.ts.map +0 -1
  112. package/dist/heron/display/enums/BitmapFillMode.js +0 -6
  113. package/dist/heron/display/enums/BitmapFillMode.js.map +0 -1
  114. package/dist/heron/display/enums/BlendMode.d.ts +0 -24
  115. package/dist/heron/display/enums/BlendMode.d.ts.map +0 -1
  116. package/dist/heron/display/enums/BlendMode.js +0 -31
  117. package/dist/heron/display/enums/BlendMode.js.map +0 -1
  118. package/dist/heron/display/enums/CapsStyle.d.ts +0 -7
  119. package/dist/heron/display/enums/CapsStyle.d.ts.map +0 -1
  120. package/dist/heron/display/enums/CapsStyle.js +0 -6
  121. package/dist/heron/display/enums/CapsStyle.js.map +0 -1
  122. package/dist/heron/display/enums/GradientType.d.ts +0 -6
  123. package/dist/heron/display/enums/GradientType.d.ts.map +0 -1
  124. package/dist/heron/display/enums/GradientType.js +0 -5
  125. package/dist/heron/display/enums/GradientType.js.map +0 -1
  126. package/dist/heron/display/enums/JointStyle.d.ts +0 -7
  127. package/dist/heron/display/enums/JointStyle.d.ts.map +0 -1
  128. package/dist/heron/display/enums/JointStyle.js +0 -6
  129. package/dist/heron/display/enums/JointStyle.js.map +0 -1
  130. package/dist/heron/display/enums/OrientationMode.d.ts +0 -8
  131. package/dist/heron/display/enums/OrientationMode.d.ts.map +0 -1
  132. package/dist/heron/display/enums/OrientationMode.js +0 -7
  133. package/dist/heron/display/enums/OrientationMode.js.map +0 -1
  134. package/dist/heron/display/enums/StageScaleMode.d.ts +0 -12
  135. package/dist/heron/display/enums/StageScaleMode.d.ts.map +0 -1
  136. package/dist/heron/display/enums/StageScaleMode.js +0 -11
  137. package/dist/heron/display/enums/StageScaleMode.js.map +0 -1
  138. package/dist/heron/display/enums/index.d.ts +0 -8
  139. package/dist/heron/display/enums/index.d.ts.map +0 -1
  140. package/dist/heron/display/enums/index.js +0 -8
  141. package/dist/heron/display/enums/index.js.map +0 -1
  142. package/dist/heron/display/index.d.ts +0 -21
  143. package/dist/heron/display/index.d.ts.map +0 -1
  144. package/dist/heron/display/index.js +0 -20
  145. package/dist/heron/display/index.js.map +0 -1
  146. package/dist/heron/display/texture/BitmapData.d.ts +0 -37
  147. package/dist/heron/display/texture/BitmapData.d.ts.map +0 -1
  148. package/dist/heron/display/texture/BitmapData.js +0 -144
  149. package/dist/heron/display/texture/BitmapData.js.map +0 -1
  150. package/dist/heron/display/texture/RenderTexture.d.ts +0 -13
  151. package/dist/heron/display/texture/RenderTexture.d.ts.map +0 -1
  152. package/dist/heron/display/texture/RenderTexture.js +0 -51
  153. package/dist/heron/display/texture/RenderTexture.js.map +0 -1
  154. package/dist/heron/display/texture/SpriteSheet.d.ts +0 -13
  155. package/dist/heron/display/texture/SpriteSheet.d.ts.map +0 -1
  156. package/dist/heron/display/texture/SpriteSheet.js +0 -34
  157. package/dist/heron/display/texture/SpriteSheet.js.map +0 -1
  158. package/dist/heron/display/texture/Texture.d.ts +0 -33
  159. package/dist/heron/display/texture/Texture.d.ts.map +0 -1
  160. package/dist/heron/display/texture/Texture.js +0 -77
  161. package/dist/heron/display/texture/Texture.js.map +0 -1
  162. package/dist/heron/display/texture/index.d.ts +0 -5
  163. package/dist/heron/display/texture/index.d.ts.map +0 -1
  164. package/dist/heron/display/texture/index.js +0 -5
  165. package/dist/heron/display/texture/index.js.map +0 -1
  166. package/dist/heron/events/Event.d.ts +0 -57
  167. package/dist/heron/events/Event.d.ts.map +0 -1
  168. package/dist/heron/events/Event.js +0 -139
  169. package/dist/heron/events/Event.js.map +0 -1
  170. package/dist/heron/events/EventDispatcher.d.ts +0 -23
  171. package/dist/heron/events/EventDispatcher.d.ts.map +0 -1
  172. package/dist/heron/events/EventDispatcher.js +0 -123
  173. package/dist/heron/events/EventDispatcher.js.map +0 -1
  174. package/dist/heron/events/EventPhase.d.ts +0 -6
  175. package/dist/heron/events/EventPhase.d.ts.map +0 -1
  176. package/dist/heron/events/EventPhase.js +0 -2
  177. package/dist/heron/events/EventPhase.js.map +0 -1
  178. package/dist/heron/events/FocusEvent.d.ts +0 -7
  179. package/dist/heron/events/FocusEvent.d.ts.map +0 -1
  180. package/dist/heron/events/FocusEvent.js +0 -11
  181. package/dist/heron/events/FocusEvent.js.map +0 -1
  182. package/dist/heron/events/HTTPStatusEvent.d.ts +0 -10
  183. package/dist/heron/events/HTTPStatusEvent.d.ts.map +0 -1
  184. package/dist/heron/events/HTTPStatusEvent.js +0 -24
  185. package/dist/heron/events/HTTPStatusEvent.js.map +0 -1
  186. package/dist/heron/events/IEventDispatcher.d.ts +0 -11
  187. package/dist/heron/events/IEventDispatcher.d.ts.map +0 -1
  188. package/dist/heron/events/IEventDispatcher.js +0 -2
  189. package/dist/heron/events/IEventDispatcher.js.map +0 -1
  190. package/dist/heron/events/IOErrorEvent.d.ts +0 -8
  191. package/dist/heron/events/IOErrorEvent.d.ts.map +0 -1
  192. package/dist/heron/events/IOErrorEvent.js +0 -17
  193. package/dist/heron/events/IOErrorEvent.js.map +0 -1
  194. package/dist/heron/events/ProgressEvent.d.ts +0 -11
  195. package/dist/heron/events/ProgressEvent.d.ts.map +0 -1
  196. package/dist/heron/events/ProgressEvent.js +0 -25
  197. package/dist/heron/events/ProgressEvent.js.map +0 -1
  198. package/dist/heron/events/StageOrientationEvent.d.ts +0 -8
  199. package/dist/heron/events/StageOrientationEvent.d.ts.map +0 -1
  200. package/dist/heron/events/StageOrientationEvent.js +0 -17
  201. package/dist/heron/events/StageOrientationEvent.js.map +0 -1
  202. package/dist/heron/events/TextEvent.d.ts +0 -9
  203. package/dist/heron/events/TextEvent.d.ts.map +0 -1
  204. package/dist/heron/events/TextEvent.js +0 -21
  205. package/dist/heron/events/TextEvent.js.map +0 -1
  206. package/dist/heron/events/TimerEvent.d.ts +0 -14
  207. package/dist/heron/events/TimerEvent.d.ts.map +0 -1
  208. package/dist/heron/events/TimerEvent.js +0 -27
  209. package/dist/heron/events/TimerEvent.js.map +0 -1
  210. package/dist/heron/events/TouchEvent.d.ts +0 -32
  211. package/dist/heron/events/TouchEvent.d.ts.map +0 -1
  212. package/dist/heron/events/TouchEvent.js +0 -85
  213. package/dist/heron/events/TouchEvent.js.map +0 -1
  214. package/dist/heron/events/index.d.ts +0 -13
  215. package/dist/heron/events/index.d.ts.map +0 -1
  216. package/dist/heron/events/index.js +0 -11
  217. package/dist/heron/events/index.js.map +0 -1
  218. package/dist/heron/external/ExternalInterface.d.ts +0 -18
  219. package/dist/heron/external/ExternalInterface.d.ts.map +0 -1
  220. package/dist/heron/external/ExternalInterface.js +0 -23
  221. package/dist/heron/external/ExternalInterface.js.map +0 -1
  222. package/dist/heron/external/index.d.ts +0 -2
  223. package/dist/heron/external/index.d.ts.map +0 -1
  224. package/dist/heron/external/index.js +0 -2
  225. package/dist/heron/external/index.js.map +0 -1
  226. package/dist/heron/filters/BlurFilter.d.ts +0 -16
  227. package/dist/heron/filters/BlurFilter.d.ts.map +0 -1
  228. package/dist/heron/filters/BlurFilter.js +0 -56
  229. package/dist/heron/filters/BlurFilter.js.map +0 -1
  230. package/dist/heron/filters/ColorMatrixFilter.d.ts +0 -10
  231. package/dist/heron/filters/ColorMatrixFilter.d.ts.map +0 -1
  232. package/dist/heron/filters/ColorMatrixFilter.js +0 -51
  233. package/dist/heron/filters/ColorMatrixFilter.js.map +0 -1
  234. package/dist/heron/filters/CustomFilter.d.ts +0 -12
  235. package/dist/heron/filters/CustomFilter.d.ts.map +0 -1
  236. package/dist/heron/filters/CustomFilter.js +0 -43
  237. package/dist/heron/filters/CustomFilter.js.map +0 -1
  238. package/dist/heron/filters/DropShadowFilter.d.ts +0 -16
  239. package/dist/heron/filters/DropShadowFilter.d.ts.map +0 -1
  240. package/dist/heron/filters/DropShadowFilter.js +0 -76
  241. package/dist/heron/filters/DropShadowFilter.js.map +0 -1
  242. package/dist/heron/filters/Filter.d.ts +0 -20
  243. package/dist/heron/filters/Filter.d.ts.map +0 -1
  244. package/dist/heron/filters/Filter.js +0 -27
  245. package/dist/heron/filters/Filter.js.map +0 -1
  246. package/dist/heron/filters/GlowFilter.d.ts +0 -34
  247. package/dist/heron/filters/GlowFilter.d.ts.map +0 -1
  248. package/dist/heron/filters/GlowFilter.js +0 -131
  249. package/dist/heron/filters/GlowFilter.js.map +0 -1
  250. package/dist/heron/filters/index.d.ts +0 -7
  251. package/dist/heron/filters/index.d.ts.map +0 -1
  252. package/dist/heron/filters/index.js +0 -7
  253. package/dist/heron/filters/index.js.map +0 -1
  254. package/dist/heron/geom/Matrix.d.ts +0 -51
  255. package/dist/heron/geom/Matrix.d.ts.map +0 -1
  256. package/dist/heron/geom/Matrix.js +0 -312
  257. package/dist/heron/geom/Matrix.js.map +0 -1
  258. package/dist/heron/geom/Point.d.ts +0 -24
  259. package/dist/heron/geom/Point.d.ts.map +0 -1
  260. package/dist/heron/geom/Point.js +0 -75
  261. package/dist/heron/geom/Point.js.map +0 -1
  262. package/dist/heron/geom/Rectangle.d.ts +0 -48
  263. package/dist/heron/geom/Rectangle.d.ts.map +0 -1
  264. package/dist/heron/geom/Rectangle.js +0 -176
  265. package/dist/heron/geom/Rectangle.js.map +0 -1
  266. package/dist/heron/geom/index.d.ts +0 -4
  267. package/dist/heron/geom/index.d.ts.map +0 -1
  268. package/dist/heron/geom/index.js +0 -4
  269. package/dist/heron/geom/index.js.map +0 -1
  270. package/dist/heron/localStorage/index.d.ts +0 -2
  271. package/dist/heron/localStorage/index.d.ts.map +0 -1
  272. package/dist/heron/localStorage/index.js +0 -2
  273. package/dist/heron/localStorage/index.js.map +0 -1
  274. package/dist/heron/localStorage/localStorage.d.ts +0 -5
  275. package/dist/heron/localStorage/localStorage.d.ts.map +0 -1
  276. package/dist/heron/localStorage/localStorage.js +0 -19
  277. package/dist/heron/localStorage/localStorage.js.map +0 -1
  278. package/dist/heron/media/Sound.d.ts +0 -26
  279. package/dist/heron/media/Sound.d.ts.map +0 -1
  280. package/dist/heron/media/Sound.js +0 -145
  281. package/dist/heron/media/Sound.js.map +0 -1
  282. package/dist/heron/media/SoundChannel.d.ts +0 -28
  283. package/dist/heron/media/SoundChannel.d.ts.map +0 -1
  284. package/dist/heron/media/SoundChannel.js +0 -117
  285. package/dist/heron/media/SoundChannel.js.map +0 -1
  286. package/dist/heron/media/Video.d.ts +0 -50
  287. package/dist/heron/media/Video.d.ts.map +0 -1
  288. package/dist/heron/media/Video.js +0 -249
  289. package/dist/heron/media/Video.js.map +0 -1
  290. package/dist/heron/media/index.d.ts +0 -4
  291. package/dist/heron/media/index.d.ts.map +0 -1
  292. package/dist/heron/media/index.js +0 -4
  293. package/dist/heron/media/index.js.map +0 -1
  294. package/dist/heron/net/HttpMethod.d.ts +0 -6
  295. package/dist/heron/net/HttpMethod.d.ts.map +0 -1
  296. package/dist/heron/net/HttpMethod.js +0 -5
  297. package/dist/heron/net/HttpMethod.js.map +0 -1
  298. package/dist/heron/net/HttpRequest.d.ts +0 -19
  299. package/dist/heron/net/HttpRequest.d.ts.map +0 -1
  300. package/dist/heron/net/HttpRequest.js +0 -63
  301. package/dist/heron/net/HttpRequest.js.map +0 -1
  302. package/dist/heron/net/HttpResponseType.d.ts +0 -6
  303. package/dist/heron/net/HttpResponseType.d.ts.map +0 -1
  304. package/dist/heron/net/HttpResponseType.js +0 -5
  305. package/dist/heron/net/HttpResponseType.js.map +0 -1
  306. package/dist/heron/net/ImageLoader.d.ts +0 -10
  307. package/dist/heron/net/ImageLoader.d.ts.map +0 -1
  308. package/dist/heron/net/ImageLoader.js +0 -32
  309. package/dist/heron/net/ImageLoader.js.map +0 -1
  310. package/dist/heron/net/index.d.ts +0 -7
  311. package/dist/heron/net/index.d.ts.map +0 -1
  312. package/dist/heron/net/index.js +0 -5
  313. package/dist/heron/net/index.js.map +0 -1
  314. package/dist/heron/player/CanvasRenderer.d.ts +0 -49
  315. package/dist/heron/player/CanvasRenderer.d.ts.map +0 -1
  316. package/dist/heron/player/CanvasRenderer.js +0 -767
  317. package/dist/heron/player/CanvasRenderer.js.map +0 -1
  318. package/dist/heron/player/DisplayList.d.ts +0 -32
  319. package/dist/heron/player/DisplayList.d.ts.map +0 -1
  320. package/dist/heron/player/DisplayList.js +0 -78
  321. package/dist/heron/player/DisplayList.js.map +0 -1
  322. package/dist/heron/player/HeronOptions.d.ts +0 -25
  323. package/dist/heron/player/HeronOptions.d.ts.map +0 -1
  324. package/dist/heron/player/HeronOptions.js +0 -2
  325. package/dist/heron/player/HeronOptions.js.map +0 -1
  326. package/dist/heron/player/InstructionSet.d.ts +0 -49
  327. package/dist/heron/player/InstructionSet.d.ts.map +0 -1
  328. package/dist/heron/player/InstructionSet.js +0 -45
  329. package/dist/heron/player/InstructionSet.js.map +0 -1
  330. package/dist/heron/player/Player.d.ts +0 -45
  331. package/dist/heron/player/Player.d.ts.map +0 -1
  332. package/dist/heron/player/Player.js +0 -149
  333. package/dist/heron/player/Player.js.map +0 -1
  334. package/dist/heron/player/RenderBuffer.d.ts +0 -35
  335. package/dist/heron/player/RenderBuffer.d.ts.map +0 -1
  336. package/dist/heron/player/RenderBuffer.js +0 -81
  337. package/dist/heron/player/RenderBuffer.js.map +0 -1
  338. package/dist/heron/player/RenderPipe.d.ts +0 -33
  339. package/dist/heron/player/RenderPipe.d.ts.map +0 -1
  340. package/dist/heron/player/RenderPipe.js +0 -2
  341. package/dist/heron/player/RenderPipe.js.map +0 -1
  342. package/dist/heron/player/ScreenAdapter.d.ts +0 -29
  343. package/dist/heron/player/ScreenAdapter.d.ts.map +0 -1
  344. package/dist/heron/player/ScreenAdapter.js +0 -127
  345. package/dist/heron/player/ScreenAdapter.js.map +0 -1
  346. package/dist/heron/player/SystemTicker.d.ts +0 -63
  347. package/dist/heron/player/SystemTicker.d.ts.map +0 -1
  348. package/dist/heron/player/SystemTicker.js +0 -207
  349. package/dist/heron/player/SystemTicker.js.map +0 -1
  350. package/dist/heron/player/TouchHandler.d.ts +0 -39
  351. package/dist/heron/player/TouchHandler.d.ts.map +0 -1
  352. package/dist/heron/player/TouchHandler.js +0 -149
  353. package/dist/heron/player/TouchHandler.js.map +0 -1
  354. package/dist/heron/player/createPlayer.d.ts +0 -35
  355. package/dist/heron/player/createPlayer.d.ts.map +0 -1
  356. package/dist/heron/player/createPlayer.js +0 -74
  357. package/dist/heron/player/createPlayer.js.map +0 -1
  358. package/dist/heron/player/index.d.ts +0 -13
  359. package/dist/heron/player/index.d.ts.map +0 -1
  360. package/dist/heron/player/index.js +0 -16
  361. package/dist/heron/player/index.js.map +0 -1
  362. package/dist/heron/player/pipes/BitmapPipe.d.ts +0 -35
  363. package/dist/heron/player/pipes/BitmapPipe.d.ts.map +0 -1
  364. package/dist/heron/player/pipes/BitmapPipe.js +0 -130
  365. package/dist/heron/player/pipes/BitmapPipe.js.map +0 -1
  366. package/dist/heron/player/pipes/FilterPipe.d.ts +0 -68
  367. package/dist/heron/player/pipes/FilterPipe.d.ts.map +0 -1
  368. package/dist/heron/player/pipes/FilterPipe.js +0 -157
  369. package/dist/heron/player/pipes/FilterPipe.js.map +0 -1
  370. package/dist/heron/player/pipes/GraphicsPipe.d.ts +0 -36
  371. package/dist/heron/player/pipes/GraphicsPipe.d.ts.map +0 -1
  372. package/dist/heron/player/pipes/GraphicsPipe.js +0 -126
  373. package/dist/heron/player/pipes/GraphicsPipe.js.map +0 -1
  374. package/dist/heron/player/pipes/MaskPipe.d.ts +0 -58
  375. package/dist/heron/player/pipes/MaskPipe.d.ts.map +0 -1
  376. package/dist/heron/player/pipes/MaskPipe.js +0 -185
  377. package/dist/heron/player/pipes/MaskPipe.js.map +0 -1
  378. package/dist/heron/player/pipes/MeshPipe.d.ts +0 -22
  379. package/dist/heron/player/pipes/MeshPipe.d.ts.map +0 -1
  380. package/dist/heron/player/pipes/MeshPipe.js +0 -50
  381. package/dist/heron/player/pipes/MeshPipe.js.map +0 -1
  382. package/dist/heron/player/pipes/TextPipe.d.ts +0 -52
  383. package/dist/heron/player/pipes/TextPipe.d.ts.map +0 -1
  384. package/dist/heron/player/pipes/TextPipe.js +0 -163
  385. package/dist/heron/player/pipes/TextPipe.js.map +0 -1
  386. package/dist/heron/player/webgl/MultiTextureBatcher.d.ts +0 -37
  387. package/dist/heron/player/webgl/MultiTextureBatcher.d.ts.map +0 -1
  388. package/dist/heron/player/webgl/MultiTextureBatcher.js +0 -63
  389. package/dist/heron/player/webgl/MultiTextureBatcher.js.map +0 -1
  390. package/dist/heron/player/webgl/ShaderLib.d.ts +0 -34
  391. package/dist/heron/player/webgl/ShaderLib.d.ts.map +0 -1
  392. package/dist/heron/player/webgl/ShaderLib.js +0 -268
  393. package/dist/heron/player/webgl/ShaderLib.js.map +0 -1
  394. package/dist/heron/player/webgl/WebGLDrawCmdManager.d.ts +0 -58
  395. package/dist/heron/player/webgl/WebGLDrawCmdManager.d.ts.map +0 -1
  396. package/dist/heron/player/webgl/WebGLDrawCmdManager.js +0 -197
  397. package/dist/heron/player/webgl/WebGLDrawCmdManager.js.map +0 -1
  398. package/dist/heron/player/webgl/WebGLProgram.d.ts +0 -14
  399. package/dist/heron/player/webgl/WebGLProgram.d.ts.map +0 -1
  400. package/dist/heron/player/webgl/WebGLProgram.js +0 -32
  401. package/dist/heron/player/webgl/WebGLProgram.js.map +0 -1
  402. package/dist/heron/player/webgl/WebGLRenderBuffer.d.ts +0 -52
  403. package/dist/heron/player/webgl/WebGLRenderBuffer.d.ts.map +0 -1
  404. package/dist/heron/player/webgl/WebGLRenderBuffer.js +0 -227
  405. package/dist/heron/player/webgl/WebGLRenderBuffer.js.map +0 -1
  406. package/dist/heron/player/webgl/WebGLRenderContext.d.ts +0 -114
  407. package/dist/heron/player/webgl/WebGLRenderContext.d.ts.map +0 -1
  408. package/dist/heron/player/webgl/WebGLRenderContext.js +0 -852
  409. package/dist/heron/player/webgl/WebGLRenderContext.js.map +0 -1
  410. package/dist/heron/player/webgl/WebGLRenderTarget.d.ts +0 -19
  411. package/dist/heron/player/webgl/WebGLRenderTarget.d.ts.map +0 -1
  412. package/dist/heron/player/webgl/WebGLRenderTarget.js +0 -90
  413. package/dist/heron/player/webgl/WebGLRenderTarget.js.map +0 -1
  414. package/dist/heron/player/webgl/WebGLRenderer.d.ts +0 -91
  415. package/dist/heron/player/webgl/WebGLRenderer.d.ts.map +0 -1
  416. package/dist/heron/player/webgl/WebGLRenderer.js +0 -721
  417. package/dist/heron/player/webgl/WebGLRenderer.js.map +0 -1
  418. package/dist/heron/player/webgl/WebGLUtils.d.ts +0 -11
  419. package/dist/heron/player/webgl/WebGLUtils.d.ts.map +0 -1
  420. package/dist/heron/player/webgl/WebGLUtils.js +0 -57
  421. package/dist/heron/player/webgl/WebGLUtils.js.map +0 -1
  422. package/dist/heron/player/webgl/WebGLVertexArrayObject.d.ts +0 -39
  423. package/dist/heron/player/webgl/WebGLVertexArrayObject.d.ts.map +0 -1
  424. package/dist/heron/player/webgl/WebGLVertexArrayObject.js +0 -367
  425. package/dist/heron/player/webgl/WebGLVertexArrayObject.js.map +0 -1
  426. package/dist/heron/player/webgl/index.d.ts +0 -11
  427. package/dist/heron/player/webgl/index.d.ts.map +0 -1
  428. package/dist/heron/player/webgl/index.js +0 -11
  429. package/dist/heron/player/webgl/index.js.map +0 -1
  430. package/dist/heron/system/Capabilities.d.ts +0 -46
  431. package/dist/heron/system/Capabilities.d.ts.map +0 -1
  432. package/dist/heron/system/Capabilities.js +0 -100
  433. package/dist/heron/system/Capabilities.js.map +0 -1
  434. package/dist/heron/system/index.d.ts +0 -2
  435. package/dist/heron/system/index.d.ts.map +0 -1
  436. package/dist/heron/system/index.js +0 -2
  437. package/dist/heron/system/index.js.map +0 -1
  438. package/dist/heron/text/BitmapFont.d.ts +0 -31
  439. package/dist/heron/text/BitmapFont.d.ts.map +0 -1
  440. package/dist/heron/text/BitmapFont.js +0 -86
  441. package/dist/heron/text/BitmapFont.js.map +0 -1
  442. package/dist/heron/text/BitmapText.d.ts +0 -56
  443. package/dist/heron/text/BitmapText.d.ts.map +0 -1
  444. package/dist/heron/text/BitmapText.js +0 -230
  445. package/dist/heron/text/BitmapText.js.map +0 -1
  446. package/dist/heron/text/HtmlTextParser.d.ts +0 -14
  447. package/dist/heron/text/HtmlTextParser.d.ts.map +0 -1
  448. package/dist/heron/text/HtmlTextParser.js +0 -147
  449. package/dist/heron/text/HtmlTextParser.js.map +0 -1
  450. package/dist/heron/text/InputController.d.ts +0 -29
  451. package/dist/heron/text/InputController.d.ts.map +0 -1
  452. package/dist/heron/text/InputController.js +0 -131
  453. package/dist/heron/text/InputController.js.map +0 -1
  454. package/dist/heron/text/StageText.d.ts +0 -53
  455. package/dist/heron/text/StageText.d.ts.map +0 -1
  456. package/dist/heron/text/StageText.js +0 -392
  457. package/dist/heron/text/StageText.js.map +0 -1
  458. package/dist/heron/text/TextField.d.ts +0 -145
  459. package/dist/heron/text/TextField.d.ts.map +0 -1
  460. package/dist/heron/text/TextField.js +0 -716
  461. package/dist/heron/text/TextField.js.map +0 -1
  462. package/dist/heron/text/TextMeasurer.d.ts +0 -9
  463. package/dist/heron/text/TextMeasurer.d.ts.map +0 -1
  464. package/dist/heron/text/TextMeasurer.js +0 -36
  465. package/dist/heron/text/TextMeasurer.js.map +0 -1
  466. package/dist/heron/text/WordWrap.d.ts +0 -15
  467. package/dist/heron/text/WordWrap.d.ts.map +0 -1
  468. package/dist/heron/text/WordWrap.js +0 -50
  469. package/dist/heron/text/WordWrap.js.map +0 -1
  470. package/dist/heron/text/enums/HorizontalAlign.d.ts +0 -9
  471. package/dist/heron/text/enums/HorizontalAlign.d.ts.map +0 -1
  472. package/dist/heron/text/enums/HorizontalAlign.js +0 -8
  473. package/dist/heron/text/enums/HorizontalAlign.js.map +0 -1
  474. package/dist/heron/text/enums/TextFieldInputType.d.ts +0 -7
  475. package/dist/heron/text/enums/TextFieldInputType.d.ts.map +0 -1
  476. package/dist/heron/text/enums/TextFieldInputType.js +0 -6
  477. package/dist/heron/text/enums/TextFieldInputType.js.map +0 -1
  478. package/dist/heron/text/enums/TextFieldType.d.ts +0 -6
  479. package/dist/heron/text/enums/TextFieldType.d.ts.map +0 -1
  480. package/dist/heron/text/enums/TextFieldType.js +0 -5
  481. package/dist/heron/text/enums/TextFieldType.js.map +0 -1
  482. package/dist/heron/text/enums/VerticalAlign.d.ts +0 -9
  483. package/dist/heron/text/enums/VerticalAlign.d.ts.map +0 -1
  484. package/dist/heron/text/enums/VerticalAlign.js +0 -8
  485. package/dist/heron/text/enums/VerticalAlign.js.map +0 -1
  486. package/dist/heron/text/enums/index.d.ts +0 -5
  487. package/dist/heron/text/enums/index.d.ts.map +0 -1
  488. package/dist/heron/text/enums/index.js +0 -5
  489. package/dist/heron/text/enums/index.js.map +0 -1
  490. package/dist/heron/text/index.d.ts +0 -14
  491. package/dist/heron/text/index.d.ts.map +0 -1
  492. package/dist/heron/text/index.js +0 -13
  493. package/dist/heron/text/index.js.map +0 -1
  494. package/dist/heron/text/types/ITextElement.d.ts +0 -31
  495. package/dist/heron/text/types/ITextElement.d.ts.map +0 -1
  496. package/dist/heron/text/types/ITextElement.js +0 -2
  497. package/dist/heron/text/types/ITextElement.js.map +0 -1
  498. package/dist/heron/text/types/index.d.ts +0 -2
  499. package/dist/heron/text/types/index.d.ts.map +0 -1
  500. package/dist/heron/text/types/index.js +0 -2
  501. package/dist/heron/text/types/index.js.map +0 -1
  502. package/dist/heron/utils/Base64Util.d.ts +0 -5
  503. package/dist/heron/utils/Base64Util.d.ts.map +0 -1
  504. package/dist/heron/utils/Base64Util.js +0 -45
  505. package/dist/heron/utils/Base64Util.js.map +0 -1
  506. package/dist/heron/utils/ByteArray.d.ts +0 -66
  507. package/dist/heron/utils/ByteArray.d.ts.map +0 -1
  508. package/dist/heron/utils/ByteArray.js +0 -303
  509. package/dist/heron/utils/ByteArray.js.map +0 -1
  510. package/dist/heron/utils/DebugLog.d.ts +0 -9
  511. package/dist/heron/utils/DebugLog.d.ts.map +0 -1
  512. package/dist/heron/utils/DebugLog.js +0 -25
  513. package/dist/heron/utils/DebugLog.js.map +0 -1
  514. package/dist/heron/utils/FontManager.d.ts +0 -11
  515. package/dist/heron/utils/FontManager.d.ts.map +0 -1
  516. package/dist/heron/utils/FontManager.js +0 -39
  517. package/dist/heron/utils/FontManager.js.map +0 -1
  518. package/dist/heron/utils/HashObject.d.ts +0 -9
  519. package/dist/heron/utils/HashObject.d.ts.map +0 -1
  520. package/dist/heron/utils/HashObject.js +0 -11
  521. package/dist/heron/utils/HashObject.js.map +0 -1
  522. package/dist/heron/utils/Logger.d.ts +0 -16
  523. package/dist/heron/utils/Logger.d.ts.map +0 -1
  524. package/dist/heron/utils/Logger.js +0 -26
  525. package/dist/heron/utils/Logger.js.map +0 -1
  526. package/dist/heron/utils/NumberUtils.d.ts +0 -15
  527. package/dist/heron/utils/NumberUtils.d.ts.map +0 -1
  528. package/dist/heron/utils/NumberUtils.js +0 -60
  529. package/dist/heron/utils/NumberUtils.js.map +0 -1
  530. package/dist/heron/utils/Timer.d.ts +0 -22
  531. package/dist/heron/utils/Timer.d.ts.map +0 -1
  532. package/dist/heron/utils/Timer.js +0 -67
  533. package/dist/heron/utils/Timer.js.map +0 -1
  534. package/dist/heron/utils/index.d.ts +0 -11
  535. package/dist/heron/utils/index.d.ts.map +0 -1
  536. package/dist/heron/utils/index.js +0 -10
  537. package/dist/heron/utils/index.js.map +0 -1
  538. package/dist/heron/utils/toColorString.d.ts +0 -2
  539. package/dist/heron/utils/toColorString.d.ts.map +0 -1
  540. package/dist/heron/utils/toColorString.js +0 -5
  541. package/dist/heron/utils/toColorString.js.map +0 -1
@@ -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