@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,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,52 +0,0 @@
1
- import type { TextField } from '../../text/TextField.js';
2
- import type { WebGLRenderBuffer } from '../webgl/WebGLRenderBuffer.js';
3
- import type { Instruction } from '../InstructionSet.js';
4
- import type { InstructionSet } from '../InstructionSet.js';
5
- import type { RenderPipe } from '../RenderPipe.js';
6
- import type { CanvasRenderer } from '../CanvasRenderer.js';
7
- export interface TextInstruction extends Instruction {
8
- readonly renderPipeId: 'text';
9
- renderable: TextField;
10
- offsetX: number;
11
- offsetY: number;
12
- }
13
- /**
14
- * Handles WebGL rendering of TextField display objects.
15
- *
16
- * **Architecture** (following Egret's `WebGLRenderer.renderText`):
17
- *
18
- * 1. Compute the text draw area (width × height).
19
- * 2. Scale by the device pixel ratio (`canvasScaleX/Y`), clamped to
20
- * `maxTextureSize` so we never exceed the GPU's limit.
21
- * 3. Rasterize the text onto an offscreen `<canvas>` via `CanvasRenderer`.
22
- * 4. Upload the canvas as a WebGL texture (create once, update on change).
23
- * 5. Draw the texture via `buffer.context.drawTexture()`, scaling back down
24
- * by `canvasScale` so the on-screen size is correct.
25
- *
26
- * The cache is invalidated when `tf.renderDirty` is true or when the
27
- * dimensions / DPR change.
28
- */
29
- export declare class TextPipe implements RenderPipe<TextField> {
30
- static readonly PIPE_ID = "text";
31
- private static readonly _pool;
32
- private readonly _canvasRenderer;
33
- private readonly _cache;
34
- constructor(canvasRenderer: CanvasRenderer);
35
- private static _alloc;
36
- static release(inst: TextInstruction): void;
37
- addToInstructionSet(tf: TextField, set: InstructionSet): void;
38
- updateRenderable(_tf: TextField): void;
39
- destroyRenderable(tf: TextField): void;
40
- /**
41
- * Render a TextField into the WebGL buffer.
42
- * Follows Egret's `WebGLRenderer.renderText` pattern:
43
- *
44
- * 1. Compute logical width/height from the TextField.
45
- * 2. Scale by canvasScale (DPR), clamped to maxTextureSize.
46
- * 3. Rasterize to offscreen canvas (if dirty).
47
- * 4. Upload as WebGL texture.
48
- * 5. Draw with drawTexture, scaling back by canvasScale.
49
- */
50
- execute(inst: TextInstruction, buffer: WebGLRenderBuffer): void;
51
- }
52
- //# sourceMappingURL=TextPipe.d.ts.map
@@ -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,34 +0,0 @@
1
- export declare const ShaderLib: {
2
- readonly default_vert: "\nattribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nattribute vec4 aColor;\nuniform vec2 projectionVector;\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\nconst vec2 center = vec2(-1.0, 1.0);\nvoid main(void) {\n gl_Position = vec4((aVertexPosition / projectionVector) + center, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n vColor = aColor;\n}";
3
- readonly multi_vert: "\nattribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nattribute vec4 aColor;\nattribute float aTextureId;\nuniform vec2 projectionVector;\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\nvarying float vTextureId;\nconst vec2 center = vec2(-1.0, 1.0);\nvoid main(void) {\n gl_Position = vec4((aVertexPosition / projectionVector) + center, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n vColor = aColor;\n vTextureId = aTextureId;\n}";
4
- readonly multi_frag: "\nprecision lowp float;\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\nvarying float vTextureId;\nuniform sampler2D uSamplers[8];\nvoid main(void) {\n vec4 color;\n int id = int(vTextureId + 0.5);\n if (id == 0) color = texture2D(uSamplers[0], vTextureCoord);\n else if (id == 1) color = texture2D(uSamplers[1], vTextureCoord);\n else if (id == 2) color = texture2D(uSamplers[2], vTextureCoord);\n else if (id == 3) color = texture2D(uSamplers[3], vTextureCoord);\n else if (id == 4) color = texture2D(uSamplers[4], vTextureCoord);\n else if (id == 5) color = texture2D(uSamplers[5], vTextureCoord);\n else if (id == 6) color = texture2D(uSamplers[6], vTextureCoord);\n else color = texture2D(uSamplers[7], vTextureCoord);\n gl_FragColor = color * vColor;\n}";
5
- readonly texture_frag: "\nprecision lowp float;\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\nuniform sampler2D uSampler;\nvoid main(void) {\n gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;\n}";
6
- readonly primitive_frag: "\nprecision lowp float;\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\nvoid main(void) {\n gl_FragColor = vColor;\n}";
7
- readonly blur_frag: "\nprecision mediump float;\nuniform vec2 blur;\nuniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\nuniform vec2 uTextureSize;\nvoid main() {\n const int sampleRadius = 5;\n const int samples = sampleRadius * 2 + 1;\n vec2 blurUv = blur / uTextureSize;\n vec4 color = vec4(0.0, 0.0, 0.0, 0.0);\n vec2 uv = vec2(0.0, 0.0);\n blurUv /= float(sampleRadius);\n for (int i = -sampleRadius; i <= sampleRadius; i++) {\n uv.x = vTextureCoord.x + float(i) * blurUv.x;\n uv.y = vTextureCoord.y + float(i) * blurUv.y;\n color += texture2D(uSampler, uv);\n }\n color /= float(samples);\n gl_FragColor = color;\n}";
8
- readonly blur_h_frag: "\nprecision mediump float;\nuniform float blurX;\nuniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\nuniform vec2 uTextureSize;\nvoid main() {\n float step = 1.0 / uTextureSize.x;\n vec4 color = vec4(0.0);\n float total = 0.0;\n for (int i = -8; i <= 8; i++) {\n if (abs(float(i)) > blurX) continue;\n float weight = 1.0 - abs(float(i)) / (blurX + 1.0);\n color += texture2D(uSampler, vTextureCoord + vec2(float(i) * step, 0.0)) * weight;\n total += weight;\n }\n gl_FragColor = color / total;\n}";
9
- readonly blur_v_frag: "\nprecision mediump float;\nuniform float blurY;\nuniform sampler2D uSampler;\nvarying vec2 vTextureCoord;\nuniform vec2 uTextureSize;\nvoid main() {\n float step = 1.0 / uTextureSize.y;\n vec4 color = vec4(0.0);\n float total = 0.0;\n for (int i = -8; i <= 8; i++) {\n if (abs(float(i)) > blurY) continue;\n float weight = 1.0 - abs(float(i)) / (blurY + 1.0);\n color += texture2D(uSampler, vTextureCoord + vec2(0.0, float(i) * step)) * weight;\n total += weight;\n }\n gl_FragColor = color / total;\n}";
10
- readonly glow_frag: "\nprecision highp float;\nvarying vec2 vTextureCoord;\nuniform sampler2D uSampler;\nuniform float dist;\nuniform float angle;\nuniform vec4 color;\nuniform float alpha;\nuniform float blurX;\nuniform float blurY;\nuniform float strength;\nuniform float inner;\nuniform float knockout;\nuniform float hideObject;\nuniform vec2 uTextureSize;\nfloat random(vec2 scale) {\n return fract(sin(dot(gl_FragCoord.xy, scale)) * 43758.5453);\n}\nvoid main(void) {\n vec2 px = vec2(1.0 / uTextureSize.x, 1.0 / uTextureSize.y);\n const float linearSamplingTimes = 7.0;\n const float circleSamplingTimes = 12.0;\n vec4 ownColor = texture2D(uSampler, vTextureCoord);\n vec4 curColor;\n float totalAlpha = 0.0;\n float maxTotalAlpha = 0.0;\n float offsetX = dist * cos(angle) * px.x;\n float offsetY = dist * sin(angle) * px.y;\n const float PI = 3.14159265358979323846264;\n float offset = PI * 2.0 / circleSamplingTimes * random(vec2(12.9898, 78.233));\n float stepX = blurX * px.x / linearSamplingTimes;\n float stepY = blurY * px.y / linearSamplingTimes;\n for (float a = 0.0; a <= PI * 2.0; a += PI * 2.0 / circleSamplingTimes) {\n float cosAngle = cos(a + offset);\n float sinAngle = sin(a + offset);\n for (float i = 1.0; i <= linearSamplingTimes; i++) {\n float curDistanceX = i * stepX * cosAngle;\n float curDistanceY = i * stepY * sinAngle;\n if (vTextureCoord.x + curDistanceX - offsetX >= 0.0 && vTextureCoord.y + curDistanceY + offsetY <= 1.0) {\n curColor = texture2D(uSampler, vec2(vTextureCoord.x + curDistanceX - offsetX, vTextureCoord.y + curDistanceY + offsetY));\n totalAlpha += (linearSamplingTimes - i) * curColor.a;\n }\n maxTotalAlpha += (linearSamplingTimes - i);\n }\n }\n ownColor.a = max(ownColor.a, 0.0001);\n ownColor.rgb = ownColor.rgb / ownColor.a;\n float outerGlowAlpha = (totalAlpha / maxTotalAlpha) * strength * alpha * (1.0 - inner) * max(min(hideObject, knockout), 1.0 - ownColor.a);\n float innerGlowAlpha = ((maxTotalAlpha - totalAlpha) / maxTotalAlpha) * strength * alpha * inner * ownColor.a;\n ownColor.a = max(ownColor.a * knockout * (1.0 - hideObject), 0.0001);\n vec3 mix1 = mix(ownColor.rgb, color.rgb, innerGlowAlpha / (innerGlowAlpha + ownColor.a));\n vec3 mix2 = mix(mix1, color.rgb, outerGlowAlpha / (innerGlowAlpha + ownColor.a + outerGlowAlpha));\n float resultAlpha = min(ownColor.a + outerGlowAlpha + innerGlowAlpha, 1.0);\n gl_FragColor = vec4(mix2 * resultAlpha, resultAlpha);\n}";
11
- readonly colorTransform_frag: "\nprecision mediump float;\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\nuniform mat4 matrix;\nuniform vec4 colorAdd;\nuniform sampler2D uSampler;\nvoid main(void) {\n vec4 texColor = texture2D(uSampler, vTextureCoord);\n if (texColor.a > 0.0) {\n texColor = vec4(texColor.rgb / texColor.a, texColor.a);\n }\n vec4 locColor = clamp(texColor * matrix + colorAdd, 0.0, 1.0);\n gl_FragColor = vColor * vec4(locColor.rgb * locColor.a, locColor.a);\n}";
12
- };
13
- /**
14
- * Blur radius tiers. Each tier generates a dedicated shader variant with a
15
- * loop bound matching the tier value, avoiding the WebGL1 limitation where
16
- * loop bounds must be compile-time constants.
17
- *
18
- * Tier selection: pick the smallest tier >= ceil(blurValue).
19
- * e.g. blurX=5 → tier 8, blurX=12 → tier 16, blurX=25 → tier 32.
20
- */
21
- export declare const BLUR_TIERS: readonly [4, 8, 16, 32];
22
- export type BlurTier = (typeof BLUR_TIERS)[number];
23
- /** Returns the smallest tier that can accommodate the given blur radius. */
24
- export declare function getBlurTier(radius: number): BlurTier;
25
- /**
26
- * Generates a horizontal blur fragment shader for the given radius tier.
27
- * The loop bound is a compile-time constant so it is valid in WebGL1 GLSL.
28
- */
29
- export declare function makeBlurHFrag(tier: BlurTier): string;
30
- /**
31
- * Generates a vertical blur fragment shader for the given radius tier.
32
- */
33
- export declare function makeBlurVFrag(tier: BlurTier): string;
34
- //# sourceMappingURL=ShaderLib.d.ts.map
@@ -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"}