@vforsh/phaser-dev-ui 0.2.0 → 0.3.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.
@@ -0,0 +1,42 @@
1
+ import type { HexColor, Position } from "./types.js";
2
+ export interface CreateDebugSeparatorOptions {
3
+ /** Total width of the separator line (default: 200). */
4
+ width?: number;
5
+ /** Line thickness in px (default: 1). */
6
+ thickness?: number;
7
+ /** Line color (default: "#a3a3a3"). */
8
+ color?: HexColor;
9
+ /** Optional centered label text (e.g. "Physics"). Omit for a plain line. */
10
+ label?: string;
11
+ /** Label font size (default: 12). */
12
+ labelFontSize?: number;
13
+ /** Label text color (default: same as line color). */
14
+ labelColor?: HexColor;
15
+ /** Gap in px between label edges and line segments (default: 8). */
16
+ labelGap?: number;
17
+ /** Position (optional). */
18
+ position?: Position;
19
+ }
20
+ /**
21
+ * A thin horizontal divider line with an optional centered label.
22
+ *
23
+ * Use inside panels or layout containers to visually separate sections.
24
+ * Chainable API.
25
+ */
26
+ export declare class DebugSeparator extends Phaser.GameObjects.Container {
27
+ private _line;
28
+ private _label;
29
+ private _separatorWidth;
30
+ private _thickness;
31
+ private _color;
32
+ private _labelGap;
33
+ constructor(scene: Phaser.Scene, options?: CreateDebugSeparatorOptions);
34
+ setLineColor(color: HexColor): this;
35
+ setLabel(text: string): this;
36
+ setThickness(thickness: number): this;
37
+ setSeparatorWidth(width: number): this;
38
+ setStyle(options: Partial<Pick<CreateDebugSeparatorOptions, "width" | "thickness" | "color" | "labelGap">>): this;
39
+ private redraw;
40
+ }
41
+ export declare function createDebugSeparator(scene: Phaser.Scene, options?: CreateDebugSeparatorOptions): DebugSeparator;
42
+ //# sourceMappingURL=DebugSeparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugSeparator.d.ts","sourceRoot":"","sources":["../src/DebugSeparator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGpD,MAAM,WAAW,2BAA2B;IAC3C,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uCAAuC;IACvC,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,sDAAsD;IACtD,UAAU,CAAC,EAAE,QAAQ,CAAA;IACrB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,MAAM,CAAC,WAAW,CAAC,SAAS;IAC/D,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,SAAS,CAAQ;gBAEb,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAE,2BAAgC;IAyC1E,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAMnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAmB5B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMrC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,CAAC,CAAC,GAAG,IAAI;IASjH,OAAO,CAAC,MAAM;CAsBd;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAE,2BAAgC,GAAG,cAAc,CAEnH"}
@@ -0,0 +1,109 @@
1
+ import { getDevicePixelRatio, hexToColorAlpha } from "./utils.js";
2
+ /**
3
+ * A thin horizontal divider line with an optional centered label.
4
+ *
5
+ * Use inside panels or layout containers to visually separate sections.
6
+ * Chainable API.
7
+ */
8
+ export class DebugSeparator extends Phaser.GameObjects.Container {
9
+ _line;
10
+ _label = null;
11
+ _separatorWidth;
12
+ _thickness;
13
+ _color;
14
+ _labelGap;
15
+ constructor(scene, options = {}) {
16
+ const { width = 200, thickness = 1, color = "#a3a3a3", label, labelFontSize = 12, labelColor, labelGap = 8, position, } = options;
17
+ super(scene, position?.x ?? 0, position?.y ?? 0);
18
+ this._separatorWidth = width;
19
+ this._thickness = thickness;
20
+ this._color = color;
21
+ this._labelGap = labelGap;
22
+ this._line = new Phaser.GameObjects.Graphics(scene);
23
+ this.add(this._line);
24
+ if (label !== undefined && label !== "") {
25
+ const lc = hexToColorAlpha(labelColor ?? color);
26
+ this._label = new Phaser.GameObjects.Text(scene, 0, 0, label, {
27
+ fontFamily: "Verdana",
28
+ fontSize: `${labelFontSize}px`,
29
+ color: `#${lc.color.toString(16).padStart(6, "0")}`,
30
+ resolution: getDevicePixelRatio(),
31
+ });
32
+ this._label.setOrigin(0.5, 0.5);
33
+ this._label.setAlpha(lc.alpha);
34
+ this.add(this._label);
35
+ }
36
+ this.redraw();
37
+ this.setSize(width, Math.max(thickness, this._label?.displayHeight ?? 0));
38
+ scene.add.existing(this);
39
+ }
40
+ setLineColor(color) {
41
+ this._color = color;
42
+ this.redraw();
43
+ return this;
44
+ }
45
+ setLabel(text) {
46
+ if (!this._label) {
47
+ const lc = hexToColorAlpha(this._color);
48
+ this._label = new Phaser.GameObjects.Text(this.scene, 0, 0, text, {
49
+ fontFamily: "Verdana",
50
+ fontSize: "12px",
51
+ color: `#${lc.color.toString(16).padStart(6, "0")}`,
52
+ resolution: getDevicePixelRatio(),
53
+ });
54
+ this._label.setOrigin(0.5, 0.5);
55
+ this._label.setAlpha(lc.alpha);
56
+ this.add(this._label);
57
+ }
58
+ else {
59
+ this._label.setText(text);
60
+ }
61
+ this.redraw();
62
+ return this;
63
+ }
64
+ setThickness(thickness) {
65
+ this._thickness = Math.max(1, thickness);
66
+ this.redraw();
67
+ return this;
68
+ }
69
+ setSeparatorWidth(width) {
70
+ this._separatorWidth = width;
71
+ this.setSize(width, this.height);
72
+ this.redraw();
73
+ return this;
74
+ }
75
+ setStyle(options) {
76
+ if (options.width !== undefined)
77
+ this._separatorWidth = options.width;
78
+ if (options.thickness !== undefined)
79
+ this._thickness = Math.max(1, options.thickness);
80
+ if (options.color !== undefined)
81
+ this._color = options.color;
82
+ if (options.labelGap !== undefined)
83
+ this._labelGap = options.labelGap;
84
+ this.redraw();
85
+ return this;
86
+ }
87
+ redraw() {
88
+ const halfW = this._separatorWidth / 2;
89
+ const c = hexToColorAlpha(this._color);
90
+ this._line.clear();
91
+ this._line.lineStyle(this._thickness, c.color, c.alpha);
92
+ if (!this._label || this._label.text === "") {
93
+ this._line.lineBetween(-halfW, 0, halfW, 0);
94
+ this.setSize(this._separatorWidth, this._thickness);
95
+ return;
96
+ }
97
+ const labelHalfW = this._label.displayWidth / 2;
98
+ const gap = this._labelGap;
99
+ const lineLeftEnd = -(labelHalfW + gap);
100
+ const lineRightStart = labelHalfW + gap;
101
+ this._line.lineBetween(-halfW, 0, lineLeftEnd, 0);
102
+ this._line.lineBetween(lineRightStart, 0, halfW, 0);
103
+ this.setSize(this._separatorWidth, Math.max(this._thickness, this._label.displayHeight));
104
+ }
105
+ }
106
+ export function createDebugSeparator(scene, options = {}) {
107
+ return new DebugSeparator(scene, options);
108
+ }
109
+ //# sourceMappingURL=DebugSeparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugSeparator.js","sourceRoot":"","sources":["../src/DebugSeparator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import type { HexColor, Position } from "./types.js";
2
+ export interface DebugSliderStyleOptions {
3
+ width?: number;
4
+ height?: number;
5
+ trackHeight?: number;
6
+ thumbRadius?: number;
7
+ trackColor?: HexColor;
8
+ fillColor?: HexColor;
9
+ thumbColor?: HexColor;
10
+ }
11
+ export interface CreateDebugSliderOptions extends DebugSliderStyleOptions {
12
+ /** Current value (default: 0, clamped to min–max range). */
13
+ value?: number;
14
+ /** Minimum value (default: 0). */
15
+ min?: number;
16
+ /** Maximum value (default: 1). */
17
+ max?: number;
18
+ /** Step size — 0 = continuous (default: 0). */
19
+ step?: number;
20
+ /** Whether the slider accepts input (default: true). */
21
+ enabled?: boolean;
22
+ /** Called when the value changes. */
23
+ onChange?: (value: number, slider: DebugSlider) => void;
24
+ /** Position (optional). */
25
+ position?: Position;
26
+ }
27
+ /**
28
+ * An interactive horizontal slider for debug HUD.
29
+ *
30
+ * Supports min/max range, step snapping, and drag interaction.
31
+ * Emits `"value-changed"` event. Chainable API.
32
+ */
33
+ export declare class DebugSlider extends Phaser.GameObjects.Container {
34
+ private _track;
35
+ private _fill;
36
+ private _thumb;
37
+ private _hitZone;
38
+ private _value;
39
+ private _min;
40
+ private _max;
41
+ private _step;
42
+ private _isEnabled;
43
+ private _isDragging;
44
+ private _sliderWidth;
45
+ private _sliderHeight;
46
+ private _trackHeight;
47
+ private _thumbRadius;
48
+ private _trackColor;
49
+ private _fillColor;
50
+ private _thumbColor;
51
+ private _onChangeCallbacks;
52
+ private _boundOnPointerMove;
53
+ private _boundOnPointerUp;
54
+ constructor(scene: Phaser.Scene, options?: CreateDebugSliderOptions);
55
+ getValue(): number;
56
+ setValue(value: number): this;
57
+ isEnabled(): boolean;
58
+ setEnabled(enabled: boolean): this;
59
+ onValueChanged(handler: (value: number, slider: DebugSlider) => void): this;
60
+ setTrackColor(color: HexColor): this;
61
+ setFillColor(color: HexColor): this;
62
+ setThumbColor(color: HexColor): this;
63
+ setRange(min: number, max: number): this;
64
+ setStep(step: number): this;
65
+ setSliderSize(width: number, height: number): this;
66
+ setStyle(options: DebugSliderStyleOptions): this;
67
+ destroy(fromScene?: boolean): void;
68
+ private handlePointerDown;
69
+ private handlePointerMove;
70
+ private handlePointerUp;
71
+ private stopDragging;
72
+ private updateValueFromPointer;
73
+ private clampAndSnap;
74
+ private fireOnChange;
75
+ private applyEnabledState;
76
+ private redraw;
77
+ }
78
+ export declare function createDebugSlider(scene: Phaser.Scene, options?: CreateDebugSliderOptions): DebugSlider;
79
+ //# sourceMappingURL=DebugSlider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugSlider.d.ts","sourceRoot":"","sources":["../src/DebugSlider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,233 @@
1
+ import { hexToColorAlpha } from "./utils.js";
2
+ /**
3
+ * An interactive horizontal slider for debug HUD.
4
+ *
5
+ * Supports min/max range, step snapping, and drag interaction.
6
+ * Emits `"value-changed"` event. Chainable API.
7
+ */
8
+ export class DebugSlider extends Phaser.GameObjects.Container {
9
+ _track;
10
+ _fill;
11
+ _thumb;
12
+ _hitZone;
13
+ _value;
14
+ _min;
15
+ _max;
16
+ _step;
17
+ _isEnabled;
18
+ _isDragging = false;
19
+ _sliderWidth;
20
+ _sliderHeight;
21
+ _trackHeight;
22
+ _thumbRadius;
23
+ _trackColor;
24
+ _fillColor;
25
+ _thumbColor;
26
+ _onChangeCallbacks = [];
27
+ _boundOnPointerMove;
28
+ _boundOnPointerUp;
29
+ constructor(scene, options = {}) {
30
+ const { value = 0, min = 0, max = 1, step = 0, enabled = true, width = 200, height = 24, trackHeight = 6, thumbRadius = 10, trackColor = "#333333", fillColor = "#4caf50", thumbColor = "#ffffff", onChange, position, } = options;
31
+ super(scene, position?.x ?? 0, position?.y ?? 0);
32
+ this._min = min;
33
+ this._max = max;
34
+ this._step = step;
35
+ this._isEnabled = enabled;
36
+ this._sliderWidth = width;
37
+ this._sliderHeight = height;
38
+ this._trackHeight = trackHeight;
39
+ this._thumbRadius = thumbRadius;
40
+ this._trackColor = trackColor;
41
+ this._fillColor = fillColor;
42
+ this._thumbColor = thumbColor;
43
+ this._value = this.clampAndSnap(value);
44
+ if (onChange)
45
+ this._onChangeCallbacks.push(onChange);
46
+ this._track = new Phaser.GameObjects.Graphics(scene);
47
+ this._fill = new Phaser.GameObjects.Graphics(scene);
48
+ this._thumb = new Phaser.GameObjects.Graphics(scene);
49
+ this._hitZone = new Phaser.GameObjects.Zone(scene, 0, 0, width, height);
50
+ this._hitZone.setInteractive({ useHandCursor: true });
51
+ this._hitZone.on("pointerdown", this.handlePointerDown, this);
52
+ this._boundOnPointerMove = this.handlePointerMove.bind(this);
53
+ this._boundOnPointerUp = this.handlePointerUp.bind(this);
54
+ this.add([this._track, this._fill, this._thumb, this._hitZone]);
55
+ this.setSize(width, height);
56
+ this.applyEnabledState();
57
+ this.redraw();
58
+ scene.add.existing(this);
59
+ }
60
+ getValue() {
61
+ return this._value;
62
+ }
63
+ setValue(value) {
64
+ const clamped = this.clampAndSnap(value);
65
+ if (clamped === this._value)
66
+ return this;
67
+ const prev = this._value;
68
+ this._value = clamped;
69
+ this.redraw();
70
+ this.emit("value-changed", clamped, prev);
71
+ this.fireOnChange();
72
+ return this;
73
+ }
74
+ isEnabled() {
75
+ return this._isEnabled;
76
+ }
77
+ setEnabled(enabled) {
78
+ this._isEnabled = enabled;
79
+ this.applyEnabledState();
80
+ return this;
81
+ }
82
+ onValueChanged(handler) {
83
+ this._onChangeCallbacks.push(handler);
84
+ return this;
85
+ }
86
+ setTrackColor(color) {
87
+ this._trackColor = color;
88
+ this.redraw();
89
+ return this;
90
+ }
91
+ setFillColor(color) {
92
+ this._fillColor = color;
93
+ this.redraw();
94
+ return this;
95
+ }
96
+ setThumbColor(color) {
97
+ this._thumbColor = color;
98
+ this.redraw();
99
+ return this;
100
+ }
101
+ setRange(min, max) {
102
+ this._min = min;
103
+ this._max = max;
104
+ this._value = this.clampAndSnap(this._value);
105
+ this.redraw();
106
+ return this;
107
+ }
108
+ setStep(step) {
109
+ this._step = Math.max(0, step);
110
+ this._value = this.clampAndSnap(this._value);
111
+ this.redraw();
112
+ return this;
113
+ }
114
+ setSliderSize(width, height) {
115
+ this._sliderWidth = width;
116
+ this._sliderHeight = height;
117
+ this._hitZone.setSize(width, height);
118
+ this.setSize(width, height);
119
+ this.redraw();
120
+ return this;
121
+ }
122
+ setStyle(options) {
123
+ if (options.trackColor !== undefined)
124
+ this._trackColor = options.trackColor;
125
+ if (options.fillColor !== undefined)
126
+ this._fillColor = options.fillColor;
127
+ if (options.thumbColor !== undefined)
128
+ this._thumbColor = options.thumbColor;
129
+ if (options.trackHeight !== undefined)
130
+ this._trackHeight = options.trackHeight;
131
+ if (options.thumbRadius !== undefined)
132
+ this._thumbRadius = options.thumbRadius;
133
+ if (options.width !== undefined || options.height !== undefined) {
134
+ this._sliderWidth = options.width ?? this._sliderWidth;
135
+ this._sliderHeight = options.height ?? this._sliderHeight;
136
+ this._hitZone.setSize(this._sliderWidth, this._sliderHeight);
137
+ this.setSize(this._sliderWidth, this._sliderHeight);
138
+ }
139
+ this.redraw();
140
+ return this;
141
+ }
142
+ destroy(fromScene) {
143
+ this.stopDragging();
144
+ super.destroy(fromScene);
145
+ }
146
+ handlePointerDown(pointer) {
147
+ if (!this._isEnabled)
148
+ return;
149
+ this._isDragging = true;
150
+ this.updateValueFromPointer(pointer);
151
+ this.scene.input.on("pointermove", this._boundOnPointerMove);
152
+ this.scene.input.on("pointerup", this._boundOnPointerUp);
153
+ }
154
+ handlePointerMove(pointer) {
155
+ if (!this._isDragging)
156
+ return;
157
+ this.updateValueFromPointer(pointer);
158
+ }
159
+ handlePointerUp() {
160
+ this.stopDragging();
161
+ }
162
+ stopDragging() {
163
+ if (!this._isDragging)
164
+ return;
165
+ this._isDragging = false;
166
+ this.scene?.input?.off("pointermove", this._boundOnPointerMove);
167
+ this.scene?.input?.off("pointerup", this._boundOnPointerUp);
168
+ }
169
+ updateValueFromPointer(pointer) {
170
+ const matrix = this.getWorldTransformMatrix();
171
+ const tmp = new Phaser.Math.Vector2();
172
+ matrix.applyInverse(pointer.worldX, pointer.worldY, tmp);
173
+ const halfW = this._sliderWidth / 2;
174
+ const ratio = Phaser.Math.Clamp((tmp.x + halfW) / this._sliderWidth, 0, 1);
175
+ const rawValue = this._min + ratio * (this._max - this._min);
176
+ this.setValue(rawValue);
177
+ }
178
+ clampAndSnap(value) {
179
+ let v = Phaser.Math.Clamp(value, this._min, this._max);
180
+ if (this._step > 0) {
181
+ v = Math.round((v - this._min) / this._step) * this._step + this._min;
182
+ v = Phaser.Math.Clamp(v, this._min, this._max);
183
+ }
184
+ return v;
185
+ }
186
+ fireOnChange() {
187
+ for (const cb of this._onChangeCallbacks) {
188
+ cb(this._value, this);
189
+ }
190
+ }
191
+ applyEnabledState() {
192
+ this.setAlpha(this._isEnabled ? 1 : 0.5);
193
+ if (this._isEnabled) {
194
+ this._hitZone.setInteractive({ useHandCursor: true });
195
+ }
196
+ else {
197
+ this._hitZone.disableInteractive();
198
+ }
199
+ }
200
+ redraw() {
201
+ const w = this._sliderWidth;
202
+ const halfW = w / 2;
203
+ const th = this._trackHeight;
204
+ const halfTH = th / 2;
205
+ const trackRadius = halfTH;
206
+ // Normalized position 0–1
207
+ const range = this._max - this._min;
208
+ const ratio = range > 0 ? (this._value - this._min) / range : 0;
209
+ const thumbX = -halfW + ratio * w;
210
+ // Track
211
+ const tc = hexToColorAlpha(this._trackColor);
212
+ this._track.clear();
213
+ this._track.fillStyle(tc.color, tc.alpha);
214
+ this._track.fillRoundedRect(-halfW, -halfTH, w, th, trackRadius);
215
+ // Fill
216
+ const fc = hexToColorAlpha(this._fillColor);
217
+ const fillWidth = ratio * w;
218
+ this._fill.clear();
219
+ if (fillWidth > 0) {
220
+ this._fill.fillStyle(fc.color, fc.alpha);
221
+ this._fill.fillRect(-halfW, -halfTH, fillWidth, th);
222
+ }
223
+ // Thumb
224
+ const thumbC = hexToColorAlpha(this._thumbColor);
225
+ this._thumb.clear();
226
+ this._thumb.fillStyle(thumbC.color, thumbC.alpha);
227
+ this._thumb.fillCircle(thumbX, 0, this._thumbRadius);
228
+ }
229
+ }
230
+ export function createDebugSlider(scene, options = {}) {
231
+ return new DebugSlider(scene, options);
232
+ }
233
+ //# sourceMappingURL=DebugSlider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugSlider.js","sourceRoot":"","sources":["../src/DebugSlider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { HexColor, Position } from "./types.js";
2
+ export interface DebugToggleStyleOptions {
3
+ width?: number;
4
+ height?: number;
5
+ onColor?: HexColor;
6
+ offColor?: HexColor;
7
+ thumbColor?: HexColor;
8
+ thumbPadding?: number;
9
+ }
10
+ export interface CreateDebugToggleOptions extends DebugToggleStyleOptions {
11
+ /** Initial value (default: false). */
12
+ value?: boolean;
13
+ /** Whether the toggle accepts input (default: true). */
14
+ enabled?: boolean;
15
+ /** Called when the value changes. */
16
+ onChange?: (value: boolean, toggle: DebugToggle) => void;
17
+ /** Position (optional). */
18
+ position?: Position;
19
+ }
20
+ /**
21
+ * A boolean on/off pill toggle switch for debug HUD.
22
+ *
23
+ * Click to flip state. Emits `"value-changed"` event.
24
+ * Supports enabled/disabled state and chainable API.
25
+ */
26
+ export declare class DebugToggle extends Phaser.GameObjects.Container {
27
+ private _track;
28
+ private _thumb;
29
+ private _hitZone;
30
+ private _isOn;
31
+ private _isEnabled;
32
+ private _onColor;
33
+ private _offColor;
34
+ private _thumbColor;
35
+ private _toggleWidth;
36
+ private _toggleHeight;
37
+ private _thumbPadding;
38
+ private _onChangeCallbacks;
39
+ constructor(scene: Phaser.Scene, options?: CreateDebugToggleOptions);
40
+ getValue(): boolean;
41
+ setValue(value: boolean): this;
42
+ toggle(): this;
43
+ isEnabled(): boolean;
44
+ setEnabled(enabled: boolean): this;
45
+ onValueChanged(handler: (value: boolean, toggle: DebugToggle) => void): this;
46
+ setOnColor(color: HexColor): this;
47
+ setOffColor(color: HexColor): this;
48
+ setThumbColor(color: HexColor): this;
49
+ setToggleSize(width: number, height: number): this;
50
+ setStyle(options: DebugToggleStyleOptions): this;
51
+ private handleClick;
52
+ private fireOnChange;
53
+ private applyEnabledState;
54
+ private redraw;
55
+ }
56
+ export declare function createDebugToggle(scene: Phaser.Scene, options?: CreateDebugToggleOptions): DebugToggle;
57
+ //# sourceMappingURL=DebugToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugToggle.d.ts","sourceRoot":"","sources":["../src/DebugToggle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGpD,MAAM,WAAW,uBAAuB;IACvC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,QAAQ,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,UAAU,CAAC,EAAE,QAAQ,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,wBAAyB,SAAQ,uBAAuB;IACxE,sCAAsC;IACtC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAA;IACxD,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACnB;AAED;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,MAAM,CAAC,WAAW,CAAC,SAAS;IAC5D,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,kBAAkB,CAA2D;gBAEzE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAE,wBAA6B;IA0CvE,QAAQ,IAAI,OAAO;IAInB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAS9B,MAAM,IAAI,IAAI;IAId,SAAS,IAAI,OAAO;IAIpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAMlC,cAAc,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI;IAK5E,UAAU,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAMjC,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAMlC,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAMpC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IASlD,QAAQ,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAehD,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,MAAM;CAsBd;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,GAAE,wBAA6B,GAAG,WAAW,CAE1G"}
@@ -0,0 +1,159 @@
1
+ import { hexToColorAlpha } from "./utils.js";
2
+ /**
3
+ * A boolean on/off pill toggle switch for debug HUD.
4
+ *
5
+ * Click to flip state. Emits `"value-changed"` event.
6
+ * Supports enabled/disabled state and chainable API.
7
+ */
8
+ export class DebugToggle extends Phaser.GameObjects.Container {
9
+ _track;
10
+ _thumb;
11
+ _hitZone;
12
+ _isOn;
13
+ _isEnabled;
14
+ _onColor;
15
+ _offColor;
16
+ _thumbColor;
17
+ _toggleWidth;
18
+ _toggleHeight;
19
+ _thumbPadding;
20
+ _onChangeCallbacks = [];
21
+ constructor(scene, options = {}) {
22
+ const { value = false, enabled = true, onColor = "#4caf50", offColor = "#555555", thumbColor = "#ffffff", width = 48, height = 26, thumbPadding = 3, onChange, position, } = options;
23
+ super(scene, position?.x ?? 0, position?.y ?? 0);
24
+ this._isOn = value;
25
+ this._isEnabled = enabled;
26
+ this._onColor = onColor;
27
+ this._offColor = offColor;
28
+ this._thumbColor = thumbColor;
29
+ this._toggleWidth = width;
30
+ this._toggleHeight = height;
31
+ this._thumbPadding = thumbPadding;
32
+ if (onChange)
33
+ this._onChangeCallbacks.push(onChange);
34
+ this._track = new Phaser.GameObjects.Graphics(scene);
35
+ this._thumb = new Phaser.GameObjects.Graphics(scene);
36
+ this._hitZone = new Phaser.GameObjects.Zone(scene, 0, 0, width, height);
37
+ this._hitZone.setInteractive({ useHandCursor: true });
38
+ this._hitZone.on("pointerup", this.handleClick, this);
39
+ this.add([this._track, this._thumb, this._hitZone]);
40
+ this.setSize(width, height);
41
+ this.applyEnabledState();
42
+ this.redraw();
43
+ scene.add.existing(this);
44
+ }
45
+ getValue() {
46
+ return this._isOn;
47
+ }
48
+ setValue(value) {
49
+ if (this._isOn === value)
50
+ return this;
51
+ this._isOn = value;
52
+ this.redraw();
53
+ this.emit("value-changed", value);
54
+ this.fireOnChange();
55
+ return this;
56
+ }
57
+ toggle() {
58
+ return this.setValue(!this._isOn);
59
+ }
60
+ isEnabled() {
61
+ return this._isEnabled;
62
+ }
63
+ setEnabled(enabled) {
64
+ this._isEnabled = enabled;
65
+ this.applyEnabledState();
66
+ return this;
67
+ }
68
+ onValueChanged(handler) {
69
+ this._onChangeCallbacks.push(handler);
70
+ return this;
71
+ }
72
+ setOnColor(color) {
73
+ this._onColor = color;
74
+ this.redraw();
75
+ return this;
76
+ }
77
+ setOffColor(color) {
78
+ this._offColor = color;
79
+ this.redraw();
80
+ return this;
81
+ }
82
+ setThumbColor(color) {
83
+ this._thumbColor = color;
84
+ this.redraw();
85
+ return this;
86
+ }
87
+ setToggleSize(width, height) {
88
+ this._toggleWidth = width;
89
+ this._toggleHeight = height;
90
+ this._hitZone.setSize(width, height);
91
+ this.setSize(width, height);
92
+ this.redraw();
93
+ return this;
94
+ }
95
+ setStyle(options) {
96
+ if (options.onColor !== undefined)
97
+ this._onColor = options.onColor;
98
+ if (options.offColor !== undefined)
99
+ this._offColor = options.offColor;
100
+ if (options.thumbColor !== undefined)
101
+ this._thumbColor = options.thumbColor;
102
+ if (options.thumbPadding !== undefined)
103
+ this._thumbPadding = options.thumbPadding;
104
+ if (options.width !== undefined || options.height !== undefined) {
105
+ this._toggleWidth = options.width ?? this._toggleWidth;
106
+ this._toggleHeight = options.height ?? this._toggleHeight;
107
+ this._hitZone.setSize(this._toggleWidth, this._toggleHeight);
108
+ this.setSize(this._toggleWidth, this._toggleHeight);
109
+ }
110
+ this.redraw();
111
+ return this;
112
+ }
113
+ handleClick() {
114
+ if (!this._isEnabled)
115
+ return;
116
+ this._isOn = !this._isOn;
117
+ this.redraw();
118
+ this.emit("value-changed", this._isOn);
119
+ this.fireOnChange();
120
+ }
121
+ fireOnChange() {
122
+ for (const cb of this._onChangeCallbacks) {
123
+ cb(this._isOn, this);
124
+ }
125
+ }
126
+ applyEnabledState() {
127
+ this.setAlpha(this._isEnabled ? 1 : 0.5);
128
+ if (this._isEnabled) {
129
+ this._hitZone.setInteractive({ useHandCursor: true });
130
+ }
131
+ else {
132
+ this._hitZone.disableInteractive();
133
+ }
134
+ }
135
+ redraw() {
136
+ const w = this._toggleWidth;
137
+ const h = this._toggleHeight;
138
+ const halfW = w / 2;
139
+ const halfH = h / 2;
140
+ const radius = halfH;
141
+ // Track (pill shape)
142
+ const trackColor = this._isOn ? this._onColor : this._offColor;
143
+ const tc = hexToColorAlpha(trackColor);
144
+ this._track.clear();
145
+ this._track.fillStyle(tc.color, tc.alpha);
146
+ this._track.fillRoundedRect(-halfW, -halfH, w, h, radius);
147
+ // Thumb (circle)
148
+ const thumbRadius = halfH - this._thumbPadding;
149
+ const thumbX = this._isOn ? halfW - halfH : -halfW + halfH;
150
+ const thumbC = hexToColorAlpha(this._thumbColor);
151
+ this._thumb.clear();
152
+ this._thumb.fillStyle(thumbC.color, thumbC.alpha);
153
+ this._thumb.fillCircle(thumbX, 0, thumbRadius);
154
+ }
155
+ }
156
+ export function createDebugToggle(scene, options = {}) {
157
+ return new DebugToggle(scene, options);
158
+ }
159
+ //# sourceMappingURL=DebugToggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DebugToggle.js","sourceRoot":"","sources":["../src/DebugToggle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAsB5C;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,MAAM,CAAC,WAAW,CAAC,SAAS;IACpD,MAAM,CAA6B;IACnC,MAAM,CAA6B;IACnC,QAAQ,CAAyB;IACjC,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,QAAQ,CAAU;IAClB,SAAS,CAAU;IACnB,WAAW,CAAU;IACrB,YAAY,CAAQ;IACpB,aAAa,CAAQ;IACrB,aAAa,CAAQ;IACrB,kBAAkB,GAAyD,EAAE,CAAA;IAErF,YAAY,KAAmB,EAAE,UAAoC,EAAE;QACtE,MAAM,EACL,KAAK,GAAG,KAAK,EACb,OAAO,GAAG,IAAI,EACd,OAAO,GAAG,SAAS,EACnB,QAAQ,GAAG,SAAS,EACpB,UAAU,GAAG,SAAS,EACtB,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,EAAE,EACX,YAAY,GAAG,CAAC,EAChB,QAAQ,EACR,QAAQ,GACR,GAAG,OAAO,CAAA;QAEX,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAEhD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;QAC3B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAA;QAEjC,IAAI,QAAQ;YAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEpD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACvE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAErD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;QAErD,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QACnD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC3B,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,MAAM,EAAE,CAAA;QAEb,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IAED,QAAQ;QACP,OAAO,IAAI,CAAC,KAAK,CAAA;IAClB,CAAC;IAED,QAAQ,CAAC,KAAc;QACtB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;YAAE,OAAO,IAAI,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;QACjC,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,SAAS;QACR,OAAO,IAAI,CAAC,UAAU,CAAA;IACvB,CAAC;IAED,UAAU,CAAC,OAAgB;QAC1B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAA;QACzB,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,cAAc,CAAC,OAAsD;QACpE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrC,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,UAAU,CAAC,KAAe;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,WAAW,CAAC,KAAe;QAC1B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,aAAa,CAAC,KAAe;QAC5B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QACxB,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,aAAa,CAAC,KAAa,EAAE,MAAc;QAC1C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;QACzB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;QAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QACpC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,OAAgC;QACxC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAA;QAClE,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAA;QACrE,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,CAAA;QAC3E,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAA;QACjF,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAA;YACtD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAA;YACzD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;YAC5D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QACpD,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,OAAO,IAAI,CAAA;IACZ,CAAC;IAEO,WAAW;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QAC5B,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAA;QACxB,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,YAAY,EAAE,CAAA;IACpB,CAAC;IAEO,YAAY;QACnB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACrB,CAAC;IACF,CAAC;IAEO,iBAAiB;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QACtD,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAA;QACnC,CAAC;IACF,CAAC;IAEO,MAAM;QACb,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAA;QAC3B,MAAM,CAAC,GAAG,IAAI,CAAC,aAAa,CAAA;QAC5B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,MAAM,MAAM,GAAG,KAAK,CAAA;QAEpB,qBAAqB;QACrB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;QAC9D,MAAM,EAAE,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAA;QAEzD,iBAAiB;QACjB,MAAM,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,CAAA;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAA;QAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;QACjD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CAAA;IAC/C,CAAC;CACD;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAmB,EAAE,UAAoC,EAAE;IAC5F,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AACvC,CAAC"}
@@ -159,6 +159,7 @@ function inferAdapter(control) {
159
159
  }
160
160
  const hasValueApi = typeof anyControl.getValue === "function" && typeof anyControl.setValue === "function";
161
161
  if (hasValueApi) {
162
+ const canSubscribe = typeof anyControl.on === "function" && typeof anyControl.off === "function";
162
163
  return {
163
164
  read: (ctrl) => {
164
165
  const c = ctrl;
@@ -168,6 +169,14 @@ function inferAdapter(control) {
168
169
  const c = ctrl;
169
170
  c.setValue(value);
170
171
  },
172
+ subscribe: canSubscribe
173
+ ? (ctrl, onValue) => {
174
+ const c = ctrl;
175
+ const handler = (value) => onValue(value);
176
+ c.on("value-changed", handler);
177
+ return () => c.off("value-changed", handler);
178
+ }
179
+ : undefined,
171
180
  };
172
181
  }
173
182
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"bindDebugControl.js","sourceRoot":"","sources":["../src/bindDebugControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindDebugControl.js","sourceRoot":"","sources":["../src/bindDebugControl.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -18,6 +18,12 @@ export { DebugProgressBar, createDebugProgressBar } from "./DebugProgressBar.js"
18
18
  export type { CreateDebugProgressBarOptions, DebugProgressBarStyleOptions } from "./DebugProgressBar.js";
19
19
  export { DebugSwitchButton, createDebugSwitchButton } from "./DebugSwitchButton.js";
20
20
  export type { CreateDebugSwitchButtonOptions, SwitchButtonOption, SwitchOptions } from "./DebugSwitchButton.js";
21
+ export { DebugSeparator, createDebugSeparator } from "./DebugSeparator.js";
22
+ export type { CreateDebugSeparatorOptions } from "./DebugSeparator.js";
23
+ export { DebugToggle, createDebugToggle } from "./DebugToggle.js";
24
+ export type { CreateDebugToggleOptions, DebugToggleStyleOptions } from "./DebugToggle.js";
25
+ export { DebugSlider, createDebugSlider } from "./DebugSlider.js";
26
+ export type { CreateDebugSliderOptions, DebugSliderStyleOptions } from "./DebugSlider.js";
21
27
  export { DebugRowContainer, createRowContainer } from "./DebugRowContainer.js";
22
28
  export type { CreateRowContainerOptions } from "./DebugRowContainer.js";
23
29
  export { DebugColumnContainer, createColumnContainer } from "./DebugColumnContainer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGzG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAClH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC9G,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC3E,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC3I,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAG/F,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACjE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAGhE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAGtF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAChF,YAAY,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AAGxG,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACnF,YAAY,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAG/G,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC9E,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAEvE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACvF,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAE7E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AACjF,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAC5F,YAAY,EAAE,iCAAiC,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGzG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAClH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC9G,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC3E,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC3I,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAG/F,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACjE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAA;AAGhE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAGtF,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAChF,YAAY,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAA;AAGxG,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACnF,YAAY,EAAE,8BAA8B,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAG/G,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1E,YAAY,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAA;AAGtE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACjE,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAGzF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACjE,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAGzF,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAC9E,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAEvE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACvF,YAAY,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAE7E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AACjF,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAEzE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAC5F,YAAY,EAAE,iCAAiC,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAA"}
package/dist/index.js CHANGED
@@ -15,6 +15,12 @@ export { DebugBadge, createDebugBadge } from "./DebugBadge.js";
15
15
  export { DebugProgressBar, createDebugProgressBar } from "./DebugProgressBar.js";
16
16
  // Switch Button
17
17
  export { DebugSwitchButton, createDebugSwitchButton } from "./DebugSwitchButton.js";
18
+ // Separator
19
+ export { DebugSeparator, createDebugSeparator } from "./DebugSeparator.js";
20
+ // Toggle
21
+ export { DebugToggle, createDebugToggle } from "./DebugToggle.js";
22
+ // Slider
23
+ export { DebugSlider, createDebugSlider } from "./DebugSlider.js";
18
24
  // Layout Containers
19
25
  export { DebugRowContainer, createRowContainer } from "./DebugRowContainer.js";
20
26
  export { DebugColumnContainer, createColumnContainer } from "./DebugColumnContainer.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAClH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGjE,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAGhF,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAGnF,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG9E,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAGvF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAGjF,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAClH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAExD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGjE,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,eAAe;AACf,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAGhF,gBAAgB;AAChB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAGnF,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAG1E,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGjE,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AAGjE,oBAAoB;AACpB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG9E,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAGvF,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAGjF,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vforsh/phaser-dev-ui",
3
- "version": "0.2.0",
4
- "description": "Pure-code debug UI primitives for Phaser 3 games — panels, buttons, labels, badges, progress bars, switch buttons, and layout containers. No assets required.",
3
+ "version": "0.3.0",
4
+ "description": "Pure-code debug UI primitives for Phaser 3 games — panels, buttons, labels, badges, progress bars, switch buttons, sliders, toggles, separators, and layout containers. No assets required.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "module": "dist/index.js",