@kurot/core 1.0.14 → 1.0.15

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 (286) hide show
  1. package/README.md +63 -1
  2. package/dist/kurot/display/Bitmap.d.ts +0 -1
  3. package/dist/kurot/display/Bitmap.d.ts.map +1 -1
  4. package/dist/kurot/display/Bitmap.js +0 -3
  5. package/dist/kurot/display/Bitmap.js.map +1 -1
  6. package/dist/kurot/display/DisplayObject.d.ts +16 -35
  7. package/dist/kurot/display/DisplayObject.d.ts.map +1 -1
  8. package/dist/kurot/display/DisplayObject.js +6 -41
  9. package/dist/kurot/display/DisplayObject.js.map +1 -1
  10. package/dist/kurot/display/DisplayObjectContainer.d.ts +0 -10
  11. package/dist/kurot/display/DisplayObjectContainer.d.ts.map +1 -1
  12. package/dist/kurot/display/DisplayObjectContainer.js +0 -14
  13. package/dist/kurot/display/DisplayObjectContainer.js.map +1 -1
  14. package/dist/kurot/display/Graphics.d.ts +0 -1
  15. package/dist/kurot/display/Graphics.d.ts.map +1 -1
  16. package/dist/kurot/display/Graphics.js +0 -3
  17. package/dist/kurot/display/Graphics.js.map +1 -1
  18. package/dist/kurot/display/Mesh.d.ts +9 -3
  19. package/dist/kurot/display/Mesh.d.ts.map +1 -1
  20. package/dist/kurot/display/Mesh.js +9 -3
  21. package/dist/kurot/display/Mesh.js.map +1 -1
  22. package/dist/kurot/display/Stage.d.ts +0 -1
  23. package/dist/kurot/display/Stage.d.ts.map +1 -1
  24. package/dist/kurot/display/Stage.js +0 -2
  25. package/dist/kurot/display/Stage.js.map +1 -1
  26. package/dist/kurot/display/enums/BlendMode.d.ts.map +1 -1
  27. package/dist/kurot/display/enums/BlendMode.js +0 -2
  28. package/dist/kurot/display/enums/BlendMode.js.map +1 -1
  29. package/dist/kurot/display/texture/RenderTexture.d.ts +0 -1
  30. package/dist/kurot/display/texture/RenderTexture.d.ts.map +1 -1
  31. package/dist/kurot/display/texture/RenderTexture.js +0 -4
  32. package/dist/kurot/display/texture/RenderTexture.js.map +1 -1
  33. package/dist/kurot/display/texture/Texture.d.ts +9 -3
  34. package/dist/kurot/display/texture/Texture.d.ts.map +1 -1
  35. package/dist/kurot/display/texture/Texture.js +9 -3
  36. package/dist/kurot/display/texture/Texture.js.map +1 -1
  37. package/dist/kurot/events/Event.d.ts +3 -1
  38. package/dist/kurot/events/Event.d.ts.map +1 -1
  39. package/dist/kurot/events/Event.js +0 -2
  40. package/dist/kurot/events/Event.js.map +1 -1
  41. package/dist/kurot/events/EventDispatcher.d.ts.map +1 -1
  42. package/dist/kurot/events/EventDispatcher.js +0 -2
  43. package/dist/kurot/events/EventDispatcher.js.map +1 -1
  44. package/dist/kurot/events/TimerEvent.d.ts +0 -1
  45. package/dist/kurot/events/TimerEvent.d.ts.map +1 -1
  46. package/dist/kurot/events/TimerEvent.js +0 -1
  47. package/dist/kurot/events/TimerEvent.js.map +1 -1
  48. package/dist/kurot/events/TouchEvent.d.ts +0 -1
  49. package/dist/kurot/events/TouchEvent.d.ts.map +1 -1
  50. package/dist/kurot/events/TouchEvent.js +0 -1
  51. package/dist/kurot/events/TouchEvent.js.map +1 -1
  52. package/dist/kurot/filters/BlurFilter.d.ts.map +1 -1
  53. package/dist/kurot/filters/BlurFilter.js +0 -3
  54. package/dist/kurot/filters/BlurFilter.js.map +1 -1
  55. package/dist/kurot/filters/DropShadowFilter.d.ts.map +1 -1
  56. package/dist/kurot/filters/DropShadowFilter.js +0 -2
  57. package/dist/kurot/filters/DropShadowFilter.js.map +1 -1
  58. package/dist/kurot/geom/Matrix.d.ts +3 -9
  59. package/dist/kurot/geom/Matrix.d.ts.map +1 -1
  60. package/dist/kurot/geom/Matrix.js +3 -9
  61. package/dist/kurot/geom/Matrix.js.map +1 -1
  62. package/dist/kurot/geom/Point.d.ts +3 -1
  63. package/dist/kurot/geom/Point.d.ts.map +1 -1
  64. package/dist/kurot/geom/Point.js +3 -1
  65. package/dist/kurot/geom/Point.js.map +1 -1
  66. package/dist/kurot/geom/Rectangle.d.ts +3 -3
  67. package/dist/kurot/geom/Rectangle.d.ts.map +1 -1
  68. package/dist/kurot/geom/Rectangle.js +3 -3
  69. package/dist/kurot/geom/Rectangle.js.map +1 -1
  70. package/dist/kurot/media/Sound.d.ts.map +1 -1
  71. package/dist/kurot/media/Sound.js +1 -8
  72. package/dist/kurot/media/Sound.js.map +1 -1
  73. package/dist/kurot/media/SoundChannel.d.ts +0 -1
  74. package/dist/kurot/media/SoundChannel.d.ts.map +1 -1
  75. package/dist/kurot/media/SoundChannel.js +0 -3
  76. package/dist/kurot/media/SoundChannel.js.map +1 -1
  77. package/dist/kurot/player/InstructionSet.d.ts +4 -17
  78. package/dist/kurot/player/InstructionSet.d.ts.map +1 -1
  79. package/dist/kurot/player/InstructionSet.js +3 -20
  80. package/dist/kurot/player/InstructionSet.js.map +1 -1
  81. package/dist/kurot/player/KurotOptions.d.ts +24 -9
  82. package/dist/kurot/player/KurotOptions.d.ts.map +1 -1
  83. package/dist/kurot/player/Player.d.ts +15 -9
  84. package/dist/kurot/player/Player.d.ts.map +1 -1
  85. package/dist/kurot/player/Player.js +20 -22
  86. package/dist/kurot/player/Player.js.map +1 -1
  87. package/dist/kurot/player/RenderBuffer.d.ts +4 -14
  88. package/dist/kurot/player/RenderBuffer.d.ts.map +1 -1
  89. package/dist/kurot/player/RenderContext.d.ts +11 -27
  90. package/dist/kurot/player/RenderContext.d.ts.map +1 -1
  91. package/dist/kurot/player/RenderPipe.d.ts +3 -13
  92. package/dist/kurot/player/RenderPipe.d.ts.map +1 -1
  93. package/dist/kurot/player/ScreenAdapter.d.ts +6 -5
  94. package/dist/kurot/player/ScreenAdapter.d.ts.map +1 -1
  95. package/dist/kurot/player/ScreenAdapter.js +6 -15
  96. package/dist/kurot/player/ScreenAdapter.js.map +1 -1
  97. package/dist/kurot/player/SystemTicker.d.ts +13 -9
  98. package/dist/kurot/player/SystemTicker.d.ts.map +1 -1
  99. package/dist/kurot/player/SystemTicker.js +10 -13
  100. package/dist/kurot/player/SystemTicker.js.map +1 -1
  101. package/dist/kurot/player/TouchHandler.d.ts +3 -4
  102. package/dist/kurot/player/TouchHandler.d.ts.map +1 -1
  103. package/dist/kurot/player/TouchHandler.js +3 -12
  104. package/dist/kurot/player/TouchHandler.js.map +1 -1
  105. package/dist/kurot/player/canvas/CanvasBuffer.d.ts.map +1 -1
  106. package/dist/kurot/player/canvas/CanvasBuffer.js +0 -3
  107. package/dist/kurot/player/canvas/CanvasBuffer.js.map +1 -1
  108. package/dist/kurot/player/canvas/CanvasRenderer.d.ts +9 -17
  109. package/dist/kurot/player/canvas/CanvasRenderer.d.ts.map +1 -1
  110. package/dist/kurot/player/canvas/CanvasRenderer.js +182 -74
  111. package/dist/kurot/player/canvas/CanvasRenderer.js.map +1 -1
  112. package/dist/kurot/player/canvas/DisplayList.d.ts +1 -5
  113. package/dist/kurot/player/canvas/DisplayList.d.ts.map +1 -1
  114. package/dist/kurot/player/canvas/DisplayList.js +1 -5
  115. package/dist/kurot/player/canvas/DisplayList.js.map +1 -1
  116. package/dist/kurot/player/createPlayer.d.ts.map +1 -1
  117. package/dist/kurot/player/createPlayer.js +0 -2
  118. package/dist/kurot/player/createPlayer.js.map +1 -1
  119. package/dist/kurot/player/pipes/BitmapPipe.d.ts +3 -9
  120. package/dist/kurot/player/pipes/BitmapPipe.d.ts.map +1 -1
  121. package/dist/kurot/player/pipes/BitmapPipe.js +19 -33
  122. package/dist/kurot/player/pipes/BitmapPipe.js.map +1 -1
  123. package/dist/kurot/player/pipes/FilterPipe.d.ts +11 -28
  124. package/dist/kurot/player/pipes/FilterPipe.d.ts.map +1 -1
  125. package/dist/kurot/player/pipes/FilterPipe.js +8 -51
  126. package/dist/kurot/player/pipes/FilterPipe.js.map +1 -1
  127. package/dist/kurot/player/pipes/GraphicsPipe.d.ts +2 -7
  128. package/dist/kurot/player/pipes/GraphicsPipe.d.ts.map +1 -1
  129. package/dist/kurot/player/pipes/GraphicsPipe.js +28 -38
  130. package/dist/kurot/player/pipes/GraphicsPipe.js.map +1 -1
  131. package/dist/kurot/player/pipes/MaskPipe.d.ts +9 -14
  132. package/dist/kurot/player/pipes/MaskPipe.d.ts.map +1 -1
  133. package/dist/kurot/player/pipes/MaskPipe.js +24 -46
  134. package/dist/kurot/player/pipes/MaskPipe.js.map +1 -1
  135. package/dist/kurot/player/pipes/MeshPipe.d.ts +4 -1
  136. package/dist/kurot/player/pipes/MeshPipe.d.ts.map +1 -1
  137. package/dist/kurot/player/pipes/MeshPipe.js +20 -22
  138. package/dist/kurot/player/pipes/MeshPipe.js.map +1 -1
  139. package/dist/kurot/player/pipes/ParticlePipe.d.ts +1 -2
  140. package/dist/kurot/player/pipes/ParticlePipe.d.ts.map +1 -1
  141. package/dist/kurot/player/pipes/ParticlePipe.js +6 -14
  142. package/dist/kurot/player/pipes/ParticlePipe.js.map +1 -1
  143. package/dist/kurot/player/pipes/TextPipe.d.ts +3 -23
  144. package/dist/kurot/player/pipes/TextPipe.d.ts.map +1 -1
  145. package/dist/kurot/player/pipes/TextPipe.js +31 -74
  146. package/dist/kurot/player/pipes/TextPipe.js.map +1 -1
  147. package/dist/kurot/player/webgl/MultiTextureBatcher.d.ts +1 -12
  148. package/dist/kurot/player/webgl/MultiTextureBatcher.d.ts.map +1 -1
  149. package/dist/kurot/player/webgl/MultiTextureBatcher.js +2 -11
  150. package/dist/kurot/player/webgl/MultiTextureBatcher.js.map +1 -1
  151. package/dist/kurot/player/webgl/WebGLDrawCmdManager.d.ts +4 -4
  152. package/dist/kurot/player/webgl/WebGLDrawCmdManager.d.ts.map +1 -1
  153. package/dist/kurot/player/webgl/WebGLDrawCmdManager.js +11 -10
  154. package/dist/kurot/player/webgl/WebGLDrawCmdManager.js.map +1 -1
  155. package/dist/kurot/player/webgl/WebGLProgram.d.ts.map +1 -1
  156. package/dist/kurot/player/webgl/WebGLProgram.js.map +1 -1
  157. package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts +2 -0
  158. package/dist/kurot/player/webgl/WebGLRenderBuffer.d.ts.map +1 -1
  159. package/dist/kurot/player/webgl/WebGLRenderBuffer.js +9 -6
  160. package/dist/kurot/player/webgl/WebGLRenderBuffer.js.map +1 -1
  161. package/dist/kurot/player/webgl/WebGLRenderContext.d.ts +14 -43
  162. package/dist/kurot/player/webgl/WebGLRenderContext.d.ts.map +1 -1
  163. package/dist/kurot/player/webgl/WebGLRenderContext.js +34 -114
  164. package/dist/kurot/player/webgl/WebGLRenderContext.js.map +1 -1
  165. package/dist/kurot/player/webgl/WebGLRenderTarget.d.ts +2 -0
  166. package/dist/kurot/player/webgl/WebGLRenderTarget.d.ts.map +1 -1
  167. package/dist/kurot/player/webgl/WebGLRenderTarget.js +6 -0
  168. package/dist/kurot/player/webgl/WebGLRenderTarget.js.map +1 -1
  169. package/dist/kurot/player/webgl/WebGLRenderer.d.ts +3 -147
  170. package/dist/kurot/player/webgl/WebGLRenderer.d.ts.map +1 -1
  171. package/dist/kurot/player/webgl/WebGLRenderer.js +6 -210
  172. package/dist/kurot/player/webgl/WebGLRenderer.js.map +1 -1
  173. package/dist/kurot/player/webgl/WebGLUtils.d.ts +4 -4
  174. package/dist/kurot/player/webgl/WebGLUtils.d.ts.map +1 -1
  175. package/dist/kurot/player/webgl/WebGLUtils.js +3 -2
  176. package/dist/kurot/player/webgl/WebGLUtils.js.map +1 -1
  177. package/dist/kurot/player/webgl/WebGLVertexArrayObject.d.ts +6 -2
  178. package/dist/kurot/player/webgl/WebGLVertexArrayObject.d.ts.map +1 -1
  179. package/dist/kurot/player/webgl/WebGLVertexArrayObject.js +6 -11
  180. package/dist/kurot/player/webgl/WebGLVertexArrayObject.js.map +1 -1
  181. package/dist/kurot/player/webgl/shaders/ShaderLib.d.ts +1 -2
  182. package/dist/kurot/player/webgl/shaders/ShaderLib.d.ts.map +1 -1
  183. package/dist/kurot/player/webgl/shaders/ShaderLib.js +1 -6
  184. package/dist/kurot/player/webgl/shaders/ShaderLib.js.map +1 -1
  185. package/dist/kurot/player/webgl/shaders/ShaderLib2.d.ts +1 -2
  186. package/dist/kurot/player/webgl/shaders/ShaderLib2.d.ts.map +1 -1
  187. package/dist/kurot/player/webgl/shaders/ShaderLib2.js +1 -13
  188. package/dist/kurot/player/webgl/shaders/ShaderLib2.js.map +1 -1
  189. package/dist/kurot/player/webgl/shaders/index.d.ts.map +1 -1
  190. package/dist/kurot/player/webgl/shaders/index.js +0 -2
  191. package/dist/kurot/player/webgl/shaders/index.js.map +1 -1
  192. package/dist/kurot/resource/Resource.d.ts +1 -1
  193. package/dist/kurot/resource/Resource.d.ts.map +1 -1
  194. package/dist/kurot/resource/Resource.js +1 -12
  195. package/dist/kurot/resource/Resource.js.map +1 -1
  196. package/dist/kurot/resource/ResourceEvent.d.ts +15 -5
  197. package/dist/kurot/resource/ResourceEvent.d.ts.map +1 -1
  198. package/dist/kurot/resource/ResourceLoader.d.ts +15 -24
  199. package/dist/kurot/resource/ResourceLoader.d.ts.map +1 -1
  200. package/dist/kurot/resource/ResourceLoader.js +17 -35
  201. package/dist/kurot/resource/ResourceLoader.js.map +1 -1
  202. package/dist/kurot/resource/analyzers/AnalyzerBase.d.ts +3 -4
  203. package/dist/kurot/resource/analyzers/AnalyzerBase.d.ts.map +1 -1
  204. package/dist/kurot/resource/analyzers/AnalyzerBase.js +3 -5
  205. package/dist/kurot/resource/analyzers/AnalyzerBase.js.map +1 -1
  206. package/dist/kurot/resource/analyzers/ImageAnalyzer.d.ts.map +1 -1
  207. package/dist/kurot/resource/analyzers/ImageAnalyzer.js +0 -1
  208. package/dist/kurot/resource/analyzers/ImageAnalyzer.js.map +1 -1
  209. package/dist/kurot/resource/analyzers/SheetAnalyzer.d.ts +6 -5
  210. package/dist/kurot/resource/analyzers/SheetAnalyzer.d.ts.map +1 -1
  211. package/dist/kurot/resource/analyzers/SheetAnalyzer.js +6 -12
  212. package/dist/kurot/resource/analyzers/SheetAnalyzer.js.map +1 -1
  213. package/dist/kurot/resource/analyzers/SoundAnalyzer.d.ts.map +1 -1
  214. package/dist/kurot/resource/analyzers/SoundAnalyzer.js +0 -1
  215. package/dist/kurot/resource/analyzers/SoundAnalyzer.js.map +1 -1
  216. package/dist/kurot/resource/index.d.ts.map +1 -1
  217. package/dist/kurot/resource/index.js +0 -3
  218. package/dist/kurot/resource/index.js.map +1 -1
  219. package/dist/kurot/system/Capabilities.d.ts +11 -13
  220. package/dist/kurot/system/Capabilities.d.ts.map +1 -1
  221. package/dist/kurot/system/Capabilities.js +12 -18
  222. package/dist/kurot/system/Capabilities.js.map +1 -1
  223. package/dist/kurot/text/BitmapFont.d.ts +0 -1
  224. package/dist/kurot/text/BitmapFont.d.ts.map +1 -1
  225. package/dist/kurot/text/BitmapFont.js +0 -2
  226. package/dist/kurot/text/BitmapFont.js.map +1 -1
  227. package/dist/kurot/text/BitmapText.d.ts +0 -5
  228. package/dist/kurot/text/BitmapText.d.ts.map +1 -1
  229. package/dist/kurot/text/BitmapText.js +0 -6
  230. package/dist/kurot/text/BitmapText.js.map +1 -1
  231. package/dist/kurot/text/HtmlTextParser.d.ts +3 -1
  232. package/dist/kurot/text/HtmlTextParser.d.ts.map +1 -1
  233. package/dist/kurot/text/HtmlTextParser.js +3 -1
  234. package/dist/kurot/text/HtmlTextParser.js.map +1 -1
  235. package/dist/kurot/text/InputController.d.ts.map +1 -1
  236. package/dist/kurot/text/InputController.js +0 -2
  237. package/dist/kurot/text/InputController.js.map +1 -1
  238. package/dist/kurot/text/StageText.d.ts +1 -20
  239. package/dist/kurot/text/StageText.d.ts.map +1 -1
  240. package/dist/kurot/text/StageText.js +2 -46
  241. package/dist/kurot/text/StageText.js.map +1 -1
  242. package/dist/kurot/text/TextField.d.ts +0 -12
  243. package/dist/kurot/text/TextField.d.ts.map +1 -1
  244. package/dist/kurot/text/TextField.js +0 -41
  245. package/dist/kurot/text/TextField.js.map +1 -1
  246. package/dist/kurot/text/WordWrap.d.ts +0 -1
  247. package/dist/kurot/text/WordWrap.d.ts.map +1 -1
  248. package/dist/kurot/text/WordWrap.js +0 -3
  249. package/dist/kurot/text/WordWrap.js.map +1 -1
  250. package/dist/kurot/utils/Base64Util.d.ts +1 -6
  251. package/dist/kurot/utils/Base64Util.d.ts.map +1 -1
  252. package/dist/kurot/utils/Base64Util.js +1 -7
  253. package/dist/kurot/utils/Base64Util.js.map +1 -1
  254. package/dist/kurot/utils/DebugLog.js +0 -1
  255. package/dist/kurot/utils/DebugLog.js.map +1 -1
  256. package/dist/kurot/utils/FontManager.d.ts.map +1 -1
  257. package/dist/kurot/utils/FontManager.js +3 -1
  258. package/dist/kurot/utils/FontManager.js.map +1 -1
  259. package/dist/kurot/utils/NumberUtils.d.ts.map +1 -1
  260. package/dist/kurot/utils/NumberUtils.js +0 -1
  261. package/dist/kurot/utils/NumberUtils.js.map +1 -1
  262. package/package.json +14 -3
  263. package/dist/kurot/benchmark/BenchmarkRunner.d.ts +0 -60
  264. package/dist/kurot/benchmark/BenchmarkRunner.d.ts.map +0 -1
  265. package/dist/kurot/benchmark/BenchmarkRunner.js +0 -112
  266. package/dist/kurot/benchmark/BenchmarkRunner.js.map +0 -1
  267. package/dist/kurot/benchmark/MetricsCollector.d.ts +0 -34
  268. package/dist/kurot/benchmark/MetricsCollector.d.ts.map +0 -1
  269. package/dist/kurot/benchmark/MetricsCollector.js +0 -123
  270. package/dist/kurot/benchmark/MetricsCollector.js.map +0 -1
  271. package/dist/kurot/benchmark/PerfPanel.d.ts +0 -24
  272. package/dist/kurot/benchmark/PerfPanel.d.ts.map +0 -1
  273. package/dist/kurot/benchmark/PerfPanel.js +0 -131
  274. package/dist/kurot/benchmark/PerfPanel.js.map +0 -1
  275. package/dist/kurot/benchmark/ReportExporter.d.ts +0 -8
  276. package/dist/kurot/benchmark/ReportExporter.d.ts.map +0 -1
  277. package/dist/kurot/benchmark/ReportExporter.js +0 -54
  278. package/dist/kurot/benchmark/ReportExporter.js.map +0 -1
  279. package/dist/kurot/benchmark/SceneRegistry.d.ts +0 -16
  280. package/dist/kurot/benchmark/SceneRegistry.d.ts.map +0 -1
  281. package/dist/kurot/benchmark/SceneRegistry.js +0 -233
  282. package/dist/kurot/benchmark/SceneRegistry.js.map +0 -1
  283. package/dist/kurot/benchmark/types.d.ts +0 -47
  284. package/dist/kurot/benchmark/types.d.ts.map +0 -1
  285. package/dist/kurot/benchmark/types.js +0 -2
  286. package/dist/kurot/benchmark/types.js.map +0 -1
@@ -1,30 +1,14 @@
1
1
  /**
2
- * An ordered list of render instructions for one frame.
3
- *
4
- * Key design points (from Pixi.js 8):
5
- * - `instructions` is reused while a set is stable and cleared on rebuild so
6
- * removed display objects are not retained by stale instruction slots.
7
- * - `structureDirty` signals that the scene graph changed and the set must
8
- * be fully rebuilt before the next render.
9
- * - `dirtyRenderables` holds objects whose GPU data changed but whose
10
- * position in the instruction list is still valid — only those need
11
- * updateRenderable(), not a full rebuild.
2
+ * Stores ordered render instructions and incremental update state.
12
3
  */
13
4
  export class InstructionSet {
14
5
  // ── Instance fields ───────────────────────────────────────────────────────
15
- // Instructions in execution order for the current structure.
16
6
  instructions = [];
17
- // Number of active entries in instructions.
7
+ dirtyRenderables = [];
8
+ renderableIndex = new Map();
18
9
  instructionSize = 0;
19
- // Whether the scene structure requires this set to be rebuilt.
20
10
  structureDirty = true;
21
- // Deduplicated renderables awaiting an incremental data update.
22
- dirtyRenderables = [];
23
- // Number of active entries in dirtyRenderables.
24
11
  dirtyRenderableCount = 0;
25
- // Transform-bearing instruction indices associated with each renderable.
26
- renderableIndex = new Map();
27
- // Membership set used to deduplicate dirty renderables within a frame.
28
12
  _dirtyRenderableSet = new Set();
29
13
  // ── Public methods ────────────────────────────────────────────────────────
30
14
  /**
@@ -36,7 +20,6 @@ export class InstructionSet {
36
20
  this.clearDirtyRenderables();
37
21
  this.renderableIndex.clear();
38
22
  }
39
- // Append an instruction.
40
23
  add(instruction) {
41
24
  this.instructions[this.instructionSize++] = instruction;
42
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InstructionSet.js","sourceRoot":"","sources":["../../../src/kurot/player/InstructionSet.ts"],"names":[],"mappings":"AAqBA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,cAAc;IAC1B,6EAA6E;IAE7E,6DAA6D;IAC7C,YAAY,GAAkB,EAAE,CAAC;IAEjD,4CAA4C;IACrC,eAAe,GAAG,CAAC,CAAC;IAE3B,+DAA+D;IACxD,cAAc,GAAG,IAAI,CAAC;IAE7B,gEAAgE;IAChD,gBAAgB,GAAoB,EAAE,CAAC;IAEvD,gDAAgD;IACzC,oBAAoB,GAAG,CAAC,CAAC;IAEhC,yEAAyE;IACzD,eAAe,GAAqD,IAAI,GAAG,EAAE,CAAC;IAE9F,uEAAuE;IACtD,mBAAmB,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEhE,6EAA6E;IAE7E;;OAEG;IACI,KAAK;QACX,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,yBAAyB;IAClB,GAAG,CAAC,WAAwB;QAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,WAAW,CAAC;IACzD,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,WAAwB;QACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,WAAwB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,WAAW,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,GAAkB;QAC5C,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,GAAG,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC3B,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACD"}
1
+ {"version":3,"file":"InstructionSet.js","sourceRoot":"","sources":["../../../src/kurot/player/InstructionSet.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,OAAO,cAAc;IAC1B,6EAA6E;IAE7D,YAAY,GAAkB,EAAE,CAAC;IACjC,gBAAgB,GAAoB,EAAE,CAAC;IACvC,eAAe,GAAqD,IAAI,GAAG,EAAE,CAAC;IAEpF,eAAe,GAAG,CAAC,CAAC;IACvB,cAAc,GAAG,IAAI,CAAC;IACtB,oBAAoB,GAAG,CAAC,CAAC;IAEZ,mBAAmB,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEnE,6EAA6E;IAE7E;;OAEG;IACI,KAAK;QACX,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAEM,GAAG,CAAC,WAAwB;QAClC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,WAAW,CAAC;IACzD,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,WAAwB;QACtC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,WAAwB;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,GAAG,WAAW,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,GAAkB;QAC5C,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAC9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,GAAG,GAAG,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC3B,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;CACD"}
@@ -2,24 +2,39 @@ import type { StageScaleMode } from '../display/enums/StageScaleMode.js';
2
2
  import type { OrientationMode } from '../display/enums/OrientationMode.js';
3
3
  /**
4
4
  * Configuration options for initializing the Kurot engine.
5
- * Equivalent to Egret's `PlayerOption` + `runEgretOptions`.
6
5
  */
7
6
  export interface KurotOptions {
8
- /** The canvas element to render into. */
7
+ /**
8
+ * The canvas element to render into.
9
+ */
9
10
  canvas: HTMLCanvasElement;
10
- /** Frame rate (default: 60). */
11
+ /**
12
+ * Frame rate (default: 60).
13
+ */
11
14
  frameRate?: number;
12
- /** Stage scale mode (default: 'showAll'). */
15
+ /**
16
+ * Stage scale mode (default: 'showAll').
17
+ */
13
18
  scaleMode?: StageScaleMode;
14
- /** Initial content width in logical pixels. */
19
+ /**
20
+ * Initial content width in logical pixels.
21
+ */
15
22
  contentWidth?: number;
16
- /** Initial content height in logical pixels. */
23
+ /**
24
+ * Initial content height in logical pixels.
25
+ */
17
26
  contentHeight?: number;
18
- /** Screen orientation mode (default: 'auto'). */
27
+ /**
28
+ * Screen orientation mode (default: 'auto').
29
+ */
19
30
  orientation?: OrientationMode;
20
- /** Maximum simultaneous touch points (default: 99). */
31
+ /**
32
+ * Maximum simultaneous touch points (default: 99).
33
+ */
21
34
  maxTouches?: number;
22
- /** Background color as a CSS string (default: '#000000'). */
35
+ /**
36
+ * Background color as a CSS string (default: '#000000').
37
+ */
23
38
  background?: string;
24
39
  }
25
40
  //# sourceMappingURL=KurotOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KurotOptions.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/KurotOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,yCAAyC;IACzC,MAAM,EAAE,iBAAiB,CAAC;IAE1B,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,iDAAiD;IACjD,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"KurotOptions.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/KurotOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACH,MAAM,EAAE,iBAAiB,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -8,14 +8,6 @@ import { type Renderable } from './SystemTicker.js';
8
8
  export declare class Player implements Renderable {
9
9
  private static readonly _IDENTITY;
10
10
  readonly stage: Stage;
11
- private _isPlaying;
12
- private _root?;
13
- private _canvas2dBuffer?;
14
- private _canvas2dRenderer?;
15
- private _webglBuffer?;
16
- private _webglRenderer?;
17
- private _webglContext?;
18
- private _unregisterCallbacks;
19
11
  readonly perf: {
20
12
  frameCount: number;
21
13
  lastFrameTime: number;
@@ -30,14 +22,28 @@ export declare class Player implements Renderable {
30
22
  maxRenderTimeMs: number;
31
23
  totalRenderTimeMs: number;
32
24
  };
25
+ private _isPlaying;
26
+ private _root?;
27
+ private _canvas2dBuffer?;
28
+ private _canvas2dRenderer?;
29
+ private _webglBuffer?;
30
+ private _webglRenderer?;
31
+ private _webglContext?;
32
+ private _unregisterCallbacks;
33
33
  private _fpsFrames;
34
34
  private _fpsLastTime;
35
35
  constructor(canvas: HTMLCanvasElement, stage?: Stage);
36
36
  get isWebGL(): boolean;
37
+ /** Number of reusable framebuffers currently retained by the blur pipeline. */
38
+ get framebufferPoolSize(): number;
39
+ /** Estimated GPU bytes retained by the reusable blur framebuffer pool. */
40
+ get framebufferPoolBytes(): number;
37
41
  start(root?: DisplayObject): void;
38
42
  stop(): void;
39
43
  pause(): void;
40
- /** Destroy the player and release all resources. */
44
+ /**
45
+ * Destroy the player and release all resources.
46
+ */
41
47
  destroy(): void;
42
48
  updateStageSize(width: number, height: number): void;
43
49
  render(_triggerByFrame: boolean, _costTicker: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/Player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5D;;;GAGG;AACH,qBAAa,MAAO,YAAW,UAAU;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAGjD,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAe;IACvC,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAqB;IAC3C,OAAO,CAAC,oBAAoB,CAAyB;IAErD,SAAgB,IAAI;;;;;gBAKN,MAAM;gBACN,MAAM;;;;;;;MAOlB;IAEF,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAqB;gBAGtB,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,KAAK;IA4C3D,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEM,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI;IAWjC,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAMpB,oDAAoD;IAC7C,OAAO,IAAI,IAAI;IAWf,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWpD,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAoClE"}
1
+ {"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/Player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAI5D,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5D;;;GAGG;AACH,qBAAa,MAAO,YAAW,UAAU;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAGjD,SAAgB,KAAK,EAAE,KAAK,CAAC;IAC7B,SAAgB,IAAI;;;;;;;;;;;;;MAalB;IAEF,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAC,CAAgB;IAC9B,OAAO,CAAC,eAAe,CAAC,CAAe;IACvC,OAAO,CAAC,iBAAiB,CAAC,CAAiB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAoB;IACzC,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,aAAa,CAAC,CAAqB;IAC3C,OAAO,CAAC,oBAAoB,CAAyB;IACrD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,YAAY,CAAqB;gBAGtB,MAAM,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,KAAK;IA8B3D,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,+EAA+E;IAC/E,IAAW,mBAAmB,IAAI,MAAM,CAEvC;IAED,0EAA0E;IAC1E,IAAW,oBAAoB,IAAI,MAAM,CAExC;IAEM,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,IAAI;IAWjC,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAMpB;;OAEG;IACI,OAAO,IAAI,IAAI;IASf,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAWpD,MAAM,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;CAoClE"}
@@ -14,14 +14,6 @@ export class Player {
14
14
  static _IDENTITY = new Matrix();
15
15
  // ── Instance fields ───────────────────────────────────────────────────────
16
16
  stage;
17
- _isPlaying = false;
18
- _root;
19
- _canvas2dBuffer;
20
- _canvas2dRenderer;
21
- _webglBuffer;
22
- _webglRenderer;
23
- _webglContext;
24
- _unregisterCallbacks = [];
25
17
  perf = {
26
18
  frameCount: 0,
27
19
  lastFrameTime: 0,
@@ -36,6 +28,14 @@ export class Player {
36
28
  maxRenderTimeMs: 0,
37
29
  totalRenderTimeMs: 0,
38
30
  };
31
+ _isPlaying = false;
32
+ _root;
33
+ _canvas2dBuffer;
34
+ _canvas2dRenderer;
35
+ _webglBuffer;
36
+ _webglRenderer;
37
+ _webglContext;
38
+ _unregisterCallbacks = [];
39
39
  _fpsFrames = 0;
40
40
  _fpsLastTime = performance.now();
41
41
  // ── Constructor ───────────────────────────────────────────────────────────
@@ -45,24 +45,14 @@ export class Player {
45
45
  this._webglContext = new WebGLRenderContext(canvas);
46
46
  this._webglBuffer = new WebGLRenderBuffer(this._webglContext, canvas.width || 1, canvas.height || 1, true);
47
47
  this._webglRenderer = new WebGLRenderer();
48
- // Wire up renderer hooks. The engine is single-Player by design:
49
- // Player assigns these static hooks directly and clears them in
50
- // `destroy()`. There is no multi-Player listener registry.
51
48
  const renderer = this._webglRenderer;
52
49
  DisplayObject.$onStructureChange = () => renderer.markStructureDirty();
53
50
  DisplayObjectContainer.$onContainerStructureChange = owner => renderer.markStructureDirty(owner);
54
51
  DisplayObject.$onRenderableDirty = obj => renderer.markRenderableDirty(obj);
55
- this._unregisterCallbacks.push(
56
- // After context loss + restore, all WebGL textures are invalid and
57
- // the instruction set contains stale texture references. Force a
58
- // full rebuild so the next render re-uploads everything.
59
- this._webglContext.addContextRestoredListener(() => renderer.markStructureDirty()));
52
+ this._unregisterCallbacks.push(this._webglContext.addContextRestoredListener(() => renderer.markStructureDirty()));
60
53
  return;
61
54
  }
62
55
  catch {
63
- // WebGL init failed — fall through to Canvas 2D. Drop references so the
64
- // half-constructed context can be GC'd; the GL resources themselves are
65
- // reclaimed by the browser when the canvas is dropped.
66
56
  this._webglContext = undefined;
67
57
  this._webglBuffer = undefined;
68
58
  }
@@ -77,6 +67,14 @@ export class Player {
77
67
  get isWebGL() {
78
68
  return !!this._webglRenderer;
79
69
  }
70
+ /** Number of reusable framebuffers currently retained by the blur pipeline. */
71
+ get framebufferPoolSize() {
72
+ return this._webglContext?.blurFramebufferPoolSize ?? 0;
73
+ }
74
+ /** Estimated GPU bytes retained by the reusable blur framebuffer pool. */
75
+ get framebufferPoolBytes() {
76
+ return this._webglContext?.blurFramebufferPoolBytes ?? 0;
77
+ }
80
78
  start(root) {
81
79
  if (this._isPlaying)
82
80
  return;
@@ -97,14 +95,14 @@ export class Player {
97
95
  this._isPlaying = false;
98
96
  ticker.removePlayer(this);
99
97
  }
100
- /** Destroy the player and release all resources. */
98
+ /**
99
+ * Destroy the player and release all resources.
100
+ */
101
101
  destroy() {
102
102
  this.pause();
103
103
  for (const fn of this._unregisterCallbacks)
104
104
  fn();
105
105
  this._unregisterCallbacks = [];
106
- // Single-Player engine: clear the static renderer hooks so they stop
107
- // notifying a renderer whose owner is gone.
108
106
  DisplayObject.$onStructureChange = undefined;
109
107
  DisplayObject.$onRenderableDirty = undefined;
110
108
  DisplayObjectContainer.$onContainerStructureChange = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../../src/kurot/player/Player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../../src/kurot/player/Player.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,12 @@
1
1
  import type { Matrix } from '../geom/Matrix.js';
2
2
  import type { RenderContext } from './RenderContext.js';
3
3
  /**
4
- * Backend-agnostic render buffer surface consumed by leaf pipes.
5
- *
6
- * This is the second coupling point (alongside {@link RenderContext}) between a
7
- * leaf pipe's `execute()` body and a concrete backend. `WebGLRenderBuffer`
8
- * implements this interface today; a future WebGPU backend would provide its
9
- * own implementation without any change to the leaf pipes that consume it.
10
- *
11
- * Only the state actually read/written by `player/pipes/*.ts` is declared here
12
- * — backend-specific fields (`rootRenderTarget`, FBO/stencil internals,
13
- * `getPixels`, …) stay on the concrete class and are invisible through this
14
- * interface. `context` is typed {@link RenderContext} (not the concrete WebGL
15
- * type), so accessing `buffer.context` from a leaf pipe only exposes the
16
- * backend-neutral drawing surface.
4
+ * Render-buffer state consumed by leaf pipes.
17
5
  */
18
6
  export interface RenderBuffer {
19
- /** The drawing surface — backend-neutral, see {@link RenderContext}. */
7
+ /**
8
+ * Drawing operations available to the buffer.
9
+ */
20
10
  readonly context: RenderContext;
21
11
  globalAlpha: number;
22
12
  globalMatrix: Matrix;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderBuffer.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/RenderBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,IAAI,IAAI,CAAC;IACtB,gBAAgB,IAAI,IAAI,CAAC;CACzB"}
1
+ {"version":3,"file":"RenderBuffer.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/RenderBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B;;OAEG;IACA,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAEnC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAEnB,aAAa,IAAI,IAAI,CAAC;IACtB,gBAAgB,IAAI,IAAI,CAAC;CACzB"}
@@ -1,39 +1,19 @@
1
1
  import type { BitmapData } from '../display/texture/BitmapData.js';
2
2
  import type { Filter } from '../filters/Filter.js';
3
3
  /**
4
- * Opaque backend texture handle.
5
- *
6
- * Its concrete type is backend-specific (`WebGLTexture` today, `GPUTexture` in
7
- * a future WebGPU backend). Pipes only ever receive this from `RenderContext`
8
- * methods and pass it back to other `RenderContext` methods — they never
9
- * inspect its internals. Aliased to `unknown` (not a branded type) because the
10
- * WebGL backend returns the native `WebGLTexture` directly, which couldn't
11
- * satisfy a branded interface without a wrapping class. The alias exists for
12
- * readability and documentation, not type-level enforcement.
4
+ * Opaque texture handle passed between render pipes and their context.
13
5
  */
14
6
  export type TextureHandle = unknown;
15
7
  /**
16
- * Opaque offscreen buffer handle (`WebGLRenderBuffer` today). Same rationale
17
- * as {@link TextureHandle} — pass-through only, aliased to `unknown`.
8
+ * Opaque offscreen buffer handle passed through a render context.
18
9
  */
19
10
  export type OffscreenBufferHandle = unknown;
20
11
  /**
21
- * Backend-agnostic drawing surface used by leaf/effect pipes.
22
- *
23
- * This is the one coupling point between a pipe's `execute()` body and a
24
- * concrete GPU API. `WebGLRenderContext` implements this interface today;
25
- * a future WebGPU backend would provide its own implementation without any
26
- * change to the pipes that consume it.
27
- *
28
- * Only methods actually called from `player/pipes/*.ts` are declared here —
29
- * see docs-internal/renderer-backend-decoupling.md for the grep that
30
- * produced this list. `texture`/`buffer` parameters are typed
31
- * {@link TextureHandle}/{@link OffscreenBufferHandle} because their concrete
32
- * shape (`WebGLTexture`, `WebGLRenderBuffer`, ...) is backend-specific; pipes
33
- * only ever pass through values they received from this same interface, never
34
- * inspect their internals directly.
12
+ * Drawing surface contract consumed by render pipes.
35
13
  */
36
14
  export interface RenderContext {
15
+ /** Increments whenever backend GPU resources must be recreated. */
16
+ readonly contextVersion: number;
37
17
  drawImage(image: BitmapData, sourceX: number, sourceY: number, sourceWidth: number, sourceHeight: number, destX: number, destY: number, destWidth: number, destHeight: number, imageSourceWidth: number, imageSourceHeight: number, rotated: boolean, smoothing?: boolean): void;
38
18
  drawMesh(image: BitmapData, sourceX: number, sourceY: number, sourceWidth: number, sourceHeight: number, destX: number, destY: number, destWidth: number, destHeight: number, imageSourceWidth: number, imageSourceHeight: number, meshUVs: number[], meshVertices: number[], meshIndices: number[], rotated: boolean, smoothing: boolean): void;
39
19
  drawTexture(texture: TextureHandle, sourceX: number, sourceY: number, sourceWidth: number, sourceHeight: number, destX: number, destY: number, destWidth: number, destHeight: number, textureWidth: number, textureHeight: number): void;
@@ -50,7 +30,9 @@ export interface RenderContext {
50
30
  * later — pipes never need to know which backend created the texture.
51
31
  */
52
32
  registerTextureForGC(owner: object, texture: TextureHandle, token: object): void;
53
- /** Cancels a pending registration made via `registerTextureForGC`. */
33
+ /**
34
+ * Cancels a pending registration made via `registerTextureForGC`.
35
+ */
54
36
  unregisterTextureGC(token: object): void;
55
37
  /**
56
38
  * Immediately release a texture previously passed to
@@ -67,7 +49,9 @@ export interface RenderContext {
67
49
  currentBlendMode: string;
68
50
  activeFilter?: Filter;
69
51
  flush(): void;
70
- /** Maximum texture dimension the backend can handle (e.g. `MAX_TEXTURE_SIZE` in WebGL). */
52
+ /**
53
+ * Maximum texture dimension the backend can handle (e.g. `MAX_TEXTURE_SIZE` in WebGL).
54
+ */
71
55
  maxTextureSize: number;
72
56
  }
73
57
  //# sourceMappingURL=RenderContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/RenderContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RenderContext.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/RenderContext.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,7 @@
1
1
  import type { DisplayObject } from '../display/DisplayObject.js';
2
2
  import type { InstructionSet } from './InstructionSet.js';
3
3
  /**
4
- * A RenderPipe handles one category of DisplayObject (Bitmap, Graphics, Mesh…).
5
- *
6
- * Inspired by Pixi.js 8's RenderPipe interface.
7
- *
8
- * Lifecycle per frame:
9
- * 1. If InstructionSet.structureDirty:
10
- * pipe.addToInstructionSet(obj, set) — build instruction from scratch
11
- * 2. Else if obj.$renderDirty:
12
- * pipe.updateRenderable(obj) — patch GPU data only
13
- * 3. Always:
14
- * pipe.execute(instruction, ...) — issue the actual draw call
4
+ * Builds and updates instructions for one display-object category.
15
5
  */
16
6
  export interface RenderPipe<T extends DisplayObject = DisplayObject> {
17
7
  /**
@@ -25,8 +15,8 @@ export interface RenderPipe<T extends DisplayObject = DisplayObject> {
25
15
  */
26
16
  updateRenderable(renderable: T): void;
27
17
  /**
28
- * Optional cleanup when a renderable is removed from the scene.
29
- * Use this to release GPU textures / cached buffers.
18
+ * Releases resources when cleanup is requested explicitly.
19
+ * Stage removal does not invoke this hook automatically.
30
20
  */
31
21
  destroyRenderable?(renderable: T): void;
32
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RenderPipe.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/RenderPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IAClE;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAAC;IAE9D;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC;IAEtC;;;OAGG;IACH,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC;CACxC"}
1
+ {"version":3,"file":"RenderPipe.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/RenderPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa;IAClE;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAAC;IAE9D;;;OAGG;IACH,gBAAgB,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC;IAEtC;;;OAGG;IACH,iBAAiB,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC;CACxC"}
@@ -7,11 +7,7 @@ export interface StageDisplaySize {
7
7
  displayHeight: number;
8
8
  }
9
9
  /**
10
- * Manages the relationship between the browser viewport, the canvas element,
11
- * and the Stage logical size. Handles resize events and applies the configured
12
- * StageScaleMode.
13
- *
14
- * Equivalent to Egret's `sys.Screen` + `DefaultScreenAdapter`.
10
+ * Keeps the browser viewport, canvas and logical stage size synchronized.
15
11
  */
16
12
  export declare class ScreenAdapter {
17
13
  private _player;
@@ -21,6 +17,11 @@ export declare class ScreenAdapter {
21
17
  private _contentHeight;
22
18
  constructor(player: Player, canvas: HTMLCanvasElement, touchHandler: TouchHandler, contentWidth: number, contentHeight: number);
23
19
  setContentSize(width: number, height: number): void;
20
+ /**
21
+ * Resizes the canvas and updates stage and input scaling.
22
+ * Input scaling reads the canvas backing size after the player resize because
23
+ * updating the root render buffer can change that size.
24
+ */
24
25
  updateScreenSize(): void;
25
26
  dispose(): void;
26
27
  private onResize;
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenAdapter.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/ScreenAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,qBAAa,aAAa;IAGzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;gBAK9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM;IAef,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAMnD,gBAAgB,IAAI,IAAI;IAwCxB,OAAO,IAAI,IAAI;IAMtB,OAAO,CAAC,QAAQ,CAEd;IAEF,OAAO,CAAC,kBAAkB;CAsD1B"}
1
+ {"version":3,"file":"ScreenAdapter.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/ScreenAdapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,aAAa;IAGzB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;gBAK9B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM;IAef,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAM1D;;;;OAIG;IACI,gBAAgB,IAAI,IAAI;IA+BxB,OAAO,IAAI,IAAI;IAMtB,OAAO,CAAC,QAAQ,CAEd;IAEF,OAAO,CAAC,kBAAkB;CAqD1B"}
@@ -1,11 +1,7 @@
1
1
  import { StageScaleMode } from '../display/enums/StageScaleMode.js';
2
2
  import { Capabilities } from '../system/Capabilities.js';
3
3
  /**
4
- * Manages the relationship between the browser viewport, the canvas element,
5
- * and the Stage logical size. Handles resize events and applies the configured
6
- * StageScaleMode.
7
- *
8
- * Equivalent to Egret's `sys.Screen` + `DefaultScreenAdapter`.
4
+ * Keeps the browser viewport, canvas and logical stage size synchronized.
9
5
  */
10
6
  export class ScreenAdapter {
11
7
  // ── Instance fields ───────────────────────────────────────────────────────
@@ -31,6 +27,11 @@ export class ScreenAdapter {
31
27
  this._contentHeight = height;
32
28
  this.updateScreenSize();
33
29
  }
30
+ /**
31
+ * Resizes the canvas and updates stage and input scaling.
32
+ * Input scaling reads the canvas backing size after the player resize because
33
+ * updating the root render buffer can change that size.
34
+ */
34
35
  updateScreenSize() {
35
36
  const stage = this._player.stage;
36
37
  const container = this._canvas.parentElement;
@@ -42,17 +43,8 @@ export class ScreenAdapter {
42
43
  this._canvas.style.width = size.displayWidth + 'px';
43
44
  this._canvas.style.height = size.displayHeight + 'px';
44
45
  this._player.updateStageSize(size.stageWidth, size.stageHeight);
45
- // Sync canvas bounding size into Capabilities for game code to read.
46
46
  Capabilities.boundingClientWidth = size.displayWidth;
47
47
  Capabilities.boundingClientHeight = size.displayHeight;
48
- // The WebGL renderer maps stage coordinates 1:1 to canvas buffer pixels
49
- // (projectionVector = canvasWidth/2, -canvasHeight/2). To convert a
50
- // CSS-pixel offset within the canvas to a stage coordinate we need:
51
- // stageCoord = cssPixel * (canvasBufferWidth / clientWidth)
52
- //
53
- // IMPORTANT: After the call to updateStageSize() above, the WebGL buffer
54
- // resize may have changed canvas.width from displayWidth to stageWidth.
55
- // So we must read canvas.width *now*, not reuse size.displayWidth.
56
48
  const innerW = this._canvas.clientWidth || size.displayWidth;
57
49
  const innerH = this._canvas.clientHeight || size.displayHeight;
58
50
  const scaleX = this._canvas.width / innerW;
@@ -112,7 +104,6 @@ export class ScreenAdapter {
112
104
  stageHeight = screenHeight;
113
105
  break;
114
106
  }
115
- // Ensure even dimensions to avoid sub-pixel rendering issues
116
107
  if (stageWidth % 2 !== 0)
117
108
  stageWidth++;
118
109
  if (stageHeight % 2 !== 0)
@@ -1 +1 @@
1
- {"version":3,"file":"ScreenAdapter.js","sourceRoot":"","sources":["../../../src/kurot/player/ScreenAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScreenAdapter.js","sourceRoot":"","sources":["../../../src/kurot/player/ScreenAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,17 @@
1
1
  export declare const START_TIME: number;
2
- /** @internal Flag: should broadcast Event.RENDER next frame. */
3
2
  export declare let invalidateRenderFlag: boolean;
4
3
  export declare function setInvalidateRenderFlag(value: boolean): void;
5
- /** @internal Flag: should re-render immediately after current event processing. */
6
4
  export declare let requestRenderingFlag: boolean;
7
5
  export declare function setRequestRenderingFlag(value: boolean): void;
8
6
  type TickCallback = (timeStamp: number) => boolean;
9
- /** Render callback — called by SystemTicker each frame to render a player. */
7
+ /**
8
+ * Render callback — called by SystemTicker each frame to render a player.
9
+ */
10
10
  export interface Renderable {
11
11
  render(triggerByFrame: boolean, costTicker: number): void;
12
12
  }
13
13
  /**
14
- * The core frame loop, equivalent to Egret's `sys.SystemTicker`.
15
- * Drives `requestAnimationFrame`, manages frame rate, broadcasts ENTER_FRAME / RENDER,
16
- * and invokes registered tick callbacks and player renderers.
14
+ * Runs frame throttling, tick callbacks, player rendering and deferred calls.
17
15
  */
18
16
  export declare class SystemTicker {
19
17
  private _players;
@@ -40,7 +38,9 @@ export declare class SystemTicker {
40
38
  stop(): void;
41
39
  pause(): void;
42
40
  resume(): void;
43
- /** Force a single update (useful for testing). */
41
+ /**
42
+ * Force a single update (useful for testing).
43
+ */
44
44
  update(forceUpdate?: boolean): void;
45
45
  private onFrame;
46
46
  private tick;
@@ -50,9 +50,13 @@ export declare class SystemTicker {
50
50
  private flushCallLaters;
51
51
  private getTickIndex;
52
52
  }
53
- /** Singleton ticker instance. */
53
+ /**
54
+ * Singleton ticker instance.
55
+ */
54
56
  export declare const ticker: SystemTicker;
55
- /** Returns milliseconds since engine start. */
57
+ /**
58
+ * Returns milliseconds since engine start.
59
+ */
56
60
  export declare function getTimer(): number;
57
61
  /**
58
62
  * Sets up visibility change listeners to dispatch ACTIVATE/DEACTIVATE
@@ -1 +1 @@
1
- {"version":3,"file":"SystemTicker.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/SystemTicker.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,EAAE,MAAmB,CAAC;AAE7C,gEAAgE;AAChE,eAAO,IAAI,oBAAoB,SAAQ,CAAC;AACxC,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE5D;AAED,mFAAmF;AACnF,eAAO,IAAI,oBAAoB,SAAQ,CAAC;AACxC,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE5D;AAED,KAAK,YAAY,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;AAOnD,8EAA8E;AAC9E,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1D;AAED;;;;GAIG;AACH,qBAAa,YAAY;IAGxB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAS;IAGzB,OAAO,CAAC,cAAc,CAAoE;;IAW1F,IAAW,SAAS,IAAI,MAAM,CAE7B;IAEM,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAWpC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAInC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKtC,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAK5D,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAK3D,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIrE,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAGb,MAAM,IAAI,IAAI;IAIrB,kDAAkD;IAC3C,MAAM,CAAC,WAAW,UAAQ,GAAG,IAAI;IAMxC,OAAO,CAAC,OAAO,CAIb;IAEF,OAAO,CAAC,IAAI;IAuCZ,OAAO,CAAC,MAAM;IAmBd,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,YAAY;CAMpB;AAED,iCAAiC;AACjC,eAAO,MAAM,MAAM,EAAE,YAAiC,CAAC;AAEvD,+CAA+C;AAC/C,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,qBAAqB,EAAE,KAAK,GAAG,MAAM,IAAI,CAYrF"}
1
+ {"version":3,"file":"SystemTicker.d.ts","sourceRoot":"","sources":["../../../src/kurot/player/SystemTicker.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU,EAAE,MAAmB,CAAC;AAE7C,eAAO,IAAI,oBAAoB,SAAQ,CAAC;AACxC,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE5D;AAED,eAAO,IAAI,oBAAoB,SAAQ,CAAC;AACxC,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE5D;AAED,KAAK,YAAY,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;AAOnD;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,MAAM,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1D;AAED;;GAEG;AACH,qBAAa,YAAY;IAGxB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,cAAc,CAAoE;;IAW1F,IAAW,SAAS,IAAI,MAAM,CAE7B;IAEM,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAWpC,SAAS,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAInC,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAKtC,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAK5D,QAAQ,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI;IAK3D,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIrE,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAGb,MAAM,IAAI,IAAI;IAIrB;;OAEG;IACI,MAAM,CAAC,WAAW,UAAQ,GAAG,IAAI;IAMxC,OAAO,CAAC,OAAO,CAIb;IAEF,OAAO,CAAC,IAAI;IAqCZ,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,YAAY;CAMpB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,EAAE,YAAiC,CAAC;AAEvD;;GAEG;AACH,wBAAgB,QAAQ,IAAI,MAAM,CAEjC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,qBAAqB,EAAE,KAAK,GAAG,MAAM,IAAI,CAYrF"}