@datamoc/mw_games 0.1.2 → 0.2.1
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.
- package/README.md +42 -17
- package/dist/actors/Aura.d.ts +29 -0
- package/dist/actors/Aura.d.ts.map +1 -0
- package/dist/actors/Aura.js +69 -0
- package/dist/actors/Aura.js.map +1 -0
- package/dist/actors/ItemStatusEffect.d.ts +27 -0
- package/dist/actors/ItemStatusEffect.d.ts.map +1 -0
- package/dist/actors/ItemStatusEffect.js +35 -0
- package/dist/actors/ItemStatusEffect.js.map +1 -0
- package/dist/actors/Support.d.ts +32 -0
- package/dist/actors/Support.d.ts.map +1 -0
- package/dist/actors/Support.js +60 -0
- package/dist/actors/Support.js.map +1 -0
- package/dist/actors/Traits.d.ts +29 -0
- package/dist/actors/Traits.d.ts.map +1 -0
- package/dist/actors/Traits.js +21 -0
- package/dist/actors/Traits.js.map +1 -0
- package/dist/actors/index.d.ts +8 -0
- package/dist/actors/index.d.ts.map +1 -1
- package/dist/actors/index.js +4 -0
- package/dist/actors/index.js.map +1 -1
- package/dist/assets/Streaming.d.ts +40 -0
- package/dist/assets/Streaming.d.ts.map +1 -0
- package/dist/assets/Streaming.js +79 -0
- package/dist/assets/Streaming.js.map +1 -0
- package/dist/assets/index.d.ts +13 -0
- package/dist/assets/index.d.ts.map +1 -1
- package/dist/assets/index.js +19 -0
- package/dist/assets/index.js.map +1 -1
- package/dist/audio/Captions.d.ts +15 -0
- package/dist/audio/Captions.d.ts.map +1 -0
- package/dist/audio/Captions.js +4 -0
- package/dist/audio/Captions.js.map +1 -0
- package/dist/audio/Midi.d.ts +75 -0
- package/dist/audio/Midi.d.ts.map +1 -0
- package/dist/audio/Midi.js +186 -0
- package/dist/audio/Midi.js.map +1 -0
- package/dist/audio/Music.d.ts.map +1 -1
- package/dist/audio/Music.js +5 -2
- package/dist/audio/Music.js.map +1 -1
- package/dist/audio/Orchestrator.d.ts +40 -0
- package/dist/audio/Orchestrator.d.ts.map +1 -0
- package/dist/audio/Orchestrator.js +48 -0
- package/dist/audio/Orchestrator.js.map +1 -0
- package/dist/audio/Sound.d.ts +3 -0
- package/dist/audio/Sound.d.ts.map +1 -1
- package/dist/audio/Sound.js +8 -1
- package/dist/audio/Sound.js.map +1 -1
- package/dist/audio/Synth.d.ts +35 -0
- package/dist/audio/Synth.d.ts.map +1 -0
- package/dist/audio/Synth.js +98 -0
- package/dist/audio/Synth.js.map +1 -0
- package/dist/audio/index.d.ts +8 -0
- package/dist/audio/index.d.ts.map +1 -1
- package/dist/audio/index.js +4 -0
- package/dist/audio/index.js.map +1 -1
- package/dist/board/Army.d.ts +17 -0
- package/dist/board/Army.d.ts.map +1 -0
- package/dist/board/Army.js +48 -0
- package/dist/board/Army.js.map +1 -0
- package/dist/board/FogOfWar.d.ts +23 -0
- package/dist/board/FogOfWar.d.ts.map +1 -0
- package/dist/board/FogOfWar.js +40 -0
- package/dist/board/FogOfWar.js.map +1 -0
- package/dist/board/Tactics.d.ts +2 -0
- package/dist/board/Tactics.d.ts.map +1 -1
- package/dist/board/Tactics.js +29 -7
- package/dist/board/Tactics.js.map +1 -1
- package/dist/board/index.d.ts +5 -1
- package/dist/board/index.d.ts.map +1 -1
- package/dist/board/index.js +3 -1
- package/dist/board/index.js.map +1 -1
- package/dist/core/Feedback.d.ts +23 -0
- package/dist/core/Feedback.d.ts.map +1 -0
- package/dist/core/Feedback.js +35 -0
- package/dist/core/Feedback.js.map +1 -0
- package/dist/core/Game.d.ts +11 -0
- package/dist/core/Game.d.ts.map +1 -1
- package/dist/core/Game.js +54 -0
- package/dist/core/Game.js.map +1 -1
- package/dist/core/Input.d.ts +58 -0
- package/dist/core/Input.d.ts.map +1 -1
- package/dist/core/Input.js +135 -0
- package/dist/core/Input.js.map +1 -1
- package/dist/core/Loading.d.ts +48 -0
- package/dist/core/Loading.d.ts.map +1 -0
- package/dist/core/Loading.js +102 -0
- package/dist/core/Loading.js.map +1 -0
- package/dist/core/News.d.ts +46 -0
- package/dist/core/News.d.ts.map +1 -0
- package/dist/core/News.js +79 -0
- package/dist/core/News.js.map +1 -0
- package/dist/core/PlayerInput.d.ts +38 -0
- package/dist/core/PlayerInput.d.ts.map +1 -0
- package/dist/core/PlayerInput.js +57 -0
- package/dist/core/PlayerInput.js.map +1 -0
- package/dist/core/RunHistory.d.ts +43 -0
- package/dist/core/RunHistory.d.ts.map +1 -0
- package/dist/core/RunHistory.js +41 -0
- package/dist/core/RunHistory.js.map +1 -0
- package/dist/core/Sanitize.d.ts +56 -0
- package/dist/core/Sanitize.d.ts.map +1 -0
- package/dist/core/Sanitize.js +87 -0
- package/dist/core/Sanitize.js.map +1 -0
- package/dist/core/Save.d.ts +31 -7
- package/dist/core/Save.d.ts.map +1 -1
- package/dist/core/Save.js +56 -0
- package/dist/core/Save.js.map +1 -1
- package/dist/core/SaveSync.d.ts +26 -0
- package/dist/core/SaveSync.d.ts.map +1 -0
- package/dist/core/SaveSync.js +52 -0
- package/dist/core/SaveSync.js.map +1 -0
- package/dist/core/Scramble.d.ts +13 -0
- package/dist/core/Scramble.d.ts.map +1 -0
- package/dist/core/Scramble.js +44 -0
- package/dist/core/Scramble.js.map +1 -0
- package/dist/core/Spawner.d.ts +48 -0
- package/dist/core/Spawner.d.ts.map +1 -0
- package/dist/core/Spawner.js +65 -0
- package/dist/core/Spawner.js.map +1 -0
- package/dist/core/Tween.d.ts +25 -0
- package/dist/core/Tween.d.ts.map +1 -0
- package/dist/core/Tween.js +60 -0
- package/dist/core/Tween.js.map +1 -0
- package/dist/core/UndoHistory.d.ts +37 -0
- package/dist/core/UndoHistory.d.ts.map +1 -0
- package/dist/core/UndoHistory.js +49 -0
- package/dist/core/UndoHistory.js.map +1 -0
- package/dist/core/index.d.ts +20 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +11 -0
- package/dist/core/index.js.map +1 -1
- package/dist/i18n/Fluent.d.ts +7 -0
- package/dist/i18n/Fluent.d.ts.map +1 -0
- package/dist/i18n/Fluent.js +86 -0
- package/dist/i18n/Fluent.js.map +1 -0
- package/dist/i18n/index.d.ts +15 -1
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/index.js +17 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mw_games.global.js +351 -79
- package/dist/render/Camera.d.ts +29 -2
- package/dist/render/Camera.d.ts.map +1 -1
- package/dist/render/Camera.js +44 -13
- package/dist/render/Camera.js.map +1 -1
- package/dist/render/Capabilities.d.ts +51 -0
- package/dist/render/Capabilities.d.ts.map +1 -0
- package/dist/render/Capabilities.js +56 -0
- package/dist/render/Capabilities.js.map +1 -0
- package/dist/render/ColorBlindness.d.ts +16 -0
- package/dist/render/ColorBlindness.d.ts.map +1 -0
- package/dist/render/ColorBlindness.js +41 -0
- package/dist/render/ColorBlindness.js.map +1 -0
- package/dist/render/Minimap.d.ts +52 -0
- package/dist/render/Minimap.d.ts.map +1 -0
- package/dist/render/Minimap.js +95 -0
- package/dist/render/Minimap.js.map +1 -0
- package/dist/render/Viewport.d.ts +46 -0
- package/dist/render/Viewport.d.ts.map +1 -0
- package/dist/render/Viewport.js +52 -0
- package/dist/render/Viewport.js.map +1 -0
- package/dist/render/index.d.ts +9 -1
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/index.js +5 -1
- package/dist/render/index.js.map +1 -1
- package/dist/roguelike/Stealth.d.ts +34 -0
- package/dist/roguelike/Stealth.d.ts.map +1 -0
- package/dist/roguelike/Stealth.js +35 -0
- package/dist/roguelike/Stealth.js.map +1 -0
- package/dist/roguelike/index.d.ts +2 -0
- package/dist/roguelike/index.d.ts.map +1 -1
- package/dist/roguelike/index.js +1 -0
- package/dist/roguelike/index.js.map +1 -1
- package/dist/rpg/Collision.d.ts +42 -0
- package/dist/rpg/Collision.d.ts.map +1 -0
- package/dist/rpg/Collision.js +77 -0
- package/dist/rpg/Collision.js.map +1 -0
- package/dist/rpg/FreeMover.d.ts +45 -0
- package/dist/rpg/FreeMover.d.ts.map +1 -0
- package/dist/rpg/FreeMover.js +68 -0
- package/dist/rpg/FreeMover.js.map +1 -0
- package/dist/rpg/Marshal.d.ts +65 -0
- package/dist/rpg/Marshal.d.ts.map +1 -0
- package/dist/rpg/Marshal.js +393 -0
- package/dist/rpg/Marshal.js.map +1 -0
- package/dist/rpg/Quest.d.ts +41 -0
- package/dist/rpg/Quest.d.ts.map +1 -1
- package/dist/rpg/Quest.js +39 -6
- package/dist/rpg/Quest.js.map +1 -1
- package/dist/rpg/index.d.ts +7 -1
- package/dist/rpg/index.d.ts.map +1 -1
- package/dist/rpg/index.js +3 -0
- package/dist/rpg/index.js.map +1 -1
- package/dist/stage/DialogueStage.d.ts +1 -2
- package/dist/stage/DialogueStage.d.ts.map +1 -1
- package/dist/stage/DialogueStage.js +7 -22
- package/dist/stage/DialogueStage.js.map +1 -1
- package/dist/stage/index.d.ts +1 -1
- package/dist/stage/index.d.ts.map +1 -1
- package/dist/stage/script.d.ts +29 -0
- package/dist/stage/script.d.ts.map +1 -1
- package/dist/stage/script.js +0 -0
- package/dist/stage/script.js.map +1 -1
- package/dist/three-d/Character3D.d.ts +48 -0
- package/dist/three-d/Character3D.d.ts.map +1 -0
- package/dist/three-d/Character3D.js +96 -0
- package/dist/three-d/Character3D.js.map +1 -0
- package/dist/three-d/Engine3D.d.ts +23 -0
- package/dist/three-d/Engine3D.d.ts.map +1 -0
- package/dist/three-d/Engine3D.js +45 -0
- package/dist/three-d/Engine3D.js.map +1 -0
- package/dist/three-d/Grid.d.ts +14 -0
- package/dist/three-d/Grid.d.ts.map +1 -0
- package/dist/three-d/Grid.js +13 -0
- package/dist/three-d/Grid.js.map +1 -0
- package/dist/three-d/Heightmap.d.ts +35 -0
- package/dist/three-d/Heightmap.d.ts.map +1 -0
- package/dist/three-d/Heightmap.js +29 -0
- package/dist/three-d/Heightmap.js.map +1 -0
- package/dist/three-d/Models.d.ts +12 -0
- package/dist/three-d/Models.d.ts.map +1 -0
- package/dist/three-d/Models.js +14 -0
- package/dist/three-d/Models.js.map +1 -0
- package/dist/three-d/TileGrid3D.d.ts +21 -0
- package/dist/three-d/TileGrid3D.d.ts.map +1 -0
- package/dist/three-d/TileGrid3D.js +65 -0
- package/dist/three-d/TileGrid3D.js.map +1 -0
- package/dist/three-d/Vox.d.ts +24 -0
- package/dist/three-d/Vox.d.ts.map +1 -0
- package/dist/three-d/Vox.js +93 -0
- package/dist/three-d/Vox.js.map +1 -0
- package/dist/three-d/index.d.ts +13 -0
- package/dist/three-d/index.d.ts.map +1 -0
- package/dist/three-d/index.js +7 -0
- package/dist/three-d/index.js.map +1 -0
- package/dist/ui/Bar.d.ts +49 -0
- package/dist/ui/Bar.d.ts.map +1 -0
- package/dist/ui/Bar.js +70 -0
- package/dist/ui/Bar.js.map +1 -0
- package/dist/ui/BitmapLabel.d.ts +42 -0
- package/dist/ui/BitmapLabel.d.ts.map +1 -0
- package/dist/ui/BitmapLabel.js +59 -0
- package/dist/ui/BitmapLabel.js.map +1 -0
- package/dist/ui/Button.d.ts +52 -0
- package/dist/ui/Button.d.ts.map +1 -0
- package/dist/ui/Button.js +147 -0
- package/dist/ui/Button.js.map +1 -0
- package/dist/ui/FloatingText.d.ts +28 -0
- package/dist/ui/FloatingText.d.ts.map +1 -0
- package/dist/ui/FloatingText.js +39 -0
- package/dist/ui/FloatingText.js.map +1 -0
- package/dist/ui/HelpScreen.d.ts +29 -0
- package/dist/ui/HelpScreen.d.ts.map +1 -0
- package/dist/ui/HelpScreen.js +39 -0
- package/dist/ui/HelpScreen.js.map +1 -0
- package/dist/ui/IconGrid.d.ts +8 -0
- package/dist/ui/IconGrid.d.ts.map +1 -1
- package/dist/ui/IconGrid.js +27 -1
- package/dist/ui/IconGrid.js.map +1 -1
- package/dist/ui/Label.d.ts +9 -0
- package/dist/ui/Label.d.ts.map +1 -1
- package/dist/ui/Label.js +24 -1
- package/dist/ui/Label.js.map +1 -1
- package/dist/ui/ListView.d.ts +11 -0
- package/dist/ui/ListView.d.ts.map +1 -1
- package/dist/ui/ListView.js +55 -1
- package/dist/ui/ListView.js.map +1 -1
- package/dist/ui/LoadingScreen.d.ts +31 -0
- package/dist/ui/LoadingScreen.d.ts.map +1 -0
- package/dist/ui/LoadingScreen.js +60 -0
- package/dist/ui/LoadingScreen.js.map +1 -0
- package/dist/ui/MessageBox.d.ts +26 -0
- package/dist/ui/MessageBox.d.ts.map +1 -1
- package/dist/ui/MessageBox.js +62 -13
- package/dist/ui/MessageBox.js.map +1 -1
- package/dist/ui/RebindScreen.d.ts +55 -0
- package/dist/ui/RebindScreen.d.ts.map +1 -0
- package/dist/ui/RebindScreen.js +114 -0
- package/dist/ui/RebindScreen.js.map +1 -0
- package/dist/ui/Toast.d.ts +44 -0
- package/dist/ui/Toast.d.ts.map +1 -0
- package/dist/ui/Toast.js +89 -0
- package/dist/ui/Toast.js.map +1 -0
- package/dist/ui/VerticalLabel.d.ts +5 -0
- package/dist/ui/VerticalLabel.d.ts.map +1 -1
- package/dist/ui/VerticalLabel.js +18 -7
- package/dist/ui/VerticalLabel.js.map +1 -1
- package/dist/ui/Window.d.ts +6 -0
- package/dist/ui/Window.d.ts.map +1 -1
- package/dist/ui/Window.js +16 -1
- package/dist/ui/Window.js.map +1 -1
- package/dist/ui/WindowStack.d.ts +1 -0
- package/dist/ui/WindowStack.d.ts.map +1 -1
- package/dist/ui/WindowStack.js +4 -1
- package/dist/ui/WindowStack.js.map +1 -1
- package/dist/ui/index.d.ts +17 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +9 -1
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/theme.d.ts +21 -0
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +42 -0
- package/dist/ui/theme.js.map +1 -1
- package/dist/version.d.ts +13 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +13 -0
- package/dist/version.js.map +1 -0
- package/dist/world/Environment.d.ts +35 -0
- package/dist/world/Environment.d.ts.map +1 -0
- package/dist/world/Environment.js +55 -0
- package/dist/world/Environment.js.map +1 -0
- package/dist/world/index.d.ts +2 -0
- package/dist/world/index.d.ts.map +1 -1
- package/dist/world/index.js +1 -0
- package/dist/world/index.js.map +1 -1
- package/package.json +40 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RebindScreen.js","sourceRoot":"","sources":["../../src/ui/RebindScreen.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Container } from 'pixi.js';
|
|
2
|
+
export interface ToastOptions {
|
|
3
|
+
/** seconds to pop in; defaults to 0.25 */
|
|
4
|
+
fadeIn?: number;
|
|
5
|
+
/** seconds to hold at full visibility once popped in; defaults to 1 */
|
|
6
|
+
hold?: number;
|
|
7
|
+
/** seconds to fade out; defaults to 1.75 */
|
|
8
|
+
fadeOut?: number;
|
|
9
|
+
/** the scale a toast pops in from, settling to 1; defaults to 2 */
|
|
10
|
+
scaleFrom?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* A queued, timed pop-up notification - an achievement unlock, a level-up banner, a "quest
|
|
14
|
+
* complete" toast. The same pop-in/hold/fade-out shape `FloatingText` already generalizes
|
|
15
|
+
* for a damage number, but queued rather than fire-and-forget: only one toast is ever shown
|
|
16
|
+
* at a time, and a second one landing mid-animation waits its turn instead of overlapping.
|
|
17
|
+
*
|
|
18
|
+
* `show` takes a `Container` the caller builds and owns (an icon, a label, a whole banner
|
|
19
|
+
* layout) - this owns only the timing, never the content's own shape. Driven directly by
|
|
20
|
+
* `update(dt)` with a plain phase/elapsed timer, the same shape `FloatingText` already uses,
|
|
21
|
+
* rather than chained tweens: a single frame boundary between phases keeps the whole
|
|
22
|
+
* sequence exactly reproducible one `update` call at a time, which a test can drive without
|
|
23
|
+
* waiting on any promise microtask to settle.
|
|
24
|
+
*/
|
|
25
|
+
export declare class Toast extends Container {
|
|
26
|
+
private readonly fadeIn;
|
|
27
|
+
private readonly hold;
|
|
28
|
+
private readonly fadeOut;
|
|
29
|
+
private readonly scaleFrom;
|
|
30
|
+
private queue;
|
|
31
|
+
private current;
|
|
32
|
+
private phase;
|
|
33
|
+
private elapsed;
|
|
34
|
+
constructor(options?: ToastOptions);
|
|
35
|
+
/** queues `content` to show next, or immediately if nothing is currently showing */
|
|
36
|
+
show(content: Container): void;
|
|
37
|
+
/** true while a toast is showing or waiting in the queue */
|
|
38
|
+
get isBusy(): boolean;
|
|
39
|
+
private start;
|
|
40
|
+
update(dt: number): void;
|
|
41
|
+
private advance;
|
|
42
|
+
private finish;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=Toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/ui/Toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAGpC,MAAM,WAAW,YAAY;IAC5B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;;;;;;;GAYG;AACH,qBAAa,KAAM,SAAQ,SAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,OAAO,CAAK;IAEpB,YAAY,OAAO,GAAE,YAAiB,EAMrC;IAED,oFAAoF;IACpF,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAG7B;IAED,4DAA4D;IAC5D,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,OAAO,CAAC,KAAK;IASb,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CA0BvB;IAED,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,MAAM;CAUd"}
|
package/dist/ui/Toast.js
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { Container } from 'pixi.js';
|
|
2
|
+
import { Easing } from '../core/Tween.js';
|
|
3
|
+
/**
|
|
4
|
+
* A queued, timed pop-up notification - an achievement unlock, a level-up banner, a "quest
|
|
5
|
+
* complete" toast. The same pop-in/hold/fade-out shape `FloatingText` already generalizes
|
|
6
|
+
* for a damage number, but queued rather than fire-and-forget: only one toast is ever shown
|
|
7
|
+
* at a time, and a second one landing mid-animation waits its turn instead of overlapping.
|
|
8
|
+
*
|
|
9
|
+
* `show` takes a `Container` the caller builds and owns (an icon, a label, a whole banner
|
|
10
|
+
* layout) - this owns only the timing, never the content's own shape. Driven directly by
|
|
11
|
+
* `update(dt)` with a plain phase/elapsed timer, the same shape `FloatingText` already uses,
|
|
12
|
+
* rather than chained tweens: a single frame boundary between phases keeps the whole
|
|
13
|
+
* sequence exactly reproducible one `update` call at a time, which a test can drive without
|
|
14
|
+
* waiting on any promise microtask to settle.
|
|
15
|
+
*/
|
|
16
|
+
export class Toast extends Container {
|
|
17
|
+
constructor(options = {}) {
|
|
18
|
+
super();
|
|
19
|
+
this.queue = [];
|
|
20
|
+
this.current = null;
|
|
21
|
+
this.phase = 'fadeIn';
|
|
22
|
+
this.elapsed = 0;
|
|
23
|
+
this.fadeIn = options.fadeIn ?? 0.25;
|
|
24
|
+
this.hold = options.hold ?? 1;
|
|
25
|
+
this.fadeOut = options.fadeOut ?? 1.75;
|
|
26
|
+
this.scaleFrom = options.scaleFrom ?? 2;
|
|
27
|
+
}
|
|
28
|
+
/** queues `content` to show next, or immediately if nothing is currently showing */
|
|
29
|
+
show(content) {
|
|
30
|
+
this.queue.push(content);
|
|
31
|
+
if (!this.current)
|
|
32
|
+
this.start(this.queue.shift());
|
|
33
|
+
}
|
|
34
|
+
/** true while a toast is showing or waiting in the queue */
|
|
35
|
+
get isBusy() {
|
|
36
|
+
return this.current !== null || this.queue.length > 0;
|
|
37
|
+
}
|
|
38
|
+
start(content) {
|
|
39
|
+
this.current = content;
|
|
40
|
+
this.phase = 'fadeIn';
|
|
41
|
+
this.elapsed = 0;
|
|
42
|
+
this.addChild(content);
|
|
43
|
+
content.alpha = this.fadeIn > 0 ? 0 : 1;
|
|
44
|
+
content.scale.set(this.fadeIn > 0 ? this.scaleFrom : 1);
|
|
45
|
+
}
|
|
46
|
+
update(dt) {
|
|
47
|
+
const content = this.current;
|
|
48
|
+
if (!content)
|
|
49
|
+
return;
|
|
50
|
+
this.elapsed += dt;
|
|
51
|
+
if (this.phase === 'fadeIn') {
|
|
52
|
+
const duration = this.fadeIn;
|
|
53
|
+
const t = duration > 0 ? Math.min(1, this.elapsed / duration) : 1;
|
|
54
|
+
const eased = Easing.easeOutCubic(t);
|
|
55
|
+
content.alpha = eased;
|
|
56
|
+
content.scale.set(this.scaleFrom + (1 - this.scaleFrom) * eased);
|
|
57
|
+
if (t >= 1)
|
|
58
|
+
this.advance();
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (this.phase === 'hold') {
|
|
62
|
+
if (this.elapsed >= this.hold)
|
|
63
|
+
this.advance();
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
//fadeOut
|
|
67
|
+
const duration = this.fadeOut;
|
|
68
|
+
const t = duration > 0 ? Math.min(1, this.elapsed / duration) : 1;
|
|
69
|
+
content.alpha = 1 - t;
|
|
70
|
+
if (t >= 1)
|
|
71
|
+
this.finish();
|
|
72
|
+
}
|
|
73
|
+
advance() {
|
|
74
|
+
this.phase = this.phase === 'fadeIn' ? 'hold' : 'fadeOut';
|
|
75
|
+
this.elapsed = 0;
|
|
76
|
+
}
|
|
77
|
+
finish() {
|
|
78
|
+
const content = this.current;
|
|
79
|
+
if (!content)
|
|
80
|
+
return;
|
|
81
|
+
this.removeChild(content);
|
|
82
|
+
content.destroy({ children: true });
|
|
83
|
+
this.current = null;
|
|
84
|
+
const next = this.queue.shift();
|
|
85
|
+
if (next)
|
|
86
|
+
this.start(next);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=Toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../src/ui/Toast.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,11 @@ export interface VerticalLabelOptions {
|
|
|
41
41
|
* real refinements a native reader would want on top of this, not included here.
|
|
42
42
|
*/
|
|
43
43
|
export declare class VerticalLabel extends Container {
|
|
44
|
+
private readonly opts;
|
|
45
|
+
private readonly themeListener;
|
|
44
46
|
constructor(options: VerticalLabelOptions);
|
|
47
|
+
/** rebuilds every glyph from scratch - font family, and possibly size, both follow the theme */
|
|
48
|
+
private build;
|
|
49
|
+
destroy(options?: Parameters<Container['destroy']>[0]): void;
|
|
45
50
|
}
|
|
46
51
|
//# sourceMappingURL=VerticalLabel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalLabel.d.ts","sourceRoot":"","sources":["../../src/ui/VerticalLabel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAQ,MAAM,SAAS,CAAC;AAG1C,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE,CAiC1F;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC3C,YAAY,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"VerticalLabel.d.ts","sourceRoot":"","sources":["../../src/ui/VerticalLabel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAQ,MAAM,SAAS,CAAC;AAG1C,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,WAAW,EAAE,CAiC1F;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,SAAQ,SAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAuB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+B;IAE7D,YAAY,OAAO,EAAE,oBAAoB,EAKxC;IAED,gGAAgG;IAChG,OAAO,CAAC,KAAK;IA4BJ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAGpE;CACD"}
|
package/dist/ui/VerticalLabel.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Container, Text } from 'pixi.js';
|
|
2
|
-
import { theme } from './theme.js';
|
|
2
|
+
import { theme, themeChanged } from './theme.js';
|
|
3
3
|
/** ASCII letters and digits read sideways in vertical Japanese/Chinese text by default */
|
|
4
4
|
const DEFAULT_ROTATE = /[A-Za-z0-9]/;
|
|
5
5
|
/**
|
|
@@ -55,18 +55,25 @@ export function layoutVertical(text, options) {
|
|
|
55
55
|
export class VerticalLabel extends Container {
|
|
56
56
|
constructor(options) {
|
|
57
57
|
super();
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
this.themeListener = (t) => this.build(t);
|
|
59
|
+
this.opts = options;
|
|
60
|
+
this.build(theme());
|
|
61
|
+
themeChanged.add(this.themeListener);
|
|
62
|
+
}
|
|
63
|
+
/** rebuilds every glyph from scratch - font family, and possibly size, both follow the theme */
|
|
64
|
+
build(t) {
|
|
65
|
+
this.removeChildren().forEach((child) => child.destroy());
|
|
66
|
+
const size = this.opts.size ?? t.font.size;
|
|
60
67
|
const lineHeight = Math.ceil(size * t.font.lineHeight);
|
|
61
|
-
const glyphs = layoutVertical(
|
|
68
|
+
const glyphs = layoutVertical(this.opts.text, {
|
|
62
69
|
lineHeight,
|
|
63
|
-
columnHeight:
|
|
64
|
-
rotate:
|
|
70
|
+
columnHeight: this.opts.columnHeight,
|
|
71
|
+
rotate: this.opts.rotate,
|
|
65
72
|
});
|
|
66
73
|
for (const glyph of glyphs) {
|
|
67
74
|
const text = new Text({
|
|
68
75
|
text: glyph.char,
|
|
69
|
-
style: { fontFamily: t.font.family, fontSize: size, fill:
|
|
76
|
+
style: { fontFamily: t.font.family, fontSize: size, fill: this.opts.color ?? t.color.text },
|
|
70
77
|
});
|
|
71
78
|
if (glyph.rotate) {
|
|
72
79
|
text.anchor.set(0.5);
|
|
@@ -77,5 +84,9 @@ export class VerticalLabel extends Container {
|
|
|
77
84
|
this.addChild(text);
|
|
78
85
|
}
|
|
79
86
|
}
|
|
87
|
+
destroy(options) {
|
|
88
|
+
themeChanged.remove(this.themeListener);
|
|
89
|
+
super.destroy(options);
|
|
90
|
+
}
|
|
80
91
|
}
|
|
81
92
|
//# sourceMappingURL=VerticalLabel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalLabel.js","sourceRoot":"","sources":["../../src/ui/VerticalLabel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"VerticalLabel.js","sourceRoot":"","sources":["../../src/ui/VerticalLabel.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/Window.d.ts
CHANGED
|
@@ -40,7 +40,12 @@ export declare class Window extends Container {
|
|
|
40
40
|
private titleLabel;
|
|
41
41
|
private innerWidth;
|
|
42
42
|
private innerHeight;
|
|
43
|
+
private currentWidth;
|
|
44
|
+
private currentHeight;
|
|
45
|
+
private readonly themeListener;
|
|
43
46
|
constructor(options: WindowOptions);
|
|
47
|
+
/** reapplies the current theme to the frame and title, without changing size or content */
|
|
48
|
+
private restyle;
|
|
44
49
|
resize(width: number, height: number): void;
|
|
45
50
|
/** the space available inside the frame, which is what contents should lay out against */
|
|
46
51
|
get contentWidth(): number;
|
|
@@ -67,5 +72,6 @@ export declare class Window extends Container {
|
|
|
67
72
|
close(): void;
|
|
68
73
|
/** positions the window in a viewport of the given size, per its anchor */
|
|
69
74
|
place(viewportWidth: number, viewportHeight: number): void;
|
|
75
|
+
destroy(options?: Parameters<Container['destroy']>[0]): void;
|
|
70
76
|
}
|
|
71
77
|
//# sourceMappingURL=Window.d.ts.map
|
package/dist/ui/Window.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Window.d.ts","sourceRoot":"","sources":["../../src/ui/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAK/C,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,8EAA8E;IAC9E,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,qBAAa,MAAO,SAAQ,SAAS;IACpC,QAAQ,CAAC,OAAO,8CAAmB;IACnC,QAAQ,CAAC,OAAO,eAAsB;IAEtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAE7C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAsB;IAExC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IAExB,YAAY,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"Window.d.ts","sourceRoot":"","sources":["../../src/ui/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAK/C,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf,8EAA8E;IAC9E,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;CACrC;AAED;;;;;;;;GAQG;AACH,qBAAa,MAAO,SAAQ,SAAS;IACpC,QAAQ,CAAC,OAAO,8CAAmB;IACnC,QAAQ,CAAC,OAAO,eAAsB;IAEtC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;IAE7C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,UAAU,CAAsB;IAExC,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,aAAa,CAAK;IAE1B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEtD,YAAY,OAAO,EAAE,aAAa,EA0BjC;IAED,2FAA2F;IAC3F,OAAO,CAAC,OAAO;IAKf,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA6B1C;IAED,0FAA0F;IAC1F,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE3B;IAED;;;;;;OAMG;IACH,QAAQ,EAAE;QAAE,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAQ;IAElE;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAQpC;IAED,kEAAkE;IAClE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAExB;IAED,KAAK,IAAI,IAAI,CAIZ;IAED,2EAA2E;IAC3E,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAazD;IAEQ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAGpE;CACD"}
|
package/dist/ui/Window.js
CHANGED
|
@@ -2,7 +2,7 @@ import { Container, Graphics } from 'pixi.js';
|
|
|
2
2
|
import { Signal } from '../core/Signal.js';
|
|
3
3
|
import { NinePatch } from './NinePatch.js';
|
|
4
4
|
import { Label } from './Label.js';
|
|
5
|
-
import { theme } from './theme.js';
|
|
5
|
+
import { theme, themeChanged } from './theme.js';
|
|
6
6
|
/**
|
|
7
7
|
* A panel with a frame, a title and a content area.
|
|
8
8
|
*
|
|
@@ -20,6 +20,9 @@ export class Window extends Container {
|
|
|
20
20
|
this.titleLabel = null;
|
|
21
21
|
this.innerWidth = 0;
|
|
22
22
|
this.innerHeight = 0;
|
|
23
|
+
this.currentWidth = 0;
|
|
24
|
+
this.currentHeight = 0;
|
|
25
|
+
this.themeListener = () => this.restyle();
|
|
23
26
|
/**
|
|
24
27
|
* A widget offered actions before the window itself sees them.
|
|
25
28
|
*
|
|
@@ -48,8 +51,16 @@ export class Window extends Container {
|
|
|
48
51
|
}
|
|
49
52
|
this.addChild(this.content);
|
|
50
53
|
this.resize(options.width, options.height);
|
|
54
|
+
themeChanged.add(this.themeListener);
|
|
55
|
+
}
|
|
56
|
+
/** reapplies the current theme to the frame and title, without changing size or content */
|
|
57
|
+
restyle() {
|
|
58
|
+
this.titleLabel?.setColor(theme().color.textHighlight);
|
|
59
|
+
this.resize(this.currentWidth, this.currentHeight);
|
|
51
60
|
}
|
|
52
61
|
resize(width, height) {
|
|
62
|
+
this.currentWidth = width;
|
|
63
|
+
this.currentHeight = height;
|
|
53
64
|
const t = theme();
|
|
54
65
|
const border = this.background instanceof NinePatch ? this.background.border.left : 2;
|
|
55
66
|
const inset = border + t.padding;
|
|
@@ -122,5 +133,9 @@ export class Window extends Container {
|
|
|
122
133
|
this.y = Math.round((viewportHeight - bounds.height) / 2);
|
|
123
134
|
}
|
|
124
135
|
}
|
|
136
|
+
destroy(options) {
|
|
137
|
+
themeChanged.remove(this.themeListener);
|
|
138
|
+
super.destroy(options);
|
|
139
|
+
}
|
|
125
140
|
}
|
|
126
141
|
//# sourceMappingURL=Window.js.map
|
package/dist/ui/Window.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/ui/Window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/ui/Window.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/WindowStack.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowStack.d.ts","sourceRoot":"","sources":["../../src/ui/WindowStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,SAAS,CAAC;AAG9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACzC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAAkB;IAEjC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,QAAQ,CAA0D;
|
|
1
|
+
{"version":3,"file":"WindowStack.d.ts","sourceRoot":"","sources":["../../src/ui/WindowStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAY,MAAM,SAAS,CAAC;AAG9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;;;;;;;GAUG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACzC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAAkB;IAEjC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,QAAQ,CAA0D;IAC1E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA4B;IAE1D,cASC;IAED,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAM/C;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,IAAI,CAEvB;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,mEAAmE;IACnE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAY3B;IAED,+CAA+C;IAC/C,GAAG,IAAI,IAAI,CAEV;IAED,QAAQ,IAAI,IAAI,CAGf;IAED,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,WAAW;IAQnB,sDAAsD;IACtD,OAAO,CAAC,YAAY;IAIpB,sEAAsE;IACtE,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEvB;IAEQ,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAIpE;CACD"}
|
package/dist/ui/WindowStack.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Container, Graphics } from 'pixi.js';
|
|
2
2
|
import * as Input from '../core/Input.js';
|
|
3
|
-
import { theme } from './theme.js';
|
|
3
|
+
import { theme, themeChanged } from './theme.js';
|
|
4
4
|
/**
|
|
5
5
|
* The stack of open windows, and the arbiter of who has the keyboard.
|
|
6
6
|
*
|
|
@@ -20,11 +20,13 @@ export class WindowStack extends Container {
|
|
|
20
20
|
this.viewportWidth = 0;
|
|
21
21
|
this.viewportHeight = 0;
|
|
22
22
|
this.listener = (action) => this.handleAction(action);
|
|
23
|
+
this.themeListener = () => this.drawOverlay();
|
|
23
24
|
this.overlay.visible = false;
|
|
24
25
|
this.addChild(this.overlay);
|
|
25
26
|
//stack mode, so this is offered actions before anything registered earlier: a window
|
|
26
27
|
//that is open should always win over the map underneath
|
|
27
28
|
Input.onAction.add(this.listener);
|
|
29
|
+
themeChanged.add(this.themeListener);
|
|
28
30
|
}
|
|
29
31
|
setViewport(width, height) {
|
|
30
32
|
this.viewportWidth = width;
|
|
@@ -100,6 +102,7 @@ export class WindowStack extends Container {
|
|
|
100
102
|
}
|
|
101
103
|
destroy(options) {
|
|
102
104
|
Input.onAction.remove(this.listener);
|
|
105
|
+
themeChanged.remove(this.themeListener);
|
|
103
106
|
super.destroy(options);
|
|
104
107
|
}
|
|
105
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WindowStack.js","sourceRoot":"","sources":["../../src/ui/WindowStack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAG1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"WindowStack.js","sourceRoot":"","sources":["../../src/ui/WindowStack.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
export { theme, setTheme, defaultTheme } from './theme.ts';
|
|
1
|
+
export { theme, setTheme, defaultTheme, highContrastTheme, themeChanged } from './theme.ts';
|
|
2
2
|
export type { Theme } from './theme.ts';
|
|
3
3
|
export { Label } from './Label.ts';
|
|
4
4
|
export type { LabelOptions } from './Label.ts';
|
|
5
|
+
export { BitmapLabel, bitmapLabelStyle } from './BitmapLabel.ts';
|
|
6
|
+
export type { BitmapLabelOptions } from './BitmapLabel.ts';
|
|
5
7
|
export { NinePatch } from './NinePatch.ts';
|
|
6
8
|
export type { NinePatchOptions } from './NinePatch.ts';
|
|
7
9
|
export { Window } from './Window.ts';
|
|
@@ -15,4 +17,18 @@ export { MessageBox } from './MessageBox.ts';
|
|
|
15
17
|
export type { MessageBoxOptions, MessagePage, Choice } from './MessageBox.ts';
|
|
16
18
|
export { VerticalLabel, layoutVertical } from './VerticalLabel.ts';
|
|
17
19
|
export type { VerticalLabelOptions, VerticalLayoutOptions, GlyphLayout } from './VerticalLabel.ts';
|
|
20
|
+
export { RebindScreen } from './RebindScreen.ts';
|
|
21
|
+
export type { RebindScreenOptions } from './RebindScreen.ts';
|
|
22
|
+
export { Button } from './Button.ts';
|
|
23
|
+
export type { ButtonOptions } from './Button.ts';
|
|
24
|
+
export { Bar } from './Bar.ts';
|
|
25
|
+
export type { BarOptions } from './Bar.ts';
|
|
26
|
+
export { FloatingText } from './FloatingText.ts';
|
|
27
|
+
export type { FloatingTextOptions } from './FloatingText.ts';
|
|
28
|
+
export { Toast } from './Toast.ts';
|
|
29
|
+
export type { ToastOptions } from './Toast.ts';
|
|
30
|
+
export { HelpScreen } from './HelpScreen.ts';
|
|
31
|
+
export type { HelpScreenOptions, HelpTopic } from './HelpScreen.ts';
|
|
32
|
+
export { LoadingScreen } from './LoadingScreen.ts';
|
|
33
|
+
export type { LoadingScreenOptions } from './LoadingScreen.ts';
|
|
18
34
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC5F,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACjE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/ui/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { theme, setTheme, defaultTheme } from './theme.js';
|
|
1
|
+
export { theme, setTheme, defaultTheme, highContrastTheme, themeChanged } from './theme.js';
|
|
2
2
|
export { Label } from './Label.js';
|
|
3
|
+
export { BitmapLabel, bitmapLabelStyle } from './BitmapLabel.js';
|
|
3
4
|
export { NinePatch } from './NinePatch.js';
|
|
4
5
|
export { Window } from './Window.js';
|
|
5
6
|
export { WindowStack } from './WindowStack.js';
|
|
@@ -7,4 +8,11 @@ export { ListView } from './ListView.js';
|
|
|
7
8
|
export { IconGrid } from './IconGrid.js';
|
|
8
9
|
export { MessageBox } from './MessageBox.js';
|
|
9
10
|
export { VerticalLabel, layoutVertical } from './VerticalLabel.js';
|
|
11
|
+
export { RebindScreen } from './RebindScreen.js';
|
|
12
|
+
export { Button } from './Button.js';
|
|
13
|
+
export { Bar } from './Bar.js';
|
|
14
|
+
export { FloatingText } from './FloatingText.js';
|
|
15
|
+
export { Toast } from './Toast.js';
|
|
16
|
+
export { HelpScreen } from './HelpScreen.js';
|
|
17
|
+
export { LoadingScreen } from './LoadingScreen.js';
|
|
10
18
|
//# sourceMappingURL=index.js.map
|
package/dist/ui/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5F,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/ui/theme.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Texture } from 'pixi.js';
|
|
2
2
|
import type { Direction } from '../i18n/index.ts';
|
|
3
|
+
import { Signal } from '../core/Signal.ts';
|
|
3
4
|
/**
|
|
4
5
|
* How the interface looks.
|
|
5
6
|
*
|
|
@@ -44,7 +45,27 @@ export interface Theme {
|
|
|
44
45
|
direction: Direction;
|
|
45
46
|
}
|
|
46
47
|
export declare const defaultTheme: Theme;
|
|
48
|
+
/**
|
|
49
|
+
* A ready-made high-contrast preset: pure white text on black panels, a thicker border, and
|
|
50
|
+
* a near-opaque modal overlay. Not new capability - `setTheme` already replaces the whole
|
|
51
|
+
* palette a game reads from, so any high-contrast theme was always a second `Theme` object
|
|
52
|
+
* away - but a game wanting one should not have to compose it from scratch, the same recipe
|
|
53
|
+
* `ui.HelpScreen` already is over `Window`/`ListView`/`Label`. `setTheme(highContrastTheme)`
|
|
54
|
+
* applies it; a game with its own colours can still start from this and override just what
|
|
55
|
+
* it wants to keep, the same as any partial object `setTheme` accepts.
|
|
56
|
+
*/
|
|
57
|
+
export declare const highContrastTheme: Theme;
|
|
47
58
|
export declare function theme(): Theme;
|
|
59
|
+
/**
|
|
60
|
+
* Fired with the new theme every time `setTheme` runs.
|
|
61
|
+
*
|
|
62
|
+
* `theme()` is read once, at construction, by every built-in widget - calling `setTheme`
|
|
63
|
+
* changes nothing about what is already on screen. A widget that wants to restyle itself for
|
|
64
|
+
* a day/night palette swap or a light/dark toggle subscribes here and reapplies its own style
|
|
65
|
+
* from the value passed in, the same shape `i18n`'s `direction` already flows into
|
|
66
|
+
* `theme.direction` from a game's own glue code. Every built-in widget already does this.
|
|
67
|
+
*/
|
|
68
|
+
export declare const themeChanged: Signal<Theme>;
|
|
48
69
|
/** replaces the theme; partial objects are merged over the default */
|
|
49
70
|
export declare function setTheme(next: Partial<Theme>): void;
|
|
50
71
|
//# sourceMappingURL=theme.d.ts.map
|
package/dist/ui/theme.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,KAAK;IACrB,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAC;IAEpB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAEhB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,wDAAwD;QACxD,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,qDAAqD;QACrD,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,0CAA0C;QAC1C,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;IAEF,yDAAyD;IACzD,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,SAAS,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,KAqB1B,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAoB/B,CAAC;AAIF,wBAAgB,KAAK,IAAI,KAAK,CAE7B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,eAAsB,CAAC;AAEhD,sEAAsE;AACtE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAQnD"}
|
package/dist/ui/theme.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Signal } from '../core/Signal.js';
|
|
1
2
|
export const defaultTheme = {
|
|
2
3
|
panelBorder: 4,
|
|
3
4
|
padding: 8,
|
|
@@ -20,10 +21,50 @@ export const defaultTheme = {
|
|
|
20
21
|
},
|
|
21
22
|
overlayAlpha: 0.5,
|
|
22
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* A ready-made high-contrast preset: pure white text on black panels, a thicker border, and
|
|
26
|
+
* a near-opaque modal overlay. Not new capability - `setTheme` already replaces the whole
|
|
27
|
+
* palette a game reads from, so any high-contrast theme was always a second `Theme` object
|
|
28
|
+
* away - but a game wanting one should not have to compose it from scratch, the same recipe
|
|
29
|
+
* `ui.HelpScreen` already is over `Window`/`ListView`/`Label`. `setTheme(highContrastTheme)`
|
|
30
|
+
* applies it; a game with its own colours can still start from this and override just what
|
|
31
|
+
* it wants to keep, the same as any partial object `setTheme` accepts.
|
|
32
|
+
*/
|
|
33
|
+
export const highContrastTheme = {
|
|
34
|
+
panelBorder: 6,
|
|
35
|
+
padding: 10,
|
|
36
|
+
spacing: 4,
|
|
37
|
+
direction: 'ltr',
|
|
38
|
+
font: {
|
|
39
|
+
family: defaultTheme.font.family,
|
|
40
|
+
size: 14,
|
|
41
|
+
lineHeight: 1.5,
|
|
42
|
+
},
|
|
43
|
+
color: {
|
|
44
|
+
text: 0xffffff,
|
|
45
|
+
textDim: 0xcccccc,
|
|
46
|
+
textHighlight: 0xffff00,
|
|
47
|
+
panelFill: 0x000000,
|
|
48
|
+
panelBorder: 0xffffff,
|
|
49
|
+
selection: 0xffff00,
|
|
50
|
+
overlay: 0x000000,
|
|
51
|
+
},
|
|
52
|
+
overlayAlpha: 0.85,
|
|
53
|
+
};
|
|
23
54
|
let current = defaultTheme;
|
|
24
55
|
export function theme() {
|
|
25
56
|
return current;
|
|
26
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Fired with the new theme every time `setTheme` runs.
|
|
60
|
+
*
|
|
61
|
+
* `theme()` is read once, at construction, by every built-in widget - calling `setTheme`
|
|
62
|
+
* changes nothing about what is already on screen. A widget that wants to restyle itself for
|
|
63
|
+
* a day/night palette swap or a light/dark toggle subscribes here and reapplies its own style
|
|
64
|
+
* from the value passed in, the same shape `i18n`'s `direction` already flows into
|
|
65
|
+
* `theme.direction` from a game's own glue code. Every built-in widget already does this.
|
|
66
|
+
*/
|
|
67
|
+
export const themeChanged = new Signal();
|
|
27
68
|
/** replaces the theme; partial objects are merged over the default */
|
|
28
69
|
export function setTheme(next) {
|
|
29
70
|
current = {
|
|
@@ -32,5 +73,6 @@ export function setTheme(next) {
|
|
|
32
73
|
font: { ...defaultTheme.font, ...next.font },
|
|
33
74
|
color: { ...defaultTheme.color, ...next.color },
|
|
34
75
|
};
|
|
76
|
+
themeChanged.dispatch(current);
|
|
35
77
|
}
|
|
36
78
|
//# sourceMappingURL=theme.js.map
|
package/dist/ui/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/ui/theme.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAqD3C,MAAM,CAAC,MAAM,YAAY,GAAU;IAClC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE;QACL,kFAAkF;QAClF,MAAM,EAAE,uDAAuD;QAC/D,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,GAAG;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;KACjB;IACD,YAAY,EAAE,GAAG;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAU;IACvC,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE;QACL,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM;QAChC,IAAI,EAAE,EAAE;QACR,UAAU,EAAE,GAAG;KACf;IACD,KAAK,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,QAAQ;QACjB,aAAa,EAAE,QAAQ;QACvB,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,QAAQ;QACrB,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,QAAQ;KACjB;IACD,YAAY,EAAE,IAAI;CAClB,CAAC;AAEF,IAAI,OAAO,GAAU,YAAY,CAAC;AAElC,MAAM,UAAU,KAAK;IACpB,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,MAAM,EAAS,CAAC;AAEhD,sEAAsE;AACtE,MAAM,UAAU,QAAQ,CAAC,IAAoB;IAC5C,OAAO,GAAG;QACT,GAAG,YAAY;QACf,GAAG,IAAI;QACP,IAAI,EAAE,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;QAC5C,KAAK,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE;KAC/C,CAAC;IACF,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mwg`'s own version, readable without grepping source or diffing a checkout - the
|
|
3
|
+
* discoverability gap named directly: a consuming project (a port, a reference game built
|
|
4
|
+
* against an older `mwg`) had claimed "mwg doesn't have X" three times for a capability
|
|
5
|
+
* that had since shipped, caught only by manually diffing the current checkout each time.
|
|
6
|
+
*
|
|
7
|
+
* Kept in sync with `package.json`'s own `version` field by `tests/version.test.ts`, which
|
|
8
|
+
* fails the moment the two disagree - the cheap alternative to a build step that injects
|
|
9
|
+
* this from `package.json` automatically, chosen because this project's own build already
|
|
10
|
+
* has no step before `tsc`/`vite` that this would need to run ahead of.
|
|
11
|
+
*/
|
|
12
|
+
export declare const version = "0.2.1";
|
|
13
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `mwg`'s own version, readable without grepping source or diffing a checkout - the
|
|
3
|
+
* discoverability gap named directly: a consuming project (a port, a reference game built
|
|
4
|
+
* against an older `mwg`) had claimed "mwg doesn't have X" three times for a capability
|
|
5
|
+
* that had since shipped, caught only by manually diffing the current checkout each time.
|
|
6
|
+
*
|
|
7
|
+
* Kept in sync with `package.json`'s own `version` field by `tests/version.test.ts`, which
|
|
8
|
+
* fails the moment the two disagree - the cheap alternative to a build step that injects
|
|
9
|
+
* this from `package.json` automatically, chosen because this project's own build already
|
|
10
|
+
* has no step before `tsc`/`vite` that this would need to run ahead of.
|
|
11
|
+
*/
|
|
12
|
+
export const version = '0.2.1';
|
|
13
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
|