@omnipad/core 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/chunk-42WBUPM3.cjs +1 -0
  2. package/dist/chunk-45F3BQT7.cjs +1 -0
  3. package/dist/chunk-52YF3VHH.cjs +1 -0
  4. package/dist/chunk-6XY2ZHZ3.mjs +1 -0
  5. package/dist/chunk-AK3RL7NL.mjs +1 -0
  6. package/dist/chunk-EYKCVOUA.mjs +1 -0
  7. package/dist/chunk-HCOFKHVV.cjs +1 -0
  8. package/dist/chunk-HQNUZXP5.mjs +1 -0
  9. package/dist/chunk-J5SVBM6K.mjs +1 -0
  10. package/dist/chunk-NB4FTDOP.cjs +1 -0
  11. package/dist/chunk-OVV5DKL6.cjs +1 -0
  12. package/dist/chunk-YAS6LFBF.mjs +1 -0
  13. package/dist/dom/index.cjs +1 -1
  14. package/dist/dom/index.d.cts +105 -36
  15. package/dist/dom/index.d.ts +105 -36
  16. package/dist/dom/index.mjs +1 -1
  17. package/dist/guest/index.cjs +1 -0
  18. package/dist/guest/index.d.cts +21 -0
  19. package/dist/guest/index.d.ts +21 -0
  20. package/dist/guest/index.mjs +1 -0
  21. package/dist/{index-DVegtw8s.d.cts → index-Dd0aHJaA.d.cts} +739 -27
  22. package/dist/{index-DVegtw8s.d.ts → index-Dd0aHJaA.d.ts} +739 -27
  23. package/dist/index.cjs +1 -1
  24. package/dist/index.d.cts +282 -5
  25. package/dist/index.d.ts +282 -5
  26. package/dist/index.mjs +1 -1
  27. package/dist/sticky-CCj0ECTY.d.cts +285 -0
  28. package/dist/sticky-d_z_GU83.d.ts +285 -0
  29. package/dist/utils/index.cjs +1 -1
  30. package/dist/utils/index.d.cts +122 -69
  31. package/dist/utils/index.d.ts +122 -69
  32. package/dist/utils/index.mjs +1 -1
  33. package/package.json +9 -1
  34. package/dist/chunk-FSJTQU4W.cjs +0 -1
  35. package/dist/chunk-MKVX5ALC.mjs +0 -1
  36. package/dist/chunk-PACTGVBB.mjs +0 -1
  37. package/dist/chunk-U52W5J3K.cjs +0 -1
  38. package/dist/chunk-V7AHGFPB.mjs +0 -1
  39. package/dist/chunk-VHF3K5X6.cjs +0 -1
  40. package/dist/chunk-ZHPNS73J.cjs +0 -1
  41. package/dist/chunk-ZM2LX5IW.mjs +0 -1
  42. package/dist/sticky-4yk5DLzG.d.cts +0 -59
  43. package/dist/sticky-CLBq1EPa.d.ts +0 -59
  44. package/dist/traits-D6ePqSA6.d.cts +0 -152
  45. package/dist/traits-dAndzyWS.d.ts +0 -152
package/dist/index.d.cts CHANGED
@@ -1,7 +1,37 @@
1
- import { I as InputActionSignal, V as Vec2, E as EntityType, A as AbstractRect, B as ButtonConfig, a as AbstractPointerEvent, D as DPadConfig, b as InputZoneConfig, c as AnyFunction, J as JoystickConfig, d as BaseConfig, T as TargetZoneConfig, e as TrackpadConfig } from './index-DVegtw8s.cjs';
2
- export { f as ACTION_TYPES, g as ActionMapping, h as AnchorPoint, i as AnyConfig, j as AnyEntityType, k as BuiltInActionType, C as CMP_TYPES, l as CONTEXT, m as ConfigTreeNode, n as CssUnit, F as FlatConfigItem, o as FlexibleLength, G as GamepadMappingConfig, p as InputActionType, K as KEYS, q as KeyMapping, L as LayoutBox, O as OmniPadProfile, P as ParsedLength, S as StageId, r as StandardButton, s as VALID_UNITS, W as WidgetId, t as WidgetType, Z as ZoneId, u as ZoneType } from './index-DVegtw8s.cjs';
3
- import { I as ICoreEntity, a as ISpatial, b as IResettable, c as IConfigurable, d as IStateful, e as IPointerHandler, f as IProgrammatic, g as IDependencyBindable, h as ISignalReceiver } from './traits-D6ePqSA6.cjs';
4
- export { i as IIdentifiable, j as ILifecycle } from './traits-D6ePqSA6.cjs';
1
+ import { I as InputActionSignal, V as Vec2, A as AnyFunction, C as ConfigTreeNode, B as BaseConfig, E as EntityType, a as AbstractRect, G as GamepadMappingConfig, O as OmniPadProfile, b as ButtonConfig, c as AbstractPointerEvent, D as DPadConfig, d as InputZoneConfig, J as JoystickConfig, T as TargetZoneConfig, e as TrackpadConfig } from './index-Dd0aHJaA.cjs';
2
+ export { f as ACTION_TYPES, g as ActionMapping, h as AnchorPoint, i as AnyConfig, j as AnyEntityType, k as BuiltInActionType, l as CMP_TYPES, m as CONTEXT, n as CssUnit, F as FlatConfigItem, o as FlexibleLength, p as InputActionType, K as KEYS, q as KeyMapping, L as LayoutBox, P as ParsedLength, S as StageId, r as StandardButton, s as VALID_UNITS, W as WidgetId, t as WidgetType, Z as ZoneId, u as ZoneType } from './index-Dd0aHJaA.cjs';
3
+ import { I as ICoreEntity, a as IElementObserver, S as StickyProvider, b as ISpatial, c as IResettable, d as IConfigurable, e as IStateful, f as IPointerHandler, g as IProgrammatic, h as IDependencyBindable, i as ISignalReceiver } from './sticky-CCj0ECTY.cjs';
4
+ export { j as IIdentifiable, k as ILifecycle, l as StickyController } from './sticky-CCj0ECTY.cjs';
5
+
6
+ /**
7
+ * A unique signature used to identify and verify that messages received via
8
+ * window.postMessage originate from the OmniPad system.
9
+ */
10
+ declare const OMNIPAD_IPC_SIGNATURE = "__OMNIPAD_IPC_V1__";
11
+ /**
12
+ * Represents the structure of a data packet used for Inter-Process Communication (IPC)
13
+ * between the Host (main window) and the Guest (iframe).
14
+ */
15
+ interface IpcMessage {
16
+ /** Verification string to filter out external third-party messages */
17
+ signature: typeof OMNIPAD_IPC_SIGNATURE;
18
+ /**
19
+ * The broad category of the input event.
20
+ * Distinguishes between spatial interactions and discrete key signals.
21
+ */
22
+ type: 'pointer' | 'keyboard';
23
+ /**
24
+ * The specific event action name.
25
+ * Corresponds to standard browser event types like 'pointerdown', 'mousemove', 'keydown', etc.
26
+ */
27
+ action: string;
28
+ /**
29
+ * The data payload for the event.
30
+ * For 'pointer' type: Contains relative coordinates {x, y} and event options.
31
+ * For 'keyboard' type: Contains key mapping data {key, code, keyCode}.
32
+ */
33
+ payload: any;
34
+ }
5
35
 
6
36
  /**
7
37
  * Interface for the global Registry singleton.
@@ -172,6 +202,138 @@ interface DPadState extends InteractionState, AxisLogicState {
172
202
  interface JoystickState extends InteractionState, AxisLogicState, ButtonLogicState {
173
203
  }
174
204
 
205
+ /**
206
+ * Binds a map of delegate functions to a core entity instance.
207
+ *
208
+ * @param entity - The target entity instance.
209
+ * @param delegates - A key-value map of functions to bind.
210
+ */
211
+ declare function bindEntityDelegates(entity: any, delegates?: Record<string, AnyFunction>): void;
212
+ /**
213
+ * Orchestrates environment-agnostic spatial and visibility logic for an entity.
214
+ *
215
+ * @template T - The type of the physical element (e.g., HTMLElement, Element).
216
+ * @param entity - The logic core entity instance (must implement ICoreEntity).
217
+ * @param element - The physical element target to be observed.
218
+ * @param observer - The unified observer singleton (RO/IO) to track the element.
219
+ * @param getRect - An environment-specific function to retrieve the element's current Rect.
220
+ * @param stickyProvider - Optional. If provided, its cache will be invalidated alongside the entity's.
221
+ *
222
+ * @returns A cleanup function to disconnect all registered observers.
223
+ */
224
+ declare function setupSpatialLogic<T>(entity: any, element: T, observer: IElementObserver<T>, getRect: (el: T) => AbstractRect, stickyProvider?: StickyProvider<T> | null): () => void;
225
+ /**
226
+ * Filters out a specific dynamic child node from the tree by its ID (UID).
227
+ *
228
+ * @param children - The array of tree nodes to filter.
229
+ * @param dynamicWidgetId - The UID of the widget to be removed.
230
+ * @returns A new array excluding the specified dynamic child, or an empty array.
231
+ */
232
+ declare function filterNotDynamicChildren(children: ConfigTreeNode[] | undefined, dynamicWidgetId: string): ConfigTreeNode[];
233
+ /**
234
+ * Extract filtered override configurations.
235
+ * @param props Original Props object (e.g. Vue's props)
236
+ * @param skipKeys Ignore key set
237
+ */
238
+ declare function getOverrideProps(props: Record<string, any>, skipKeys: Set<string>): Record<string, any>;
239
+ /**
240
+ * Merges multiple configuration sources into a unified widget configuration object.
241
+ *
242
+ * @description
243
+ * This function performs a shallow merge of the provided configuration objects with a
244
+ * specific precedence order (Right-most takes priority). It also performs a one-level
245
+ * deep merge specifically for the `layout` property to ensure layout settings are
246
+ * preserved across different sources.
247
+ *
248
+ * **Merge Priority (Highest to Lowest):**
249
+ * 1. Fixed metadata (`id`, `baseType`, `parentId`) - *Guaranteed overrides*
250
+ * 2. `overrideProps`
251
+ * 3. `treeConfig`
252
+ * 4. `defaultProps`
253
+ *
254
+ * @param requiredType - The formal entity type (e.g., 'button', 'input-zone') assigned to `baseType`.
255
+ * @param uid - The unique identifier to be assigned to the `id` property.
256
+ * @param parentId - The unique identifier of the parent container, if any.
257
+ * @param defaultProps - The baseline fallback configuration.
258
+ * @param treeConfig - Configuration derived from the widget tree structure.
259
+ * @param overrideProps - Domain-specific or instance-specific property overrides.
260
+ *
261
+ * @returns A complete configuration object of type `T`.
262
+ */
263
+ declare function mergeWidgetConfig<T extends BaseConfig>(requiredType: EntityType, uid: string, parentId: string | undefined, defaultProps: Record<string, any>, treeConfig: Record<string, any>, overrideProps: Record<string, any>): T;
264
+ /**
265
+ * Resolves the dynamic widget instance to be rendered based on priority and exclusivity rules.
266
+ *
267
+ * This utility handles conflicts between manual components provided via slots and template
268
+ * components defined in the configuration. It implements a "Slot-First" strategy:
269
+ * 1. If slot nodes are present, the first valid node is chosen, and configuration templates are ignored.
270
+ * 2. If no slot nodes are present, it fallbacks to searching the configuration children for the matching UID.
271
+ * 3. Enforces uniqueness by ensuring only one component is rendered even if multiple are provided.
272
+ *
273
+ * @template T - The type of the node provided by the adapter (e.g., Vue VNode).
274
+ * @param slotNodes - An array of nodes retrieved from the dynamic widget slot.
275
+ * @param children - The array of child nodes from the current ConfigTreeNode.
276
+ * @param dynamicId - The UID assigned to the dynamic widget template.
277
+ * @returns An object containing the resolved node to render and its source origin.
278
+ */
279
+ declare function resolveDynamicWidget<T>(slotNodes: T[], children: ConfigTreeNode[] | undefined, dynamicId: string): {
280
+ nodeToRender: T | ConfigTreeNode | null;
281
+ isFromSlot: boolean;
282
+ };
283
+ /**
284
+ * Validates that the provided node exists and is non-empty.
285
+ *
286
+ * It matches the node against the `requiredType` by checking both the protocol-level `config.baseType`
287
+ * and the potentially custom `type`.
288
+ *
289
+ * @param node - The configuration node to validate. Can be `undefined`.
290
+ * @param requiredType - The expected {@link EntityType} the node should represent.
291
+ *
292
+ * @returns The original `node` if validation passes; otherwise, `undefined`.
293
+ */
294
+ declare function validateWidgetNode(node: ConfigTreeNode | undefined, requiredType: EntityType): ConfigTreeNode | undefined;
295
+
296
+ /**
297
+ * Validates and normalizes raw JSON data into a standard OmniPadProfile.
298
+ * Performs structural checks and injects default metadata.
299
+ *
300
+ * @param raw - The raw JSON object from disk or network.
301
+ * @returns A validated OmniPadProfile object.
302
+ * @throws Error if the core structure is invalid.
303
+ */
304
+ declare function parseProfileJson(raw: any): OmniPadProfile;
305
+ /**
306
+ * The resulting structure after parsing a OmniPadProfile.
307
+ * Contains a map of root nodes and a runtime-ready gamepad mapping table.
308
+ */
309
+ interface ParsedProfileForest {
310
+ /** Root nodes indexed by their original Config ID. */
311
+ roots: Record<string, ConfigTreeNode>;
312
+ /**
313
+ * Processed gamepad mapping where all CIDs have been
314
+ * translated into unique runtime UIDs.
315
+ */
316
+ runtimeGamepadMappings: GamepadMappingConfig[];
317
+ }
318
+ /**
319
+ * Converts a flat OmniPadProfile into a forest of ConfigTreeNodes for runtime rendering.
320
+ * Automatically identifies all items without a parentId as root nodes.
321
+ *
322
+ * @param profile - The normalized profile data.
323
+ * @returns A record map of root nodes, keyed by their original configuration ID.
324
+ */
325
+ declare function parseProfileTrees(profile: OmniPadProfile): ParsedProfileForest;
326
+ /**
327
+ * Serializes the specified runtime entities into a flat OmniPadProfile.
328
+ * If no rootUids are provided, exports all entities currently in the registry.
329
+ *
330
+ * @param meta - Metadata for the exported profile.
331
+ * @param rootUid - The Entity ID of the node to be treated as the root.
332
+ * @param runtimeGamepadMapping - The current mapping from GamepadManager (using UIDs).
333
+ * @returns A flat OmniPadProfile ready for storage.
334
+ */
335
+ declare function exportProfile(meta: OmniPadProfile['meta'], rootUids?: string[], runtimeGamepadMappings?: Readonly<GamepadMappingConfig[]>): OmniPadProfile;
336
+
175
337
  /**
176
338
  * Configures the global fallback handler for action signals.
177
339
  *
@@ -525,500 +687,615 @@ declare const OmniPad: {
525
687
  };
526
688
  Keys: {
527
689
  readonly Backspace: {
690
+ readonly type: "keyboard";
528
691
  readonly key: "Backspace";
529
692
  readonly code: "Backspace";
530
693
  readonly keyCode: 8;
531
694
  };
532
695
  readonly Tab: {
696
+ readonly type: "keyboard";
533
697
  readonly key: "Tab";
534
698
  readonly code: "Tab";
535
699
  readonly keyCode: 9;
536
700
  };
537
701
  readonly Enter: {
702
+ readonly type: "keyboard";
538
703
  readonly key: "Enter";
539
704
  readonly code: "Enter";
540
705
  readonly keyCode: 13;
541
706
  };
542
707
  readonly ShiftLeft: {
708
+ readonly type: "keyboard";
543
709
  readonly key: "Shift";
544
710
  readonly code: "ShiftLeft";
545
711
  readonly keyCode: 16;
546
712
  };
547
713
  readonly ControlLeft: {
714
+ readonly type: "keyboard";
548
715
  readonly key: "Control";
549
716
  readonly code: "ControlLeft";
550
717
  readonly keyCode: 17;
551
718
  };
552
719
  readonly AltLeft: {
720
+ readonly type: "keyboard";
553
721
  readonly key: "Alt";
554
722
  readonly code: "AltLeft";
555
723
  readonly keyCode: 18;
556
724
  };
557
725
  readonly Pause: {
726
+ readonly type: "keyboard";
558
727
  readonly key: "Pause";
559
728
  readonly code: "Pause";
560
729
  readonly keyCode: 19;
561
730
  };
562
731
  readonly CapsLock: {
732
+ readonly type: "keyboard";
563
733
  readonly key: "CapsLock";
564
734
  readonly code: "CapsLock";
565
735
  readonly keyCode: 20;
566
736
  };
567
737
  readonly Escape: {
738
+ readonly type: "keyboard";
568
739
  readonly key: "Escape";
569
740
  readonly code: "Escape";
570
741
  readonly keyCode: 27;
571
742
  };
572
743
  readonly Space: {
744
+ readonly type: "keyboard";
573
745
  readonly key: " ";
574
746
  readonly code: "Space";
575
747
  readonly keyCode: 32;
576
748
  };
577
749
  readonly PageUp: {
750
+ readonly type: "keyboard";
578
751
  readonly key: "PageUp";
579
752
  readonly code: "PageUp";
580
753
  readonly keyCode: 33;
581
754
  };
582
755
  readonly PageDown: {
756
+ readonly type: "keyboard";
583
757
  readonly key: "PageDown";
584
758
  readonly code: "PageDown";
585
759
  readonly keyCode: 34;
586
760
  };
587
761
  readonly End: {
762
+ readonly type: "keyboard";
588
763
  readonly key: "End";
589
764
  readonly code: "End";
590
765
  readonly keyCode: 35;
591
766
  };
592
767
  readonly Home: {
768
+ readonly type: "keyboard";
593
769
  readonly key: "Home";
594
770
  readonly code: "Home";
595
771
  readonly keyCode: 36;
596
772
  };
597
773
  readonly ArrowLeft: {
774
+ readonly type: "keyboard";
598
775
  readonly key: "ArrowLeft";
599
776
  readonly code: "ArrowLeft";
600
777
  readonly keyCode: 37;
601
778
  };
602
779
  readonly ArrowUp: {
780
+ readonly type: "keyboard";
603
781
  readonly key: "ArrowUp";
604
782
  readonly code: "ArrowUp";
605
783
  readonly keyCode: 38;
606
784
  };
607
785
  readonly ArrowRight: {
786
+ readonly type: "keyboard";
608
787
  readonly key: "ArrowRight";
609
788
  readonly code: "ArrowRight";
610
789
  readonly keyCode: 39;
611
790
  };
612
791
  readonly ArrowDown: {
792
+ readonly type: "keyboard";
613
793
  readonly key: "ArrowDown";
614
794
  readonly code: "ArrowDown";
615
795
  readonly keyCode: 40;
616
796
  };
617
797
  readonly PrintScreen: {
798
+ readonly type: "keyboard";
618
799
  readonly key: "PrintScreen";
619
800
  readonly code: "PrintScreen";
620
801
  readonly keyCode: 44;
621
802
  };
622
803
  readonly Insert: {
804
+ readonly type: "keyboard";
623
805
  readonly key: "Insert";
624
806
  readonly code: "Insert";
625
807
  readonly keyCode: 45;
626
808
  };
627
809
  readonly Delete: {
810
+ readonly type: "keyboard";
628
811
  readonly key: "Delete";
629
812
  readonly code: "Delete";
630
813
  readonly keyCode: 46;
631
814
  };
632
815
  readonly Digit0: {
816
+ readonly type: "keyboard";
633
817
  readonly key: "0";
634
818
  readonly code: "Digit0";
635
819
  readonly keyCode: 48;
636
820
  };
637
821
  readonly Digit1: {
822
+ readonly type: "keyboard";
638
823
  readonly key: "1";
639
824
  readonly code: "Digit1";
640
825
  readonly keyCode: 49;
641
826
  };
642
827
  readonly Digit2: {
828
+ readonly type: "keyboard";
643
829
  readonly key: "2";
644
830
  readonly code: "Digit2";
645
831
  readonly keyCode: 50;
646
832
  };
647
833
  readonly Digit3: {
834
+ readonly type: "keyboard";
648
835
  readonly key: "3";
649
836
  readonly code: "Digit3";
650
837
  readonly keyCode: 51;
651
838
  };
652
839
  readonly Digit4: {
840
+ readonly type: "keyboard";
653
841
  readonly key: "4";
654
842
  readonly code: "Digit4";
655
843
  readonly keyCode: 52;
656
844
  };
657
845
  readonly Digit5: {
846
+ readonly type: "keyboard";
658
847
  readonly key: "5";
659
848
  readonly code: "Digit5";
660
849
  readonly keyCode: 53;
661
850
  };
662
851
  readonly Digit6: {
852
+ readonly type: "keyboard";
663
853
  readonly key: "6";
664
854
  readonly code: "Digit6";
665
855
  readonly keyCode: 54;
666
856
  };
667
857
  readonly Digit7: {
858
+ readonly type: "keyboard";
668
859
  readonly key: "7";
669
860
  readonly code: "Digit7";
670
861
  readonly keyCode: 55;
671
862
  };
672
863
  readonly Digit8: {
864
+ readonly type: "keyboard";
673
865
  readonly key: "8";
674
866
  readonly code: "Digit8";
675
867
  readonly keyCode: 56;
676
868
  };
677
869
  readonly Digit9: {
870
+ readonly type: "keyboard";
678
871
  readonly key: "9";
679
872
  readonly code: "Digit9";
680
873
  readonly keyCode: 57;
681
874
  };
682
875
  readonly KeyA: {
876
+ readonly type: "keyboard";
683
877
  readonly key: "a";
684
878
  readonly code: "KeyA";
685
879
  readonly keyCode: 65;
686
880
  };
687
881
  readonly KeyB: {
882
+ readonly type: "keyboard";
688
883
  readonly key: "b";
689
884
  readonly code: "KeyB";
690
885
  readonly keyCode: 66;
691
886
  };
692
887
  readonly KeyC: {
888
+ readonly type: "keyboard";
693
889
  readonly key: "c";
694
890
  readonly code: "KeyC";
695
891
  readonly keyCode: 67;
696
892
  };
697
893
  readonly KeyD: {
894
+ readonly type: "keyboard";
698
895
  readonly key: "d";
699
896
  readonly code: "KeyD";
700
897
  readonly keyCode: 68;
701
898
  };
702
899
  readonly KeyE: {
900
+ readonly type: "keyboard";
703
901
  readonly key: "e";
704
902
  readonly code: "KeyE";
705
903
  readonly keyCode: 69;
706
904
  };
707
905
  readonly KeyF: {
906
+ readonly type: "keyboard";
708
907
  readonly key: "f";
709
908
  readonly code: "KeyF";
710
909
  readonly keyCode: 70;
711
910
  };
712
911
  readonly KeyG: {
912
+ readonly type: "keyboard";
713
913
  readonly key: "g";
714
914
  readonly code: "KeyG";
715
915
  readonly keyCode: 71;
716
916
  };
717
917
  readonly KeyH: {
918
+ readonly type: "keyboard";
718
919
  readonly key: "h";
719
920
  readonly code: "KeyH";
720
921
  readonly keyCode: 72;
721
922
  };
722
923
  readonly KeyI: {
924
+ readonly type: "keyboard";
723
925
  readonly key: "i";
724
926
  readonly code: "KeyI";
725
927
  readonly keyCode: 73;
726
928
  };
727
929
  readonly KeyJ: {
930
+ readonly type: "keyboard";
728
931
  readonly key: "j";
729
932
  readonly code: "KeyJ";
730
933
  readonly keyCode: 74;
731
934
  };
732
935
  readonly KeyK: {
936
+ readonly type: "keyboard";
733
937
  readonly key: "k";
734
938
  readonly code: "KeyK";
735
939
  readonly keyCode: 75;
736
940
  };
737
941
  readonly KeyL: {
942
+ readonly type: "keyboard";
738
943
  readonly key: "l";
739
944
  readonly code: "KeyL";
740
945
  readonly keyCode: 76;
741
946
  };
742
947
  readonly KeyM: {
948
+ readonly type: "keyboard";
743
949
  readonly key: "m";
744
950
  readonly code: "KeyM";
745
951
  readonly keyCode: 77;
746
952
  };
747
953
  readonly KeyN: {
954
+ readonly type: "keyboard";
748
955
  readonly key: "n";
749
956
  readonly code: "KeyN";
750
957
  readonly keyCode: 78;
751
958
  };
752
959
  readonly KeyO: {
960
+ readonly type: "keyboard";
753
961
  readonly key: "o";
754
962
  readonly code: "KeyO";
755
963
  readonly keyCode: 79;
756
964
  };
757
965
  readonly KeyP: {
966
+ readonly type: "keyboard";
758
967
  readonly key: "p";
759
968
  readonly code: "KeyP";
760
969
  readonly keyCode: 80;
761
970
  };
762
971
  readonly KeyQ: {
972
+ readonly type: "keyboard";
763
973
  readonly key: "q";
764
974
  readonly code: "KeyQ";
765
975
  readonly keyCode: 81;
766
976
  };
767
977
  readonly KeyR: {
978
+ readonly type: "keyboard";
768
979
  readonly key: "r";
769
980
  readonly code: "KeyR";
770
981
  readonly keyCode: 82;
771
982
  };
772
983
  readonly KeyS: {
984
+ readonly type: "keyboard";
773
985
  readonly key: "s";
774
986
  readonly code: "KeyS";
775
987
  readonly keyCode: 83;
776
988
  };
777
989
  readonly KeyT: {
990
+ readonly type: "keyboard";
778
991
  readonly key: "t";
779
992
  readonly code: "KeyT";
780
993
  readonly keyCode: 84;
781
994
  };
782
995
  readonly KeyU: {
996
+ readonly type: "keyboard";
783
997
  readonly key: "u";
784
998
  readonly code: "KeyU";
785
999
  readonly keyCode: 85;
786
1000
  };
787
1001
  readonly KeyV: {
1002
+ readonly type: "keyboard";
788
1003
  readonly key: "v";
789
1004
  readonly code: "KeyV";
790
1005
  readonly keyCode: 86;
791
1006
  };
792
1007
  readonly KeyW: {
1008
+ readonly type: "keyboard";
793
1009
  readonly key: "w";
794
1010
  readonly code: "KeyW";
795
1011
  readonly keyCode: 87;
796
1012
  };
797
1013
  readonly KeyX: {
1014
+ readonly type: "keyboard";
798
1015
  readonly key: "x";
799
1016
  readonly code: "KeyX";
800
1017
  readonly keyCode: 88;
801
1018
  };
802
1019
  readonly KeyY: {
1020
+ readonly type: "keyboard";
803
1021
  readonly key: "y";
804
1022
  readonly code: "KeyY";
805
1023
  readonly keyCode: 89;
806
1024
  };
807
1025
  readonly KeyZ: {
1026
+ readonly type: "keyboard";
808
1027
  readonly key: "z";
809
1028
  readonly code: "KeyZ";
810
1029
  readonly keyCode: 90;
811
1030
  };
812
1031
  readonly MetaLeft: {
1032
+ readonly type: "keyboard";
813
1033
  readonly key: "Meta";
814
1034
  readonly code: "MetaLeft";
815
1035
  readonly keyCode: 91;
816
1036
  };
817
1037
  readonly ContextMenu: {
1038
+ readonly type: "keyboard";
818
1039
  readonly key: "ContextMenu";
819
1040
  readonly code: "ContextMenu";
820
1041
  readonly keyCode: 93;
821
1042
  };
822
1043
  readonly Numpad0: {
1044
+ readonly type: "keyboard";
823
1045
  readonly key: "0";
824
1046
  readonly code: "Numpad0";
825
1047
  readonly keyCode: 96;
826
1048
  };
827
1049
  readonly Numpad1: {
1050
+ readonly type: "keyboard";
828
1051
  readonly key: "1";
829
1052
  readonly code: "Numpad1";
830
1053
  readonly keyCode: 97;
831
1054
  };
832
1055
  readonly Numpad2: {
1056
+ readonly type: "keyboard";
833
1057
  readonly key: "2";
834
1058
  readonly code: "Numpad2";
835
1059
  readonly keyCode: 98;
836
1060
  };
837
1061
  readonly Numpad3: {
1062
+ readonly type: "keyboard";
838
1063
  readonly key: "3";
839
1064
  readonly code: "Numpad3";
840
1065
  readonly keyCode: 99;
841
1066
  };
842
1067
  readonly Numpad4: {
1068
+ readonly type: "keyboard";
843
1069
  readonly key: "4";
844
1070
  readonly code: "Numpad4";
845
1071
  readonly keyCode: 100;
846
1072
  };
847
1073
  readonly Numpad5: {
1074
+ readonly type: "keyboard";
848
1075
  readonly key: "5";
849
1076
  readonly code: "Numpad5";
850
1077
  readonly keyCode: 101;
851
1078
  };
852
1079
  readonly Numpad6: {
1080
+ readonly type: "keyboard";
853
1081
  readonly key: "6";
854
1082
  readonly code: "Numpad6";
855
1083
  readonly keyCode: 102;
856
1084
  };
857
1085
  readonly Numpad7: {
1086
+ readonly type: "keyboard";
858
1087
  readonly key: "7";
859
1088
  readonly code: "Numpad7";
860
1089
  readonly keyCode: 103;
861
1090
  };
862
1091
  readonly Numpad8: {
1092
+ readonly type: "keyboard";
863
1093
  readonly key: "8";
864
1094
  readonly code: "Numpad8";
865
1095
  readonly keyCode: 104;
866
1096
  };
867
1097
  readonly Numpad9: {
1098
+ readonly type: "keyboard";
868
1099
  readonly key: "9";
869
1100
  readonly code: "Numpad9";
870
1101
  readonly keyCode: 105;
871
1102
  };
872
1103
  readonly NumpadMultiply: {
1104
+ readonly type: "keyboard";
873
1105
  readonly key: "*";
874
1106
  readonly code: "NumpadMultiply";
875
1107
  readonly keyCode: 106;
876
1108
  };
877
1109
  readonly NumpadAdd: {
1110
+ readonly type: "keyboard";
878
1111
  readonly key: "+";
879
1112
  readonly code: "NumpadAdd";
880
1113
  readonly keyCode: 107;
881
1114
  };
882
1115
  readonly NumpadSubtract: {
1116
+ readonly type: "keyboard";
883
1117
  readonly key: "-";
884
1118
  readonly code: "NumpadSubtract";
885
1119
  readonly keyCode: 109;
886
1120
  };
887
1121
  readonly NumpadDecimal: {
1122
+ readonly type: "keyboard";
888
1123
  readonly key: ".";
889
1124
  readonly code: "NumpadDecimal";
890
1125
  readonly keyCode: 110;
891
1126
  };
892
1127
  readonly NumpadDivide: {
1128
+ readonly type: "keyboard";
893
1129
  readonly key: "/";
894
1130
  readonly code: "NumpadDivide";
895
1131
  readonly keyCode: 111;
896
1132
  };
897
1133
  readonly F1: {
1134
+ readonly type: "keyboard";
898
1135
  readonly key: "F1";
899
1136
  readonly code: "F1";
900
1137
  readonly keyCode: 112;
901
1138
  };
902
1139
  readonly F2: {
1140
+ readonly type: "keyboard";
903
1141
  readonly key: "F2";
904
1142
  readonly code: "F2";
905
1143
  readonly keyCode: 113;
906
1144
  };
907
1145
  readonly F3: {
1146
+ readonly type: "keyboard";
908
1147
  readonly key: "F3";
909
1148
  readonly code: "F3";
910
1149
  readonly keyCode: 114;
911
1150
  };
912
1151
  readonly F4: {
1152
+ readonly type: "keyboard";
913
1153
  readonly key: "F4";
914
1154
  readonly code: "F4";
915
1155
  readonly keyCode: 115;
916
1156
  };
917
1157
  readonly F5: {
1158
+ readonly type: "keyboard";
918
1159
  readonly key: "F5";
919
1160
  readonly code: "F5";
920
1161
  readonly keyCode: 116;
921
1162
  };
922
1163
  readonly F6: {
1164
+ readonly type: "keyboard";
923
1165
  readonly key: "F6";
924
1166
  readonly code: "F6";
925
1167
  readonly keyCode: 117;
926
1168
  };
927
1169
  readonly F7: {
1170
+ readonly type: "keyboard";
928
1171
  readonly key: "F7";
929
1172
  readonly code: "F7";
930
1173
  readonly keyCode: 118;
931
1174
  };
932
1175
  readonly F8: {
1176
+ readonly type: "keyboard";
933
1177
  readonly key: "F8";
934
1178
  readonly code: "F8";
935
1179
  readonly keyCode: 119;
936
1180
  };
937
1181
  readonly F9: {
1182
+ readonly type: "keyboard";
938
1183
  readonly key: "F9";
939
1184
  readonly code: "F9";
940
1185
  readonly keyCode: 120;
941
1186
  };
942
1187
  readonly F10: {
1188
+ readonly type: "keyboard";
943
1189
  readonly key: "F10";
944
1190
  readonly code: "F10";
945
1191
  readonly keyCode: 121;
946
1192
  };
947
1193
  readonly F11: {
1194
+ readonly type: "keyboard";
948
1195
  readonly key: "F11";
949
1196
  readonly code: "F11";
950
1197
  readonly keyCode: 122;
951
1198
  };
952
1199
  readonly F12: {
1200
+ readonly type: "keyboard";
953
1201
  readonly key: "F12";
954
1202
  readonly code: "F12";
955
1203
  readonly keyCode: 123;
956
1204
  };
957
1205
  readonly NumLock: {
1206
+ readonly type: "keyboard";
958
1207
  readonly key: "NumLock";
959
1208
  readonly code: "NumLock";
960
1209
  readonly keyCode: 144;
961
1210
  };
962
1211
  readonly ScrollLock: {
1212
+ readonly type: "keyboard";
963
1213
  readonly key: "ScrollLock";
964
1214
  readonly code: "ScrollLock";
965
1215
  readonly keyCode: 145;
966
1216
  };
967
1217
  readonly Semicolon: {
1218
+ readonly type: "keyboard";
968
1219
  readonly key: ";";
969
1220
  readonly code: "Semicolon";
970
1221
  readonly keyCode: 186;
971
1222
  };
972
1223
  readonly Equal: {
1224
+ readonly type: "keyboard";
973
1225
  readonly key: "=";
974
1226
  readonly code: "Equal";
975
1227
  readonly keyCode: 187;
976
1228
  };
977
1229
  readonly Comma: {
1230
+ readonly type: "keyboard";
978
1231
  readonly key: ",";
979
1232
  readonly code: "Comma";
980
1233
  readonly keyCode: 188;
981
1234
  };
982
1235
  readonly Minus: {
1236
+ readonly type: "keyboard";
983
1237
  readonly key: "-";
984
1238
  readonly code: "Minus";
985
1239
  readonly keyCode: 189;
986
1240
  };
987
1241
  readonly Period: {
1242
+ readonly type: "keyboard";
988
1243
  readonly key: ".";
989
1244
  readonly code: "Period";
990
1245
  readonly keyCode: 190;
991
1246
  };
992
1247
  readonly Slash: {
1248
+ readonly type: "keyboard";
993
1249
  readonly key: "/";
994
1250
  readonly code: "Slash";
995
1251
  readonly keyCode: 191;
996
1252
  };
997
1253
  readonly Backquote: {
1254
+ readonly type: "keyboard";
998
1255
  readonly key: "`";
999
1256
  readonly code: "Backquote";
1000
1257
  readonly keyCode: 192;
1001
1258
  };
1002
1259
  readonly BracketLeft: {
1260
+ readonly type: "keyboard";
1003
1261
  readonly key: "[";
1004
1262
  readonly code: "BracketLeft";
1005
1263
  readonly keyCode: 219;
1006
1264
  };
1007
1265
  readonly Backslash: {
1266
+ readonly type: "keyboard";
1008
1267
  readonly key: "\\";
1009
1268
  readonly code: "Backslash";
1010
1269
  readonly keyCode: 220;
1011
1270
  };
1012
1271
  readonly BracketRight: {
1272
+ readonly type: "keyboard";
1013
1273
  readonly key: "]";
1014
1274
  readonly code: "BracketRight";
1015
1275
  readonly keyCode: 221;
1016
1276
  };
1017
1277
  readonly Quote: {
1278
+ readonly type: "keyboard";
1018
1279
  readonly key: "'";
1019
1280
  readonly code: "Quote";
1020
1281
  readonly keyCode: 222;
1021
1282
  };
1283
+ readonly Mouse: {
1284
+ readonly type: "mouse";
1285
+ readonly button: 0;
1286
+ };
1287
+ readonly MouseLeft: {
1288
+ readonly type: "mouse";
1289
+ readonly button: 0;
1290
+ };
1291
+ readonly MouseMiddle: {
1292
+ readonly type: "mouse";
1293
+ readonly button: 1;
1294
+ };
1295
+ readonly MouseRight: {
1296
+ readonly type: "mouse";
1297
+ readonly button: 2;
1298
+ };
1022
1299
  };
1023
1300
  Types: {
1024
1301
  readonly INPUT_ZONE: "input-zone";
@@ -1034,4 +1311,4 @@ declare const OmniPad: {
1034
1311
  };
1035
1312
  };
1036
1313
 
1037
- export { AbstractPointerEvent, AbstractRect, AnyFunction, type AxisLogicState, BaseConfig, BaseEntity, ButtonConfig, ButtonCore, type ButtonLogicState, type ButtonState, type CursorState, DPadConfig, DPadCore, type DPadState, EntityType, IConfigurable, ICoreEntity, IDependencyBindable, IPointerHandler, IProgrammatic, type IRegistry, IResettable, ISignalReceiver, ISpatial, IStateful, InputActionSignal, InputZoneConfig, InputZoneCore, type InputZoneState, type InteractionState, JoystickConfig, JoystickCore, type JoystickState, type KeyboardButtonState, type LayerState, type MouseButtonState, OmniPad, Registry, RootLayerCore, TargetZoneConfig, TargetZoneCore, TrackpadConfig, TrackpadCore, type TrackpadState, Vec2, setGlobalSignalHandler };
1314
+ export { AbstractPointerEvent, AbstractRect, AnyFunction, type AxisLogicState, BaseConfig, BaseEntity, ButtonConfig, ButtonCore, type ButtonLogicState, type ButtonState, ConfigTreeNode, type CursorState, DPadConfig, DPadCore, type DPadState, EntityType, GamepadMappingConfig, IConfigurable, ICoreEntity, IDependencyBindable, IElementObserver, IPointerHandler, IProgrammatic, type IRegistry, IResettable, ISignalReceiver, ISpatial, IStateful, InputActionSignal, InputZoneConfig, InputZoneCore, type InputZoneState, type InteractionState, type IpcMessage, JoystickConfig, JoystickCore, type JoystickState, type KeyboardButtonState, type LayerState, type MouseButtonState, OMNIPAD_IPC_SIGNATURE, OmniPad, OmniPadProfile, type ParsedProfileForest, Registry, RootLayerCore, StickyProvider, TargetZoneConfig, TargetZoneCore, TrackpadConfig, TrackpadCore, type TrackpadState, Vec2, bindEntityDelegates, exportProfile, filterNotDynamicChildren, getOverrideProps, mergeWidgetConfig, parseProfileJson, parseProfileTrees, resolveDynamicWidget, setGlobalSignalHandler, setupSpatialLogic, validateWidgetNode };