@omnipad/vue 0.2.0-alpha.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
+ import { ActionMapping } from '@omnipad/core';
1
2
  import { AllowedComponentProps } from 'vue';
3
+ import { ButtonConfig } from '@omnipad/core';
2
4
  import { Component } from 'vue';
3
5
  import { ComponentCustomProperties } from 'vue';
4
6
  import { ComponentCustomProps } from 'vue';
@@ -12,9 +14,10 @@ import { ConfigTreeNode } from '@omnipad/core';
12
14
  import { CursorState } from '@omnipad/core';
13
15
  import { DebuggerEvent } from 'vue';
14
16
  import { DefineComponent } from 'vue';
17
+ import { DPadConfig } from '@omnipad/core';
15
18
  import { GlobalComponents } from 'vue';
16
19
  import { GlobalDirectives } from 'vue';
17
- import { KeyboardButtonConfig } from '@omnipad/core';
20
+ import { JoystickConfig } from '@omnipad/core';
18
21
  import { LayoutBox } from '@omnipad/core';
19
22
  import { nextTick } from 'vue';
20
23
  import { OnCleanup } from '@vue/reactivity';
@@ -38,133 +41,93 @@ declare const __VLS_component_3: DefineComponent<TargetZoneProps, {}, {}, {}, {}
38
41
  elementRef: HTMLDivElement;
39
42
  }, HTMLDivElement>;
40
43
 
41
- declare type __VLS_Props = {
42
- /** The runtime tree node for auto-configuration. */
43
- treeNode?: ConfigTreeNode;
44
- /** Unique configuration ID (CID) for this layer. Used for profile serialization. */
45
- widgetId?: string;
46
- };
47
-
48
- declare function __VLS_template(): {
49
- attrs: Partial<{}>;
50
- slots: {
51
- default?(_: {}): any;
52
- };
53
- refs: {
54
- elementRef: HTMLDivElement;
55
- };
56
- rootEl: HTMLDivElement;
57
- };
58
-
59
- declare function __VLS_template_2(): {
60
- attrs: Partial<{}>;
61
- slots: {
62
- default?(_: {}): any;
63
- };
64
- refs: {
65
- elementRef: HTMLDivElement;
66
- };
67
- rootEl: HTMLDivElement;
68
- };
69
-
70
- declare function __VLS_template_3(): {
71
- attrs: Partial<{}>;
72
- slots: {
73
- 'focus-feedback'?(_: {
74
- state: CursorState | undefined;
75
- isReturning: boolean | undefined;
76
- cursorPos: {
77
- x: number;
78
- y: number;
79
- };
80
- }): any;
81
- cursor?(_: {
82
- state: CursorState | undefined;
83
- isDown: boolean | undefined;
84
- cursorPos: {
85
- x: number;
86
- y: number;
87
- };
88
- }): any;
89
- };
90
- refs: {
91
- elementRef: HTMLDivElement;
92
- };
93
- rootEl: HTMLDivElement;
44
+ declare const __VLS_component_4: DefineComponent<VirtualButtonProps, {
45
+ uid: ComputedRef<any>;
46
+ onPointerDown: (e: PointerEvent) => any;
47
+ onPointerMove: (e: PointerEvent) => any;
48
+ onPointerUp: (e: PointerEvent) => any;
49
+ onPointerCancel: (e: PointerEvent) => any;
50
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<VirtualButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
51
+ elementRef: ({
52
+ $: ComponentInternalInstance;
53
+ $data: {};
54
+ $props: {
55
+ readonly layout?: LayoutBox | undefined;
56
+ readonly isActive?: boolean | undefined;
57
+ readonly label?: string | undefined;
58
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
59
+ $attrs: {
60
+ [x: string]: unknown;
94
61
  };
95
-
96
- declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
97
-
98
- declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
99
-
100
- declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
101
-
102
- declare type __VLS_WithTemplateSlots<T, S> = T & {
103
- new (): {
104
- $slots: S;
105
- };
62
+ $refs: {
63
+ [x: string]: unknown;
106
64
  };
107
-
108
- declare type __VLS_WithTemplateSlots_2<T, S> = T & {
109
- new (): {
110
- $slots: S;
111
- };
65
+ $slots: Readonly<{
66
+ [name: string]: Slot<any> | undefined;
67
+ }>;
68
+ $root: ComponentPublicInstance | null;
69
+ $parent: ComponentPublicInstance | null;
70
+ $host: Element | null;
71
+ $emit: (event: string, ...args: any[]) => void;
72
+ $el: HTMLDivElement;
73
+ $options: ComponentOptionsBase<Readonly<{
74
+ layout?: LayoutBox;
75
+ isActive?: boolean;
76
+ label?: string;
77
+ }> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
78
+ beforeCreate?: (() => void) | (() => void)[];
79
+ created?: (() => void) | (() => void)[];
80
+ beforeMount?: (() => void) | (() => void)[];
81
+ mounted?: (() => void) | (() => void)[];
82
+ beforeUpdate?: (() => void) | (() => void)[];
83
+ updated?: (() => void) | (() => void)[];
84
+ activated?: (() => void) | (() => void)[];
85
+ deactivated?: (() => void) | (() => void)[];
86
+ beforeDestroy?: (() => void) | (() => void)[];
87
+ beforeUnmount?: (() => void) | (() => void)[];
88
+ destroyed?: (() => void) | (() => void)[];
89
+ unmounted?: (() => void) | (() => void)[];
90
+ renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
91
+ renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
92
+ errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
112
93
  };
113
-
114
- declare type __VLS_WithTemplateSlots_3<T, S> = T & {
115
- new (): {
116
- $slots: S;
117
- };
94
+ $forceUpdate: () => void;
95
+ $nextTick: nextTick;
96
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
97
+ } & Readonly<{}> & Omit<Readonly<{
98
+ layout?: LayoutBox;
99
+ isActive?: boolean;
100
+ label?: string;
101
+ }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
102
+ $slots: {
103
+ base?(_: {
104
+ isActive: boolean | undefined;
105
+ label: string | undefined;
106
+ }): any;
107
+ default?(_: {
108
+ isActive: boolean | undefined;
109
+ label: string | undefined;
110
+ }): any;
118
111
  };
112
+ }) | null;
113
+ }, HTMLDivElement>;
119
114
 
120
- export declare const InputZone: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
121
-
122
- declare interface InputZoneProps {
123
- /** The runtime tree node for automatic setup. */
124
- treeNode?: ConfigTreeNode;
125
- /** Unique configuration ID (CID) for this zone. Used for profile serialization. */
126
- widgetId?: string;
127
- /** Spatial layout configuration (position, size, anchor). */
128
- layout?: LayoutBox;
129
- /** If true, prevents the browser focus from leaving the game area when touching this zone. */
130
- preventFocusLoss?: {
131
- type: boolean;
132
- default: undefined;
133
- };
134
- }
135
-
136
- export declare function registerComponent(type: string, component: Component): void;
137
-
138
- export declare const RootLayer: __VLS_WithTemplateSlots_2<typeof __VLS_component_2, __VLS_TemplateResult_2["slots"]>;
139
-
140
- export declare const TargetZone: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
141
-
142
- declare interface TargetZoneProps {
143
- /** The runtime tree node for automatic setup. */
144
- treeNode?: ConfigTreeNode;
145
- /** Unique configuration ID (CID) for this zone. Used for profile serialization. */
146
- widgetId?: string;
147
- /** Whether the virtual visual cursor is enabled for this stage. */
148
- cursorEnabled?: boolean;
149
- /** Delay in milliseconds before the virtual cursor auto-hides after inactivity (0 to disable). */
150
- cursorAutoDelay?: number;
151
- /** Spatial layout configuration. Usually set to cover the entire game container. */
152
- layout?: LayoutBox;
153
- }
154
-
155
- export declare const VirtualKeyboardButton: DefineComponent<VirtualKeyButtonProps, {
115
+ declare const __VLS_component_5: DefineComponent<VirtualDPadProps, {
156
116
  uid: ComputedRef<any>;
157
- onPointerDown: (e: PointerEvent) => void | undefined;
158
- onPointerUp: (e: PointerEvent) => void | undefined;
159
- onPointerCancel: (e: PointerEvent) => void | undefined;
160
- }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<VirtualKeyButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
117
+ onPointerDown: (e: PointerEvent) => any;
118
+ onPointerMove: (e: PointerEvent) => any;
119
+ onPointerUp: (e: PointerEvent) => any;
120
+ onPointerCancel: (e: PointerEvent) => any;
121
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<VirtualDPadProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
161
122
  elementRef: ({
162
123
  $: ComponentInternalInstance;
163
124
  $data: {};
164
125
  $props: {
165
126
  readonly layout?: LayoutBox | undefined;
166
127
  readonly isActive?: boolean | undefined;
167
- readonly label?: string | undefined;
128
+ readonly vector?: Vec2 | undefined;
129
+ readonly showStick?: boolean | undefined;
130
+ readonly baseRadius?: Vec2 | undefined;
168
131
  } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
169
132
  $attrs: {
170
133
  [x: string]: unknown;
@@ -183,7 +146,9 @@ $el: HTMLDivElement;
183
146
  $options: ComponentOptionsBase<Readonly<{
184
147
  layout?: LayoutBox;
185
148
  isActive?: boolean;
186
- label?: string;
149
+ vector?: Vec2;
150
+ showStick?: boolean;
151
+ baseRadius?: Vec2;
187
152
  }> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
188
153
  beforeCreate?: (() => void) | (() => void)[];
189
154
  created?: (() => void) | (() => void)[];
@@ -207,38 +172,34 @@ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...
207
172
  } & Readonly<{}> & Omit<Readonly<{
208
173
  layout?: LayoutBox;
209
174
  isActive?: boolean;
210
- label?: string;
175
+ vector?: Vec2;
176
+ showStick?: boolean;
177
+ baseRadius?: Vec2;
211
178
  }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
212
179
  $slots: {
213
- default?(_: {}): any;
180
+ base?(_: {
181
+ isActive: boolean | undefined;
182
+ vector: Vec2 | undefined;
183
+ }): any;
184
+ stick?(_: {
185
+ isActive: boolean | undefined;
186
+ vector: Vec2 | undefined;
187
+ }): any;
188
+ default?(_: {
189
+ isActive: boolean | undefined;
190
+ vector: Vec2 | undefined;
191
+ }): any;
214
192
  };
215
193
  }) | null;
216
194
  }, HTMLDivElement>;
217
195
 
218
- declare interface VirtualKeyButtonProps {
219
- /** The runtime tree node for automatic setup. */
220
- treeNode?: ConfigTreeNode;
221
- /** Unique configuration ID (CID) for this button. Used for profile serialization. */
222
- widgetId?: string;
223
- /** The text or symbol displayed on the button surface. */
224
- label?: string;
225
- /** The ID (CID) of the TargetZone this button sends signals to, usually global ID. */
226
- targetStageId?: string;
227
- /**
228
- * Mapping definitions for keyboard events.
229
- * Includes 'key', 'code', and legacy 'keyCode'.
230
- */
231
- mapping?: KeyboardButtonConfig['mapping'];
232
- /** Spatial layout configuration relative to its parent zone. */
233
- layout?: LayoutBox;
234
- }
235
-
236
- export declare const VirtualMouseButton: DefineComponent<VirtualMouseButtonProps, {
196
+ declare const __VLS_component_6: DefineComponent<VirtualTrackpadProps, {
237
197
  uid: ComputedRef<any>;
238
- onPointerDown: (e: PointerEvent) => void | undefined;
239
- onPointerUp: (e: PointerEvent) => void | undefined;
240
- onPointerCancel: (e: PointerEvent) => void | undefined;
241
- }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<VirtualMouseButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
198
+ onPointerDown: (e: PointerEvent) => any;
199
+ onPointerMove: (e: PointerEvent) => any;
200
+ onPointerUp: (e: PointerEvent) => any;
201
+ onPointerCancel: (e: PointerEvent) => any;
202
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<VirtualTrackpadProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
242
203
  elementRef: ({
243
204
  $: ComponentInternalInstance;
244
205
  $data: {};
@@ -291,45 +252,34 @@ isActive?: boolean;
291
252
  label?: string;
292
253
  }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
293
254
  $slots: {
294
- default?(_: {}): any;
255
+ base?(_: {
256
+ isActive: boolean | undefined;
257
+ label: string | undefined;
258
+ }): any;
259
+ default?(_: {
260
+ isActive: boolean | undefined;
261
+ label: string | undefined;
262
+ }): any;
295
263
  };
296
264
  }) | null;
297
265
  }, HTMLDivElement>;
298
266
 
299
- declare interface VirtualMouseButtonProps {
300
- /** The runtime tree node for automatic setup. */
301
- treeNode?: ConfigTreeNode;
302
- /** Unique configuration ID (CID) for this button. Used for profile serialization. */
303
- widgetId?: string;
304
- /** The text or symbol displayed on the button surface. */
305
- label?: string;
306
- /** The ID (CID) of the TargetZone this button sends signals to. */
307
- targetStageId?: string;
308
- /** 0: Left, 1: Middle, 2: Right */
309
- button?: 0 | 1 | 2;
310
- /**
311
- * Fixed coordinate to click on (0-100 percentage).
312
- * Example: { x: 95, y: 5 } for a pause button in the corner.
313
- */
314
- fixedPoint?: Vec2;
315
- /** Spatial layout configuration relative to its parent zone. */
316
- layout?: LayoutBox;
317
- }
318
-
319
- export declare const VirtualTrackpad: DefineComponent<VirtualTrackpadProps, {
267
+ declare const __VLS_component_7: DefineComponent<VirtualJoystickProps, {
320
268
  uid: ComputedRef<any>;
321
- onPointerDown: (e: PointerEvent) => void | undefined;
322
- onPointerMove: (e: PointerEvent) => void | undefined;
323
- onPointerUp: (e: PointerEvent) => void | undefined;
324
- onPointerCancel: (e: PointerEvent) => void | undefined;
325
- }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<VirtualTrackpadProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
269
+ onPointerDown: (e: PointerEvent) => any;
270
+ onPointerMove: (e: PointerEvent) => any;
271
+ onPointerUp: (e: PointerEvent) => any;
272
+ onPointerCancel: (e: PointerEvent) => any;
273
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<VirtualJoystickProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
326
274
  elementRef: ({
327
275
  $: ComponentInternalInstance;
328
276
  $data: {};
329
277
  $props: {
330
278
  readonly layout?: LayoutBox | undefined;
331
279
  readonly isActive?: boolean | undefined;
332
- readonly label?: string | undefined;
280
+ readonly vector?: Vec2 | undefined;
281
+ readonly showStick?: boolean | undefined;
282
+ readonly baseRadius?: Vec2 | undefined;
333
283
  } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
334
284
  $attrs: {
335
285
  [x: string]: unknown;
@@ -348,7 +298,9 @@ $el: HTMLDivElement;
348
298
  $options: ComponentOptionsBase<Readonly<{
349
299
  layout?: LayoutBox;
350
300
  isActive?: boolean;
351
- label?: string;
301
+ vector?: Vec2;
302
+ showStick?: boolean;
303
+ baseRadius?: Vec2;
352
304
  }> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
353
305
  beforeCreate?: (() => void) | (() => void)[];
354
306
  created?: (() => void) | (() => void)[];
@@ -372,14 +324,612 @@ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...
372
324
  } & Readonly<{}> & Omit<Readonly<{
373
325
  layout?: LayoutBox;
374
326
  isActive?: boolean;
375
- label?: string;
327
+ vector?: Vec2;
328
+ showStick?: boolean;
329
+ baseRadius?: Vec2;
376
330
  }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
377
331
  $slots: {
378
- default?(_: {}): any;
332
+ base?(_: {
333
+ isActive: boolean | undefined;
334
+ vector: Vec2 | undefined;
335
+ }): any;
336
+ stick?(_: {
337
+ isActive: boolean | undefined;
338
+ vector: Vec2 | undefined;
339
+ }): any;
340
+ default?(_: {
341
+ isActive: boolean | undefined;
342
+ vector: Vec2 | undefined;
343
+ }): any;
379
344
  };
380
345
  }) | null;
381
346
  }, HTMLDivElement>;
382
347
 
348
+ declare type __VLS_Props = {
349
+ /** The runtime tree node for automatic setup. */
350
+ treeNode?: ConfigTreeNode;
351
+ /** Unique configuration ID (CID) for this layer. Used for profile serialization. */
352
+ widgetId?: string;
353
+ /** Spatial layout configuration relative to its parent zone. */
354
+ layout?: LayoutBox;
355
+ };
356
+
357
+ declare function __VLS_template(): {
358
+ attrs: Partial<{}>;
359
+ slots: {
360
+ default?(_: {}): any;
361
+ };
362
+ refs: {
363
+ elementRef: HTMLDivElement;
364
+ };
365
+ rootEl: HTMLDivElement;
366
+ };
367
+
368
+ declare function __VLS_template_2(): {
369
+ attrs: Partial<{}>;
370
+ slots: {
371
+ default?(_: {}): any;
372
+ };
373
+ refs: {
374
+ elementRef: HTMLDivElement;
375
+ };
376
+ rootEl: HTMLDivElement;
377
+ };
378
+
379
+ declare function __VLS_template_3(): {
380
+ attrs: Partial<{}>;
381
+ slots: {
382
+ 'focus-feedback'?(_: {
383
+ state: CursorState | undefined;
384
+ isReturning: boolean | undefined;
385
+ cursorPos: Vec2 | undefined;
386
+ }): any;
387
+ cursor?(_: {
388
+ state: CursorState | undefined;
389
+ isDown: boolean | undefined;
390
+ isReturning: boolean | undefined;
391
+ cursorPos: Vec2 | undefined;
392
+ }): any;
393
+ 'with-cursor'?(_: {
394
+ state: CursorState | undefined;
395
+ isDown: boolean | undefined;
396
+ isReturning: boolean | undefined;
397
+ cursorPos: Vec2 | undefined;
398
+ }): any;
399
+ default?(_: {
400
+ state: CursorState | undefined;
401
+ isDown: boolean | undefined;
402
+ isReturning: boolean | undefined;
403
+ cursorPos: Vec2 | undefined;
404
+ }): any;
405
+ };
406
+ refs: {
407
+ elementRef: HTMLDivElement;
408
+ };
409
+ rootEl: HTMLDivElement;
410
+ };
411
+
412
+ declare function __VLS_template_4(): {
413
+ attrs: Partial<{}>;
414
+ slots: {
415
+ base?(_: {
416
+ isActive: boolean | undefined;
417
+ label: string | undefined;
418
+ }): any;
419
+ default?(_: {
420
+ isActive: boolean | undefined;
421
+ label: string | undefined;
422
+ }): any;
423
+ };
424
+ refs: {
425
+ elementRef: ({
426
+ $: ComponentInternalInstance;
427
+ $data: {};
428
+ $props: {
429
+ readonly layout?: LayoutBox | undefined;
430
+ readonly isActive?: boolean | undefined;
431
+ readonly label?: string | undefined;
432
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
433
+ $attrs: {
434
+ [x: string]: unknown;
435
+ };
436
+ $refs: {
437
+ [x: string]: unknown;
438
+ };
439
+ $slots: Readonly<{
440
+ [name: string]: Slot<any> | undefined;
441
+ }>;
442
+ $root: ComponentPublicInstance | null;
443
+ $parent: ComponentPublicInstance | null;
444
+ $host: Element | null;
445
+ $emit: (event: string, ...args: any[]) => void;
446
+ $el: HTMLDivElement;
447
+ $options: ComponentOptionsBase<Readonly<{
448
+ layout?: LayoutBox;
449
+ isActive?: boolean;
450
+ label?: string;
451
+ }> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
452
+ beforeCreate?: (() => void) | (() => void)[];
453
+ created?: (() => void) | (() => void)[];
454
+ beforeMount?: (() => void) | (() => void)[];
455
+ mounted?: (() => void) | (() => void)[];
456
+ beforeUpdate?: (() => void) | (() => void)[];
457
+ updated?: (() => void) | (() => void)[];
458
+ activated?: (() => void) | (() => void)[];
459
+ deactivated?: (() => void) | (() => void)[];
460
+ beforeDestroy?: (() => void) | (() => void)[];
461
+ beforeUnmount?: (() => void) | (() => void)[];
462
+ destroyed?: (() => void) | (() => void)[];
463
+ unmounted?: (() => void) | (() => void)[];
464
+ renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
465
+ renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
466
+ errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
467
+ };
468
+ $forceUpdate: () => void;
469
+ $nextTick: nextTick;
470
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
471
+ } & Readonly<{}> & Omit<Readonly<{
472
+ layout?: LayoutBox;
473
+ isActive?: boolean;
474
+ label?: string;
475
+ }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
476
+ $slots: {
477
+ base?(_: {
478
+ isActive: boolean | undefined;
479
+ label: string | undefined;
480
+ }): any;
481
+ default?(_: {
482
+ isActive: boolean | undefined;
483
+ label: string | undefined;
484
+ }): any;
485
+ };
486
+ }) | null;
487
+ };
488
+ rootEl: HTMLDivElement;
489
+ };
490
+
491
+ declare function __VLS_template_5(): {
492
+ attrs: Partial<{}>;
493
+ slots: {
494
+ base?(_: {
495
+ isActive: boolean | undefined;
496
+ vector: Vec2 | undefined;
497
+ }): any;
498
+ stick?(_: {
499
+ isActive: boolean | undefined;
500
+ vector: Vec2 | undefined;
501
+ }): any;
502
+ default?(_: {
503
+ isActive: boolean | undefined;
504
+ vector: Vec2 | undefined;
505
+ }): any;
506
+ };
507
+ refs: {
508
+ elementRef: ({
509
+ $: ComponentInternalInstance;
510
+ $data: {};
511
+ $props: {
512
+ readonly layout?: LayoutBox | undefined;
513
+ readonly isActive?: boolean | undefined;
514
+ readonly vector?: Vec2 | undefined;
515
+ readonly showStick?: boolean | undefined;
516
+ readonly baseRadius?: Vec2 | undefined;
517
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
518
+ $attrs: {
519
+ [x: string]: unknown;
520
+ };
521
+ $refs: {
522
+ [x: string]: unknown;
523
+ };
524
+ $slots: Readonly<{
525
+ [name: string]: Slot<any> | undefined;
526
+ }>;
527
+ $root: ComponentPublicInstance | null;
528
+ $parent: ComponentPublicInstance | null;
529
+ $host: Element | null;
530
+ $emit: (event: string, ...args: any[]) => void;
531
+ $el: HTMLDivElement;
532
+ $options: ComponentOptionsBase<Readonly<{
533
+ layout?: LayoutBox;
534
+ isActive?: boolean;
535
+ vector?: Vec2;
536
+ showStick?: boolean;
537
+ baseRadius?: Vec2;
538
+ }> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
539
+ beforeCreate?: (() => void) | (() => void)[];
540
+ created?: (() => void) | (() => void)[];
541
+ beforeMount?: (() => void) | (() => void)[];
542
+ mounted?: (() => void) | (() => void)[];
543
+ beforeUpdate?: (() => void) | (() => void)[];
544
+ updated?: (() => void) | (() => void)[];
545
+ activated?: (() => void) | (() => void)[];
546
+ deactivated?: (() => void) | (() => void)[];
547
+ beforeDestroy?: (() => void) | (() => void)[];
548
+ beforeUnmount?: (() => void) | (() => void)[];
549
+ destroyed?: (() => void) | (() => void)[];
550
+ unmounted?: (() => void) | (() => void)[];
551
+ renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
552
+ renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
553
+ errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
554
+ };
555
+ $forceUpdate: () => void;
556
+ $nextTick: nextTick;
557
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
558
+ } & Readonly<{}> & Omit<Readonly<{
559
+ layout?: LayoutBox;
560
+ isActive?: boolean;
561
+ vector?: Vec2;
562
+ showStick?: boolean;
563
+ baseRadius?: Vec2;
564
+ }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
565
+ $slots: {
566
+ base?(_: {
567
+ isActive: boolean | undefined;
568
+ vector: Vec2 | undefined;
569
+ }): any;
570
+ stick?(_: {
571
+ isActive: boolean | undefined;
572
+ vector: Vec2 | undefined;
573
+ }): any;
574
+ default?(_: {
575
+ isActive: boolean | undefined;
576
+ vector: Vec2 | undefined;
577
+ }): any;
578
+ };
579
+ }) | null;
580
+ };
581
+ rootEl: HTMLDivElement;
582
+ };
583
+
584
+ declare function __VLS_template_6(): {
585
+ attrs: Partial<{}>;
586
+ slots: {
587
+ base?(_: {
588
+ isActive: boolean | undefined;
589
+ label: string | undefined;
590
+ }): any;
591
+ default?(_: {
592
+ isActive: boolean | undefined;
593
+ label: string | undefined;
594
+ }): any;
595
+ };
596
+ refs: {
597
+ elementRef: ({
598
+ $: ComponentInternalInstance;
599
+ $data: {};
600
+ $props: {
601
+ readonly layout?: LayoutBox | undefined;
602
+ readonly isActive?: boolean | undefined;
603
+ readonly label?: string | undefined;
604
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
605
+ $attrs: {
606
+ [x: string]: unknown;
607
+ };
608
+ $refs: {
609
+ [x: string]: unknown;
610
+ };
611
+ $slots: Readonly<{
612
+ [name: string]: Slot<any> | undefined;
613
+ }>;
614
+ $root: ComponentPublicInstance | null;
615
+ $parent: ComponentPublicInstance | null;
616
+ $host: Element | null;
617
+ $emit: (event: string, ...args: any[]) => void;
618
+ $el: HTMLDivElement;
619
+ $options: ComponentOptionsBase<Readonly<{
620
+ layout?: LayoutBox;
621
+ isActive?: boolean;
622
+ label?: string;
623
+ }> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
624
+ beforeCreate?: (() => void) | (() => void)[];
625
+ created?: (() => void) | (() => void)[];
626
+ beforeMount?: (() => void) | (() => void)[];
627
+ mounted?: (() => void) | (() => void)[];
628
+ beforeUpdate?: (() => void) | (() => void)[];
629
+ updated?: (() => void) | (() => void)[];
630
+ activated?: (() => void) | (() => void)[];
631
+ deactivated?: (() => void) | (() => void)[];
632
+ beforeDestroy?: (() => void) | (() => void)[];
633
+ beforeUnmount?: (() => void) | (() => void)[];
634
+ destroyed?: (() => void) | (() => void)[];
635
+ unmounted?: (() => void) | (() => void)[];
636
+ renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
637
+ renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
638
+ errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
639
+ };
640
+ $forceUpdate: () => void;
641
+ $nextTick: nextTick;
642
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
643
+ } & Readonly<{}> & Omit<Readonly<{
644
+ layout?: LayoutBox;
645
+ isActive?: boolean;
646
+ label?: string;
647
+ }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
648
+ $slots: {
649
+ base?(_: {
650
+ isActive: boolean | undefined;
651
+ label: string | undefined;
652
+ }): any;
653
+ default?(_: {
654
+ isActive: boolean | undefined;
655
+ label: string | undefined;
656
+ }): any;
657
+ };
658
+ }) | null;
659
+ };
660
+ rootEl: HTMLDivElement;
661
+ };
662
+
663
+ declare function __VLS_template_7(): {
664
+ attrs: Partial<{}>;
665
+ slots: {
666
+ base?(_: {
667
+ isActive: boolean | undefined;
668
+ vector: Vec2 | undefined;
669
+ }): any;
670
+ 'stick-base'?(_: {
671
+ isActive: boolean | undefined;
672
+ label: string | undefined;
673
+ }): any;
674
+ stick?(_: {
675
+ isActive: boolean | undefined;
676
+ label: string | undefined;
677
+ }): any;
678
+ default?(_: {
679
+ isActive: boolean | undefined;
680
+ vector: Vec2 | undefined;
681
+ }): any;
682
+ };
683
+ refs: {
684
+ elementRef: ({
685
+ $: ComponentInternalInstance;
686
+ $data: {};
687
+ $props: {
688
+ readonly layout?: LayoutBox | undefined;
689
+ readonly isActive?: boolean | undefined;
690
+ readonly vector?: Vec2 | undefined;
691
+ readonly showStick?: boolean | undefined;
692
+ readonly baseRadius?: Vec2 | undefined;
693
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
694
+ $attrs: {
695
+ [x: string]: unknown;
696
+ };
697
+ $refs: {
698
+ [x: string]: unknown;
699
+ };
700
+ $slots: Readonly<{
701
+ [name: string]: Slot<any> | undefined;
702
+ }>;
703
+ $root: ComponentPublicInstance | null;
704
+ $parent: ComponentPublicInstance | null;
705
+ $host: Element | null;
706
+ $emit: (event: string, ...args: any[]) => void;
707
+ $el: HTMLDivElement;
708
+ $options: ComponentOptionsBase<Readonly<{
709
+ layout?: LayoutBox;
710
+ isActive?: boolean;
711
+ vector?: Vec2;
712
+ showStick?: boolean;
713
+ baseRadius?: Vec2;
714
+ }> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
715
+ beforeCreate?: (() => void) | (() => void)[];
716
+ created?: (() => void) | (() => void)[];
717
+ beforeMount?: (() => void) | (() => void)[];
718
+ mounted?: (() => void) | (() => void)[];
719
+ beforeUpdate?: (() => void) | (() => void)[];
720
+ updated?: (() => void) | (() => void)[];
721
+ activated?: (() => void) | (() => void)[];
722
+ deactivated?: (() => void) | (() => void)[];
723
+ beforeDestroy?: (() => void) | (() => void)[];
724
+ beforeUnmount?: (() => void) | (() => void)[];
725
+ destroyed?: (() => void) | (() => void)[];
726
+ unmounted?: (() => void) | (() => void)[];
727
+ renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
728
+ renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
729
+ errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
730
+ };
731
+ $forceUpdate: () => void;
732
+ $nextTick: nextTick;
733
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
734
+ } & Readonly<{}> & Omit<Readonly<{
735
+ layout?: LayoutBox;
736
+ isActive?: boolean;
737
+ vector?: Vec2;
738
+ showStick?: boolean;
739
+ baseRadius?: Vec2;
740
+ }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
741
+ $slots: {
742
+ base?(_: {
743
+ isActive: boolean | undefined;
744
+ vector: Vec2 | undefined;
745
+ }): any;
746
+ stick?(_: {
747
+ isActive: boolean | undefined;
748
+ vector: Vec2 | undefined;
749
+ }): any;
750
+ default?(_: {
751
+ isActive: boolean | undefined;
752
+ vector: Vec2 | undefined;
753
+ }): any;
754
+ };
755
+ }) | null;
756
+ };
757
+ rootEl: HTMLDivElement;
758
+ };
759
+
760
+ declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
761
+
762
+ declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
763
+
764
+ declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
765
+
766
+ declare type __VLS_TemplateResult_4 = ReturnType<typeof __VLS_template_4>;
767
+
768
+ declare type __VLS_TemplateResult_5 = ReturnType<typeof __VLS_template_5>;
769
+
770
+ declare type __VLS_TemplateResult_6 = ReturnType<typeof __VLS_template_6>;
771
+
772
+ declare type __VLS_TemplateResult_7 = ReturnType<typeof __VLS_template_7>;
773
+
774
+ declare type __VLS_WithTemplateSlots<T, S> = T & {
775
+ new (): {
776
+ $slots: S;
777
+ };
778
+ };
779
+
780
+ declare type __VLS_WithTemplateSlots_2<T, S> = T & {
781
+ new (): {
782
+ $slots: S;
783
+ };
784
+ };
785
+
786
+ declare type __VLS_WithTemplateSlots_3<T, S> = T & {
787
+ new (): {
788
+ $slots: S;
789
+ };
790
+ };
791
+
792
+ declare type __VLS_WithTemplateSlots_4<T, S> = T & {
793
+ new (): {
794
+ $slots: S;
795
+ };
796
+ };
797
+
798
+ declare type __VLS_WithTemplateSlots_5<T, S> = T & {
799
+ new (): {
800
+ $slots: S;
801
+ };
802
+ };
803
+
804
+ declare type __VLS_WithTemplateSlots_6<T, S> = T & {
805
+ new (): {
806
+ $slots: S;
807
+ };
808
+ };
809
+
810
+ declare type __VLS_WithTemplateSlots_7<T, S> = T & {
811
+ new (): {
812
+ $slots: S;
813
+ };
814
+ };
815
+
816
+ export declare function getComponent(type: string): Component;
817
+
818
+ export declare function getComponentSafe(type: string | undefined): Component | null;
819
+
820
+ export declare function hasRegisteredComponent(type: string | undefined): boolean;
821
+
822
+ export declare const InputZone: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
823
+
824
+ declare interface InputZoneProps {
825
+ /** The runtime tree node for automatic setup. */
826
+ treeNode?: ConfigTreeNode;
827
+ /** Unique configuration ID (CID) for this zone. Used for profile serialization. */
828
+ widgetId?: string;
829
+ /** Spatial layout configuration relative to its parent zone. */
830
+ layout?: LayoutBox;
831
+ /** If true, prevents the browser focus from leaving the game area when touching this zone. */
832
+ preventFocusLoss?: {
833
+ type: boolean;
834
+ default: undefined;
835
+ };
836
+ }
837
+
838
+ export declare function registerComponent(type: string, component: Component): void;
839
+
840
+ export declare const RootLayer: __VLS_WithTemplateSlots_2<typeof __VLS_component_2, __VLS_TemplateResult_2["slots"]>;
841
+
842
+ export declare const TargetZone: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
843
+
844
+ declare interface TargetZoneProps {
845
+ /** The runtime tree node for automatic setup. */
846
+ treeNode?: ConfigTreeNode;
847
+ /** Unique configuration ID (CID) for this zone. Used for profile serialization. */
848
+ widgetId?: string;
849
+ /** Whether to render a visual virtual cursor. */
850
+ cursorEnabled?: boolean;
851
+ /** Delay in milliseconds before the virtual cursor auto-hides after inactivity (0 to disable). */
852
+ cursorAutoDelay?: number;
853
+ /** Spatial layout configuration. Usually set to cover the entire game container. */
854
+ layout?: LayoutBox;
855
+ }
856
+
857
+ export declare const VirtualButton: __VLS_WithTemplateSlots_4<typeof __VLS_component_4, __VLS_TemplateResult_4["slots"]>;
858
+
859
+ declare interface VirtualButtonProps {
860
+ /** The runtime tree node for automatic setup. */
861
+ treeNode?: ConfigTreeNode;
862
+ /** Unique configuration ID (CID) for this button. Used for profile serialization. */
863
+ widgetId?: string;
864
+ /** The text or symbol displayed on the button surface. */
865
+ label?: string;
866
+ /** The ID (CID) of the TargetZone this button sends signals to, usually global ID. */
867
+ targetStageId?: string;
868
+ /** Keyboard or mouse event metadata to be emitted when triggered. */
869
+ mapping?: ButtonConfig['mapping'];
870
+ /** Spatial layout configuration relative to its parent zone. */
871
+ layout?: LayoutBox;
872
+ }
873
+
874
+ export declare const VirtualDPad: __VLS_WithTemplateSlots_5<typeof __VLS_component_5, __VLS_TemplateResult_5["slots"]>;
875
+
876
+ /**
877
+ * Props for the Virtual D-Pad component.
878
+ */
879
+ declare interface VirtualDPadProps {
880
+ /** The runtime tree node for automatic setup. */
881
+ treeNode?: ConfigTreeNode;
882
+ /** Unique configuration ID (CID) for this D-pad. Used for profile serialization. */
883
+ widgetId?: string;
884
+ /** The ID (CID) of the TargetZone this D-pad sends signals to, usually global ID. */
885
+ targetStageId?: string;
886
+ /** Defines the specific actions or key signals emitted for each cardinal direction. */
887
+ mapping?: DPadConfig['mapping'];
888
+ /**
889
+ * Determines the minimum travel distance required to trigger a direction.
890
+ * @default 0.3
891
+ */
892
+ threshold?: number;
893
+ /**
894
+ * Controls the visibility of the internal floating feedback handle (stick).
895
+ * @default false
896
+ */
897
+ showStick?: {
898
+ type: boolean;
899
+ default: undefined;
900
+ };
901
+ /** Spatial layout configuration relative to its parent zone. */
902
+ layout?: LayoutBox;
903
+ }
904
+
905
+ export declare const VirtualJoystick: __VLS_WithTemplateSlots_7<typeof __VLS_component_7, __VLS_TemplateResult_7["slots"]>;
906
+
907
+ declare interface VirtualJoystickProps {
908
+ /** The runtime tree node for automatic setup. */
909
+ treeNode?: ConfigTreeNode;
910
+ /** Unique configuration ID (CID) for this joystick. Used for profile serialization. */
911
+ widgetId?: string;
912
+ /** The text or symbol displayed on the stick button surface. */
913
+ label?: string;
914
+ /** The ID (CID) of the TargetZone this trackpad sends signals to. */
915
+ targetStageId?: string;
916
+ /** Determines the minimum travel distance required to trigger a direction. */
917
+ threshold?: number;
918
+ /** Whether enable cursor displacement simulation. */
919
+ cursorMode?: {
920
+ type: boolean;
921
+ default: undefined;
922
+ };
923
+ /** Determines the mapping velocity between the physical displacement of the joystick and the movement of the screen cursor. */
924
+ cursorSensitivity?: number;
925
+ /** Defines the specific actions or key signals emitted for each cardinal direction and stick button. */
926
+ mapping?: JoystickConfig['mapping'];
927
+ /** Spatial layout configuration relative to its parent zone. */
928
+ layout?: LayoutBox;
929
+ }
930
+
931
+ export declare const VirtualTrackpad: __VLS_WithTemplateSlots_6<typeof __VLS_component_6, __VLS_TemplateResult_6["slots"]>;
932
+
383
933
  declare interface VirtualTrackpadProps {
384
934
  /** The runtime tree node for automatic setup. */
385
935
  treeNode?: ConfigTreeNode;
@@ -391,6 +941,8 @@ declare interface VirtualTrackpadProps {
391
941
  sensitivity?: number;
392
942
  /** The ID (CID) of the TargetZone this trackpad sends signals to. */
393
943
  targetStageId?: string;
944
+ /** Optional: Mouse or keyboard event metadata to be emitted when triggered. */
945
+ mapping?: ActionMapping;
394
946
  /** Spatial layout configuration relative to its parent zone. */
395
947
  layout?: LayoutBox;
396
948
  }