@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,50 +0,0 @@
1
- // ── Pipe ──────────────────────────────────────────────────────────────────────
2
- export class MeshPipe {
3
- static PIPE_ID = 'mesh';
4
- static _pool = [];
5
- static _alloc(mesh, ox, oy) {
6
- const inst = MeshPipe._pool.pop() ?? {
7
- renderPipeId: 'mesh',
8
- renderable: mesh,
9
- offsetX: ox,
10
- offsetY: oy,
11
- };
12
- inst.renderable = mesh;
13
- inst.offsetX = ox;
14
- inst.offsetY = oy;
15
- return inst;
16
- }
17
- static release(inst) {
18
- MeshPipe._pool.push(inst);
19
- }
20
- // ── RenderPipe impl ───────────────────────────────────────────────────────
21
- addToInstructionSet(mesh, set) {
22
- if (!mesh.bitmapData?.source || mesh.vertices.length === 0 || mesh.indices.length === 0) {
23
- return;
24
- }
25
- set.add(MeshPipe._alloc(mesh, 0, 0));
26
- }
27
- updateRenderable(_mesh) {
28
- // Mesh data is read directly at execute time.
29
- }
30
- destroyRenderable(_mesh) {
31
- // GPU textures managed by BitmapData lifecycle.
32
- }
33
- // ── Execute ───────────────────────────────────────────────────────────────
34
- execute(inst, buffer) {
35
- const mesh = inst.renderable;
36
- const bd = mesh.bitmapData;
37
- if (!bd?.source || mesh.vertices.length === 0 || mesh.indices.length === 0) {
38
- return;
39
- }
40
- const destW = !isNaN(mesh.width) ? mesh.width : mesh.textureWidth;
41
- const destH = !isNaN(mesh.height) ? mesh.height : mesh.textureHeight;
42
- // offsetX/Y are already baked into globalMatrix via _applyTransform.
43
- buffer.offsetX = 0;
44
- buffer.offsetY = 0;
45
- buffer.context.drawMesh(bd, mesh.bitmapX, mesh.bitmapY, mesh.bitmapWidth, mesh.bitmapHeight, mesh.bitmapOffsetX, mesh.bitmapOffsetY, destW, destH, mesh.sourceWidth, mesh.sourceHeight, mesh.uvs, mesh.vertices, mesh.indices, mesh.texture?.rotated ?? false, mesh.smoothing);
46
- buffer.offsetX = 0;
47
- buffer.offsetY = 0;
48
- }
49
- }
50
- //# sourceMappingURL=MeshPipe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MeshPipe.js","sourceRoot":"","sources":["../../../../src/heron/player/pipes/MeshPipe.ts"],"names":[],"mappings":"AAgBA,iFAAiF;AAEjF,MAAM,OAAO,QAAQ;IACb,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC;IAEhC,MAAM,CAAU,KAAK,GAAsB,EAAE,CAAC;IAE9C,MAAM,CAAC,MAAM,CAAC,IAAU,EAAE,EAAU,EAAE,EAAU;QACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI;YACpC,YAAY,EAAE,MAAM;YACpB,UAAU,EAAE,IAAI;YAChB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;SACX,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,IAAqB;QAC1C,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,6EAA6E;IAEtE,mBAAmB,CAAC,IAAU,EAAE,GAAmB;QACzD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzF,OAAO;QACR,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAEM,gBAAgB,CAAC,KAAW;QAClC,8CAA8C;IAC/C,CAAC;IAEM,iBAAiB,CAAC,KAAW;QACnC,gDAAgD;IACjD,CAAC;IAED,6EAA6E;IAEtE,OAAO,CAAC,IAAqB,EAAE,MAAyB;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3B,IAAI,CAAC,EAAE,EAAE,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5E,OAAO;QACR,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAClE,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAErE,qEAAqE;QACrE,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QAEnB,MAAM,CAAC,OAAO,CAAC,QAAQ,CACtB,EAAE,EACF,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,EAClB,KAAK,EACL,KAAK,EACL,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,EAC9B,IAAI,CAAC,SAAS,CACd,CAAC;QAEF,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;IACpB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextPipe.d.ts","sourceRoot":"","sources":["../../../../src/heron/player/pipes/TextPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,MAAM,WAAW,eAAgB,SAAQ,WAAW;IACnD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,SAAS,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAoBD;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,QAAS,YAAW,UAAU,CAAC,SAAS,CAAC;IAErD,gBAAuB,OAAO,UAAU;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAGtD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;gBAG3C,cAAc,EAAE,cAAc;IAIjD,OAAO,CAAC,MAAM,CAAC,MAAM;WAaP,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI;IAM3C,mBAAmB,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;IAI7D,gBAAgB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;IAKtC,iBAAiB,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAM7C;;;;;;;;;OASG;IACI,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;CAmHtE"}
@@ -1,163 +0,0 @@
1
- import { TextFieldType } from '../../text/enums/TextFieldType.js';
2
- import { RenderBuffer } from '../RenderBuffer.js';
3
- // ── Pipe ──────────────────────────────────────────────────────────────────────
4
- /**
5
- * Handles WebGL rendering of TextField display objects.
6
- *
7
- * **Architecture** (following Egret's `WebGLRenderer.renderText`):
8
- *
9
- * 1. Compute the text draw area (width × height).
10
- * 2. Scale by the device pixel ratio (`canvasScaleX/Y`), clamped to
11
- * `maxTextureSize` so we never exceed the GPU's limit.
12
- * 3. Rasterize the text onto an offscreen `<canvas>` via `CanvasRenderer`.
13
- * 4. Upload the canvas as a WebGL texture (create once, update on change).
14
- * 5. Draw the texture via `buffer.context.drawTexture()`, scaling back down
15
- * by `canvasScale` so the on-screen size is correct.
16
- *
17
- * The cache is invalidated when `tf.renderDirty` is true or when the
18
- * dimensions / DPR change.
19
- */
20
- export class TextPipe {
21
- // ── Static fields ─────────────────────────────────────────────────────────
22
- static PIPE_ID = 'text';
23
- static _pool = [];
24
- // ── Instance fields ───────────────────────────────────────────────────────
25
- _canvasRenderer;
26
- _cache = new WeakMap();
27
- // ── Constructor ───────────────────────────────────────────────────────────
28
- constructor(canvasRenderer) {
29
- this._canvasRenderer = canvasRenderer;
30
- }
31
- static _alloc(tf, ox, oy) {
32
- const inst = TextPipe._pool.pop() ?? {
33
- renderPipeId: 'text',
34
- renderable: tf,
35
- offsetX: ox,
36
- offsetY: oy,
37
- };
38
- inst.renderable = tf;
39
- inst.offsetX = ox;
40
- inst.offsetY = oy;
41
- return inst;
42
- }
43
- static release(inst) {
44
- TextPipe._pool.push(inst);
45
- }
46
- // ── RenderPipe impl ───────────────────────────────────────────────────────
47
- addToInstructionSet(tf, set) {
48
- set.add(TextPipe._alloc(tf, 0, 0));
49
- }
50
- updateRenderable(_tf) {
51
- // Cache invalidation is driven by tf.renderDirty,
52
- // which is checked at execute time — nothing to pre-upload here.
53
- }
54
- destroyRenderable(tf) {
55
- this._cache.delete(tf);
56
- }
57
- // ── Execute ───────────────────────────────────────────────────────────────
58
- /**
59
- * Render a TextField into the WebGL buffer.
60
- * Follows Egret's `WebGLRenderer.renderText` pattern:
61
- *
62
- * 1. Compute logical width/height from the TextField.
63
- * 2. Scale by canvasScale (DPR), clamped to maxTextureSize.
64
- * 3. Rasterize to offscreen canvas (if dirty).
65
- * 4. Upload as WebGL texture.
66
- * 5. Draw with drawTexture, scaling back by canvasScale.
67
- */
68
- execute(inst, buffer) {
69
- const tf = inst.renderable;
70
- tf.getLinesArr(); // ensure lines are computed
71
- // ── INPUT mode while focused: HTML input element owns the display ────
72
- // Don't render the canvas texture — the native <input>/<textarea>
73
- // is overlaid on top and already shows the text. Rendering here too
74
- // would produce a double-text artefact.
75
- if (tf.type === TextFieldType.INPUT && tf.isTyping) {
76
- return;
77
- }
78
- // ── 1. Compute logical dimensions ────────────────────────────────────
79
- const logicalW = Math.ceil(!isNaN(tf.explicitWidth) ? tf.explicitWidth : tf.textWidth);
80
- const logicalH = Math.ceil(!isNaN(tf.explicitHeight) ? tf.explicitHeight : tf.textHeight);
81
- if (logicalW <= 0 || logicalH <= 0) {
82
- return;
83
- }
84
- buffer.offsetX = 0;
85
- buffer.offsetY = 0;
86
- // ── 2. Canvas scale factor (DPR handling) ────────────────────────────
87
- // Follow Egret: scale the offscreen canvas by DPR so text looks crisp
88
- // on HiDPI screens, but clamp to maxTextureSize to avoid GPU limits.
89
- let canvasScaleX = /* devicePixelRatio || */ 1;
90
- let canvasScaleY = /* devicePixelRatio || */ 1;
91
- const maxTexSize = buffer.context.maxTextureSize;
92
- if (logicalW * canvasScaleX > maxTexSize) {
93
- canvasScaleX *= maxTexSize / (logicalW * canvasScaleX);
94
- }
95
- if (logicalH * canvasScaleY > maxTexSize) {
96
- canvasScaleY *= maxTexSize / (logicalH * canvasScaleY);
97
- }
98
- // Scaled pixel dimensions for the offscreen canvas.
99
- const pixelW = Math.ceil(logicalW * canvasScaleX);
100
- const pixelH = Math.ceil(logicalH * canvasScaleY);
101
- // ── 3. Cache lookup / rebuild ────────────────────────────────────────
102
- let cache = this._cache.get(tf);
103
- let scaleChanged = false;
104
- if (cache) {
105
- // Check if canvasScale changed (e.g. window moved between displays).
106
- scaleChanged = cache.canvasScaleX !== canvasScaleX || cache.canvasScaleY !== canvasScaleY;
107
- if (scaleChanged) {
108
- cache.canvasScaleX = canvasScaleX;
109
- cache.canvasScaleY = canvasScaleY;
110
- }
111
- }
112
- else {
113
- cache = {
114
- renderBuffer: new RenderBuffer(pixelW, pixelH),
115
- texture: undefined,
116
- textureWidth: 0,
117
- textureHeight: 0,
118
- canvasScaleX,
119
- canvasScaleY,
120
- };
121
- this._cache.set(tf, cache);
122
- }
123
- // Dirty when: text content changed, dimensions changed, or DPR changed.
124
- const needsRebuild = tf.renderDirty || cache.textureWidth !== pixelW || cache.textureHeight !== pixelH || scaleChanged;
125
- if (needsRebuild) {
126
- // Resize the offscreen canvas if needed.
127
- if (cache.renderBuffer.width !== pixelW || cache.renderBuffer.height !== pixelH) {
128
- cache.renderBuffer.resize(pixelW, pixelH);
129
- }
130
- // Clear the buffer first (note: clear() resets the transform to identity).
131
- cache.renderBuffer.clear();
132
- // Apply canvas scale transform so text renders at the higher resolution.
133
- const ctx = cache.renderBuffer.context;
134
- if (canvasScaleX !== 1 || canvasScaleY !== 1) {
135
- ctx.setTransform(canvasScaleX, 0, 0, canvasScaleY, 0, 0);
136
- }
137
- // Rasterize the text onto the offscreen canvas.
138
- this._canvasRenderer.renderTextFieldToContext(tf, ctx, 0, 0);
139
- // Upload to WebGL texture.
140
- const surface = cache.renderBuffer.surface;
141
- if (!cache.texture) {
142
- cache.texture = buffer.context.createTexture(surface);
143
- }
144
- else {
145
- buffer.context.updateTexture(cache.texture, surface);
146
- }
147
- cache.textureWidth = pixelW;
148
- cache.textureHeight = pixelH;
149
- }
150
- if (!cache.texture)
151
- return;
152
- // ── 4. Draw cached texture ───────────────────────────────────────────
153
- // Following Egret: draw the full texture but scale the destination by
154
- // 1/canvasScale so the on-screen size matches the logical dimensions.
155
- buffer.context.drawTexture(cache.texture, 0, 0, cache.textureWidth, cache.textureHeight, // src rect (full texture)
156
- 0, 0, // dest position (offset already in globalMatrix via _applyTransform)
157
- cache.textureWidth / canvasScaleX, // dest width (scaled back)
158
- cache.textureHeight / canvasScaleY, // dest height (scaled back)
159
- cache.textureWidth, // texture source width
160
- cache.textureHeight);
161
- }
162
- }
163
- //# sourceMappingURL=TextPipe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextPipe.js","sourceRoot":"","sources":["../../../../src/heron/player/pipes/TextPipe.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- import type { Filter } from '../../filters/Filter.js';
2
- /** A draw command that references a multi-texture batch. */
3
- export interface MultiTextureDrawCmd {
4
- readonly isMulti: true;
5
- count: number;
6
- readonly textures: WebGLTexture[];
7
- textureCount: number;
8
- filter: Filter | undefined;
9
- }
10
- export declare function makeMultiCmd(count: number, slots: (WebGLTexture | undefined)[], slotCount: number): MultiTextureDrawCmd;
11
- /**
12
- * Manages texture slot allocation for multi-texture batching.
13
- *
14
- * Inspired by Pixi.js 8's Batcher: instead of breaking a batch every time
15
- * the texture changes, we assign each unique texture a slot (0–7) and pack
16
- * all quads into a single draw call. When all slots are occupied we flush.
17
- *
18
- * Limitations:
19
- * - Only plain (no-filter) texture draws can be batched.
20
- * - Filters, masks, blend-mode changes, and mesh draws always break the batch.
21
- * - Maximum 8 textures per batch (WebGL1 minimum guaranteed texture units).
22
- */
23
- export declare class MultiTextureBatcher {
24
- static readonly MAX_TEXTURES = 8;
25
- readonly slots: (WebGLTexture | undefined)[];
26
- private _slotCount;
27
- private readonly _slotMap;
28
- get textureCount(): number;
29
- /**
30
- * Assign a slot to `texture`. Returns the slot index (0–7).
31
- * Returns -1 if all slots are full — caller must flush first.
32
- */
33
- getOrAssignSlot(texture: WebGLTexture): number;
34
- isFull(): boolean;
35
- reset(): void;
36
- }
37
- //# sourceMappingURL=MultiTextureBatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiTextureBatcher.d.ts","sourceRoot":"","sources":["../../../../src/heron/player/webgl/MultiTextureBatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAItD,4DAA4D;AAC5D,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,EACnC,SAAS,EAAE,MAAM,GACf,mBAAmB,CAQrB;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAmB;IAE/B,gBAAuB,YAAY,KAAK;IAGxC,SAAgB,KAAK,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAA+D;IAClH,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAI5D,IAAW,YAAY,IAAI,MAAM,CAEhC;IAID;;;OAGG;IACI,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IAc9C,MAAM,IAAI,OAAO;IAIjB,KAAK,IAAI,IAAI;CAOpB"}
@@ -1,63 +0,0 @@
1
- export function makeMultiCmd(count, slots, slotCount) {
2
- return {
3
- isMulti: true,
4
- count,
5
- textures: slots.slice(0, slotCount),
6
- textureCount: slotCount,
7
- filter: undefined,
8
- };
9
- }
10
- // ── MultiTextureBatcher ───────────────────────────────────────────────────────
11
- /**
12
- * Manages texture slot allocation for multi-texture batching.
13
- *
14
- * Inspired by Pixi.js 8's Batcher: instead of breaking a batch every time
15
- * the texture changes, we assign each unique texture a slot (0–7) and pack
16
- * all quads into a single draw call. When all slots are occupied we flush.
17
- *
18
- * Limitations:
19
- * - Only plain (no-filter) texture draws can be batched.
20
- * - Filters, masks, blend-mode changes, and mesh draws always break the batch.
21
- * - Maximum 8 textures per batch (WebGL1 minimum guaranteed texture units).
22
- */
23
- export class MultiTextureBatcher {
24
- // ── Static fields ─────────────────────────────────────────────────────────
25
- static MAX_TEXTURES = 8;
26
- // ── Instance fields ───────────────────────────────────────────────────────
27
- slots = new Array(MultiTextureBatcher.MAX_TEXTURES).fill(undefined);
28
- _slotCount = 0;
29
- _slotMap = new Map();
30
- // ── Getters ───────────────────────────────────────────────────────────────
31
- get textureCount() {
32
- return this._slotCount;
33
- }
34
- // ── Public methods ────────────────────────────────────────────────────────
35
- /**
36
- * Assign a slot to `texture`. Returns the slot index (0–7).
37
- * Returns -1 if all slots are full — caller must flush first.
38
- */
39
- getOrAssignSlot(texture) {
40
- const existing = this._slotMap.get(texture);
41
- if (existing !== undefined) {
42
- return existing;
43
- }
44
- if (this._slotCount >= MultiTextureBatcher.MAX_TEXTURES) {
45
- return -1;
46
- }
47
- const slot = this._slotCount++;
48
- this.slots[slot] = texture;
49
- this._slotMap.set(texture, slot);
50
- return slot;
51
- }
52
- isFull() {
53
- return this._slotCount >= MultiTextureBatcher.MAX_TEXTURES;
54
- }
55
- reset() {
56
- for (let i = 0; i < this._slotCount; i++) {
57
- this.slots[i] = undefined;
58
- }
59
- this._slotCount = 0;
60
- this._slotMap.clear();
61
- }
62
- }
63
- //# sourceMappingURL=MultiTextureBatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiTextureBatcher.js","sourceRoot":"","sources":["../../../../src/heron/player/webgl/MultiTextureBatcher.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,YAAY,CAC3B,KAAa,EACb,KAAmC,EACnC,SAAiB;IAEjB,OAAO;QACN,OAAO,EAAE,IAAI;QACb,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAmB;QACrD,YAAY,EAAE,SAAS;QACvB,MAAM,EAAE,SAAS;KACjB,CAAC;AACH,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,mBAAmB;IAC/B,6EAA6E;IACtE,MAAM,CAAU,YAAY,GAAG,CAAC,CAAC;IAExC,6EAA6E;IAC7D,KAAK,GAAiC,IAAI,KAAK,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1G,UAAU,GAAG,CAAC,CAAC;IACN,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IAE5D,6EAA6E;IAE7E,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACI,eAAe,CAAC,OAAqB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC,YAAY,EAAE,CAAC;YACzD,OAAO,CAAC,CAAC,CAAC;QACX,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,MAAM;QACZ,OAAO,IAAI,CAAC,UAAU,IAAI,mBAAmB,CAAC,YAAY,CAAC;IAC5D,CAAC;IAEM,KAAK;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShaderLib.d.ts","sourceRoot":"","sources":["../../../../src/heron/player/webgl/ShaderLib.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;;;;CAkNZ,CAAC;AAIX;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,yBAA0B,CAAC;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,4EAA4E;AAC5E,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAKpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAmBpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAmBpD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShaderLib.js","sourceRoot":"","sources":["../../../../src/heron/player/webgl/ShaderLib.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB,YAAY,EAAE,UAAU,CAAC;;;;;;;;;;;;EAYxB;IAED,uEAAuE;IACvE,UAAU,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;EAetB;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,oEAAoE;IACpE,UAAU,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;EAkBtB;IAED,YAAY,EAAE,UAAU,CAAC;;;;;;;EAOxB;IAED,cAAc,EAAE,UAAU,CAAC;;;;;;EAM1B;IAED,SAAS,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;EAoBrB;IAED,6DAA6D;IAC7D,gEAAgE;IAChE,kEAAkE;IAClE,WAAW,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;EAiBvB;IAED,2DAA2D;IAC3D,gEAAgE;IAChE,kEAAkE;IAClE,WAAW,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;EAiBvB;IAED,SAAS,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDrB;IAED,mBAAmB,EAAE,UAAU,CAAC;;;;;;;;;;;;;;EAc/B;CACQ,CAAC;AAEX,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAGlD,4EAA4E;AAC5E,MAAM,UAAU,WAAW,CAAC,MAAc;IACzC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAAc;IAC3C,OAAO,UAAU,CAAC;;;;;;;;;;oBAUC,IAAI,UAAU,IAAI;;;;;;;EAOpC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAc;IAC3C,OAAO,UAAU,CAAC;;;;;;;;;;oBAUC,IAAI,UAAU,IAAI;;;;;;;EAOpC,CAAC;AACH,CAAC"}
@@ -1,58 +0,0 @@
1
- import type { Filter } from '../../filters/Filter.js';
2
- import type { WebGLRenderBuffer } from './WebGLRenderBuffer.js';
3
- import type { MultiTextureDrawCmd } from './MultiTextureBatcher.js';
4
- export declare const enum DrawCmdType {
5
- TEXTURE = 0,
6
- RECT = 1,
7
- PUSH_MASK = 2,
8
- POP_MASK = 3,
9
- BLEND = 4,
10
- RESIZE_TARGET = 5,
11
- CLEAR_COLOR = 6,
12
- ACT_BUFFER = 7,
13
- ENABLE_SCISSOR = 8,
14
- DISABLE_SCISSOR = 9,
15
- SMOOTHING = 10,
16
- MULTI_TEXTURE = 11
17
- }
18
- export interface DrawCmd {
19
- type: DrawCmdType;
20
- count: number;
21
- texture: WebGLTexture | undefined;
22
- filter: Filter | undefined;
23
- value: string;
24
- buffer: WebGLRenderBuffer | undefined;
25
- width: number;
26
- height: number;
27
- textureWidth: number;
28
- textureHeight: number;
29
- smoothing: boolean;
30
- x: number;
31
- y: number;
32
- /** Populated only for MULTI_TEXTURE commands. */
33
- multiCmd: MultiTextureDrawCmd | undefined;
34
- }
35
- export declare class WebGLDrawCmdManager {
36
- readonly drawData: DrawCmd[];
37
- drawDataLen: number;
38
- pushDrawRect(): void;
39
- pushDrawTexture(texture: WebGLTexture, count?: number, filter?: Filter, textureWidth?: number, textureHeight?: number): void;
40
- /**
41
- * Push a multi-texture batch draw command.
42
- * The caller is responsible for ensuring the VAO is in multi-texture mode
43
- * and that `multiCmd` contains the correct texture slot snapshot.
44
- */
45
- pushDrawMultiTexture(multiCmd: MultiTextureDrawCmd): void;
46
- pushChangeSmoothing(texture: WebGLTexture, smoothing: boolean): void;
47
- pushPushMask(count?: number): void;
48
- pushPopMask(count?: number): void;
49
- pushSetBlend(value: string): void;
50
- pushResize(buffer: WebGLRenderBuffer, width: number, height: number): void;
51
- pushClearColor(): void;
52
- pushActivateBuffer(buffer: WebGLRenderBuffer): void;
53
- pushEnableScissor(x: number, y: number, width: number, height: number): void;
54
- pushDisableScissor(): void;
55
- clear(): void;
56
- private _get;
57
- }
58
- //# sourceMappingURL=WebGLDrawCmdManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebGLDrawCmdManager.d.ts","sourceRoot":"","sources":["../../../../src/heron/player/webgl/WebGLDrawCmdManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAIpE,0BAAkB,WAAW;IAC5B,OAAO,IAAI;IACX,IAAI,IAAI;IACR,SAAS,IAAI;IACb,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,aAAa,IAAI;IACjB,WAAW,IAAI;IACf,UAAU,IAAI;IACd,cAAc,IAAI;IAClB,eAAe,IAAI;IACnB,SAAS,KAAK;IACd,aAAa,KAAK;CAClB;AAID,MAAM,WAAW,OAAO;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,iDAAiD;IACjD,QAAQ,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC1C;AAuBD,qBAAa,mBAAmB;IAG/B,SAAgB,QAAQ,EAAE,OAAO,EAAE,CAAM;IAClC,WAAW,SAAK;IAIhB,YAAY,IAAI,IAAI;IAYpB,eAAe,CACrB,OAAO,EAAE,YAAY,EACrB,KAAK,SAAI,EACT,MAAM,CAAC,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,MAAM,GACpB,IAAI;IAyBP;;;;OAIG;IACI,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAqBzD,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IASpE,YAAY,CAAC,KAAK,SAAI,GAAG,IAAI;IAO7B,WAAW,CAAC,KAAK,SAAI,GAAG,IAAI;IAO5B,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAqBjC,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAS1E,cAAc,IAAI,IAAI;IAMtB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAmBnD,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU5E,kBAAkB,IAAI,IAAI;IAQ1B,KAAK,IAAI,IAAI;IAuBpB,OAAO,CAAC,IAAI;CAGZ"}
@@ -1,197 +0,0 @@
1
- function makeCmd() {
2
- return {
3
- type: 0 /* DrawCmdType.TEXTURE */,
4
- count: 0,
5
- texture: undefined,
6
- filter: undefined,
7
- value: '',
8
- buffer: undefined,
9
- width: 0,
10
- height: 0,
11
- textureWidth: 0,
12
- textureHeight: 0,
13
- smoothing: false,
14
- x: 0,
15
- y: 0,
16
- multiCmd: undefined,
17
- };
18
- }
19
- // ── WebGLDrawCmdManager ───────────────────────────────────────────────────────
20
- export class WebGLDrawCmdManager {
21
- // ── Public fields ─────────────────────────────────────────────────────────
22
- drawData = [];
23
- drawDataLen = 0;
24
- // ── Public methods — push ─────────────────────────────────────────────────
25
- pushDrawRect() {
26
- const last = this.drawData[this.drawDataLen - 1];
27
- if (this.drawDataLen > 0 && last.type === 1 /* DrawCmdType.RECT */) {
28
- last.count += 2;
29
- return;
30
- }
31
- const d = this._get();
32
- d.type = 1 /* DrawCmdType.RECT */;
33
- d.count = 2;
34
- this.drawDataLen++;
35
- }
36
- pushDrawTexture(texture, count = 2, filter, textureWidth, textureHeight) {
37
- if (filter) {
38
- const d = this._get();
39
- d.type = 0 /* DrawCmdType.TEXTURE */;
40
- d.texture = texture;
41
- d.filter = filter;
42
- d.count = count;
43
- d.textureWidth = textureWidth ?? 0;
44
- d.textureHeight = textureHeight ?? 0;
45
- this.drawDataLen++;
46
- return;
47
- }
48
- const last = this.drawData[this.drawDataLen - 1];
49
- if (this.drawDataLen > 0 && last.type === 0 /* DrawCmdType.TEXTURE */ && last.texture === texture && !last.filter) {
50
- last.count += count;
51
- return;
52
- }
53
- const d = this._get();
54
- d.type = 0 /* DrawCmdType.TEXTURE */;
55
- d.texture = texture;
56
- d.filter = undefined;
57
- d.count = count;
58
- this.drawDataLen++;
59
- }
60
- /**
61
- * Push a multi-texture batch draw command.
62
- * The caller is responsible for ensuring the VAO is in multi-texture mode
63
- * and that `multiCmd` contains the correct texture slot snapshot.
64
- */
65
- pushDrawMultiTexture(multiCmd) {
66
- const last = this.drawData[this.drawDataLen - 1];
67
- // Merge consecutive commands that share the same slot layout.
68
- if (this.drawDataLen > 0 &&
69
- last.type === 11 /* DrawCmdType.MULTI_TEXTURE */ &&
70
- last.multiCmd &&
71
- last.multiCmd.textureCount === multiCmd.textureCount &&
72
- last.multiCmd.textures.every((t, i) => t === multiCmd.textures[i])) {
73
- last.multiCmd.count += multiCmd.count;
74
- last.count += multiCmd.count;
75
- return;
76
- }
77
- const d = this._get();
78
- d.type = 11 /* DrawCmdType.MULTI_TEXTURE */;
79
- d.multiCmd = multiCmd;
80
- d.count = multiCmd.count;
81
- this.drawDataLen++;
82
- }
83
- pushChangeSmoothing(texture, smoothing) {
84
- texture['__heronSmoothing'] = smoothing;
85
- const d = this._get();
86
- d.type = 10 /* DrawCmdType.SMOOTHING */;
87
- d.texture = texture;
88
- d.smoothing = smoothing;
89
- this.drawDataLen++;
90
- }
91
- pushPushMask(count = 1) {
92
- const d = this._get();
93
- d.type = 2 /* DrawCmdType.PUSH_MASK */;
94
- d.count = count * 2;
95
- this.drawDataLen++;
96
- }
97
- pushPopMask(count = 1) {
98
- const d = this._get();
99
- d.type = 3 /* DrawCmdType.POP_MASK */;
100
- d.count = count * 2;
101
- this.drawDataLen++;
102
- }
103
- pushSetBlend(value) {
104
- let drawState = false;
105
- for (let i = this.drawDataLen - 1; i >= 0; i--) {
106
- const d = this.drawData[i];
107
- if (d.type === 0 /* DrawCmdType.TEXTURE */ || d.type === 1 /* DrawCmdType.RECT */)
108
- drawState = true;
109
- if (!drawState && d.type === 4 /* DrawCmdType.BLEND */) {
110
- this.drawData.splice(i, 1);
111
- this.drawDataLen--;
112
- continue;
113
- }
114
- if (d.type === 4 /* DrawCmdType.BLEND */) {
115
- if (d.value === value)
116
- return;
117
- break;
118
- }
119
- }
120
- const d = this._get();
121
- d.type = 4 /* DrawCmdType.BLEND */;
122
- d.value = value;
123
- this.drawDataLen++;
124
- }
125
- pushResize(buffer, width, height) {
126
- const d = this._get();
127
- d.type = 5 /* DrawCmdType.RESIZE_TARGET */;
128
- d.buffer = buffer;
129
- d.width = width;
130
- d.height = height;
131
- this.drawDataLen++;
132
- }
133
- pushClearColor() {
134
- const d = this._get();
135
- d.type = 6 /* DrawCmdType.CLEAR_COLOR */;
136
- this.drawDataLen++;
137
- }
138
- pushActivateBuffer(buffer) {
139
- let drawState = false;
140
- for (let i = this.drawDataLen - 1; i >= 0; i--) {
141
- const d = this.drawData[i];
142
- if (d.type !== 4 /* DrawCmdType.BLEND */ && d.type !== 7 /* DrawCmdType.ACT_BUFFER */)
143
- drawState = true;
144
- if (!drawState && d.type === 7 /* DrawCmdType.ACT_BUFFER */) {
145
- this.drawData.splice(i, 1);
146
- this.drawDataLen--;
147
- continue;
148
- }
149
- }
150
- const d = this._get();
151
- d.type = 7 /* DrawCmdType.ACT_BUFFER */;
152
- d.buffer = buffer;
153
- d.width = buffer.rootRenderTarget?.width ?? 0;
154
- d.height = buffer.rootRenderTarget?.height ?? 0;
155
- this.drawDataLen++;
156
- }
157
- pushEnableScissor(x, y, width, height) {
158
- const d = this._get();
159
- d.type = 8 /* DrawCmdType.ENABLE_SCISSOR */;
160
- d.x = x;
161
- d.y = y;
162
- d.width = width;
163
- d.height = height;
164
- this.drawDataLen++;
165
- }
166
- pushDisableScissor() {
167
- const d = this._get();
168
- d.type = 9 /* DrawCmdType.DISABLE_SCISSOR */;
169
- this.drawDataLen++;
170
- }
171
- // ── Public methods — reset ────────────────────────────────────────────────
172
- clear() {
173
- for (let i = 0; i < this.drawDataLen; i++) {
174
- const d = this.drawData[i];
175
- d.type = 0 /* DrawCmdType.TEXTURE */;
176
- d.count = 0;
177
- d.texture = undefined;
178
- d.filter = undefined;
179
- d.value = '';
180
- d.buffer = undefined;
181
- d.width = 0;
182
- d.height = 0;
183
- d.textureWidth = 0;
184
- d.textureHeight = 0;
185
- d.smoothing = false;
186
- d.x = 0;
187
- d.y = 0;
188
- d.multiCmd = undefined;
189
- }
190
- this.drawDataLen = 0;
191
- }
192
- // ── Private methods ───────────────────────────────────────────────────────
193
- _get() {
194
- return this.drawData[this.drawDataLen] ?? (this.drawData[this.drawDataLen] = makeCmd());
195
- }
196
- }
197
- //# sourceMappingURL=WebGLDrawCmdManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebGLDrawCmdManager.js","sourceRoot":"","sources":["../../../../src/heron/player/webgl/WebGLDrawCmdManager.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export type UniformMap = Record<string, WebGLUniformLocation | null>;
2
- export type AttributeMap = Record<string, number>;
3
- type NativeWebGLProgram = NonNullable<ReturnType<WebGLRenderingContext['createProgram']>>;
4
- export declare class WebGLProgram {
5
- private static readonly _cache;
6
- static get(gl: WebGLRenderingContext, vertSrc: string, fragSrc: string, key: string): WebGLProgram;
7
- static clearCache(): void;
8
- readonly id: NativeWebGLProgram;
9
- readonly uniforms: UniformMap;
10
- readonly attributes: AttributeMap;
11
- private constructor();
12
- }
13
- export {};
14
- //# sourceMappingURL=WebGLProgram.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebGLProgram.d.ts","sourceRoot":"","sources":["../../../../src/heron/player/webgl/WebGLProgram.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC,CAAC;AACrE,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAGlD,KAAK,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAE1F,qBAAa,YAAY;IAGxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAmC;WAEnD,GAAG,CAAC,EAAE,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY;WAO3F,UAAU,IAAI,IAAI;IAMhC,SAAgB,EAAE,EAAE,kBAAkB,CAAC;IACvC,SAAgB,QAAQ,EAAE,UAAU,CAAM;IAC1C,SAAgB,UAAU,EAAE,YAAY,CAAM;IAE9C,OAAO;CAeP"}