@omnipad/vue 0.2.0-alpha.2 → 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.
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,127 +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: Vec2 | undefined;
77
- }): any;
78
- cursor?(_: {
79
- state: CursorState | undefined;
80
- isDown: boolean | undefined;
81
- cursorPos: Vec2 | undefined;
82
- }): any;
83
- };
84
- refs: {
85
- elementRef: HTMLDivElement;
86
- };
87
- 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;
88
61
  };
89
-
90
- declare type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
91
-
92
- declare type __VLS_TemplateResult_2 = ReturnType<typeof __VLS_template_2>;
93
-
94
- declare type __VLS_TemplateResult_3 = ReturnType<typeof __VLS_template_3>;
95
-
96
- declare type __VLS_WithTemplateSlots<T, S> = T & {
97
- new (): {
98
- $slots: S;
99
- };
62
+ $refs: {
63
+ [x: string]: unknown;
100
64
  };
101
-
102
- declare type __VLS_WithTemplateSlots_2<T, S> = T & {
103
- new (): {
104
- $slots: S;
105
- };
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)[];
106
93
  };
107
-
108
- declare type __VLS_WithTemplateSlots_3<T, S> = T & {
109
- new (): {
110
- $slots: S;
111
- };
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;
112
111
  };
112
+ }) | null;
113
+ }, HTMLDivElement>;
113
114
 
114
- export declare const InputZone: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
115
-
116
- declare interface InputZoneProps {
117
- /** The runtime tree node for automatic setup. */
118
- treeNode?: ConfigTreeNode;
119
- /** Unique configuration ID (CID) for this zone. Used for profile serialization. */
120
- widgetId?: string;
121
- /** Spatial layout configuration (position, size, anchor). */
122
- layout?: LayoutBox;
123
- /** If true, prevents the browser focus from leaving the game area when touching this zone. */
124
- preventFocusLoss?: {
125
- type: boolean;
126
- default: undefined;
127
- };
128
- }
129
-
130
- export declare function registerComponent(type: string, component: Component): void;
131
-
132
- export declare const RootLayer: __VLS_WithTemplateSlots_2<typeof __VLS_component_2, __VLS_TemplateResult_2["slots"]>;
133
-
134
- export declare const TargetZone: __VLS_WithTemplateSlots_3<typeof __VLS_component_3, __VLS_TemplateResult_3["slots"]>;
135
-
136
- declare interface TargetZoneProps {
137
- /** The runtime tree node for automatic setup. */
138
- treeNode?: ConfigTreeNode;
139
- /** Unique configuration ID (CID) for this zone. Used for profile serialization. */
140
- widgetId?: string;
141
- /** Whether the virtual visual cursor is enabled for this stage. */
142
- cursorEnabled?: boolean;
143
- /** Delay in milliseconds before the virtual cursor auto-hides after inactivity (0 to disable). */
144
- cursorAutoDelay?: number;
145
- /** Spatial layout configuration. Usually set to cover the entire game container. */
146
- layout?: LayoutBox;
147
- }
148
-
149
- export declare const VirtualKeyboardButton: DefineComponent<VirtualKeyButtonProps, {
115
+ declare const __VLS_component_5: DefineComponent<VirtualDPadProps, {
150
116
  uid: ComputedRef<any>;
151
- onPointerDown: (e: PointerEvent) => void | undefined;
152
- onPointerUp: (e: PointerEvent) => void | undefined;
153
- onPointerCancel: (e: PointerEvent) => void | undefined;
154
- }, {}, {}, {}, 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, {
155
122
  elementRef: ({
156
123
  $: ComponentInternalInstance;
157
124
  $data: {};
158
125
  $props: {
159
126
  readonly layout?: LayoutBox | undefined;
160
127
  readonly isActive?: boolean | undefined;
161
- readonly label?: string | undefined;
128
+ readonly vector?: Vec2 | undefined;
129
+ readonly showStick?: boolean | undefined;
130
+ readonly baseRadius?: Vec2 | undefined;
162
131
  } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
163
132
  $attrs: {
164
133
  [x: string]: unknown;
@@ -177,7 +146,9 @@ $el: HTMLDivElement;
177
146
  $options: ComponentOptionsBase<Readonly<{
178
147
  layout?: LayoutBox;
179
148
  isActive?: boolean;
180
- label?: string;
149
+ vector?: Vec2;
150
+ showStick?: boolean;
151
+ baseRadius?: Vec2;
181
152
  }> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
182
153
  beforeCreate?: (() => void) | (() => void)[];
183
154
  created?: (() => void) | (() => void)[];
@@ -201,38 +172,34 @@ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...
201
172
  } & Readonly<{}> & Omit<Readonly<{
202
173
  layout?: LayoutBox;
203
174
  isActive?: boolean;
204
- label?: string;
175
+ vector?: Vec2;
176
+ showStick?: boolean;
177
+ baseRadius?: Vec2;
205
178
  }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
206
179
  $slots: {
207
- 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;
208
192
  };
209
193
  }) | null;
210
194
  }, HTMLDivElement>;
211
195
 
212
- declare interface VirtualKeyButtonProps {
213
- /** The runtime tree node for automatic setup. */
214
- treeNode?: ConfigTreeNode;
215
- /** Unique configuration ID (CID) for this button. Used for profile serialization. */
216
- widgetId?: string;
217
- /** The text or symbol displayed on the button surface. */
218
- label?: string;
219
- /** The ID (CID) of the TargetZone this button sends signals to, usually global ID. */
220
- targetStageId?: string;
221
- /**
222
- * Mapping definitions for keyboard events.
223
- * Includes 'key', 'code', and legacy 'keyCode'.
224
- */
225
- mapping?: KeyboardButtonConfig['mapping'];
226
- /** Spatial layout configuration relative to its parent zone. */
227
- layout?: LayoutBox;
228
- }
229
-
230
- export declare const VirtualMouseButton: DefineComponent<VirtualMouseButtonProps, {
196
+ declare const __VLS_component_6: DefineComponent<VirtualTrackpadProps, {
231
197
  uid: ComputedRef<any>;
232
- onPointerDown: (e: PointerEvent) => void | undefined;
233
- onPointerUp: (e: PointerEvent) => void | undefined;
234
- onPointerCancel: (e: PointerEvent) => void | undefined;
235
- }, {}, {}, {}, 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, {
236
203
  elementRef: ({
237
204
  $: ComponentInternalInstance;
238
205
  $data: {};
@@ -285,45 +252,34 @@ isActive?: boolean;
285
252
  label?: string;
286
253
  }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
287
254
  $slots: {
288
- 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;
289
263
  };
290
264
  }) | null;
291
265
  }, HTMLDivElement>;
292
266
 
293
- declare interface VirtualMouseButtonProps {
294
- /** The runtime tree node for automatic setup. */
295
- treeNode?: ConfigTreeNode;
296
- /** Unique configuration ID (CID) for this button. Used for profile serialization. */
297
- widgetId?: string;
298
- /** The text or symbol displayed on the button surface. */
299
- label?: string;
300
- /** The ID (CID) of the TargetZone this button sends signals to. */
301
- targetStageId?: string;
302
- /** 0: Left, 1: Middle, 2: Right */
303
- button?: 0 | 1 | 2;
304
- /**
305
- * Fixed coordinate to click on (0-100 percentage).
306
- * Example: { x: 95, y: 5 } for a pause button in the corner.
307
- */
308
- fixedPoint?: Vec2;
309
- /** Spatial layout configuration relative to its parent zone. */
310
- layout?: LayoutBox;
311
- }
312
-
313
- export declare const VirtualTrackpad: DefineComponent<VirtualTrackpadProps, {
267
+ declare const __VLS_component_7: DefineComponent<VirtualJoystickProps, {
314
268
  uid: ComputedRef<any>;
315
- onPointerDown: (e: PointerEvent) => void | undefined;
316
- onPointerMove: (e: PointerEvent) => void | undefined;
317
- onPointerUp: (e: PointerEvent) => void | undefined;
318
- onPointerCancel: (e: PointerEvent) => void | undefined;
319
- }, {}, {}, {}, 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, {
320
274
  elementRef: ({
321
275
  $: ComponentInternalInstance;
322
276
  $data: {};
323
277
  $props: {
324
278
  readonly layout?: LayoutBox | undefined;
325
279
  readonly isActive?: boolean | undefined;
326
- readonly label?: string | undefined;
280
+ readonly vector?: Vec2 | undefined;
281
+ readonly showStick?: boolean | undefined;
282
+ readonly baseRadius?: Vec2 | undefined;
327
283
  } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
328
284
  $attrs: {
329
285
  [x: string]: unknown;
@@ -342,7 +298,9 @@ $el: HTMLDivElement;
342
298
  $options: ComponentOptionsBase<Readonly<{
343
299
  layout?: LayoutBox;
344
300
  isActive?: boolean;
345
- label?: string;
301
+ vector?: Vec2;
302
+ showStick?: boolean;
303
+ baseRadius?: Vec2;
346
304
  }> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
347
305
  beforeCreate?: (() => void) | (() => void)[];
348
306
  created?: (() => void) | (() => void)[];
@@ -366,14 +324,612 @@ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...
366
324
  } & Readonly<{}> & Omit<Readonly<{
367
325
  layout?: LayoutBox;
368
326
  isActive?: boolean;
369
- label?: string;
327
+ vector?: Vec2;
328
+ showStick?: boolean;
329
+ baseRadius?: Vec2;
370
330
  }> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
371
331
  $slots: {
372
- 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;
373
344
  };
374
345
  }) | null;
375
346
  }, HTMLDivElement>;
376
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
+
377
933
  declare interface VirtualTrackpadProps {
378
934
  /** The runtime tree node for automatic setup. */
379
935
  treeNode?: ConfigTreeNode;
@@ -385,6 +941,8 @@ declare interface VirtualTrackpadProps {
385
941
  sensitivity?: number;
386
942
  /** The ID (CID) of the TargetZone this trackpad sends signals to. */
387
943
  targetStageId?: string;
944
+ /** Optional: Mouse or keyboard event metadata to be emitted when triggered. */
945
+ mapping?: ActionMapping;
388
946
  /** Spatial layout configuration relative to its parent zone. */
389
947
  layout?: LayoutBox;
390
948
  }