@blakron/core 0.4.2 → 0.5.0

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