@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
package/package.json CHANGED
@@ -1,52 +1,53 @@
1
1
  {
2
- "name": "@blakron/core",
3
- "version": "0.4.2",
4
- "description": "Modern rewrite of the Egret game engine — WebGL multi-texture batching, instruction-driven render pipeline, strict TypeScript, Egret-compatible API",
5
- "author": "",
6
- "license": "MIT",
7
- "type": "module",
8
- "main": "./dist/index.js",
9
- "module": "./dist/index.js",
10
- "types": "./dist/index.d.ts",
11
- "exports": {
12
- ".": {
13
- "types": "./dist/index.d.ts",
14
- "import": "./dist/index.js",
15
- "require": "./dist/index.js"
16
- }
17
- },
18
- "files": [
19
- "dist/**/*",
20
- "types/**/*"
21
- ],
22
- "devDependencies": {
23
- "@types/node": "^22.0.0",
24
- "fast-check": "^4.6.0",
25
- "happy-dom": "^20.8.9",
26
- "typescript": "^5.6.0",
27
- "vite": "^8.0.8",
28
- "vitest": "^4.1.4"
29
- },
30
- "keywords": [
31
- "blakron",
32
- "h5-game",
33
- "webgl",
34
- "webgpu",
35
- "typescript"
36
- ],
37
- "repository": {
38
- "type": "git",
39
- "url": "https://github.com/irwinmc/blakron-core.git"
40
- },
41
- "scripts": {
42
- "build": "tsc --build && npm run build:types",
43
- "build:types": "tsc --emitDeclarationOnly --declaration --declarationMap",
44
- "dev": "tsc --watch",
45
- "clean": "rm -rf dist",
46
- "test": "vitest run",
47
- "test:watch": "vitest",
48
- "benchmark": "vite --config vite.config.ts --open /index.html",
49
- "build:benchmark": "vite --config vite.config.ts build && cp examples/egret.min.js examples/egret.web.min.js benchmark-dist/",
50
- "preview:benchmark": "vite preview --config vite.config.ts --host 0.0.0.0 --port 4173"
51
- }
52
- }
2
+ "name": "@blakron/core",
3
+ "version": "0.5.0",
4
+ "description": "Modern rewrite of the Egret game engine — WebGL multi-texture batching, instruction-driven render pipeline, strict TypeScript, Egret-compatible API",
5
+ "author": "",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "main": "./dist/index.js",
9
+ "module": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/index.d.ts",
14
+ "import": "./dist/index.js",
15
+ "require": "./dist/index.js"
16
+ }
17
+ },
18
+ "files": [
19
+ "dist/**/*",
20
+ "types/**/*"
21
+ ],
22
+ "scripts": {
23
+ "build": "tsc --build && npm run build:types",
24
+ "build:types": "tsc --emitDeclarationOnly --declaration --declarationMap",
25
+ "dev": "tsc --watch",
26
+ "clean": "rm -rf dist",
27
+ "test": "vitest run",
28
+ "test:watch": "vitest",
29
+ "benchmark": "vite --config vite.config.ts --open /index.html",
30
+ "build:benchmark": "vite --config vite.config.ts build && cp examples/egret.min.js examples/egret.web.min.js benchmark-dist/",
31
+ "preview:benchmark": "vite preview --config vite.config.ts --host 0.0.0.0 --port 4173"
32
+ },
33
+ "devDependencies": {
34
+ "@types/node": "^22.0.0",
35
+ "fast-check": "^4.6.0",
36
+ "happy-dom": "^20.8.9",
37
+ "typescript": "^5.6.0",
38
+ "vite": "^8.0.8",
39
+ "vitest": "^4.1.4"
40
+ },
41
+ "keywords": [
42
+ "blakron",
43
+ "h5-game",
44
+ "webgl",
45
+ "webgpu",
46
+ "typescript"
47
+ ],
48
+ "repository": {
49
+ "type": "git",
50
+ "url": "https://github.com/irwinmc/blakron-core.git"
51
+ },
52
+ "packageManager": "pnpm@10.33.0"
53
+ }
@@ -1,22 +0,0 @@
1
- /**
2
- * GLSL ES 3.00 shaders — used with WebGL2 context.
3
- * For WebGL1 (GLSL ES 1.00) shaders see ../webgl/ShaderLib.ts
4
- */
5
- export declare const ShaderLib2: {
6
- readonly default_vert: "#version 300 es\nin vec2 aVertexPosition;\nin vec2 aTextureCoord;\nin vec4 aColor;\nuniform vec2 projectionVector;\nout vec2 vTextureCoord;\nout 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}";
7
- readonly multi_vert: "#version 300 es\nin vec2 aVertexPosition;\nin vec2 aTextureCoord;\nin vec4 aColor;\nin float aTextureId;\nuniform vec2 projectionVector;\nout vec2 vTextureCoord;\nout vec4 vColor;\nout 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}";
8
- readonly multi_frag: "#version 300 es\nprecision lowp float;\nin vec2 vTextureCoord;\nin vec4 vColor;\nin float vTextureId;\nuniform sampler2D uSamplers[8];\nout vec4 fragColor;\nvoid main(void) {\n vec4 color;\n int id = int(vTextureId + 0.5);\n if (id == 0) color = texture(uSamplers[0], vTextureCoord);\n else if (id == 1) color = texture(uSamplers[1], vTextureCoord);\n else if (id == 2) color = texture(uSamplers[2], vTextureCoord);\n else if (id == 3) color = texture(uSamplers[3], vTextureCoord);\n else if (id == 4) color = texture(uSamplers[4], vTextureCoord);\n else if (id == 5) color = texture(uSamplers[5], vTextureCoord);\n else if (id == 6) color = texture(uSamplers[6], vTextureCoord);\n else color = texture(uSamplers[7], vTextureCoord);\n fragColor = color * vColor;\n}";
9
- readonly texture_frag: "#version 300 es\nprecision lowp float;\nin vec2 vTextureCoord;\nin vec4 vColor;\nuniform sampler2D uSampler;\nout vec4 fragColor;\nvoid main(void) {\n fragColor = texture(uSampler, vTextureCoord) * vColor;\n}";
10
- readonly primitive_frag: "#version 300 es\nprecision lowp float;\nin vec2 vTextureCoord;\nin vec4 vColor;\nout vec4 fragColor;\nvoid main(void) {\n fragColor = vColor;\n}";
11
- readonly blur_frag: "#version 300 es\nprecision mediump float;\nuniform vec2 blur;\nuniform sampler2D uSampler;\nin vec2 vTextureCoord;\nuniform vec2 uTextureSize;\nout vec4 fragColor;\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 += texture(uSampler, uv);\n }\n color /= float(samples);\n fragColor = color;\n}";
12
- readonly blur_h_frag: "#version 300 es\nprecision mediump float;\nuniform float blurX;\nuniform sampler2D uSampler;\nin vec2 vTextureCoord;\nuniform vec2 uTextureSize;\nout vec4 fragColor;\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 += texture(uSampler, vTextureCoord + vec2(float(i) * step, 0.0)) * weight;\n total += weight;\n }\n fragColor = color / total;\n}";
13
- readonly blur_v_frag: "#version 300 es\nprecision mediump float;\nuniform float blurY;\nuniform sampler2D uSampler;\nin vec2 vTextureCoord;\nuniform vec2 uTextureSize;\nout vec4 fragColor;\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 += texture(uSampler, vTextureCoord + vec2(0.0, float(i) * step)) * weight;\n total += weight;\n }\n fragColor = color / total;\n}";
14
- readonly glow_frag: "#version 300 es\nprecision highp float;\nin 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;\nout vec4 fragColor;\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 = texture(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 = texture(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 fragColor = vec4(mix2 * resultAlpha, resultAlpha);\n}";
15
- readonly colorTransform_frag: "#version 300 es\nprecision mediump float;\nin vec2 vTextureCoord;\nin vec4 vColor;\nuniform mat4 matrix;\nuniform vec4 colorAdd;\nuniform sampler2D uSampler;\nout vec4 fragColor;\nvoid main(void) {\n vec4 texColor = texture(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 fragColor = vColor * vec4(locColor.rgb * locColor.a, locColor.a);\n}";
16
- };
17
- export declare const BLUR_TIERS2: readonly [4, 8, 16, 32];
18
- export type BlurTier2 = (typeof BLUR_TIERS2)[number];
19
- export declare function getBlurTier2(radius: number): BlurTier2;
20
- export declare function makeBlurHFrag2(tier: BlurTier2): string;
21
- export declare function makeBlurVFrag2(tier: BlurTier2): string;
22
- //# sourceMappingURL=ShaderLib2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShaderLib2.d.ts","sourceRoot":"","sources":["../../../../src/blakron/player/webgl2/ShaderLib2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;CAqNb,CAAC;AAIX,eAAO,MAAM,WAAW,yBAA0B,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAKtD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAoBtD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAoBtD"}
@@ -1,261 +0,0 @@
1
- /**
2
- * GLSL ES 3.00 shaders — used with WebGL2 context.
3
- * For WebGL1 (GLSL ES 1.00) shaders see ../webgl/ShaderLib.ts
4
- */
5
- export const ShaderLib2 = {
6
- default_vert: /* glsl */ `#version 300 es
7
- in vec2 aVertexPosition;
8
- in vec2 aTextureCoord;
9
- in vec4 aColor;
10
- uniform vec2 projectionVector;
11
- out vec2 vTextureCoord;
12
- out vec4 vColor;
13
- const vec2 center = vec2(-1.0, 1.0);
14
- void main(void) {
15
- gl_Position = vec4((aVertexPosition / projectionVector) + center, 0.0, 1.0);
16
- vTextureCoord = aTextureCoord;
17
- vColor = aColor;
18
- }`,
19
- // Multi-texture vertex shader: carries textureId as a float attribute.
20
- multi_vert: /* glsl */ `#version 300 es
21
- in vec2 aVertexPosition;
22
- in vec2 aTextureCoord;
23
- in vec4 aColor;
24
- in float aTextureId;
25
- uniform vec2 projectionVector;
26
- out vec2 vTextureCoord;
27
- out vec4 vColor;
28
- out float vTextureId;
29
- const vec2 center = vec2(-1.0, 1.0);
30
- void main(void) {
31
- gl_Position = vec4((aVertexPosition / projectionVector) + center, 0.0, 1.0);
32
- vTextureCoord = aTextureCoord;
33
- vColor = aColor;
34
- vTextureId = aTextureId;
35
- }`,
36
- // Multi-texture fragment shader.
37
- // WebGL2 / GLSL ES 3.00 supports dynamic indexing into sampler arrays natively.
38
- multi_frag: /* glsl */ `#version 300 es
39
- precision lowp float;
40
- in vec2 vTextureCoord;
41
- in vec4 vColor;
42
- in float vTextureId;
43
- uniform sampler2D uSamplers[8];
44
- out vec4 fragColor;
45
- void main(void) {
46
- vec4 color;
47
- int id = int(vTextureId + 0.5);
48
- if (id == 0) color = texture(uSamplers[0], vTextureCoord);
49
- else if (id == 1) color = texture(uSamplers[1], vTextureCoord);
50
- else if (id == 2) color = texture(uSamplers[2], vTextureCoord);
51
- else if (id == 3) color = texture(uSamplers[3], vTextureCoord);
52
- else if (id == 4) color = texture(uSamplers[4], vTextureCoord);
53
- else if (id == 5) color = texture(uSamplers[5], vTextureCoord);
54
- else if (id == 6) color = texture(uSamplers[6], vTextureCoord);
55
- else color = texture(uSamplers[7], vTextureCoord);
56
- fragColor = color * vColor;
57
- }`,
58
- texture_frag: /* glsl */ `#version 300 es
59
- precision lowp float;
60
- in vec2 vTextureCoord;
61
- in vec4 vColor;
62
- uniform sampler2D uSampler;
63
- out vec4 fragColor;
64
- void main(void) {
65
- fragColor = texture(uSampler, vTextureCoord) * vColor;
66
- }`,
67
- primitive_frag: /* glsl */ `#version 300 es
68
- precision lowp float;
69
- in vec2 vTextureCoord;
70
- in vec4 vColor;
71
- out vec4 fragColor;
72
- void main(void) {
73
- fragColor = vColor;
74
- }`,
75
- blur_frag: /* glsl */ `#version 300 es
76
- precision mediump float;
77
- uniform vec2 blur;
78
- uniform sampler2D uSampler;
79
- in vec2 vTextureCoord;
80
- uniform vec2 uTextureSize;
81
- out vec4 fragColor;
82
- void main() {
83
- const int sampleRadius = 5;
84
- const int samples = sampleRadius * 2 + 1;
85
- vec2 blurUv = blur / uTextureSize;
86
- vec4 color = vec4(0.0, 0.0, 0.0, 0.0);
87
- vec2 uv = vec2(0.0, 0.0);
88
- blurUv /= float(sampleRadius);
89
- for (int i = -sampleRadius; i <= sampleRadius; i++) {
90
- uv.x = vTextureCoord.x + float(i) * blurUv.x;
91
- uv.y = vTextureCoord.y + float(i) * blurUv.y;
92
- color += texture(uSampler, uv);
93
- }
94
- color /= float(samples);
95
- fragColor = color;
96
- }`,
97
- // Horizontal blur pass for ping-pong two-pass Gaussian blur.
98
- blur_h_frag: /* glsl */ `#version 300 es
99
- precision mediump float;
100
- uniform float blurX;
101
- uniform sampler2D uSampler;
102
- in vec2 vTextureCoord;
103
- uniform vec2 uTextureSize;
104
- out vec4 fragColor;
105
- void main() {
106
- float step = 1.0 / uTextureSize.x;
107
- vec4 color = vec4(0.0);
108
- float total = 0.0;
109
- for (int i = -8; i <= 8; i++) {
110
- if (abs(float(i)) > blurX) continue;
111
- float weight = 1.0 - abs(float(i)) / (blurX + 1.0);
112
- color += texture(uSampler, vTextureCoord + vec2(float(i) * step, 0.0)) * weight;
113
- total += weight;
114
- }
115
- fragColor = color / total;
116
- }`,
117
- // Vertical blur pass for ping-pong two-pass Gaussian blur.
118
- blur_v_frag: /* glsl */ `#version 300 es
119
- precision mediump float;
120
- uniform float blurY;
121
- uniform sampler2D uSampler;
122
- in vec2 vTextureCoord;
123
- uniform vec2 uTextureSize;
124
- out vec4 fragColor;
125
- void main() {
126
- float step = 1.0 / uTextureSize.y;
127
- vec4 color = vec4(0.0);
128
- float total = 0.0;
129
- for (int i = -8; i <= 8; i++) {
130
- if (abs(float(i)) > blurY) continue;
131
- float weight = 1.0 - abs(float(i)) / (blurY + 1.0);
132
- color += texture(uSampler, vTextureCoord + vec2(0.0, float(i) * step)) * weight;
133
- total += weight;
134
- }
135
- fragColor = color / total;
136
- }`,
137
- glow_frag: /* glsl */ `#version 300 es
138
- precision highp float;
139
- in vec2 vTextureCoord;
140
- uniform sampler2D uSampler;
141
- uniform float dist;
142
- uniform float angle;
143
- uniform vec4 color;
144
- uniform float alpha;
145
- uniform float blurX;
146
- uniform float blurY;
147
- uniform float strength;
148
- uniform float inner;
149
- uniform float knockout;
150
- uniform float hideObject;
151
- uniform vec2 uTextureSize;
152
- out vec4 fragColor;
153
- float random(vec2 scale) {
154
- return fract(sin(dot(gl_FragCoord.xy, scale)) * 43758.5453);
155
- }
156
- void main(void) {
157
- vec2 px = vec2(1.0 / uTextureSize.x, 1.0 / uTextureSize.y);
158
- const float linearSamplingTimes = 7.0;
159
- const float circleSamplingTimes = 12.0;
160
- vec4 ownColor = texture(uSampler, vTextureCoord);
161
- vec4 curColor;
162
- float totalAlpha = 0.0;
163
- float maxTotalAlpha = 0.0;
164
- float offsetX = dist * cos(angle) * px.x;
165
- float offsetY = dist * sin(angle) * px.y;
166
- const float PI = 3.14159265358979323846264;
167
- float offset = PI * 2.0 / circleSamplingTimes * random(vec2(12.9898, 78.233));
168
- float stepX = blurX * px.x / linearSamplingTimes;
169
- float stepY = blurY * px.y / linearSamplingTimes;
170
- for (float a = 0.0; a <= PI * 2.0; a += PI * 2.0 / circleSamplingTimes) {
171
- float cosAngle = cos(a + offset);
172
- float sinAngle = sin(a + offset);
173
- for (float i = 1.0; i <= linearSamplingTimes; i++) {
174
- float curDistanceX = i * stepX * cosAngle;
175
- float curDistanceY = i * stepY * sinAngle;
176
- if (vTextureCoord.x + curDistanceX - offsetX >= 0.0 && vTextureCoord.y + curDistanceY + offsetY <= 1.0) {
177
- curColor = texture(uSampler, vec2(vTextureCoord.x + curDistanceX - offsetX, vTextureCoord.y + curDistanceY + offsetY));
178
- totalAlpha += (linearSamplingTimes - i) * curColor.a;
179
- }
180
- maxTotalAlpha += (linearSamplingTimes - i);
181
- }
182
- }
183
- ownColor.a = max(ownColor.a, 0.0001);
184
- ownColor.rgb = ownColor.rgb / ownColor.a;
185
- float outerGlowAlpha = (totalAlpha / maxTotalAlpha) * strength * alpha * (1.0 - inner) * max(min(hideObject, knockout), 1.0 - ownColor.a);
186
- float innerGlowAlpha = ((maxTotalAlpha - totalAlpha) / maxTotalAlpha) * strength * alpha * inner * ownColor.a;
187
- ownColor.a = max(ownColor.a * knockout * (1.0 - hideObject), 0.0001);
188
- vec3 mix1 = mix(ownColor.rgb, color.rgb, innerGlowAlpha / (innerGlowAlpha + ownColor.a));
189
- vec3 mix2 = mix(mix1, color.rgb, outerGlowAlpha / (innerGlowAlpha + ownColor.a + outerGlowAlpha));
190
- float resultAlpha = min(ownColor.a + outerGlowAlpha + innerGlowAlpha, 1.0);
191
- fragColor = vec4(mix2 * resultAlpha, resultAlpha);
192
- }`,
193
- colorTransform_frag: /* glsl */ `#version 300 es
194
- precision mediump float;
195
- in vec2 vTextureCoord;
196
- in vec4 vColor;
197
- uniform mat4 matrix;
198
- uniform vec4 colorAdd;
199
- uniform sampler2D uSampler;
200
- out vec4 fragColor;
201
- void main(void) {
202
- vec4 texColor = texture(uSampler, vTextureCoord);
203
- if (texColor.a > 0.0) {
204
- texColor = vec4(texColor.rgb / texColor.a, texColor.a);
205
- }
206
- vec4 locColor = clamp(texColor * matrix + colorAdd, 0.0, 1.0);
207
- fragColor = vColor * vec4(locColor.rgb * locColor.a, locColor.a);
208
- }`,
209
- };
210
- // ── Dynamic blur shader generation (GLSL ES 3.00) ─────────────────────────────
211
- export const BLUR_TIERS2 = [4, 8, 16, 32];
212
- export function getBlurTier2(radius) {
213
- for (const tier of BLUR_TIERS2) {
214
- if (radius <= tier)
215
- return tier;
216
- }
217
- return 32;
218
- }
219
- export function makeBlurHFrag2(tier) {
220
- return /* glsl */ `#version 300 es
221
- precision mediump float;
222
- uniform float blurX;
223
- uniform sampler2D uSampler;
224
- in vec2 vTextureCoord;
225
- uniform vec2 uTextureSize;
226
- out vec4 fragColor;
227
- void main() {
228
- float step = 1.0 / uTextureSize.x;
229
- vec4 color = vec4(0.0);
230
- float total = 0.0;
231
- for (int i = -${tier}; i <= ${tier}; i++) {
232
- if (abs(float(i)) > blurX) continue;
233
- float weight = 1.0 - abs(float(i)) / (blurX + 1.0);
234
- color += texture(uSampler, vTextureCoord + vec2(float(i) * step, 0.0)) * weight;
235
- total += weight;
236
- }
237
- fragColor = color / total;
238
- }`;
239
- }
240
- export function makeBlurVFrag2(tier) {
241
- return /* glsl */ `#version 300 es
242
- precision mediump float;
243
- uniform float blurY;
244
- uniform sampler2D uSampler;
245
- in vec2 vTextureCoord;
246
- uniform vec2 uTextureSize;
247
- out vec4 fragColor;
248
- void main() {
249
- float step = 1.0 / uTextureSize.y;
250
- vec4 color = vec4(0.0);
251
- float total = 0.0;
252
- for (int i = -${tier}; i <= ${tier}; i++) {
253
- if (abs(float(i)) > blurY) continue;
254
- float weight = 1.0 - abs(float(i)) / (blurY + 1.0);
255
- color += texture(uSampler, vTextureCoord + vec2(0.0, float(i) * step)) * weight;
256
- total += weight;
257
- }
258
- fragColor = color / total;
259
- }`;
260
- }
261
- //# sourceMappingURL=ShaderLib2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShaderLib2.js","sourceRoot":"","sources":["../../../../src/blakron/player/webgl2/ShaderLib2.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,YAAY,EAAE,UAAU,CAAC;;;;;;;;;;;;EAYxB;IAED,uEAAuE;IACvE,UAAU,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;EAetB;IAED,iCAAiC;IACjC,gFAAgF;IAChF,UAAU,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;EAmBtB;IAED,YAAY,EAAE,UAAU,CAAC;;;;;;;;EAQxB;IAED,cAAc,EAAE,UAAU,CAAC;;;;;;;EAO1B;IAED,SAAS,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;EAqBrB;IAED,6DAA6D;IAC7D,WAAW,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;EAkBvB;IAED,2DAA2D;IAC3D,WAAW,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;EAkBvB;IAED,SAAS,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDrB;IAED,mBAAmB,EAAE,UAAU,CAAC;;;;;;;;;;;;;;;EAe/B;CACQ,CAAC;AAEX,iFAAiF;AAEjF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AAGnD,MAAM,UAAU,YAAY,CAAC,MAAc;IAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,MAAM,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAe;IAC7C,OAAO,UAAU,CAAC;;;;;;;;;;;oBAWC,IAAI,UAAU,IAAI;;;;;;;EAOpC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAe;IAC7C,OAAO,UAAU,CAAC;;;;;;;;;;;oBAWC,IAAI,UAAU,IAAI;;;;;;;EAOpC,CAAC;AACH,CAAC"}
@@ -1,60 +0,0 @@
1
- import type { MetricsCollector } from './MetricsCollector.js';
2
- export type Phase = 'idle' | 'warmup' | 'measuring' | 'paused';
3
- export interface SceneDescriptor {
4
- id: string;
5
- label?: string;
6
- defaultCount?: number;
7
- minCount?: number;
8
- maxCount?: number;
9
- build(container: unknown, count: number): () => void;
10
- }
11
- /**
12
- * 纯状态机,管理 warmup/measuring/paused 状态。
13
- * 不依赖 Heron 引擎,通过外部注入的回调与引擎交互。
14
- */
15
- export declare class BenchmarkRunner {
16
- private readonly collector;
17
- private readonly onPhaseChange;
18
- private readonly getSceneDescriptor;
19
- private readonly container;
20
- private phase;
21
- private warmupFrames;
22
- private readonly warmupTarget;
23
- private currentSceneId;
24
- private currentCount;
25
- private cleanup;
26
- constructor(collector: MetricsCollector, onPhaseChange: (phase: Phase) => void, getSceneDescriptor: (id: string) => SceneDescriptor | undefined, container: unknown);
27
- /**
28
- * 切换场景:销毁旧场景,重建新场景,重置 warmup
29
- */
30
- switchScene(sceneId: string, count: number): void;
31
- /**
32
- * 重建当前场景(对象数量变更)
33
- */
34
- rebuildScene(count: number): void;
35
- /**
36
- * 暂停(仅在 measuring 状态有效)
37
- */
38
- pause(): void;
39
- /**
40
- * 继续(仅在 paused 状态有效)
41
- */
42
- resume(): void;
43
- /**
44
- * 重置测量:清空统计,重新进入 warmup
45
- */
46
- resetMeasurement(): void;
47
- /**
48
- * 每帧回调(由外部 ENTER_FRAME 事件调用)
49
- */
50
- onFrame(perf: {
51
- fps: number;
52
- drawCalls: number;
53
- renderTimeMs: number;
54
- }): void;
55
- /**
56
- * 获取当前阶段
57
- */
58
- getPhase(): Phase;
59
- }
60
- //# sourceMappingURL=BenchmarkRunner.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BenchmarkRunner.d.ts","sourceRoot":"","sources":["../../../src/heron/benchmark/BenchmarkRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;CACrD;AAED;;;GAGG;AACH,qBAAa,eAAe;IAS1B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAX3B,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAM;IACnC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,OAAO,CAA2B;gBAGxB,SAAS,EAAE,gBAAgB,EAC3B,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,EACrC,kBAAkB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,EAC/D,SAAS,EAAE,OAAO;IAGpC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAyBjD;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMjC;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,MAAM,IAAI,IAAI;IAOd;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAOxB;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAyB7E;;OAEG;IACH,QAAQ,IAAI,KAAK;CAGjB"}
@@ -1,112 +0,0 @@
1
- /**
2
- * 纯状态机,管理 warmup/measuring/paused 状态。
3
- * 不依赖 Heron 引擎,通过外部注入的回调与引擎交互。
4
- */
5
- export class BenchmarkRunner {
6
- collector;
7
- onPhaseChange;
8
- getSceneDescriptor;
9
- container;
10
- phase = 'idle';
11
- warmupFrames = 0;
12
- warmupTarget = 60;
13
- currentSceneId;
14
- currentCount = 0;
15
- cleanup;
16
- constructor(collector, onPhaseChange, getSceneDescriptor, container) {
17
- this.collector = collector;
18
- this.onPhaseChange = onPhaseChange;
19
- this.getSceneDescriptor = getSceneDescriptor;
20
- this.container = container;
21
- }
22
- /**
23
- * 切换场景:销毁旧场景,重建新场景,重置 warmup
24
- */
25
- switchScene(sceneId, count) {
26
- // 1. 销毁旧场景
27
- if (this.cleanup) {
28
- this.cleanup();
29
- this.cleanup = undefined;
30
- }
31
- // 2. 找到场景描述符,构建新场景
32
- const descriptor = this.getSceneDescriptor(sceneId);
33
- if (descriptor) {
34
- this.cleanup = descriptor.build(this.container, count);
35
- }
36
- this.currentSceneId = sceneId;
37
- this.currentCount = count;
38
- // 3. 重置 warmup 状态
39
- this.warmupFrames = 0;
40
- this.phase = 'warmup';
41
- this.onPhaseChange(this.phase);
42
- // 4. 清空统计
43
- this.collector.reset();
44
- }
45
- /**
46
- * 重建当前场景(对象数量变更)
47
- */
48
- rebuildScene(count) {
49
- if (this.currentSceneId !== undefined) {
50
- this.switchScene(this.currentSceneId, count);
51
- }
52
- }
53
- /**
54
- * 暂停(仅在 measuring 状态有效)
55
- */
56
- pause() {
57
- if (this.phase === 'measuring') {
58
- this.phase = 'paused';
59
- this.onPhaseChange(this.phase);
60
- }
61
- }
62
- /**
63
- * 继续(仅在 paused 状态有效)
64
- */
65
- resume() {
66
- if (this.phase === 'paused') {
67
- this.phase = 'measuring';
68
- this.onPhaseChange(this.phase);
69
- }
70
- }
71
- /**
72
- * 重置测量:清空统计,重新进入 warmup
73
- */
74
- resetMeasurement() {
75
- this.collector.reset();
76
- this.warmupFrames = 0;
77
- this.phase = 'warmup';
78
- this.onPhaseChange(this.phase);
79
- }
80
- /**
81
- * 每帧回调(由外部 ENTER_FRAME 事件调用)
82
- */
83
- onFrame(perf) {
84
- if (this.phase === 'idle' || this.phase === 'paused') {
85
- return;
86
- }
87
- if (this.phase === 'warmup') {
88
- this.warmupFrames++;
89
- if (this.warmupFrames >= this.warmupTarget) {
90
- this.phase = 'measuring';
91
- this.onPhaseChange(this.phase);
92
- }
93
- return;
94
- }
95
- // measuring 状态
96
- if (this.phase === 'measuring') {
97
- this.collector.record({
98
- fps: perf.fps,
99
- drawCalls: perf.drawCalls,
100
- renderTimeMs: perf.renderTimeMs,
101
- objectCount: this.currentCount,
102
- });
103
- }
104
- }
105
- /**
106
- * 获取当前阶段
107
- */
108
- getPhase() {
109
- return this.phase;
110
- }
111
- }
112
- //# sourceMappingURL=BenchmarkRunner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BenchmarkRunner.js","sourceRoot":"","sources":["../../../src/heron/benchmark/BenchmarkRunner.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,MAAM,OAAO,eAAe;IAST;IACA;IACA;IACA;IAXV,KAAK,GAAU,MAAM,CAAC;IACtB,YAAY,GAAG,CAAC,CAAC;IACR,YAAY,GAAG,EAAE,CAAC;IAC3B,cAAc,CAAqB;IACnC,YAAY,GAAG,CAAC,CAAC;IACjB,OAAO,CAA2B;IAE1C,YACkB,SAA2B,EAC3B,aAAqC,EACrC,kBAA+D,EAC/D,SAAkB;QAHlB,cAAS,GAAT,SAAS,CAAkB;QAC3B,kBAAa,GAAb,aAAa,CAAwB;QACrC,uBAAkB,GAAlB,kBAAkB,CAA6C;QAC/D,cAAS,GAAT,SAAS,CAAS;IACjC,CAAC;IAEJ;;OAEG;IACH,WAAW,CAAC,OAAe,EAAE,KAAa;QACzC,WAAW;QACX,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC1B,CAAC;QAED,mBAAmB;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YAChB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE1B,kBAAkB;QAClB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,UAAU;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAAa;QACzB,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,MAAM;QACL,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;YACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED;;OAEG;IACH,gBAAgB;QACf,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAA8D;QACrE,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtD,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;gBACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YACD,OAAO;QACR,CAAC;QAED,eAAe;QACf,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;gBACrB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,IAAI,CAAC,YAAY;aAC9B,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED;;OAEG;IACH,QAAQ;QACP,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;CACD"}
@@ -1,34 +0,0 @@
1
- import type { FrameData, Stats } from './types.js';
2
- /**
3
- * 计算排序数组的百分位数
4
- * @param sortedArr 已排序的数组
5
- * @param p 百分位(0-1)
6
- */
7
- export declare function percentile(sortedArr: number[], p: number): number;
8
- /**
9
- * 使用 ring buffer 维护 300 帧滑动窗口的指标采集器
10
- */
11
- export declare class MetricsCollector {
12
- private readonly windowSize;
13
- private readonly buffer;
14
- private writeIdx;
15
- private frameCount;
16
- constructor(windowSize?: number);
17
- /**
18
- * 写入一帧数据到 ring buffer
19
- */
20
- record(frame: FrameData): void;
21
- /**
22
- * 清空所有历史数据,重置写指针和帧计数
23
- */
24
- reset(): void;
25
- /**
26
- * 连续 10 帧 renderTimeMs > 33.3ms 时返回 true
27
- */
28
- isLowFps(): boolean;
29
- /**
30
- * 计算并返回统计结果
31
- */
32
- getStats(): Stats;
33
- }
34
- //# sourceMappingURL=MetricsCollector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetricsCollector.d.ts","sourceRoot":"","sources":["../../../src/heron/benchmark/MetricsCollector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,GAAE,MAAY;IAKpC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAQ9B;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,QAAQ,IAAI,OAAO;IAcnB;;OAEG;IACH,QAAQ,IAAI,KAAK;CAiEjB"}