@rel-packages/osu-beatmap-preview 0.9.0 → 0.11.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 (180) hide show
  1. package/README.md +25 -10
  2. package/dist/assets/.gitkeep +1 -0
  3. package/dist/assets/assets.d.ts +4 -0
  4. package/dist/assets/assets.d.ts.map +1 -0
  5. package/dist/assets/default-skin/approachcircle.png +0 -0
  6. package/dist/assets/default-skin/approachcircle@2x.png +0 -0
  7. package/dist/assets/default-skin/default-0.png +0 -0
  8. package/dist/assets/default-skin/default-0@2x.png +0 -0
  9. package/dist/assets/default-skin/default-1.png +0 -0
  10. package/dist/assets/default-skin/default-1@2x.png +0 -0
  11. package/dist/assets/default-skin/default-2.png +0 -0
  12. package/dist/assets/default-skin/default-2@2x.png +0 -0
  13. package/dist/assets/default-skin/default-3.png +0 -0
  14. package/dist/assets/default-skin/default-3@2x.png +0 -0
  15. package/dist/assets/default-skin/default-4.png +0 -0
  16. package/dist/assets/default-skin/default-4@2x.png +0 -0
  17. package/dist/assets/default-skin/default-5.png +0 -0
  18. package/dist/assets/default-skin/default-5@2x.png +0 -0
  19. package/dist/assets/default-skin/default-6.png +0 -0
  20. package/dist/assets/default-skin/default-6@2x.png +0 -0
  21. package/dist/assets/default-skin/default-7.png +0 -0
  22. package/dist/assets/default-skin/default-7@2x.png +0 -0
  23. package/dist/assets/default-skin/default-8.png +0 -0
  24. package/dist/assets/default-skin/default-8@2x.png +0 -0
  25. package/dist/assets/default-skin/default-9.png +0 -0
  26. package/dist/assets/default-skin/default-9@2x.png +0 -0
  27. package/dist/assets/default-skin/drum-hitclap.ogg +0 -0
  28. package/dist/assets/default-skin/drum-hitfinish.ogg +0 -0
  29. package/dist/assets/default-skin/drum-hitnormal.ogg +0 -0
  30. package/dist/assets/default-skin/drum-hitwhistle.ogg +0 -0
  31. package/dist/assets/default-skin/drum-sliderslide.ogg +0 -0
  32. package/dist/assets/default-skin/drum-slidertick.ogg +0 -0
  33. package/dist/assets/default-skin/drum-sliderwhistle.ogg +0 -0
  34. package/dist/assets/default-skin/followpoint-0.png +0 -0
  35. package/dist/assets/default-skin/followpoint-0@2x.png +0 -0
  36. package/dist/assets/default-skin/followpoint-1.png +0 -0
  37. package/dist/assets/default-skin/followpoint-1@2x.png +0 -0
  38. package/dist/assets/default-skin/followpoint-2.png +0 -0
  39. package/dist/assets/default-skin/followpoint-2@2x.png +0 -0
  40. package/dist/assets/default-skin/followpoint-3.png +0 -0
  41. package/dist/assets/default-skin/followpoint-3@2x.png +0 -0
  42. package/dist/assets/default-skin/followpoint-4.png +0 -0
  43. package/dist/assets/default-skin/followpoint-4@2x.png +0 -0
  44. package/dist/assets/default-skin/followpoint-5.png +0 -0
  45. package/dist/assets/default-skin/followpoint-5@2x.png +0 -0
  46. package/dist/assets/default-skin/followpoint-6.png +0 -0
  47. package/dist/assets/default-skin/followpoint-6@2x.png +0 -0
  48. package/dist/assets/default-skin/followpoint-7.png +0 -0
  49. package/dist/assets/default-skin/followpoint-7@2x.png +0 -0
  50. package/dist/assets/default-skin/followpoint.png +0 -0
  51. package/dist/assets/default-skin/followpoint@2x.png +0 -0
  52. package/dist/assets/default-skin/hitcircleoverlay.png +0 -0
  53. package/dist/assets/default-skin/hitcircleoverlay@2x.png +0 -0
  54. package/dist/assets/default-skin/mania-key1@2x.png +0 -0
  55. package/dist/assets/default-skin/mania-key1D@2x.png +0 -0
  56. package/dist/assets/default-skin/mania-key2@2x.png +0 -0
  57. package/dist/assets/default-skin/mania-key2D@2x.png +0 -0
  58. package/dist/assets/default-skin/mania-keyS@2x.png +0 -0
  59. package/dist/assets/default-skin/mania-keySD@2x.png +0 -0
  60. package/dist/assets/default-skin/mania-note1@2x.png +0 -0
  61. package/dist/assets/default-skin/mania-note1H@2x.png +0 -0
  62. package/dist/assets/default-skin/mania-note1L-0@2x.png +0 -0
  63. package/dist/assets/default-skin/mania-note1L-1@2x.png +0 -0
  64. package/dist/assets/default-skin/mania-note1L-2@2x.png +0 -0
  65. package/dist/assets/default-skin/mania-note1L-3@2x.png +0 -0
  66. package/dist/assets/default-skin/mania-note1L-4@2x.png +0 -0
  67. package/dist/assets/default-skin/mania-note1L-5@2x.png +0 -0
  68. package/dist/assets/default-skin/mania-note2@2x.png +0 -0
  69. package/dist/assets/default-skin/mania-note2H@2x.png +0 -0
  70. package/dist/assets/default-skin/mania-note2L-0@2x.png +0 -0
  71. package/dist/assets/default-skin/mania-note2L-1@2x.png +0 -0
  72. package/dist/assets/default-skin/mania-note2L-2@2x.png +0 -0
  73. package/dist/assets/default-skin/mania-note2L-3@2x.png +0 -0
  74. package/dist/assets/default-skin/mania-note2L-4@2x.png +0 -0
  75. package/dist/assets/default-skin/mania-note2L-5@2x.png +0 -0
  76. package/dist/assets/default-skin/mania-noteS@2x.png +0 -0
  77. package/dist/assets/default-skin/mania-noteSH@2x.png +0 -0
  78. package/dist/assets/default-skin/mania-noteSL-0@2x.png +0 -0
  79. package/dist/assets/default-skin/mania-noteSL-1@2x.png +0 -0
  80. package/dist/assets/default-skin/mania-noteSL-2@2x.png +0 -0
  81. package/dist/assets/default-skin/mania-noteSL-3@2x.png +0 -0
  82. package/dist/assets/default-skin/mania-noteSL-4@2x.png +0 -0
  83. package/dist/assets/default-skin/mania-noteSL-5@2x.png +0 -0
  84. package/dist/assets/default-skin/mania-stage-hint@2x.png +0 -0
  85. package/dist/assets/default-skin/mania-stage-left@2x.png +0 -0
  86. package/dist/assets/default-skin/mania-stage-light@2x.png +0 -0
  87. package/dist/assets/default-skin/mania-stage-right@2x.png +0 -0
  88. package/dist/assets/default-skin/manifest.json +108 -0
  89. package/dist/assets/default-skin/normal-hitclap.ogg +0 -0
  90. package/dist/assets/default-skin/normal-hitfinish.ogg +0 -0
  91. package/dist/assets/default-skin/normal-hitnormal.ogg +0 -0
  92. package/dist/assets/default-skin/normal-hitwhistle.ogg +0 -0
  93. package/dist/assets/default-skin/normal-sliderslide.ogg +0 -0
  94. package/dist/assets/default-skin/normal-slidertick.ogg +0 -0
  95. package/dist/assets/default-skin/normal-sliderwhistle.ogg +0 -0
  96. package/dist/assets/default-skin/reversearrow.png +0 -0
  97. package/dist/assets/default-skin/reversearrow@2x.png +0 -0
  98. package/dist/assets/default-skin/skin.ini +33 -0
  99. package/dist/assets/default-skin/sliderb0.png +0 -0
  100. package/dist/assets/default-skin/sliderb0@2x.png +0 -0
  101. package/dist/assets/default-skin/sliderendcircle.png +0 -0
  102. package/dist/assets/default-skin/sliderfollowcircle.png +0 -0
  103. package/dist/assets/default-skin/sliderfollowcircle@2x.png +0 -0
  104. package/dist/assets/default-skin/soft-hitclap.ogg +0 -0
  105. package/dist/assets/default-skin/soft-hitfinish.ogg +0 -0
  106. package/dist/assets/default-skin/soft-hitnormal.ogg +0 -0
  107. package/dist/assets/default-skin/soft-hitwhistle.ogg +0 -0
  108. package/dist/assets/default-skin/soft-sliderslide.ogg +0 -0
  109. package/dist/assets/default-skin/soft-slidertick.ogg +0 -0
  110. package/dist/assets/default-skin/soft-sliderwhistle.ogg +0 -0
  111. package/dist/assets/default-skin/spinnerbonus.ogg +0 -0
  112. package/dist/beatmap/timing.d.ts.map +1 -1
  113. package/dist/config/standard.d.ts +21 -0
  114. package/dist/config/standard.d.ts.map +1 -0
  115. package/dist/index.d.ts +3 -2
  116. package/dist/index.d.ts.map +1 -1
  117. package/dist/index.js +1145 -2
  118. package/dist/index.js.map +339 -32
  119. package/dist/math/curves.d.ts.map +1 -1
  120. package/dist/math/difficulty.d.ts.map +1 -1
  121. package/dist/mods/mods.d.ts.map +1 -1
  122. package/dist/parser/osz_loader.d.ts.map +1 -1
  123. package/dist/player/audio_controller.d.ts +10 -8
  124. package/dist/player/audio_controller.d.ts.map +1 -1
  125. package/dist/player/hitsound_controller.d.ts +1 -3
  126. package/dist/player/hitsound_controller.d.ts.map +1 -1
  127. package/dist/player/player.d.ts +44 -7
  128. package/dist/player/player.d.ts.map +1 -1
  129. package/dist/player/{player_hitsound_scheduler.d.ts → player_hitsound.d.ts} +4 -2
  130. package/dist/player/player_hitsound.d.ts.map +1 -0
  131. package/dist/player/player_skin.d.ts +8 -0
  132. package/dist/player/player_skin.d.ts.map +1 -0
  133. package/dist/player/video_controller.d.ts.map +1 -1
  134. package/dist/renderer/backend/backend_factory.d.ts +4 -0
  135. package/dist/renderer/backend/backend_factory.d.ts.map +1 -0
  136. package/dist/renderer/backend/{canvas_backend.d.ts → pixi_backend.d.ts} +41 -17
  137. package/dist/renderer/backend/pixi_backend.d.ts.map +1 -0
  138. package/dist/renderer/backend/render_backend.d.ts +2 -2
  139. package/dist/renderer/backend/render_backend.d.ts.map +1 -1
  140. package/dist/renderer/base_renderer.d.ts +6 -3
  141. package/dist/renderer/base_renderer.d.ts.map +1 -1
  142. package/dist/renderer/drawable/circle_visual.d.ts +8 -1
  143. package/dist/renderer/drawable/circle_visual.d.ts.map +1 -1
  144. package/dist/renderer/drawable/drawable.d.ts +5 -3
  145. package/dist/renderer/drawable/drawable.d.ts.map +1 -1
  146. package/dist/renderer/drawable/drawable_hit_circle.d.ts +1 -1
  147. package/dist/renderer/drawable/drawable_hit_circle.d.ts.map +1 -1
  148. package/dist/renderer/drawable/drawable_slider.d.ts +8 -0
  149. package/dist/renderer/drawable/drawable_slider.d.ts.map +1 -1
  150. package/dist/renderer/drawable/hit_burst.d.ts.map +1 -1
  151. package/dist/renderer/mania/mania_renderer.d.ts +32 -2
  152. package/dist/renderer/mania/mania_renderer.d.ts.map +1 -1
  153. package/dist/renderer/render_objects.d.ts.map +1 -1
  154. package/dist/renderer/render_types.d.ts +2 -0
  155. package/dist/renderer/render_types.d.ts.map +1 -1
  156. package/dist/renderer/standard/follow_points.d.ts +5 -2
  157. package/dist/renderer/standard/follow_points.d.ts.map +1 -1
  158. package/dist/renderer/standard/slider_math.d.ts.map +1 -1
  159. package/dist/renderer/standard/standard_renderer.d.ts +15 -1
  160. package/dist/renderer/standard/standard_renderer.d.ts.map +1 -1
  161. package/dist/renderer/standard/timing_state.d.ts.map +1 -1
  162. package/dist/scripts/generate_skin_manifest.d.ts +2 -0
  163. package/dist/scripts/generate_skin_manifest.d.ts.map +1 -0
  164. package/dist/skin/skin_config.d.ts +9 -0
  165. package/dist/skin/skin_config.d.ts.map +1 -1
  166. package/dist/skin/skin_elements.d.ts +33 -0
  167. package/dist/skin/skin_elements.d.ts.map +1 -0
  168. package/dist/skin/skin_ini_parser.d.ts +6 -0
  169. package/dist/skin/skin_ini_parser.d.ts.map +1 -1
  170. package/dist/types/beatmap.d.ts.map +1 -1
  171. package/dist/types/mods.d.ts.map +1 -1
  172. package/dist/types/resources.d.ts.map +1 -1
  173. package/dist/types/result.d.ts.map +1 -1
  174. package/package.json +16 -3
  175. package/dist/fonts.d.ts +0 -3
  176. package/dist/fonts.d.ts.map +0 -1
  177. package/dist/player/player_hitsound_scheduler.d.ts.map +0 -1
  178. package/dist/renderer/backend/canvas_backend.d.ts.map +0 -1
  179. package/dist/types/fonts.d.ts +0 -6
  180. package/dist/types/fonts.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"curves.d.ts","sourceRoot":"","sources":["../../src/math/curves.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAqD,MAAM,WAAW,CAAC;AAEzF,eAAO,MAAM,cAAc,GAAI,QAAQ,IAAI,EAAE,EAAE,YAAW,MAAa,KAAG,IAAI,EAM7E,CAAC;AAgEF,eAAO,MAAM,cAAc,GAAI,OAAO,IAAI,EAAE,KAAK,IAAI,EAAE,UAAU,MAAM,KAAG,IAAI,EAU7E,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,IAAI,EAAE,EAAE,UAAU,MAAM,KAAG,IAAI,EAiDtE,CAAC;AAeF,eAAO,MAAM,eAAe,GAAI,QAAQ,IAAI,EAAE,KAAG,IAAI,EAoBpD,CAAC"}
1
+ {"version":3,"file":"curves.d.ts","sourceRoot":"","sources":["../../src/math/curves.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAqD,MAAM,WAAW,CAAC;AAEzF,eAAO,MAAM,cAAc,GAAI,QAAQ,IAAI,EAAE,EAAE,YAAW,MAAa,KAAG,IAAI,EAM7E,CAAC;AAoEF,eAAO,MAAM,cAAc,GAAI,OAAO,IAAI,EAAE,KAAK,IAAI,EAAE,UAAU,MAAM,KAAG,IAAI,EAU7E,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,QAAQ,IAAI,EAAE,EAAE,UAAU,MAAM,KAAG,IAAI,EA+CtE,CAAC;AAeF,eAAO,MAAM,eAAe,GAAI,QAAQ,IAAI,EAAE,KAAG,IAAI,EAoBpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"difficulty.d.ts","sourceRoot":"","sources":["../../src/math/difficulty.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,aAAa,EAAE,gBAAqD,CAAC;AAClF,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,EAAE,OAAO,gBAAgB,KAAG,MAQ9E,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,MAAM,EAAE,OAAO,gBAAgB,KAAG,MAIjF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,KAAG,MAA6C,CAAC;AAC7F,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,KAAG,MAAkD,CAAC;AAEvG,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,MAG5C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,KAAG,MAAkC,CAAC"}
1
+ {"version":3,"file":"difficulty.d.ts","sourceRoot":"","sources":["../../src/math/difficulty.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,aAAa,EAAE,gBAAqD,CAAC;AAClF,eAAO,MAAM,WAAW,MAAM,CAAC;AAE/B,eAAO,MAAM,gBAAgB,GAAI,YAAY,MAAM,EAAE,OAAO,gBAAgB,KAAG,MAQ9E,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,OAAO,MAAM,EAAE,OAAO,gBAAgB,KAAG,MAIjF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,KAAG,MAA6C,CAAC;AAC7F,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,KAAG,MAAkD,CAAC;AAEvG,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,MAI5C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,KAAG,MAAkC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mods.d.ts","sourceRoot":"","sources":["../../src/mods/mods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAMlD,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AACpG,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGpF,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,MAQlD,CAAC;AAGF,eAAO,MAAM,wBAAwB,GAAI,YAAY,kBAAkB,EAAE,MAAM,MAAM,KAAG,IAGvF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,EAAE,MAAM,MAAM,KAAG,MAM3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,KAAG,kBAStG,CAAC"}
1
+ {"version":3,"file":"mods.d.ts","sourceRoot":"","sources":["../../src/mods/mods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,YAAY,EAAE,IAAI,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAOpG,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEpF,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,KAAG,MAQlD,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,YAAY,kBAAkB,EAAE,MAAM,MAAM,KAAG,IAGvF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,EAAE,MAAM,MAAM,KAAG,MAK3D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,KAAG,kBAStG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"osz_loader.d.ts","sourceRoot":"","sources":["../../src/parser/osz_loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,MAAM,WAAW,iBAAiB;IAE9B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,qBAAa,SAAS;IACZ,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAcpF,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmFlH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqB7D,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,QAAQ;CAInB"}
1
+ {"version":3,"file":"osz_loader.d.ts","sourceRoot":"","sources":["../../src/parser/osz_loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAK5D,MAAM,WAAW,iBAAiB;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAChC;AAED,qBAAa,SAAS;IACZ,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAepF,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4ElH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqB7D,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,QAAQ;CAInB"}
@@ -1,20 +1,21 @@
1
1
  import { AudioNodeController } from "./audio_node_controller";
2
2
  export declare class AudioController extends AudioNodeController {
3
- private audio_element;
4
- private media_source_node;
5
- private object_url;
6
- private pause_time;
7
- private speed;
3
+ private audio_buffer;
4
+ private source_node;
8
5
  private _is_playing;
9
- private _duration;
10
6
  private _is_loaded;
7
+ private _duration;
8
+ private pause_time;
9
+ private speed;
10
+ private started_at_context_time;
11
+ private started_from_time;
11
12
  constructor(context: AudioContext);
12
13
  get is_playing(): boolean;
13
14
  get is_loaded(): boolean;
14
15
  get duration(): number;
15
16
  get speed_multiplier(): number;
16
17
  get current_time(): number;
17
- load(data: ArrayBuffer, mods?: number): Promise<void>;
18
+ load(data: ArrayBuffer, speed_multiplier?: number): Promise<void>;
18
19
  play(from_time?: number): Promise<void>;
19
20
  pause(): void;
20
21
  seek(time_ms: number): void;
@@ -22,6 +23,7 @@ export declare class AudioController extends AudioNodeController {
22
23
  get_host_time(time_ms: number): number;
23
24
  set_speed(speed: number): void;
24
25
  dispose(): void;
25
- private release_media;
26
+ private restart_from;
27
+ private release_source;
26
28
  }
27
29
  //# sourceMappingURL=audio_controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"audio_controller.d.ts","sourceRoot":"","sources":["../../src/player/audio_controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,eAAgB,SAAQ,mBAAmB;IACpD,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,UAAU,CAAuB;IAEzC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,UAAU,CAAkB;gBAExB,OAAO,EAAE,YAAY;IAIjC,IAAI,UAAU,IAAI,OAAO,CAExB;IACD,IAAI,SAAS,IAAI,OAAO,CAEvB;IACD,IAAI,QAAQ,IAAI,MAAM,CAErB;IACD,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,IAAI,YAAY,IAAI,MAAM,CAUzB;IAEK,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDxD,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B7C,KAAK,IAAI,IAAI;IAQb,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAY3B,IAAI,IAAI,IAAI;IASZ,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKtC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQ9B,OAAO,IAAI,IAAI;IAWf,OAAO,CAAC,aAAa;CAmBxB"}
1
+ {"version":3,"file":"audio_controller.d.ts","sourceRoot":"","sources":["../../src/player/audio_controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,eAAgB,SAAQ,mBAAmB;IACpD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,WAAW,CAAsC;IAEzD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,KAAK,CAAa;IAE1B,OAAO,CAAC,uBAAuB,CAAa;IAC5C,OAAO,CAAC,iBAAiB,CAAa;gBAE1B,OAAO,EAAE,YAAY;IAIjC,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,IAAI,YAAY,IAAI,MAAM,CAYzB;IAEK,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,gBAAgB,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBpE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0C7C,KAAK,IAAI,IAAI;IAQb,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAW3B,IAAI,IAAI,IAAI;IAQZ,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAKtC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkB9B,OAAO,IAAI,IAAI;IAcf,OAAO,CAAC,YAAY;IAoCpB,OAAO,CAAC,cAAc;CAgBzB"}
@@ -1,13 +1,10 @@
1
1
  import { SampleSet } from "../types/beatmap";
2
2
  import { AudioNodeController } from "./audio_node_controller";
3
3
  export declare class HitsoundController extends AudioNodeController {
4
- private static default_samples;
5
- private static default_loads;
6
4
  private custom_samples;
7
5
  constructor(context: AudioContext);
8
6
  load_samples(urls: string[]): Promise<void>;
9
7
  load_samples_from_files(files: Map<string, ArrayBuffer>): Promise<void>;
10
- load_default_samples(urls: string[]): Promise<void>;
11
8
  clear(): void;
12
9
  play(normal_set: SampleSet, addition_set: SampleSet, hit_sound: number, index: number, volume?: number, custom_filename?: string, when?: number): void;
13
10
  play_sample(set: SampleSet, sample_name: string, index: number, volume?: number, when?: number): void;
@@ -18,6 +15,7 @@ export declare class HitsoundController extends AudioNodeController {
18
15
  private load_into_cache;
19
16
  private load_single_sample;
20
17
  private load_files_into_cache;
18
+ private report_failures;
21
19
  dispose(): void;
22
20
  }
23
21
  //# sourceMappingURL=hitsound_controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hitsound_controller.d.ts","sourceRoot":"","sources":["../../src/player/hitsound_controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,kBAAmB,SAAQ,mBAAmB;IACvD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAuC;IACrE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAyC;IACrE,OAAO,CAAC,cAAc,CAAuC;gBAEjD,OAAO,EAAE,YAAY;IAI3B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvE,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,KAAK,IAAI,IAAI;IAIb,IAAI,CACA,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAY,EACpB,eAAe,CAAC,EAAE,MAAM,EACxB,IAAI,GAAE,MAAU,GACjB,IAAI;IAsBP,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY,EAAE,IAAI,GAAE,MAAU,GAAG,IAAI;IAK7G,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,uBAAuB;YAYjB,eAAe;YA0Cf,kBAAkB;YAqBlB,qBAAqB;IAoCnC,OAAO,IAAI,IAAI;CAIlB"}
1
+ {"version":3,"file":"hitsound_controller.d.ts","sourceRoot":"","sources":["../../src/player/hitsound_controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,qBAAa,kBAAmB,SAAQ,mBAAmB;IACvD,OAAO,CAAC,cAAc,CAAuC;gBAEjD,OAAO,EAAE,YAAY;IAI3B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3C,uBAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7E,KAAK,IAAI,IAAI;IAIb,IAAI,CACA,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAY,EACpB,eAAe,CAAC,EAAE,MAAM,EACxB,IAAI,GAAE,MAAU,GACjB,IAAI;IAsBP,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY,EAAE,IAAI,GAAE,MAAU,GAAG,IAAI;IAK7G,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,uBAAuB;YAYjB,eAAe;YAwBf,kBAAkB;YAqBlB,qBAAqB;IAkCnC,OAAO,CAAC,eAAe;IAMvB,OAAO,IAAI,IAAI;CAIlB"}
@@ -2,8 +2,7 @@ import type { IBeatmap } from "../types/beatmap";
2
2
  import type { IBeatmapResources } from "../types/resources";
3
3
  import { type Result, ErrorCode } from "../types/result";
4
4
  import { type IRendererConfig } from "../renderer/base_renderer";
5
- import type { IRenderBackend } from "../renderer/backend/render_backend";
6
- import { type ISkinConfig } from "../skin/skin_config";
5
+ import { type BackendType } from "../renderer/backend/backend_factory";
7
6
  type PlayerEventMap = {
8
7
  timeupdate: [time: number, duration: number];
9
8
  ended: [];
@@ -13,12 +12,20 @@ type PlayerEventMap = {
13
12
  play: [];
14
13
  pause: [];
15
14
  seek: [time: number];
15
+ debugsync: [
16
+ payload: {
17
+ audio_time_raw: number;
18
+ beatmap_time: number;
19
+ render_time: number;
20
+ drift_ms: number;
21
+ scheduled_hitsounds: number;
22
+ }
23
+ ];
16
24
  };
17
25
  type PlayerEvent = keyof PlayerEventMap;
18
26
  export type StartMode = "preview" | "beginning" | "custom";
19
27
  export interface IPlayerOptions {
20
28
  canvas: HTMLCanvasElement;
21
- skin?: Partial<ISkinConfig>;
22
29
  mods?: number;
23
30
  start_mode?: StartMode;
24
31
  start_time?: number;
@@ -26,13 +33,16 @@ export interface IPlayerOptions {
26
33
  volume?: number;
27
34
  hitsound_volume?: number;
28
35
  audio_offset?: number;
29
- backend?: IRenderBackend;
36
+ backend_type?: BackendType;
30
37
  renderer_config?: Partial<IRendererConfig>;
31
38
  playfield_scale?: number;
32
39
  auto_resize?: boolean;
33
40
  enable_fps_counter?: boolean;
34
41
  time_smoothing?: number;
35
42
  max_frame_delta?: number;
43
+ audio_resync_threshold_ms?: number;
44
+ hitsound_lookahead_ms?: number;
45
+ debug_sync?: boolean;
36
46
  }
37
47
  export declare class BeatmapPlayer {
38
48
  private backend;
@@ -44,7 +54,9 @@ export declare class BeatmapPlayer {
44
54
  private resources;
45
55
  private animation_frame;
46
56
  private skin;
57
+ private base_skin;
47
58
  private mods;
59
+ private custom_rate;
48
60
  private renderer_config;
49
61
  private start_offset;
50
62
  private start_mode;
@@ -52,7 +64,15 @@ export declare class BeatmapPlayer {
52
64
  private music_volume;
53
65
  private hitsound_volume;
54
66
  private audio_offset;
67
+ private beatmap_audio_lead_in;
55
68
  private background_url;
69
+ private loaded_skin_elements;
70
+ private loaded_skin_dispose;
71
+ private should_load_default_skin;
72
+ private default_skin_folder_manifest_url;
73
+ private default_skin_files;
74
+ private default_skin_loading;
75
+ private custom_skin_files;
56
76
  private listeners;
57
77
  private is_loaded_flag;
58
78
  private hitsound_scheduler;
@@ -68,12 +88,14 @@ export declare class BeatmapPlayer {
68
88
  private time_smoothing;
69
89
  private smoothed_delta;
70
90
  private max_frame_delta;
91
+ private resync_threshold_ms;
92
+ private debug_sync;
93
+ private debug_sync_last_emit_at;
71
94
  private last_timestamp;
72
95
  private smooth_time;
73
96
  constructor(options: IPlayerOptions);
74
97
  load_osz(data: ArrayBuffer, difficulty?: number | string): Promise<Result<IBeatmapResources>>;
75
98
  load_files(files: Map<string, ArrayBuffer | string>, difficulty?: number | string): Promise<Result<IBeatmapResources>>;
76
- load_default_hitsounds(urls: string[]): Promise<void>;
77
99
  load_custom_hitsounds(urls: string[]): Promise<void>;
78
100
  private load_map_custom_hitsounds;
79
101
  load_beatmap(beatmap: IBeatmap, audio?: ArrayBuffer, background?: Blob, video?: Blob, video_offset?: number): Promise<Result<IBeatmapResources>>;
@@ -89,6 +111,7 @@ export declare class BeatmapPlayer {
89
111
  play(): Promise<void>;
90
112
  pause(): void;
91
113
  set_mods(mods: number): void;
114
+ set_rate(rate: number | null): void;
92
115
  seek(time_ms: number): void;
93
116
  set_difficulty(index: number | string): Promise<Result<IBeatmapResources>>;
94
117
  private parse_content;
@@ -108,7 +131,15 @@ export declare class BeatmapPlayer {
108
131
  get config(): IRendererConfig;
109
132
  resize(width: number, height: number, playfield_scale?: number): void;
110
133
  update_config(config: Partial<IRendererConfig>): void;
111
- set_skin(skin: Partial<ISkinConfig>): void;
134
+ load_skin_files(files: Map<string, ArrayBuffer | string> | null): Promise<void>;
135
+ load_skin_osk(data: ArrayBuffer): Promise<void>;
136
+ clear_loaded_skin(): void;
137
+ private load_map_skin;
138
+ private release_loaded_skin;
139
+ private ensure_default_skin_loaded;
140
+ private load_default_skin_files;
141
+ private load_default_skin_folder_files;
142
+ private merge_skin_sources;
112
143
  private setup_auto_resize;
113
144
  toggle_pause(): void;
114
145
  toggle_grid(): void;
@@ -117,12 +148,18 @@ export declare class BeatmapPlayer {
117
148
  set_hitsound_volume(volume: number): void;
118
149
  set_offset(offset_ms: number): void;
119
150
  on<E extends PlayerEvent>(event: E, callback: (...args: PlayerEventMap[E]) => void): void;
120
- off<E extends PlayerEvent>(event: E, callback: Function): void;
151
+ off<E extends PlayerEvent>(event: E, callback: (...args: PlayerEventMap[E]) => void): void;
121
152
  private emit;
122
153
  private start_render_loop;
123
154
  private stop_render_loop;
124
155
  private render_frame;
156
+ private emit_debug_sync;
125
157
  set_fps_counter(enabled: boolean): void;
158
+ private get_effective_audio_offset;
159
+ private to_track_time;
160
+ private to_beatmap_time;
161
+ private resolve_speed_multiplier;
162
+ private reload_skin_runtime;
126
163
  }
127
164
  export {};
128
165
  //# sourceMappingURL=player.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../../src/player/player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../../src/player/player.ts"],"names":[],"mappings":"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"}
@@ -11,15 +11,17 @@ export declare class PlayerHitsoundScheduler {
11
11
  private timing_resolver;
12
12
  private audio_offset;
13
13
  private next_hit_object_index;
14
+ private hitsound_lookahead_ms;
14
15
  constructor(audio: AudioController, hitsounds: HitsoundController);
15
16
  set_context(resources: IBeatmapResources | null, timing_points: ITimingPoint[], timing_resolver: TimingStateResolver | null, audio_offset: number): void;
16
17
  set_audio_offset(offset_ms: number): void;
18
+ set_hitsound_lookahead(lookahead_ms: number): void;
17
19
  update_hit_index(time: number): void;
18
- schedule_hitsounds(time: number): void;
20
+ schedule_hitsounds(time: number): number;
19
21
  private play_hitsound;
20
22
  private play_node_hitsound;
21
23
  private resolve_sample_settings;
22
24
  private resolve_edge_sets;
23
25
  private get_timing_point;
24
26
  }
25
- //# sourceMappingURL=player_hitsound_scheduler.d.ts.map
27
+ //# sourceMappingURL=player_hitsound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player_hitsound.d.ts","sourceRoot":"","sources":["../../src/player/player_hitsound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAa3D,qBAAa,uBAAuB;IAS5B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,SAAS;IATrB,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,qBAAqB,CAAyC;gBAG1D,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,kBAAkB;IAGzC,WAAW,CACP,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,aAAa,EAAE,YAAY,EAAE,EAC7B,eAAe,EAAE,mBAAmB,GAAG,IAAI,EAC3C,YAAY,EAAE,MAAM,GACrB,IAAI;IAQP,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIzC,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAIlD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAgBpC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAuBxC,OAAO,CAAC,aAAa;IAqDrB,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,uBAAuB;IAsC/B,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,gBAAgB;CAsB3B"}
@@ -0,0 +1,8 @@
1
+ type SkinFileValue = ArrayBuffer | string;
2
+ export declare const convert_skin_files: (files: Map<string, SkinFileValue>) => Map<string, ArrayBuffer>;
3
+ export declare const load_skin_osk_files: (data: ArrayBuffer) => Promise<Map<string, ArrayBuffer>>;
4
+ export declare const merge_skin_sources: (default_skin_files: Map<string, ArrayBuffer> | null, custom_skin_files: Map<string, ArrayBuffer> | null) => Map<string, ArrayBuffer>;
5
+ export declare const merge_hitsound_sources: (map_files: Map<string, ArrayBuffer>, custom_skin_files: Map<string, ArrayBuffer> | null, default_skin_files: Map<string, ArrayBuffer> | null) => Map<string, ArrayBuffer>;
6
+ export declare const load_default_skin_folder_files: (manifest_url: string, resolve_asset_url: (name: string) => string) => Promise<Map<string, ArrayBuffer> | null>;
7
+ export {};
8
+ //# sourceMappingURL=player_skin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player_skin.d.ts","sourceRoot":"","sources":["../../src/player/player_skin.ts"],"names":[],"mappings":"AAEA,KAAK,aAAa,GAAG,WAAW,GAAG,MAAM,CAAC;AAE1C,eAAO,MAAM,kBAAkB,GAAI,OAAO,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,KAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAW7F,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAU,MAAM,WAAW,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAc7F,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC3B,oBAAoB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,EACnD,mBAAmB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,KACnD,GAAG,CAAC,MAAM,EAAE,WAAW,CAgBzB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAC/B,WAAW,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACnC,mBAAmB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,EAClD,oBAAoB,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,KACpD,GAAG,CAAC,MAAM,EAAE,WAAW,CAoBzB,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACvC,cAAc,MAAM,EACpB,mBAAmB,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,KAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CA6CzC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"video_controller.d.ts","sourceRoot":"","sources":["../../src/player/video_controller.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;IACxB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,OAAO,CAAa;IAE5B,IAAI,OAAO,IAAI,gBAAgB,GAAG,IAAI,CAErC;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAEK,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBzD,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAqBjC,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO3B,OAAO,IAAI,IAAI;CAYlB"}
1
+ {"version":3,"file":"video_controller.d.ts","sourceRoot":"","sources":["../../src/player/video_controller.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;IACxB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,OAAO,CAAa;IAE5B,IAAI,OAAO,IAAI,gBAAgB,GAAG,IAAI,CAErC;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAEK,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBzD,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAmBjC,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAMb,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO3B,OAAO,IAAI,IAAI;CAYlB"}
@@ -0,0 +1,4 @@
1
+ import type { IRenderBackend } from "./render_backend";
2
+ export type BackendType = "auto" | "pixi";
3
+ export declare const create_backend: (_: BackendType) => IRenderBackend;
4
+ //# sourceMappingURL=backend_factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend_factory.d.ts","sourceRoot":"","sources":["../../../src/renderer/backend/backend_factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C,eAAO,MAAM,cAAc,GAAI,GAAG,WAAW,KAAG,cAE/C,CAAC"}
@@ -1,35 +1,50 @@
1
- import type { IRenderBackend, GradientStop, RenderImage, LineCap, LineJoin, TextAlign, TextBaseline, CompositeOperation } from "./render_backend";
2
- export declare class CanvasBackend implements IRenderBackend {
3
- private ctx;
1
+ import type { CompositeOperation, GradientStop, IRenderBackend, LineCap, LineJoin, RenderImage, TextAlign, TextBaseline } from "./render_backend";
2
+ type LinearGradient = {
3
+ type: "linear_gradient";
4
+ x0: number;
5
+ y0: number;
6
+ x1: number;
7
+ y1: number;
8
+ stops: GradientStop[];
9
+ };
10
+ export declare class PixiBackend implements IRenderBackend {
11
+ private app;
12
+ private root;
13
+ private state;
14
+ private stack;
15
+ private texture_cache;
16
+ private gradient_texture_cache;
17
+ private text_texture_cache;
4
18
  private _width;
5
19
  private _height;
6
20
  private _dpr;
7
21
  private is_initialized;
22
+ private context_lost_listener;
23
+ private context_restored_listener;
8
24
  get width(): number;
9
25
  get height(): number;
10
26
  initialize(container: HTMLCanvasElement, use_high_dpi?: boolean): void;
11
- clear(): void;
12
- dispose(): void;
13
27
  begin_frame(): void;
14
28
  end_frame(): void;
29
+ clear(): void;
15
30
  resize(width: number, height: number): void;
31
+ dispose(): void;
16
32
  draw_circle(x: number, y: number, radius: number, fill_color: string, stroke_color?: string, stroke_width?: number): void;
17
33
  draw_arc(x: number, y: number, radius: number, start_angle: number, end_angle: number, stroke_color: string, stroke_width: number, ccw?: boolean): void;
18
34
  draw_rect(x: number, y: number, width: number, height: number, fill_color: string): void;
19
- draw_rect_gradient(x: number, y: number, width: number, height: number, gradient: any): void;
20
- create_linear_gradient(x0: number, y0: number, x1: number, y1: number, stops: GradientStop[]): any;
35
+ draw_rect_gradient(x: number, y: number, width: number, height: number, gradient: LinearGradient): void;
36
+ create_linear_gradient(x0: number, y0: number, x1: number, y1: number, stops: GradientStop[]): LinearGradient;
21
37
  draw_text(text: string, x: number, y: number, font: string, fill_color: string, align?: TextAlign, baseline?: TextBaseline): void;
22
- measure_text(text: string, font: string): TextMetrics | null;
23
38
  begin_path(): void;
24
39
  move_to(x: number, y: number): void;
25
40
  line_to(x: number, y: number): void;
26
- draw_line(x0: number, y0: number, x1: number, y1: number, color: string, width: number, cap?: LineCap, join?: LineJoin): void;
41
+ draw_line(x0: number, y0: number, x1: number, y1: number, color: string, width: number): void;
27
42
  bezier_curve_to(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void;
28
43
  quadratic_curve_to(cpx: number, cpy: number, x: number, y: number): void;
29
44
  arc_to(x: number, y: number, radius: number, start: number, end: number, ccw?: boolean): void;
30
45
  rect(x: number, y: number, width: number, height: number): void;
31
46
  clip(): void;
32
- stroke_path(color: string, width: number, cap?: LineCap, join?: LineJoin): void;
47
+ stroke_path(color: string, width: number, _cap?: LineCap, _join?: LineJoin): void;
33
48
  fill_path(color: string): void;
34
49
  close_path(): void;
35
50
  save(): void;
@@ -38,14 +53,23 @@ export declare class CanvasBackend implements IRenderBackend {
38
53
  scale(x: number, y: number): void;
39
54
  rotate(angle: number): void;
40
55
  set_alpha(alpha: number): void;
41
- set_shadow(color: string, blur: number): void;
56
+ set_shadow(_color: string, _blur: number): void;
42
57
  set_composite_operation(op: CompositeOperation): void;
43
58
  set_blend_mode(mode: "normal" | "lighter" | "multiply" | "screen"): void;
44
- draw_image(image: RenderImage, x: number, y: number, width?: number, height?: number): void;
59
+ draw_image(image: RenderImage, x: number, y: number, width?: number, height?: number, tint_color?: string): void;
45
60
  draw_image_part(image: RenderImage, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
46
- render_slider_to_image(path: [number, number][], radius: number, border_color: string, body_color: string, scale: number, body_opacity?: number, border_opacity?: number): RenderImage | null;
47
- private apply_canvas_size;
48
- private configure_context;
49
- private reset_transform;
61
+ render_slider_to_image(path: [number, number][], radius: number, border_color: string, body_color: string, scale: number, body_opacity?: number, border_opacity?: number, body_texture?: RenderImage | null): RenderImage | null;
62
+ private render_slider_canvas_fallback;
63
+ private reset_state;
64
+ private make_graphics;
65
+ private apply_path;
66
+ private compose_matrix;
67
+ private get_last_path_point;
68
+ private get_texture;
69
+ private get_or_create_gradient_texture;
70
+ private get_or_create_text_texture;
71
+ private clear_texture_caches;
72
+ private ensure_sprite_texture_limit;
50
73
  }
51
- //# sourceMappingURL=canvas_backend.d.ts.map
74
+ export {};
75
+ //# sourceMappingURL=pixi_backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixi_backend.d.ts","sourceRoot":"","sources":["../../../src/renderer/backend/pixi_backend.ts"],"names":[],"mappings":"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"}
@@ -51,8 +51,8 @@ export interface IRenderBackend {
51
51
  set_shadow(color: string, blur: number): void;
52
52
  set_composite_operation(op: CompositeOperation): void;
53
53
  set_blend_mode(mode: "normal" | "lighter" | "multiply" | "screen"): void;
54
- draw_image(image: RenderImage, x: number, y: number, width?: number, height?: number): void;
54
+ draw_image(image: RenderImage, x: number, y: number, width?: number, height?: number, tint_color?: string): void;
55
55
  draw_image_part(image: RenderImage, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
56
- render_slider_to_image(path: [number, number][], radius: number, border_color: string, body_color: string, scale: number, body_opacity?: number, border_opacity?: number): RenderImage | null;
56
+ render_slider_to_image(path: [number, number][], radius: number, border_color: string, body_color: string, scale: number, body_opacity?: number, border_opacity?: number, body_texture?: RenderImage | null): RenderImage | null;
57
57
  }
58
58
  //# sourceMappingURL=render_backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render_backend.d.ts","sourceRoot":"","sources":["../../../src/renderer/backend/render_backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render_backend.d.ts","sourceRoot":"","sources":["../../../src/renderer/backend/render_backend.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { IRenderBackend, RenderImage } from "./backend/render_backend";
2
2
  import type { IBeatmap } from "../types/beatmap";
3
3
  import type { RenderHitObject } from "./render_types";
4
4
  import type { ISkinConfig } from "../skin/skin_config";
5
+ import type { StandardSkinElements } from "../skin/skin_elements";
5
6
  export declare const PLAYFIELD_WIDTH = 512;
6
7
  export declare const PLAYFIELD_HEIGHT = 384;
7
8
  export declare enum GridLevel {
@@ -22,6 +23,7 @@ export interface IRendererConfig {
22
23
  grid_color: string;
23
24
  grid_opacity: number;
24
25
  use_high_dpi: boolean;
26
+ enable_stacking: boolean;
25
27
  }
26
28
  export declare const DEFAULT_RENDERER_CONFIG: IRendererConfig;
27
29
  export declare abstract class BaseRenderer {
@@ -29,17 +31,18 @@ export declare abstract class BaseRenderer {
29
31
  protected skin: ISkinConfig;
30
32
  protected config: IRendererConfig;
31
33
  protected mods: number;
34
+ protected skin_elements: StandardSkinElements | null;
32
35
  protected beatmap: IBeatmap;
33
36
  protected objects: RenderHitObject[];
34
37
  protected background_image: RenderImage | null;
35
- constructor(backend: IRenderBackend, skin: ISkinConfig, mods?: number, config?: IRendererConfig);
38
+ constructor(backend: IRenderBackend, skin: ISkinConfig, mods?: number, config?: IRendererConfig, skin_elements?: StandardSkinElements | null);
36
39
  set_background(image: RenderImage | null): void;
37
40
  update_config(config: Partial<IRendererConfig>): void;
38
41
  abstract initialize(beatmap: IBeatmap): void;
39
42
  abstract render(time: number): void;
40
43
  abstract set_mods(mods: number): void;
41
- precompute(start_time?: number): void;
42
- on_seek(time: number): void;
44
+ precompute(_start_time?: number): void;
45
+ on_seek(_time: number): void;
43
46
  dispose(): void;
44
47
  protected render_playfield(custom_w?: number, custom_h?: number, custom_x?: number, custom_y?: number): void;
45
48
  protected render_grid(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"base_renderer.d.ts","sourceRoot":"","sources":["../../src/renderer/base_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAGpC,oBAAY,SAAS;IACjB,IAAI,IAAI;IACR,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,IAAI;IACT,IAAI,IAAI;CACX;AAED,MAAM,WAAW,eAAe;IAE5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAGd,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,UAAU,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IAGrB,YAAY,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,uBAAuB,EAAE,eAcrC,CAAC;AAEF,8BAAsB,YAAY;IAC9B,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IAEvB,SAAS,CAAC,OAAO,EAAG,QAAQ,CAAC;IAC7B,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,CAAM;IAC1C,SAAS,CAAC,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAQ;gBAE1C,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,eAAyC;IAO3H,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAI/C,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAIrD,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAC5C,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAGnC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAErC,UAAU,CAAC,UAAU,GAAE,MAAU,GAAG,IAAI;IACxC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAE3B,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAyB5G,SAAS,CAAC,WAAW,IAAI,IAAI;IA4B7B,SAAS,CAAC,iBAAiB,IAAI,IAAI;IA2BnC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;CAcpG"}
1
+ {"version":3,"file":"base_renderer.d.ts","sourceRoot":"","sources":["../../src/renderer/base_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,eAAO,MAAM,eAAe,MAAM,CAAC;AACnC,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC,oBAAY,SAAS;IACjB,IAAI,IAAI;IACR,KAAK,KAAK;IACV,MAAM,KAAK;IACX,KAAK,IAAI;IACT,IAAI,IAAI;CACX;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,SAAS,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,uBAAuB,EAAE,eAgBrC,CAAC;AAEF,8BAAsB,YAAY;IAC9B,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;IAC5B,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC;IAClC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAErD,SAAS,CAAC,OAAO,EAAG,QAAQ,CAAC;IAC7B,SAAS,CAAC,OAAO,EAAE,eAAe,EAAE,CAAM;IAC1C,SAAS,CAAC,gBAAgB,EAAE,WAAW,GAAG,IAAI,CAAQ;gBAGlD,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,WAAW,EACjB,IAAI,GAAE,MAAU,EAChB,MAAM,GAAE,eAAyC,EACjD,aAAa,GAAE,oBAAoB,GAAG,IAAW;IASrD,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI;IAI/C,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAIrD,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAC5C,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAEnC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAErC,UAAU,CAAC,WAAW,GAAE,MAAU,GAAG,IAAI;IACzC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAE5B,OAAO,IAAI,IAAI;IAIf,SAAS,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAuB5G,SAAS,CAAC,WAAW,IAAI,IAAI;IA0B7B,SAAS,CAAC,iBAAiB,IAAI,IAAI;IA0BnC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE;CAepG"}
@@ -2,14 +2,21 @@ import type { IRenderBackend } from "../backend/render_backend";
2
2
  import type { DrawableConfig } from "./drawable";
3
3
  import type { ISkinConfig } from "../../skin/skin_config";
4
4
  import type { Vec2 } from "../../math/vector2";
5
+ import type { RenderImage } from "../backend/render_backend";
6
+ import type { StandardSkinElements } from "../../skin/skin_elements";
7
+ type CircleVisualTextureOverride = {
8
+ circle?: RenderImage;
9
+ overlay?: RenderImage;
10
+ };
5
11
  export declare class CircleVisual {
6
12
  private state;
7
13
  update(time: number, hit_time: number, config: DrawableConfig): void;
8
- render(backend: IRenderBackend, skin: ISkinConfig, position: Vec2, radius: number, combo_color: string, combo_count: number): void;
14
+ render(backend: IRenderBackend, skin: ISkinConfig, position: Vec2, radius: number, combo_color: string, combo_count: number, skin_elements?: StandardSkinElements | null, texture_override?: CircleVisualTextureOverride, show_number?: boolean, show_overlay?: boolean): void;
9
15
  get circle_alpha(): number;
10
16
  private reset_pre_hit_state;
11
17
  private update_pre_hit;
12
18
  private update_post_hit;
13
19
  }
14
20
  export declare const get_pre_hit_alpha: (time: number, appear_time: number, hit_time: number, config: DrawableConfig) => number;
21
+ export {};
15
22
  //# sourceMappingURL=circle_visual.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"circle_visual.d.ts","sourceRoot":"","sources":["../../../src/renderer/drawable/circle_visual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAW/C,qBAAa,YAAY;IACrB,OAAO,CAAC,KAAK,CAIX;IAEF,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAiBpE,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IA4BlI,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,eAAe;CAc1B;AAED,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,aAAa,MAAM,EAAE,UAAU,MAAM,EAAE,QAAQ,cAAc,KAAG,MAc/G,CAAC"}
1
+ {"version":3,"file":"circle_visual.d.ts","sourceRoot":"","sources":["../../../src/renderer/drawable/circle_visual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAI7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAUrE,KAAK,2BAA2B,GAAG;IAC/B,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;CACzB,CAAC;AAEF,qBAAa,YAAY;IACrB,OAAO,CAAC,KAAK,CAIX;IAEF,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAiBpE,MAAM,CACF,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,EAC3C,gBAAgB,CAAC,EAAE,2BAA2B,EAC9C,WAAW,GAAE,OAAc,EAC3B,YAAY,GAAE,OAAc,GAC7B,IAAI;IAkDP,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,OAAO,CAAC,mBAAmB;IAM3B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,eAAe;CAW1B;AAED,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,aAAa,MAAM,EAAE,UAAU,MAAM,EAAE,QAAQ,cAAc,KAAG,MAc/G,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { IRenderBackend } from "../backend/render_backend";
2
2
  import type { RenderHitObject } from "../render_types";
3
3
  import type { ISkinConfig } from "../../skin/skin_config";
4
+ import type { StandardSkinElements } from "../../skin/skin_elements";
4
5
  import { TransformSequence } from "./transforms";
5
6
  export declare enum ArmedState {
6
7
  Idle = 0,
@@ -10,6 +11,7 @@ export declare enum ArmedState {
10
11
  export interface DrawableConfig {
11
12
  backend: IRenderBackend;
12
13
  skin: ISkinConfig;
14
+ skin_elements?: StandardSkinElements | null;
13
15
  preempt: number;
14
16
  fade_in: number;
15
17
  radius: number;
@@ -35,10 +37,10 @@ export declare abstract class Drawable {
35
37
  is_alive(time: number): boolean;
36
38
  update(time: number): void;
37
39
  protected update_state(time: number): void;
38
- protected on_hit(time: number): void;
40
+ protected on_hit(_time: number): void;
39
41
  abstract render(time: number): void;
40
- render_body_pass(time: number): void;
41
- render_head_pass(time: number): void;
42
+ render_body_pass(_time: number): void;
43
+ render_head_pass(_time: number): void;
42
44
  dispose(): void;
43
45
  get start_time(): number;
44
46
  get end_time(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"drawable.d.ts","sourceRoot":"","sources":["../../../src/renderer/drawable/drawable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAU,MAAM,cAAc,CAAC;AAEzD,oBAAY,UAAU;IAClB,IAAI,IAAA;IACJ,GAAG,IAAA;IACH,IAAI,IAAA;CACP;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,8BAAsB,QAAQ;IAC1B,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;IAE5B,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC;IACtC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IAEjC,SAAS,CAAC,KAAK,SAAK;IACpB,SAAS,CAAC,KAAK,SAAK;IACpB,SAAS,CAAC,QAAQ,SAAK;IACvB,SAAS,CAAC,CAAC,SAAK;IAChB,SAAS,CAAC,CAAC,SAAK;IAEhB,SAAS,CAAC,WAAW,aAAmB;IACxC,SAAS,CAAC,UAAU,oBAA2B;IAE/C,SAAS,CAAC,eAAe,SAAK;IAC9B,SAAS,CAAC,aAAa,SAAK;gBAEhB,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc;IAa/D,SAAS,CAAC,cAAc,IAAI,IAAI;IAQhC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ1B,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ1C,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAGnC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACpC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACpC,OAAO,IAAI,IAAI;IAEf,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAE/B;CACJ"}
1
+ {"version":3,"file":"drawable.d.ts","sourceRoot":"","sources":["../../../src/renderer/drawable/drawable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,oBAAY,UAAU;IAClB,IAAI,IAAA;IACJ,GAAG,IAAA;IACH,IAAI,IAAA;CACP;AAED,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,8BAAsB,QAAQ;IAC1B,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAClC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;IAE5B,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC;IACtC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC;IAEjC,SAAS,CAAC,KAAK,SAAK;IACpB,SAAS,CAAC,KAAK,SAAK;IACpB,SAAS,CAAC,QAAQ,SAAK;IACvB,SAAS,CAAC,CAAC,SAAK;IAChB,SAAS,CAAC,CAAC,SAAK;IAEhB,SAAS,CAAC,WAAW,aAAmB;IACxC,SAAS,CAAC,UAAU,oBAA2B;IAE/C,SAAS,CAAC,eAAe,SAAK;IAC9B,SAAS,CAAC,aAAa,SAAK;gBAEhB,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc;IAa/D,SAAS,CAAC,cAAc,IAAI,IAAI;IAQhC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ1B,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO1C,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAErC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAEnC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACrC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACrC,OAAO,IAAI,IAAI;IAEf,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAE/B;CACJ"}
@@ -5,6 +5,6 @@ export declare class DrawableHitCircle extends Drawable {
5
5
  private hitburst;
6
6
  constructor(hit_object: RenderHitObject, config: DrawableConfig);
7
7
  update(time: number): void;
8
- render(time: number): void;
8
+ render(_time: number): void;
9
9
  }
10
10
  //# sourceMappingURL=drawable_hit_circle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawable_hit_circle.d.ts","sourceRoot":"","sources":["../../../src/renderer/drawable/drawable_hit_circle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAK3D,qBAAa,iBAAkB,SAAQ,QAAQ;IAC3C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc;IAI/D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAS7B"}
1
+ {"version":3,"file":"drawable_hit_circle.d.ts","sourceRoot":"","sources":["../../../src/renderer/drawable/drawable_hit_circle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAK3D,qBAAa,iBAAkB,SAAQ,QAAQ;IAC3C,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,QAAQ,CAAwB;gBAE5B,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc;IAI/D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM1B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAS9B"}