@rel-packages/osu-beatmap-preview 0.2.0 → 0.4.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 (35) hide show
  1. package/dist/index.js +4 -4
  2. package/dist/index.js.map +16 -11
  3. package/dist/math/difficulty.d.ts.map +1 -1
  4. package/dist/parser/async_parser.d.ts +15 -0
  5. package/dist/parser/async_parser.d.ts.map +1 -0
  6. package/dist/parser/osz_loader.d.ts +1 -0
  7. package/dist/parser/osz_loader.d.ts.map +1 -1
  8. package/dist/parser/parser.worker.d.ts +49 -0
  9. package/dist/parser/parser.worker.d.ts.map +1 -0
  10. package/dist/player/audio_controller.d.ts +1 -0
  11. package/dist/player/audio_controller.d.ts.map +1 -1
  12. package/dist/player/player.d.ts +8 -8
  13. package/dist/player/player.d.ts.map +1 -1
  14. package/dist/renderer/backend/canvas_backend.d.ts +2 -0
  15. package/dist/renderer/backend/canvas_backend.d.ts.map +1 -1
  16. package/dist/renderer/backend/render_backend.d.ts +2 -0
  17. package/dist/renderer/backend/render_backend.d.ts.map +1 -1
  18. package/dist/renderer/drawable/drawable.d.ts +48 -0
  19. package/dist/renderer/drawable/drawable.d.ts.map +1 -0
  20. package/dist/renderer/drawable/drawable_hit_circle.d.ts +15 -0
  21. package/dist/renderer/drawable/drawable_hit_circle.d.ts.map +1 -0
  22. package/dist/renderer/drawable/drawable_slider.d.ts +38 -0
  23. package/dist/renderer/drawable/drawable_slider.d.ts.map +1 -0
  24. package/dist/renderer/drawable/index.d.ts +5 -0
  25. package/dist/renderer/drawable/index.d.ts.map +1 -0
  26. package/dist/renderer/drawable/transforms.d.ts +32 -0
  27. package/dist/renderer/drawable/transforms.d.ts.map +1 -0
  28. package/dist/renderer/mania/mania_renderer.d.ts.map +1 -1
  29. package/dist/renderer/standard/standard_renderer.d.ts +11 -16
  30. package/dist/renderer/standard/standard_renderer.d.ts.map +1 -1
  31. package/dist/skin/skin_config.d.ts +11 -1
  32. package/dist/skin/skin_config.d.ts.map +1 -1
  33. package/dist/skin/skin_ini_parser.d.ts +21 -0
  34. package/dist/skin/skin_ini_parser.d.ts.map +1 -0
  35. package/package.json +1 -1
@@ -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;AAMvG,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,MAG5C,CAAC;AAGF,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,MAG5C,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,IAAI,MAAM,KAAG,MAAkC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { IBeatmap, IBeatmapInfo } from "../types/beatmap";
2
+ export declare class AsyncBeatmapParser {
3
+ parse(content: string): Promise<IBeatmap>;
4
+ parse_info(content: string, filename: string): Promise<IBeatmapInfo>;
5
+ extract_audio_filename(content: string): Promise<string | null>;
6
+ extract_background_filename(content: string): Promise<string | null>;
7
+ extract_video_info(content: string): Promise<{
8
+ filename: string;
9
+ offset: number;
10
+ } | null>;
11
+ extract_preview_time(content: string): Promise<number>;
12
+ dispose(): void;
13
+ }
14
+ export declare const get_shared_parser: () => AsyncBeatmapParser;
15
+ //# sourceMappingURL=async_parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async_parser.d.ts","sourceRoot":"","sources":["../../src/parser/async_parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAiB/D,qBAAa,kBAAkB;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAIzC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAIpE,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI/D,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIpE,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAIzF,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAItD,OAAO,IAAI,IAAI;CAGlB;AAID,eAAO,MAAM,iBAAiB,QAAO,kBAKpC,CAAC"}
@@ -3,6 +3,7 @@ export interface IOszLoaderOptions {
3
3
  difficulty?: number | string;
4
4
  }
5
5
  export declare class OszLoader {
6
+ private parser;
6
7
  load_osz(data: ArrayBuffer, options?: IOszLoaderOptions): Promise<IBeatmapResources>;
7
8
  load_from_files(files: Map<string, ArrayBuffer | string>, options?: IOszLoaderOptions): Promise<IBeatmapResources>;
8
9
  list_difficulties(data: ArrayBuffer): Promise<string[]>;
@@ -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;IAEZ,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;IA8ElH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqB7D,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,SAAS;CAIpB"}
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;IAiFlH,iBAAiB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAqB7D,OAAO,CAAC,iBAAiB;IAiCzB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,SAAS;CAIpB"}
@@ -0,0 +1,49 @@
1
+ import type { IBeatmap, IBeatmapInfo } from "../types/beatmap";
2
+ export type WorkerMessage = {
3
+ type: "parse";
4
+ id: number;
5
+ content: string;
6
+ } | {
7
+ type: "parse_info";
8
+ id: number;
9
+ content: string;
10
+ filename: string;
11
+ } | {
12
+ type: "extract";
13
+ id: number;
14
+ content: string;
15
+ extract_type: "audio" | "background" | "video" | "preview";
16
+ };
17
+ export type WorkerMessageWithoutId = {
18
+ type: "parse";
19
+ content: string;
20
+ } | {
21
+ type: "parse_info";
22
+ content: string;
23
+ filename: string;
24
+ } | {
25
+ type: "extract";
26
+ content: string;
27
+ extract_type: "audio" | "background" | "video" | "preview";
28
+ };
29
+ export type WorkerResponse = {
30
+ type: "parse";
31
+ id: number;
32
+ beatmap: IBeatmap;
33
+ } | {
34
+ type: "parse_info";
35
+ id: number;
36
+ info: IBeatmapInfo;
37
+ } | {
38
+ type: "extract";
39
+ id: number;
40
+ result: string | number | {
41
+ filename: string;
42
+ offset: number;
43
+ } | null;
44
+ } | {
45
+ type: "error";
46
+ id: number;
47
+ error: string;
48
+ };
49
+ //# sourceMappingURL=parser.worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.worker.d.ts","sourceRoot":"","sources":["../../src/parser/parser.worker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,MAAM,aAAa,GACnB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnH,MAAM,MAAM,sBAAsB,GAC5B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,GAAG,YAAY,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,CAAC;AAEvG,MAAM,MAAM,cAAc,GACpB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,GACtG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC"}
@@ -13,6 +13,7 @@ export declare class AudioController {
13
13
  get is_playing(): boolean;
14
14
  get is_loaded(): boolean;
15
15
  get duration(): number;
16
+ get speed_multiplier(): number;
16
17
  get current_time(): number;
17
18
  load(data: ArrayBuffer, mods?: number): Promise<void>;
18
19
  play(from_time?: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"audio_controller.d.ts","sourceRoot":"","sources":["../../src/player/audio_controller.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IACxB,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,SAAS,CAAW;IAE5B,OAAO,CAAC,UAAU,CAAa;IAC/B,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;IAMjC,IAAI,UAAU,IAAI,OAAO,CAExB;IACD,IAAI,SAAS,IAAI,OAAO,CAEvB;IACD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,YAAY,IAAI,MAAM,CAKzB;IAEK,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9D,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAuC9B,KAAK,IAAI,IAAI;IASb,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAc3B,IAAI,IAAI,IAAI;IAKZ,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAOtC,OAAO,CAAC,WAAW;IAanB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAgB9B,OAAO,IAAI,IAAI;CAQlB"}
1
+ {"version":3,"file":"audio_controller.d.ts","sourceRoot":"","sources":["../../src/player/audio_controller.ts"],"names":[],"mappings":"AAEA,qBAAa,eAAe;IACxB,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,SAAS,CAAW;IAE5B,OAAO,CAAC,UAAU,CAAa;IAC/B,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;IAMjC,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,CAKzB;IAEK,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9D,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAuC9B,KAAK,IAAI,IAAI;IASb,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAc3B,IAAI,IAAI,IAAI;IAKZ,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAOtC,OAAO,CAAC,WAAW;IAanB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAMhC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAgB9B,OAAO,IAAI,IAAI;CAQlB"}
@@ -15,12 +15,6 @@ type PlayerEventMap = {
15
15
  seek: [time: number];
16
16
  };
17
17
  type PlayerEvent = keyof PlayerEventMap;
18
- export interface IKeyBindings {
19
- toggle_pause?: string;
20
- seek_forward?: string;
21
- seek_backward?: string;
22
- toggle_grid?: string;
23
- }
24
18
  export interface IPlayerOptions {
25
19
  canvas: HTMLCanvasElement;
26
20
  skin?: Partial<ISkinConfig>;
@@ -32,7 +26,7 @@ export interface IPlayerOptions {
32
26
  renderer_config?: Partial<IRendererConfig>;
33
27
  playfield_scale?: number;
34
28
  auto_resize?: boolean;
35
- key_bindings?: IKeyBindings;
29
+ enable_fps_counter?: boolean;
36
30
  }
37
31
  export declare class BeatmapPlayer {
38
32
  private backend;
@@ -55,6 +49,10 @@ export declare class BeatmapPlayer {
55
49
  private resize_observer;
56
50
  private key_handler;
57
51
  private options;
52
+ private enable_fps_counter;
53
+ private fps_frame_count;
54
+ private fps_last_update;
55
+ private current_fps;
58
56
  constructor(options: IPlayerOptions);
59
57
  load_osz(data: ArrayBuffer, difficulty?: number | string): Promise<Result<IBeatmapResources>>;
60
58
  load_files(files: Map<string, ArrayBuffer | string>, difficulty?: number | string): Promise<Result<IBeatmapResources>>;
@@ -85,7 +83,6 @@ export declare class BeatmapPlayer {
85
83
  update_config(config: Partial<IRendererConfig>): void;
86
84
  set_skin(skin: Partial<ISkinConfig>): void;
87
85
  private setup_auto_resize;
88
- private setup_key_bindings;
89
86
  toggle_pause(): void;
90
87
  toggle_grid(): void;
91
88
  private calculate_layout;
@@ -93,12 +90,15 @@ export declare class BeatmapPlayer {
93
90
  on<E extends PlayerEvent>(event: E, callback: (...args: PlayerEventMap[E]) => void): void;
94
91
  off<E extends PlayerEvent>(event: E, callback: Function): void;
95
92
  private emit;
93
+ private last_timestamp;
94
+ private smooth_time;
96
95
  private start_render_loop;
97
96
  private schedule_hitsounds;
98
97
  private play_hitsound;
99
98
  private get_timing_point;
100
99
  private stop_render_loop;
101
100
  private render_frame;
101
+ set_fps_counter(enabled: boolean): void;
102
102
  }
103
103
  export {};
104
104
  //# 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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"}
@@ -26,6 +26,7 @@ export declare class CanvasBackend implements IRenderBackend {
26
26
  clip(): void;
27
27
  stroke_path(color: string, width: number, cap?: LineCap, join?: LineJoin): void;
28
28
  fill_path(color: string): void;
29
+ close_path(): void;
29
30
  save(): void;
30
31
  restore(): void;
31
32
  translate(x: number, y: number): void;
@@ -34,6 +35,7 @@ export declare class CanvasBackend implements IRenderBackend {
34
35
  set_alpha(alpha: number): void;
35
36
  set_shadow(color: string, blur: number): void;
36
37
  set_composite_operation(op: CompositeOperation): void;
38
+ set_blend_mode(mode: "normal" | "lighter" | "multiply" | "screen"): void;
37
39
  draw_image(image: RenderImage, x: number, y: number, width?: number, height?: number): void;
38
40
  draw_image_part(image: RenderImage, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
39
41
  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;
@@ -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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"}
@@ -37,6 +37,7 @@ export interface IRenderBackend {
37
37
  clip(): void;
38
38
  stroke_path(color: string, width: number, cap?: LineCap, join?: LineJoin): void;
39
39
  fill_path(color: string): void;
40
+ close_path(): void;
40
41
  save(): void;
41
42
  restore(): void;
42
43
  translate(x: number, y: number): void;
@@ -45,6 +46,7 @@ export interface IRenderBackend {
45
46
  set_alpha(alpha: number): void;
46
47
  set_shadow(color: string, blur: number): void;
47
48
  set_composite_operation(op: CompositeOperation): void;
49
+ set_blend_mode(mode: "normal" | "lighter" | "multiply" | "screen"): void;
48
50
  draw_image(image: RenderImage, x: number, y: number, width?: number, height?: number): void;
49
51
  draw_image_part(image: RenderImage, sx: number, sy: number, sw: number, sh: number, dx: number, dy: number, dw: number, dh: number): void;
50
52
  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;
@@ -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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"}
@@ -0,0 +1,48 @@
1
+ import type { IRenderBackend } from "../backend/render_backend";
2
+ import type { IHitObject } from "../../types/beatmap";
3
+ import type { ISkinConfig } from "../../skin/skin_config";
4
+ import { TransformSequence } from "./transforms";
5
+ export declare enum ArmedState {
6
+ Idle = 0,
7
+ Hit = 1,
8
+ Miss = 2
9
+ }
10
+ export interface DrawableConfig {
11
+ backend: IRenderBackend;
12
+ skin: ISkinConfig;
13
+ preempt: number;
14
+ fade_in: number;
15
+ radius: number;
16
+ scale?: number;
17
+ mods: number;
18
+ }
19
+ export declare abstract class Drawable {
20
+ protected backend: IRenderBackend;
21
+ protected skin: ISkinConfig;
22
+ protected hit_object: IHitObject;
23
+ protected config: DrawableConfig;
24
+ protected alpha: number;
25
+ protected scale: number;
26
+ protected rotation: number;
27
+ protected x: number;
28
+ protected y: number;
29
+ protected armed_state: ArmedState;
30
+ protected transforms: TransformSequence;
31
+ protected life_time_start: number;
32
+ protected life_time_end: number;
33
+ constructor(hit_object: IHitObject, config: DrawableConfig);
34
+ protected apply_defaults(): void;
35
+ is_alive(time: number): boolean;
36
+ update(time: number): void;
37
+ protected update_state(time: number): void;
38
+ protected on_hit(time: number): void;
39
+ abstract render(time: number): void;
40
+ render_body_pass(time: number): void;
41
+ render_head_pass(time: number): void;
42
+ get start_time(): number;
43
+ get end_time(): number;
44
+ get combo_number(): number;
45
+ get combo_count(): number;
46
+ get position(): [number, number];
47
+ }
48
+ //# sourceMappingURL=drawable.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,15 @@
1
+ import type { IHitObject } from "../../types/beatmap";
2
+ import { Drawable, type DrawableConfig } from "./drawable";
3
+ export declare class DrawableHitCircle extends Drawable {
4
+ private circle_alpha;
5
+ private circle_scale;
6
+ private approach_alpha;
7
+ private approach_scale;
8
+ private flash_alpha;
9
+ private explode_alpha;
10
+ constructor(hit_object: IHitObject, config: DrawableConfig);
11
+ update(time: number): void;
12
+ private calculate_animations;
13
+ render(time: number): void;
14
+ }
15
+ //# sourceMappingURL=drawable_hit_circle.d.ts.map
@@ -0,0 +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;AAM3D,qBAAa,iBAAkB,SAAQ,QAAQ;IAC3C,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,aAAa,CAAK;gBAEd,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAI1D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK1B,OAAO,CAAC,oBAAoB;IA4E5B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAwD7B"}
@@ -0,0 +1,38 @@
1
+ import type { IHitObject } from "../../types/beatmap";
2
+ import { Drawable, type DrawableConfig } from "./drawable";
3
+ import { type Vec2 } from "../../math/vector2";
4
+ export declare class DrawableSlider extends Drawable {
5
+ private slider_data;
6
+ private path;
7
+ private path_length;
8
+ private span_duration;
9
+ private body_alpha;
10
+ private head_alpha;
11
+ private head_scale;
12
+ private ball_alpha;
13
+ private ball_position;
14
+ private follow_alpha;
15
+ private follow_scale;
16
+ private ticks;
17
+ private repeats;
18
+ private tick_distance;
19
+ private cached_texture;
20
+ constructor(hit_object: IHitObject, config: DrawableConfig, path: Vec2[], span_duration: number, tick_distance: number);
21
+ private generate_nested_objects;
22
+ private calculate_path_length;
23
+ update(time: number): void;
24
+ private calculate_ball_position;
25
+ private get_position_at_progress;
26
+ private get_position_at_length;
27
+ private calculate_opacities;
28
+ render(time: number): void;
29
+ render_body_pass(time: number): void;
30
+ render_head_pass(time: number): void;
31
+ private render_body;
32
+ private render_ticks;
33
+ private ease_out_elastic_half;
34
+ private render_reverse_arrows;
35
+ private render_head;
36
+ private render_ball;
37
+ }
38
+ //# sourceMappingURL=drawable_slider.d.ts.map
@@ -0,0 +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;AAG3D,OAAO,EAAwC,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAwBrF,qBAAa,cAAe,SAAQ,QAAQ;IACxC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,aAAa,CAAO;IAC5B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAA4B;gBAEtC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IActH,OAAO,CAAC,uBAAuB;IAiD/B,OAAO,CAAC,qBAAqB;IAQ7B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM1B,OAAO,CAAC,uBAAuB;IA0C/B,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,mBAAmB;IAwD3B,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;IAsCnB,OAAO,CAAC,YAAY;IA6CpB,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,qBAAqB;IA2G7B,OAAO,CAAC,WAAW;IA4BnB,OAAO,CAAC,WAAW;CA0BtB"}
@@ -0,0 +1,5 @@
1
+ export { Easing, TransformSequence, type EasingFunction, type Transform } from "./transforms";
2
+ export { Drawable, ArmedState, type DrawableConfig } from "./drawable";
3
+ export { DrawableHitCircle } from "./drawable_hit_circle";
4
+ export { DrawableSlider } from "./drawable_slider";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/drawable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9F,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,32 @@
1
+ export type EasingFunction = (t: number) => number;
2
+ export declare const Easing: {
3
+ None: (t: number) => number;
4
+ Out: (t: number) => number;
5
+ In: (t: number) => number;
6
+ InOut: (t: number) => number;
7
+ OutCubic: (t: number) => number;
8
+ InCubic: (t: number) => number;
9
+ OutQuad: (t: number) => number;
10
+ InQuad: (t: number) => number;
11
+ OutQuint: (t: number) => number;
12
+ InQuint: (t: number) => number;
13
+ OutElastic: (t: number) => number;
14
+ };
15
+ export interface Transform {
16
+ property: "alpha" | "scale" | "x" | "y" | "rotation";
17
+ start_value: number;
18
+ end_value: number;
19
+ start_time: number;
20
+ end_time: number;
21
+ easing: EasingFunction;
22
+ loop?: boolean;
23
+ loop_delay?: number;
24
+ }
25
+ export declare class TransformSequence {
26
+ private transforms;
27
+ add(property: Transform["property"], start_value: number, end_value: number, start_time: number, duration: number, easing?: EasingFunction): this;
28
+ then(): this;
29
+ get_value(property: Transform["property"], time: number, default_value: number): number;
30
+ clear(): void;
31
+ }
32
+ //# sourceMappingURL=transforms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transforms.d.ts","sourceRoot":"","sources":["../../../src/renderer/drawable/transforms.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAEnD,eAAO,MAAM,MAAM;cACL,MAAM;aACP,MAAM;YACP,MAAM;eACH,MAAM;kBACH,MAAM;iBACP,MAAM;iBACN,MAAM;gBACP,MAAM;kBACJ,MAAM;iBACP,MAAM;oBACH,MAAM;CAIzB,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,OAAO,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,UAAU,CAAmB;IAErC,GAAG,CACC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,EAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,cAA4B,GACrC,IAAI;IAYP,IAAI,IAAI,IAAI;IAIZ,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAmBvF,KAAK,IAAI,IAAI;CAGhB"}
@@ -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;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAO1D,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,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"}
@@ -7,30 +7,25 @@ export declare class StandardRenderer extends BaseRenderer {
7
7
  private preempt;
8
8
  private fade_in;
9
9
  private timing_points;
10
- private slider_cache;
10
+ private drawables;
11
+ private drawable_config;
11
12
  constructor(backend: IRenderBackend, skin: ISkinConfig, mods?: number, config?: IRendererConfig);
12
13
  initialize(beatmap: IBeatmap): void;
13
14
  set_mods(mods: number): void;
14
15
  private process_timing_points;
15
16
  private preprocess_objects;
17
+ private create_drawables;
18
+ private calculate_path_length;
19
+ private get_base_beat_length_at;
20
+ render(time: number): void;
21
+ private draw_follow_points;
22
+ private draw_approach_circle;
23
+ private ease_out_quint;
24
+ private draw_spinner;
16
25
  private compute_slider_path;
17
26
  private flatten_multibezier;
18
27
  private clamp_path_to_distance;
19
28
  private get_timing_at;
20
- render(time: number): void;
21
- private get_slider_body_opacity;
22
- private draw_approach_circle;
23
- private draw_hit_circle;
24
- private draw_slider;
25
- private handle_reverse_arrows;
26
- private draw_masked_slider;
27
- private draw_slider_ticks;
28
- private get_position_at_length;
29
- private draw_reverse_arrow;
30
- private draw_follow_circle;
31
- private get_slider_position;
32
- private get_path_length;
33
- private draw_spinner;
34
- private draw_follow_point;
29
+ private get_slider_end_position;
35
30
  }
36
31
  //# sourceMappingURL=standard_renderer.d.ts.map
@@ -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;AAO3F,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAA2B,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAM1D,qBAAa,gBAAiB,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,aAAa,CAAsB;IAG3C,OAAO,CAAC,YAAY,CAMN;gBAEF,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,eAAyC;IAI3H,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAmBnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQ5B,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,kBAAkB;IA4C1B,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,aAAa;IASrB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAqD1B,OAAO,CAAC,uBAAuB;IAkC/B,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,eAAe;IA6EvB,OAAO,CAAC,WAAW;IAuInB,OAAO,CAAC,qBAAqB;IAiD7B,OAAO,CAAC,kBAAkB;IA2D1B,OAAO,CAAC,iBAAiB;IA0DzB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,kBAAkB;IA8E1B,OAAO,CAAC,kBAAkB;IAkF1B,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,iBAAiB;CA0C5B"}
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;AAO3F,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;AAO1D,qBAAa,gBAAiB,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAO;IACtB,OAAO,CAAC,aAAa,CAAsB;IAE3C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,eAAe,CAAkB;gBAE7B,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAE,MAAU,EAAE,MAAM,GAAE,eAAyC;IAI3H,UAAU,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAcnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAO5B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,kBAAkB;IA0C1B,OAAO,CAAC,gBAAgB;IAmCxB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,uBAAuB;IAe/B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IA8D1B,OAAO,CAAC,kBAAkB;IA0C1B,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,uBAAuB;CAIlC"}
@@ -2,11 +2,22 @@ export interface ISkinConfig {
2
2
  combo_colors: string[];
3
3
  circle_border_width: number;
4
4
  hit_circle_opacity: number;
5
+ enable_approach_circle: boolean;
5
6
  approach_circle_width: number;
7
+ approach_circle_opacity: number;
8
+ approach_circle_use_combo_color: boolean;
9
+ approach_circle_color?: string;
10
+ enable_glow: boolean;
11
+ glow_color?: string;
12
+ glow_use_combo_color: boolean;
13
+ glow_opacity: number;
14
+ enable_hit_explode: boolean;
6
15
  slider_body_opacity: number;
7
16
  slider_border_opacity: number;
8
17
  slider_tick_opacity: number;
9
18
  slider_tick_size: number;
19
+ slider_border_color?: string;
20
+ slider_track_override?: string;
10
21
  follow_circle_factor: number;
11
22
  follow_circle_width: number;
12
23
  follow_circle_opacity: number;
@@ -28,7 +39,6 @@ export interface ISkinConfig {
28
39
  hit_animation_scale: number;
29
40
  enable_hit_animations: boolean;
30
41
  enable_follow_circle_animations: boolean;
31
- enable_approach_circle: boolean;
32
42
  }
33
43
  export declare const DEFAULT_SKIN: ISkinConfig;
34
44
  export declare const merge_skin: (partial?: Partial<ISkinConfig>) => ISkinConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"skin_config.d.ts","sourceRoot":"","sources":["../../src/skin/skin_config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IAGvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAG9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IAGzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6BAA6B,EAAE,OAAO,CAAC;IAGvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAG5B,kBAAkB,EAAE,MAAM,CAAC;IAG3B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAG5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAG5C,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,+BAA+B,EAAE,OAAO,CAAC;IACzC,sBAAsB,EAAE,OAAO,CAAC;CACnC;AAeD,eAAO,MAAM,YAAY,EAAE,WAwC1B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,UAAU,OAAO,CAAC,WAAW,CAAC,KAAG,WAQ3D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,WAAW,EAAE,cAAc,MAAM,EAAE,QAAO,MAAU,KAAG,MAG5F,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,WAAW,EAAE,WAAW,MAAM,EAAE,MAAM,MAAM,KAAG,MAGzF,CAAC"}
1
+ {"version":3,"file":"skin_config.d.ts","sourceRoot":"","sources":["../../src/skin/skin_config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IACxB,YAAY,EAAE,MAAM,EAAE,CAAC;IAGvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAG3B,sBAAsB,EAAE,OAAO,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,uBAAuB,EAAE,MAAM,CAAC;IAChC,+BAA+B,EAAE,OAAO,CAAC;IACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IAGrB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6BAA6B,EAAE,OAAO,CAAC;IAGvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAG5B,kBAAkB,EAAE,MAAM,CAAC;IAG3B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAG5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAG5C,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAG5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,+BAA+B,EAAE,OAAO,CAAC;CAC5C;AAeD,eAAO,MAAM,YAAY,EAAE,WAiD1B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,UAAU,OAAO,CAAC,WAAW,CAAC,KAAG,WAQ3D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,WAAW,EAAE,cAAc,MAAM,EAAE,QAAO,MAAU,KAAG,MAG5F,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,WAAW,EAAE,WAAW,MAAM,EAAE,MAAM,MAAM,KAAG,MAGzF,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { ISkinConfig } from "./skin_config";
2
+ export interface SkinIniData {
3
+ general: {
4
+ name?: string;
5
+ author?: string;
6
+ version?: string;
7
+ hit_circle_overlay_above_number?: boolean;
8
+ slider_ball_flip?: boolean;
9
+ allow_slider_ball_tint?: boolean;
10
+ };
11
+ colours: {
12
+ combo_colors: string[];
13
+ slider_border?: string;
14
+ slider_track_override?: string;
15
+ slider_ball?: string;
16
+ spinner_background?: string;
17
+ };
18
+ }
19
+ export declare const parse_skin_ini: (content: string) => SkinIniData;
20
+ export declare const apply_skin_ini: (config: ISkinConfig, ini: SkinIniData) => ISkinConfig;
21
+ //# sourceMappingURL=skin_ini_parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skin_ini_parser.d.ts","sourceRoot":"","sources":["../../src/skin/skin_ini_parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,WAAW;IACxB,OAAO,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,+BAA+B,CAAC,EAAE,OAAO,CAAC;QAC1C,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;KACpC,CAAC;IACF,OAAO,EAAE;QACL,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACL;AAID,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,KAAG,WA4ChD,CAAC;AAsEF,eAAO,MAAM,cAAc,GAAI,QAAQ,WAAW,EAAE,KAAK,WAAW,KAAG,WAiBtE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rel-packages/osu-beatmap-preview",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "one of the beatmap preview of all time",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",