@rel-packages/osu-beatmap-preview 0.5.2 → 0.6.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 (92) hide show
  1. package/dist/assets/hitsounds/drum--hitwhistle.wav +0 -0
  2. package/dist/assets/hitsounds/drum-hitclap.wav +0 -0
  3. package/dist/assets/hitsounds/drum-hitclap3.wav +0 -0
  4. package/dist/assets/hitsounds/drum-hitnormal.wav +0 -0
  5. package/dist/assets/hitsounds/drum-hitnormalh.wav +0 -0
  6. package/dist/assets/hitsounds/drum-hitwhistle.wav +0 -0
  7. package/dist/assets/hitsounds/drum-sliderslide.wav +0 -0
  8. package/dist/assets/hitsounds/drum-slidertick.wav +0 -0
  9. package/dist/assets/hitsounds/manifest.json +30 -0
  10. package/dist/assets/hitsounds/normal-hitclap.wav +0 -0
  11. package/dist/assets/hitsounds/normal-hitclap2.wav +0 -0
  12. package/dist/assets/hitsounds/normal-hitfinish.wav +0 -0
  13. package/dist/assets/hitsounds/normal-hitfinish2.wav +0 -0
  14. package/dist/assets/hitsounds/normal-hitnormal.wav +0 -0
  15. package/dist/assets/hitsounds/normal-hitnormalh.wav +0 -0
  16. package/dist/assets/hitsounds/normal-hitwhistle.wav +0 -0
  17. package/dist/assets/hitsounds/normal-slidertick.wav +0 -0
  18. package/dist/assets/hitsounds/soft-hitclap.wav +0 -0
  19. package/dist/assets/hitsounds/soft-hitclap2.wav +0 -0
  20. package/dist/assets/hitsounds/soft-hitfinish.wav +0 -0
  21. package/dist/assets/hitsounds/soft-hitfinish2.wav +0 -0
  22. package/dist/assets/hitsounds/soft-hitnormal.wav +0 -0
  23. package/dist/assets/hitsounds/soft-hitnormal1.wav +0 -0
  24. package/dist/assets/hitsounds/soft-hitnormal2.wav +0 -0
  25. package/dist/assets/hitsounds/soft-hitsoft.wav +0 -0
  26. package/dist/assets/hitsounds/soft-hitwhistle.wav +0 -0
  27. package/dist/assets/hitsounds/soft-sliderslide.wav +0 -0
  28. package/dist/assets/hitsounds/soft-slidertick.wav +0 -0
  29. package/dist/assets/hitsounds/soft-sliderwhistle.wav +0 -0
  30. package/dist/beatmap/timing.d.ts +3 -0
  31. package/dist/beatmap/timing.d.ts.map +1 -0
  32. package/dist/fonts.d.ts.map +1 -1
  33. package/dist/index.js +20 -20
  34. package/dist/index.js.map +25 -22
  35. package/dist/math/curves.d.ts.map +1 -1
  36. package/dist/mods/{mod_double_time.d.ts → double_time.d.ts} +1 -1
  37. package/dist/mods/double_time.d.ts.map +1 -0
  38. package/dist/mods/{mod_easy.d.ts → easy.d.ts} +1 -1
  39. package/dist/mods/easy.d.ts.map +1 -0
  40. package/dist/mods/{mod_half_time.d.ts → half_time.d.ts} +1 -1
  41. package/dist/mods/half_time.d.ts.map +1 -0
  42. package/dist/mods/{mod_hard_rock.d.ts → hard_rock.d.ts} +1 -1
  43. package/dist/mods/hard_rock.d.ts.map +1 -0
  44. package/dist/mods/{mod_hidden.d.ts → hidden.d.ts} +1 -1
  45. package/dist/mods/hidden.d.ts.map +1 -0
  46. package/dist/mods/index.d.ts +1 -11
  47. package/dist/mods/index.d.ts.map +1 -1
  48. package/dist/mods/mods.d.ts +12 -0
  49. package/dist/mods/mods.d.ts.map +1 -0
  50. package/dist/parser/beatmap_parser.d.ts.map +1 -1
  51. package/dist/parser/osz_loader.d.ts +0 -1
  52. package/dist/parser/osz_loader.d.ts.map +1 -1
  53. package/dist/player/hitsound_assets.d.ts +2 -0
  54. package/dist/player/hitsound_assets.d.ts.map +1 -0
  55. package/dist/player/hitsound_controller.d.ts +2 -0
  56. package/dist/player/hitsound_controller.d.ts.map +1 -1
  57. package/dist/player/player.d.ts +19 -3
  58. package/dist/player/player.d.ts.map +1 -1
  59. package/dist/renderer/backend/canvas_backend.d.ts +2 -0
  60. package/dist/renderer/backend/canvas_backend.d.ts.map +1 -1
  61. package/dist/renderer/backend/render_backend.d.ts +2 -0
  62. package/dist/renderer/backend/render_backend.d.ts.map +1 -1
  63. package/dist/renderer/base_renderer.d.ts +5 -3
  64. package/dist/renderer/base_renderer.d.ts.map +1 -1
  65. package/dist/renderer/drawable/drawable.d.ts +3 -3
  66. package/dist/renderer/drawable/drawable.d.ts.map +1 -1
  67. package/dist/renderer/drawable/drawable_hit_circle.d.ts +2 -2
  68. package/dist/renderer/drawable/drawable_hit_circle.d.ts.map +1 -1
  69. package/dist/renderer/drawable/drawable_slider.d.ts +9 -2
  70. package/dist/renderer/drawable/drawable_slider.d.ts.map +1 -1
  71. package/dist/renderer/mania/mania_renderer.d.ts.map +1 -1
  72. package/dist/renderer/render_objects.d.ts +4 -0
  73. package/dist/renderer/render_objects.d.ts.map +1 -0
  74. package/dist/renderer/render_types.d.ts +31 -0
  75. package/dist/renderer/render_types.d.ts.map +1 -0
  76. package/dist/renderer/standard/follow_points.d.ts +2 -2
  77. package/dist/renderer/standard/follow_points.d.ts.map +1 -1
  78. package/dist/renderer/standard/slider_math.d.ts.map +1 -1
  79. package/dist/renderer/standard/slider_path.d.ts +3 -3
  80. package/dist/renderer/standard/slider_path.d.ts.map +1 -1
  81. package/dist/renderer/standard/standard_renderer.d.ts +1 -0
  82. package/dist/renderer/standard/standard_renderer.d.ts.map +1 -1
  83. package/dist/renderer/standard/timing_state.d.ts +0 -1
  84. package/dist/renderer/standard/timing_state.d.ts.map +1 -1
  85. package/dist/types/beatmap.d.ts +6 -73
  86. package/dist/types/beatmap.d.ts.map +1 -1
  87. package/package.json +1 -1
  88. package/dist/mods/mod_double_time.d.ts.map +0 -1
  89. package/dist/mods/mod_easy.d.ts.map +0 -1
  90. package/dist/mods/mod_half_time.d.ts.map +0 -1
  91. package/dist/mods/mod_hard_rock.d.ts.map +0 -1
  92. package/dist/mods/mod_hidden.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,EAqDtE,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;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,4 +1,4 @@
1
1
  import type { IMod, IApplicableToRate } from "./types";
2
2
  export declare const ModDoubleTime: IMod & IApplicableToRate;
3
3
  export declare const ModNightcore: IMod & IApplicableToRate;
4
- //# sourceMappingURL=mod_double_time.d.ts.map
4
+ //# sourceMappingURL=double_time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"double_time.d.ts","sourceRoot":"","sources":["../../src/mods/double_time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIvD,eAAO,MAAM,aAAa,EAAE,IAAI,GAAG,iBAKlC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,IAAI,GAAG,iBAKjC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { IMod, IApplicableToDifficulty } from "./types";
2
2
  export declare const ModEasy: IMod & IApplicableToDifficulty;
3
- //# sourceMappingURL=mod_easy.d.ts.map
3
+ //# sourceMappingURL=easy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easy.d.ts","sourceRoot":"","sources":["../../src/mods/easy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAsB,MAAM,SAAS,CAAC;AAIjF,eAAO,MAAM,OAAO,EAAE,IAAI,GAAG,uBAU5B,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { IMod, IApplicableToRate } from "./types";
2
2
  export declare const ModHalfTime: IMod & IApplicableToRate;
3
- //# sourceMappingURL=mod_half_time.d.ts.map
3
+ //# sourceMappingURL=half_time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"half_time.d.ts","sourceRoot":"","sources":["../../src/mods/half_time.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAIvD,eAAO,MAAM,WAAW,EAAE,IAAI,GAAG,iBAKhC,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import type { IMod, IApplicableToDifficulty } from "./types";
2
2
  export declare const ModHardRock: IMod & IApplicableToDifficulty;
3
- //# sourceMappingURL=mod_hard_rock.d.ts.map
3
+ //# sourceMappingURL=hard_rock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hard_rock.d.ts","sourceRoot":"","sources":["../../src/mods/hard_rock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,uBAAuB,EAAsB,MAAM,SAAS,CAAC;AAKjF,eAAO,MAAM,WAAW,EAAE,IAAI,GAAG,uBAUhC,CAAC"}
@@ -2,4 +2,4 @@ import type { IMod } from "./types";
2
2
  export declare const HD_FADE_IN_MULTIPLIER = 0.4;
3
3
  export declare const HD_FADE_OUT_MULTIPLIER = 0.3;
4
4
  export declare const ModHidden: IMod;
5
- //# sourceMappingURL=mod_hidden.d.ts.map
5
+ //# sourceMappingURL=hidden.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hidden.d.ts","sourceRoot":"","sources":["../../src/mods/hidden.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAEpC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,eAAO,MAAM,SAAS,EAAE,IAGvB,CAAC"}
@@ -1,12 +1,2 @@
1
- import type { IBeatmapDifficulty } from "./types";
2
- export type { IMod, IApplicableToDifficulty, IApplicableToRate, IBeatmapDifficulty } from "./types";
3
- export { ModHardRock } from "./mod_hard_rock";
4
- export { ModEasy } from "./mod_easy";
5
- export { ModDoubleTime, ModNightcore } from "./mod_double_time";
6
- export { ModHalfTime } from "./mod_half_time";
7
- export { ModHidden, HD_FADE_IN_MULTIPLIER, HD_FADE_OUT_MULTIPLIER } from "./mod_hidden";
8
- export declare const get_rate_multiplier: (mods: number) => number;
9
- export declare const apply_mods_to_difficulty: (difficulty: IBeatmapDifficulty, mods: number) => void;
10
- export declare const apply_rate_to_ar: (ar: number, rate: number) => number;
11
- export declare const get_adjusted_difficulty: (cs: number, ar: number, od: number, hp: number, mods: number) => IBeatmapDifficulty;
1
+ export * from "./mods";
12
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mods/index.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,iBAAiB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAExF,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,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":"index.d.ts","sourceRoot":"","sources":["../../src/mods/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { IBeatmapDifficulty } from "./types";
2
+ export type { IMod, IApplicableToDifficulty, IApplicableToRate, IBeatmapDifficulty } from "./types";
3
+ export { ModHardRock } from "./hard_rock";
4
+ export { ModEasy } from "./easy";
5
+ export { ModDoubleTime, ModNightcore } from "./double_time";
6
+ export { ModHalfTime } from "./half_time";
7
+ export { ModHidden, HD_FADE_IN_MULTIPLIER, HD_FADE_OUT_MULTIPLIER } from "./hidden";
8
+ export declare const get_rate_multiplier: (mods: number) => number;
9
+ export declare const apply_mods_to_difficulty: (difficulty: IBeatmapDifficulty, mods: number) => void;
10
+ export declare const apply_rate_to_ar: (ar: number, rate: number) => number;
11
+ export declare const get_adjusted_difficulty: (cs: number, ar: number, od: number, hp: number, mods: number) => IBeatmapDifficulty;
12
+ //# sourceMappingURL=mods.d.ts.map
@@ -0,0 +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 +1 @@
1
- {"version":3,"file":"beatmap_parser.d.ts","sourceRoot":"","sources":["../../src/parser/beatmap_parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAiF,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAa9I,KAAK,mBAAmB,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC;CAC9D,CAAC;AAKF,eAAO,MAAM,qBAAqB,GAAI,SAAS,mBAAmB,KAAG,IAMpE,CAAC;AAgBF,eAAO,MAAM,gBAAgB,GAAU,UAAU,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAKlF,CAAC;AA4KF,qBAAa,aAAa;IACtB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ;IAO7C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY;CA6B3E;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,GAAG,UAAU,KAAG,MAMnE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,GAAG,UAAU,KAAG,MAAM,GAAG,IAK9E,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,SAAS,MAAM,GAAG,UAAU,KAAG,MAAM,GAAG,IAKnF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,GAAG,UAAU,KAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAKxG,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,OAA0B,CAAC"}
1
+ {"version":3,"file":"beatmap_parser.d.ts","sourceRoot":"","sources":["../../src/parser/beatmap_parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAa/D,KAAK,mBAAmB,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,GAAG,CAAC;CAC9D,CAAC;AAKF,eAAO,MAAM,qBAAqB,GAAI,SAAS,mBAAmB,KAAG,IAMpE,CAAC;AAgBF,eAAO,MAAM,gBAAgB,GAAU,UAAU,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAKlF,CAAC;AA6BF,qBAAa,aAAa;IACtB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,GAAG,QAAQ;IAO7C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY;CA6B3E;AAED,eAAO,MAAM,oBAAoB,GAAI,SAAS,MAAM,GAAG,UAAU,KAAG,MAMnE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,SAAS,MAAM,GAAG,UAAU,KAAG,MAAM,GAAG,IAK9E,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,SAAS,MAAM,GAAG,UAAU,KAAG,MAAM,GAAG,IAKnF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,GAAG,UAAU,KAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAKxG,CAAC;AAEF,eAAO,MAAM,cAAc,QAAO,OAA0B,CAAC"}
@@ -9,7 +9,6 @@ export declare class OszLoader {
9
9
  list_difficulties(data: ArrayBuffer): Promise<string[]>;
10
10
  private select_difficulty;
11
11
  private find_file;
12
- private to_string;
13
12
  private to_bytes;
14
13
  }
15
14
  //# sourceMappingURL=osz_loader.d.ts.map
@@ -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;IAClB,OAAO,CAAC,MAAM,CAA4B;IAGpC,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;IAmFlH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqB7D,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,SAAS;IAKjB,OAAO,CAAC,QAAQ;CAInB"}
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;IAClB,OAAO,CAAC,MAAM,CAA4B;IAGpC,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;IA+ElH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqB7D,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,QAAQ;CAInB"}
@@ -0,0 +1,2 @@
1
+ export declare const load_default_hitsounds: (base_url: string) => Promise<Map<string, ArrayBuffer>>;
2
+ //# sourceMappingURL=hitsound_assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hitsound_assets.d.ts","sourceRoot":"","sources":["../../src/player/hitsound_assets.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAqC/F,CAAC"}
@@ -7,7 +7,9 @@ export declare class HitsoundController {
7
7
  constructor(context: AudioContext);
8
8
  set_volume(volume: number): void;
9
9
  load_samples(files: Map<string, ArrayBuffer>): Promise<void>;
10
+ clear(): void;
10
11
  play(normal_set: SampleSet, addition_set: SampleSet, hit_sound: number, index: number, volume?: number, custom_filename?: string, when?: number): void;
12
+ play_sample(set: SampleSet, sample_name: string, index: number, volume?: number, when?: number): void;
11
13
  private play_sound;
12
14
  private play_buffer;
13
15
  private get_set_name;
@@ -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;AAE3D,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,MAAM,CAAa;gBAEf,OAAO,EAAE,YAAY;IAMjC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1B,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBlE,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,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,YAAY;IAWpB,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;AAE3D,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,MAAM,CAAa;gBAEf,OAAO,EAAE,YAAY;IAMjC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK1B,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgClE,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,IAAI,IAAI;CAIlB"}
@@ -22,6 +22,8 @@ export interface IPlayerOptions {
22
22
  start_time?: number;
23
23
  autoplay?: boolean;
24
24
  volume?: number;
25
+ hitsound_volume?: number;
26
+ audio_offset?: number;
25
27
  backend?: IRenderBackend;
26
28
  renderer_config?: Partial<IRendererConfig>;
27
29
  playfield_scale?: number;
@@ -43,15 +45,21 @@ export declare class BeatmapPlayer {
43
45
  private mods;
44
46
  private renderer_config;
45
47
  private start_offset;
46
- private volume;
48
+ private music_volume;
49
+ private hitsound_volume;
50
+ private audio_offset;
47
51
  private background_url;
48
52
  private listeners;
49
53
  private raw_osu_content;
50
54
  private is_loaded_flag;
51
55
  private next_hit_object_index;
56
+ private timing_points;
57
+ private timing_resolver;
52
58
  private resize_observer;
53
59
  private key_handler;
54
60
  private options;
61
+ private default_hitsounds;
62
+ private default_hitsounds_base_url;
55
63
  private enable_fps_counter;
56
64
  private fps_frame_count;
57
65
  private fps_last_update;
@@ -64,11 +72,14 @@ export declare class BeatmapPlayer {
64
72
  constructor(options: IPlayerOptions);
65
73
  load_osz(data: ArrayBuffer, difficulty?: number | string): Promise<Result<IBeatmapResources>>;
66
74
  load_files(files: Map<string, ArrayBuffer | string>, difficulty?: number | string): Promise<Result<IBeatmapResources>>;
67
- load_hitsounds(files: Map<string, ArrayBuffer>): Promise<void>;
75
+ load_hitsounds(files?: Map<string, ArrayBuffer>, base_url?: string): Promise<void>;
68
76
  load_beatmap(beatmap: IBeatmap, audio?: ArrayBuffer, background?: Blob, video?: Blob, video_offset?: number): Promise<Result<IBeatmapResources>>;
69
77
  load_osu_content(content: string, audio?: ArrayBuffer): Promise<Result<IBeatmapResources>>;
78
+ load_beatmap_files(osu_content: string | Uint8Array | ArrayBuffer, audio: ArrayBuffer, background?: Blob, video?: Blob, video_offset?: number): Promise<Result<IBeatmapResources>>;
70
79
  private setup;
71
- private load_background;
80
+ load_background(): Promise<void>;
81
+ private resolve_assets;
82
+ private ensure_default_hitsounds;
72
83
  private create_renderer;
73
84
  private get_last_object_time;
74
85
  play(): Promise<void>;
@@ -96,12 +107,17 @@ export declare class BeatmapPlayer {
96
107
  toggle_grid(): void;
97
108
  private calculate_layout;
98
109
  set_volume(volume: number): void;
110
+ set_hitsound_volume(volume: number): void;
111
+ set_offset(offset_ms: number): void;
99
112
  on<E extends PlayerEvent>(event: E, callback: (...args: PlayerEventMap[E]) => void): void;
100
113
  off<E extends PlayerEvent>(event: E, callback: Function): void;
101
114
  private emit;
102
115
  private start_render_loop;
103
116
  private schedule_hitsounds;
104
117
  private play_hitsound;
118
+ private play_node_hitsound;
119
+ private resolve_sample_settings;
120
+ private resolve_edge_sets;
105
121
  private get_timing_point;
106
122
  private stop_render_loop;
107
123
  private render_frame;
@@ -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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"}
@@ -10,6 +10,8 @@ export declare class CanvasBackend implements IRenderBackend {
10
10
  initialize(container: HTMLCanvasElement, use_high_dpi?: boolean): void;
11
11
  clear(): void;
12
12
  dispose(): void;
13
+ begin_frame(): void;
14
+ end_frame(): void;
13
15
  resize(width: number, height: number): void;
14
16
  draw_circle(x: number, y: number, radius: number, fill_color: string, stroke_color?: string, stroke_width?: number): void;
15
17
  draw_arc(x: number, y: number, radius: number, start_angle: number, end_angle: number, stroke_color: string, stroke_width: number, ccw?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"canvas_backend.d.ts","sourceRoot":"","sources":["../../../src/renderer/backend/canvas_backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canvas_backend.d.ts","sourceRoot":"","sources":["../../../src/renderer/backend/canvas_backend.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,8 @@ export interface IRenderBackend {
19
19
  resize(width: number, height: number): void;
20
20
  clear(): void;
21
21
  dispose(): void;
22
+ begin_frame?(): void;
23
+ end_frame?(): void;
22
24
  get width(): number;
23
25
  get height(): number;
24
26
  draw_circle(x: number, y: number, radius: number, fill_color: string, stroke_color?: string, stroke_width?: number): void;
@@ -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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"}
@@ -1,5 +1,6 @@
1
1
  import type { IRenderBackend, RenderImage } from "./backend/render_backend";
2
- import type { IBeatmap, IHitObject } from "../types/beatmap";
2
+ import type { IBeatmap } from "../types/beatmap";
3
+ import type { RenderHitObject } from "./render_types";
3
4
  import type { ISkinConfig } from "../skin/skin_config";
4
5
  export declare const PLAYFIELD_WIDTH = 512;
5
6
  export declare const PLAYFIELD_HEIGHT = 384;
@@ -29,7 +30,7 @@ export declare abstract class BaseRenderer {
29
30
  protected config: IRendererConfig;
30
31
  protected mods: number;
31
32
  protected beatmap: IBeatmap;
32
- protected objects: IHitObject[];
33
+ protected objects: RenderHitObject[];
33
34
  protected background_image: RenderImage | null;
34
35
  constructor(backend: IRenderBackend, skin: ISkinConfig, mods?: number, config?: IRendererConfig);
35
36
  set_background(image: RenderImage | null): void;
@@ -37,10 +38,11 @@ export declare abstract class BaseRenderer {
37
38
  abstract initialize(beatmap: IBeatmap): void;
38
39
  abstract render(time: number): void;
39
40
  abstract set_mods(mods: number): void;
41
+ precompute(): void;
40
42
  dispose(): void;
41
43
  protected render_playfield(custom_w?: number, custom_h?: number, custom_x?: number, custom_y?: number): void;
42
44
  protected render_grid(): void;
43
45
  protected render_background(): void;
44
- protected get_visible_objects(time: number, preempt: number, fade_out: number): IHitObject[];
46
+ protected get_visible_objects(time: number, preempt: number, fade_out: number): RenderHitObject[];
45
47
  }
46
48
  //# sourceMappingURL=base_renderer.d.ts.map
@@ -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,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,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,UAAU,EAAE,CAAM;IACrC,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,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,UAAU,EAAE;CAc/F"}
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,IAAI,IAAI;IAElB,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,5 +1,5 @@
1
1
  import type { IRenderBackend } from "../backend/render_backend";
2
- import type { IHitObject } from "../../types/beatmap";
2
+ import type { RenderHitObject } from "../render_types";
3
3
  import type { ISkinConfig } from "../../skin/skin_config";
4
4
  import { TransformSequence } from "./transforms";
5
5
  export declare enum ArmedState {
@@ -19,7 +19,7 @@ export interface DrawableConfig {
19
19
  export declare abstract class Drawable {
20
20
  protected backend: IRenderBackend;
21
21
  protected skin: ISkinConfig;
22
- protected hit_object: IHitObject;
22
+ protected hit_object: RenderHitObject;
23
23
  protected config: DrawableConfig;
24
24
  protected alpha: number;
25
25
  protected scale: number;
@@ -30,7 +30,7 @@ export declare abstract class Drawable {
30
30
  protected transforms: TransformSequence;
31
31
  protected life_time_start: number;
32
32
  protected life_time_end: number;
33
- constructor(hit_object: IHitObject, config: DrawableConfig);
33
+ constructor(hit_object: RenderHitObject, config: DrawableConfig);
34
34
  protected apply_defaults(): void;
35
35
  is_alive(time: number): boolean;
36
36
  update(time: number): void;
@@ -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,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,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,UAAU,CAAC;IACjC,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,UAAU,EAAE,MAAM,EAAE,cAAc;IAa1D,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,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;IAEpC,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,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;IAEpC,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,8 +1,8 @@
1
- import type { IHitObject } from "../../types/beatmap";
1
+ import type { RenderHitObject } from "../render_types";
2
2
  import { Drawable, type DrawableConfig } from "./drawable";
3
3
  export declare class DrawableHitCircle extends Drawable {
4
4
  private visual;
5
- constructor(hit_object: IHitObject, config: DrawableConfig);
5
+ constructor(hit_object: RenderHitObject, config: DrawableConfig);
6
6
  update(time: number): void;
7
7
  render(time: number): void;
8
8
  }
@@ -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,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAI3D,qBAAa,iBAAkB,SAAQ,QAAQ;IAC3C,OAAO,CAAC,MAAM,CAAsB;gBAExB,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAI1D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAQ7B"}
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;AAI3D,qBAAa,iBAAkB,SAAQ,QAAQ;IAC3C,OAAO,CAAC,MAAM,CAAsB;gBAExB,UAAU,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc;IAI/D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAQ7B"}
@@ -1,4 +1,4 @@
1
- import type { IHitObject } from "../../types/beatmap";
1
+ import type { RenderHitObject } from "../render_types";
2
2
  import { Drawable, type DrawableConfig } from "./drawable";
3
3
  import { type Vec2 } from "../../math/vector2";
4
4
  export declare class DrawableSlider extends Drawable {
@@ -19,7 +19,12 @@ export declare class DrawableSlider extends Drawable {
19
19
  private min_distance_from_end;
20
20
  private cached_texture;
21
21
  private cached_scale;
22
- constructor(hit_object: IHitObject, config: DrawableConfig, path: Vec2[], span_duration: number, tick_distance: number, min_distance_from_end: number);
22
+ private tick_entries;
23
+ private tick_entries_by_start;
24
+ private tick_window_start;
25
+ private tick_window_end;
26
+ private tick_window_time;
27
+ constructor(hit_object: RenderHitObject, config: DrawableConfig, path: Vec2[], span_duration: number, tick_distance: number, min_distance_from_end: number);
23
28
  private build_nested_objects;
24
29
  private calculate_path_length;
25
30
  private resample_path;
@@ -32,7 +37,9 @@ export declare class DrawableSlider extends Drawable {
32
37
  render_body_pass(time: number): void;
33
38
  render_head_pass(time: number): void;
34
39
  private render_body;
40
+ prepare_body_cache(): void;
35
41
  private render_ticks;
42
+ private build_tick_entries;
36
43
  private ease_out_elastic_half;
37
44
  private render_reverse_arrows;
38
45
  private render_head;
@@ -1 +1 @@
1
- {"version":3,"file":"drawable_slider.d.ts","sourceRoot":"","sources":["../../../src/renderer/drawable/drawable_slider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAI3D,OAAO,EAAwC,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAUrF,qBAAa,cAAe,SAAQ,QAAQ;IACxC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,aAAa,CAAO;IAC5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,YAAY,CAAa;gBAG7B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,IAAI,EAAE,EACZ,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,qBAAqB,EAAE,MAAM;IAmBjC,OAAO,CAAC,oBAAoB;IA0B5B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,aAAa;IA2CrB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO1B,OAAO,CAAC,uBAAuB;IA2C/B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,mBAAmB;IA+B3B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU1B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMpC,OAAO,CAAC,WAAW;IAyCnB,OAAO,CAAC,YAAY;IAyDpB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,qBAAqB;IA2G7B,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,WAAW;CA0BtB"}
1
+ {"version":3,"file":"drawable_slider.d.ts","sourceRoot":"","sources":["../../../src/renderer/drawable/drawable_slider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAI3D,OAAO,EAAwC,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAkBrF,qBAAa,cAAe,SAAQ,QAAQ;IACxC,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,aAAa,CAAO;IAC5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,qBAAqB,CAAmB;IAChD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,gBAAgB,CAA4B;gBAGhD,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,IAAI,EAAE,EACZ,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,qBAAqB,EAAE,MAAM;IAmBjC,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,aAAa;IA2CrB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO1B,OAAO,CAAC,uBAAuB;IA2C/B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,mBAAmB;IA+B3B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAU1B,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIpC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMpC,OAAO,CAAC,WAAW;IAsBnB,kBAAkB,IAAI,IAAI;IA4B1B,OAAO,CAAC,YAAY;IAoEpB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,qBAAqB;IA2G7B,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,WAAW;CA0BtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"mania_renderer.d.ts","sourceRoot":"","sources":["../../../src/renderer/mania/mania_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAyB,MAAM,qBAAqB,CAAC;AAI3E,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAA8D,MAAM,kBAAkB,CAAC;AAClI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAM1D,qBAAa,aAAc,SAAQ,YAAY;IAC3C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAA8C;IAGjE,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAe;gBAEzB,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,eAAyC;IAK3H,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAYnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK5B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,SAAS;IAMjB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA+E1B,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,cAAc;CA8BzB"}
1
+ {"version":3,"file":"mania_renderer.d.ts","sourceRoot":"","sources":["../../../src/renderer/mania/mania_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAA8D,MAAM,kBAAkB,CAAC;AAClI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,qBAAa,aAAc,SAAQ,YAAY;IAC3C,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,WAAW,CAA8C;IAGjE,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAe;gBAEzB,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,eAAyC;IAK3H,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAMnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK5B,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,SAAS;IAMjB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA+E1B,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,cAAc;CA8BzB"}
@@ -0,0 +1,4 @@
1
+ import type { IBeatmap } from "../types/beatmap";
2
+ import type { RenderHitObject } from "./render_types";
3
+ export declare const build_render_objects: (beatmap: IBeatmap) => RenderHitObject[];
4
+ //# sourceMappingURL=render_objects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render_objects.d.ts","sourceRoot":"","sources":["../../src/renderer/render_objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,eAAe,EAAyF,MAAM,gBAAgB,CAAC;AAE7I,eAAO,MAAM,oBAAoB,GAAI,SAAS,QAAQ,KAAG,eAAe,EAqCvE,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type { HitObject as OsuHitObject } from "@rel-packages/osu-beatmap-parser/dist/types/types";
2
+ import type { Vec2 } from "../math/vector2";
3
+ export type SliderPathType = "L" | "B" | "P" | "C";
4
+ export type RenderCircleData = {
5
+ pos: Vec2;
6
+ };
7
+ export type RenderSliderData = {
8
+ pos: Vec2;
9
+ path_type: SliderPathType;
10
+ control_points: Vec2[];
11
+ distance: number;
12
+ repetitions: number;
13
+ duration?: number;
14
+ computed_path?: Vec2[];
15
+ };
16
+ export type RenderSpinnerData = {
17
+ end_time: number;
18
+ };
19
+ export type RenderHoldData = {
20
+ pos: Vec2;
21
+ end_time: number;
22
+ };
23
+ export type RenderObjectData = RenderCircleData | RenderSliderData | RenderSpinnerData | RenderHoldData;
24
+ export type RenderHitObject = OsuHitObject & {
25
+ end_time: number;
26
+ end_pos: Vec2;
27
+ combo_number: number;
28
+ combo_count: number;
29
+ data: RenderObjectData;
30
+ };
31
+ //# sourceMappingURL=render_types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render_types.d.ts","sourceRoot":"","sources":["../../src/renderer/render_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACnG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG;IAC3B,GAAG,EAAE,IAAI,CAAC;IACV,SAAS,EAAE,cAAc,CAAC;IAC1B,cAAc,EAAE,IAAI,EAAE,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AACrD,MAAM,MAAM,cAAc,GAAG;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7D,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAExG,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,IAAI,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,gBAAgB,CAAC;CAC1B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { IHitObject } from "../../types/beatmap";
1
+ import type { RenderHitObject } from "../render_types";
2
2
  import type { IRenderBackend } from "../backend/render_backend";
3
3
  import type { ISkinConfig } from "../../skin/skin_config";
4
4
  export declare class FollowPointRenderer {
@@ -11,7 +11,7 @@ export declare class FollowPointRenderer {
11
11
  private lines;
12
12
  constructor(skin: ISkinConfig, mods: number, preempt: number, fade_in: number, radius: number);
13
13
  update_settings(mods: number, preempt: number, fade_in: number, radius: number): void;
14
- build(objects: IHitObject[]): void;
14
+ build(objects: RenderHitObject[]): void;
15
15
  render(time: number, backend: IRenderBackend, get_circle_alpha: (time: number, hit_time: number) => number): void;
16
16
  private get_alpha_gate;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"follow_points.d.ts","sourceRoot":"","sources":["../../../src/renderer/standard/follow_points.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AA0B1D,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAoB;gBAErB,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQ7F,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAOrF,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI;IAwElC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAmIjH,OAAO,CAAC,cAAc;CAKzB"}
1
+ {"version":3,"file":"follow_points.d.ts","sourceRoot":"","sources":["../../../src/renderer/standard/follow_points.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AA0B1D,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAoB;gBAErB,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAQ7F,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAOrF,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI;IAwEvC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAmIjH,OAAO,CAAC,cAAc;CAKzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"slider_math.d.ts","sourceRoot":"","sources":["../../../src/renderer/standard/slider_math.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,eAAO,MAAM,yBAAyB,GAAI,UAAU,MAAM,EAAE,SAAS,QAAQ,EAAE,cAAc,WAAW,KAAG,MAG1G,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,SAAS,QAAQ,EAAE,cAAc,WAAW,KAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAW3I,CAAC"}
1
+ {"version":3,"file":"slider_math.d.ts","sourceRoot":"","sources":["../../../src/renderer/standard/slider_math.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,eAAO,MAAM,yBAAyB,GAAI,UAAU,MAAM,EAAE,SAAS,QAAQ,EAAE,cAAc,WAAW,KAAG,MAI1G,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,SAAS,QAAQ,EAAE,cAAc,WAAW,KAAG;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAe3I,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { ISliderData } from "../../types/beatmap";
1
+ import type { RenderSliderData } from "../render_types";
2
2
  import { type Vec2 } from "../../math/vector2";
3
- export declare const compute_slider_path: (slider: ISliderData) => Vec2[];
4
- export declare const get_slider_end_position: (slider: ISliderData) => Vec2;
3
+ export declare const compute_slider_path: (slider: RenderSliderData) => Vec2[];
4
+ export declare const get_slider_end_position: (slider: RenderSliderData) => Vec2;
5
5
  //# sourceMappingURL=slider_path.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slider_path.d.ts","sourceRoot":"","sources":["../../../src/renderer/standard/slider_path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAiC,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE9E,eAAO,MAAM,mBAAmB,GAAI,QAAQ,WAAW,KAAG,IAAI,EAsB7D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,WAAW,KAAG,IAG7D,CAAC"}
1
+ {"version":3,"file":"slider_path.d.ts","sourceRoot":"","sources":["../../../src/renderer/standard/slider_path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAiC,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE9E,eAAO,MAAM,mBAAmB,GAAI,QAAQ,gBAAgB,KAAG,IAAI,EAsBlE,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,gBAAgB,KAAG,IAGlE,CAAC"}
@@ -17,6 +17,7 @@ export declare class StandardRenderer extends BaseRenderer {
17
17
  private preprocess_objects;
18
18
  private create_drawables;
19
19
  render(time: number): void;
20
+ precompute(): void;
20
21
  private draw_approach_circle;
21
22
  private get_circle_alpha;
22
23
  private draw_spinner;
@@ -1 +1 @@
1
- {"version":3,"file":"standard_renderer.d.ts","sourceRoot":"","sources":["../../../src/renderer/standard/standard_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAyC,MAAM,qBAAqB,CAAC;AAM3F,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAA2B,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAW1D,qBAAa,gBAAiB,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,eAAe,CAAoC;IAE3D,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,qBAAqB,CAAsB;gBAEvC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,eAAyC;IAK3H,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAqBnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO5B,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,gBAAgB;IAiCxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA0D1B,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,YAAY;CA0BvB"}
1
+ {"version":3,"file":"standard_renderer.d.ts","sourceRoot":"","sources":["../../../src/renderer/standard/standard_renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,qBAAqB,CAAC;AAMlE,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAA2B,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAc1D,qBAAa,gBAAiB,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,eAAe,CAAoC;IAE3D,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,qBAAqB,CAAsB;gBAEvC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,eAAyC;IAK3H,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAsBnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO5B,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,gBAAgB;IAiCxB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA0D1B,UAAU,IAAI,IAAI;IAQlB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,YAAY;CA0BvB"}
@@ -3,7 +3,6 @@ export type TimingState = {
3
3
  base_beat_length: number;
4
4
  sv_multiplier: number;
5
5
  };
6
- export declare const process_timing_points: (points: ITimingPoint[]) => ITimingPoint[];
7
6
  export declare class TimingStateResolver {
8
7
  private points;
9
8
  private index;
@@ -1 +1 @@
1
- {"version":3,"file":"timing_state.d.ts","sourceRoot":"","sources":["../../../src/renderer/standard/timing_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,MAAM,WAAW,GAAG;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,YAAY,EAAE,KAAG,YAAY,EAU1E,CAAC;AAEF,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,gBAAgB,CAAO;IAC/B,OAAO,CAAC,aAAa,CAAK;gBAEd,MAAM,EAAE,YAAY,EAAE;IAOlC,KAAK,IAAI,IAAI;IAOb,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;CAiC1C"}
1
+ {"version":3,"file":"timing_state.d.ts","sourceRoot":"","sources":["../../../src/renderer/standard/timing_state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,MAAM,WAAW,GAAG;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,gBAAgB,CAAO;IAC/B,OAAO,CAAC,aAAa,CAAK;gBAEd,MAAM,EAAE,YAAY,EAAE;IAOlC,KAAK,IAAI,IAAI;IAOb,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;CAoC1C"}