tosijs-3d 0.3.0 → 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.
Files changed (80) hide show
  1. package/dist/asset-url.d.ts +10 -0
  2. package/dist/asset-url.d.ts.map +1 -0
  3. package/dist/asset-url.js +37 -0
  4. package/dist/asset-url.js.map +1 -0
  5. package/dist/b3d-aircraft.d.ts +40 -0
  6. package/dist/b3d-aircraft.d.ts.map +1 -1
  7. package/dist/b3d-aircraft.js +346 -2
  8. package/dist/b3d-aircraft.js.map +1 -1
  9. package/dist/b3d-biped.d.ts +16 -0
  10. package/dist/b3d-biped.d.ts.map +1 -1
  11. package/dist/b3d-biped.js +80 -1
  12. package/dist/b3d-biped.js.map +1 -1
  13. package/dist/b3d-controllable.d.ts.map +1 -1
  14. package/dist/b3d-controllable.js +6 -1
  15. package/dist/b3d-controllable.js.map +1 -1
  16. package/dist/b3d-controller.d.ts +38 -0
  17. package/dist/b3d-controller.d.ts.map +1 -0
  18. package/dist/b3d-controller.js +64 -0
  19. package/dist/b3d-controller.js.map +1 -0
  20. package/dist/b3d-destroyable.d.ts +39 -7
  21. package/dist/b3d-destroyable.d.ts.map +1 -1
  22. package/dist/b3d-destroyable.js +187 -50
  23. package/dist/b3d-destroyable.js.map +1 -1
  24. package/dist/b3d-hud.d.ts +92 -0
  25. package/dist/b3d-hud.d.ts.map +1 -0
  26. package/dist/b3d-hud.js +282 -0
  27. package/dist/b3d-hud.js.map +1 -0
  28. package/dist/b3d-launcher.d.ts +152 -0
  29. package/dist/b3d-launcher.d.ts.map +1 -0
  30. package/dist/b3d-launcher.js +454 -0
  31. package/dist/b3d-launcher.js.map +1 -0
  32. package/dist/b3d-loader.d.ts +28 -0
  33. package/dist/b3d-loader.d.ts.map +1 -1
  34. package/dist/b3d-loader.js +86 -1
  35. package/dist/b3d-loader.js.map +1 -1
  36. package/dist/b3d-star-system.d.ts.map +1 -1
  37. package/dist/b3d-star-system.js +3 -1
  38. package/dist/b3d-star-system.js.map +1 -1
  39. package/dist/b3d-turret.d.ts +73 -0
  40. package/dist/b3d-turret.d.ts.map +1 -0
  41. package/dist/b3d-turret.js +296 -0
  42. package/dist/b3d-turret.js.map +1 -0
  43. package/dist/b3d-warhead.d.ts +39 -0
  44. package/dist/b3d-warhead.d.ts.map +1 -0
  45. package/dist/b3d-warhead.js +231 -0
  46. package/dist/b3d-warhead.js.map +1 -0
  47. package/dist/ballistics.d.ts +11 -0
  48. package/dist/ballistics.d.ts.map +1 -1
  49. package/dist/ballistics.js +35 -0
  50. package/dist/ballistics.js.map +1 -1
  51. package/dist/destroyable-behavior.d.ts +66 -0
  52. package/dist/destroyable-behavior.d.ts.map +1 -0
  53. package/dist/destroyable-behavior.js +174 -0
  54. package/dist/destroyable-behavior.js.map +1 -0
  55. package/dist/guidance.d.ts +49 -0
  56. package/dist/guidance.d.ts.map +1 -0
  57. package/dist/guidance.js +128 -0
  58. package/dist/guidance.js.map +1 -0
  59. package/dist/hud-math.d.ts +56 -0
  60. package/dist/hud-math.d.ts.map +1 -0
  61. package/dist/hud-math.js +102 -0
  62. package/dist/hud-math.js.map +1 -0
  63. package/dist/hud.d.ts +47 -0
  64. package/dist/hud.d.ts.map +1 -0
  65. package/dist/hud.js +285 -0
  66. package/dist/hud.js.map +1 -0
  67. package/dist/iife.js +1151 -1151
  68. package/dist/iife.js.map +27 -17
  69. package/dist/index.d.ts +15 -1
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +14 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/tosi-b3d.d.ts +9 -0
  74. package/dist/tosi-b3d.d.ts.map +1 -1
  75. package/dist/tosi-b3d.js +45 -6
  76. package/dist/tosi-b3d.js.map +1 -1
  77. package/dist/virtual-gamepad.d.ts.map +1 -1
  78. package/dist/virtual-gamepad.js +8 -0
  79. package/dist/virtual-gamepad.js.map +1 -1
  80. package/package.json +2 -1
@@ -23,6 +23,8 @@ export declare class AnimState {
23
23
  export declare class B3dBiped extends B3dControllable {
24
24
  static initAttributes: {
25
25
  url: string;
26
+ skin: string;
27
+ scale: number;
26
28
  player: boolean;
27
29
  cameraType: string;
28
30
  animation: string;
@@ -93,6 +95,20 @@ export declare class B3dBiped extends B3dControllable {
93
95
  * list regardless of `isVisible`, so you still cast a full-body shadow. */
94
96
  private setBodyHidden;
95
97
  connectedCallback(): void;
98
+ /** Swap the model's `skin` material albedo texture (Kenney characters are
99
+ * textureless + reskinned by this PNG). Empty clears it. Matches materials named
100
+ * ~`skin`, or all PBR materials if none is. */
101
+ applySkin(url: string): void;
102
+ private _equipped;
103
+ /**
104
+ * Load an accessory GLB and attach it to a named rig bone (`Head`, `RightHand`,
105
+ * `Hips`, …), replacing anything already on that bone. Kenney accessories are
106
+ * origin-authored (their geometry sits at the origin, meant to be positioned BY
107
+ * the bone), so parenting to the bone's node places + animates them correctly.
108
+ */
109
+ equip(boneName: string, url: string): void;
110
+ /** Remove whatever is equipped on a bone. */
111
+ unequip(boneName: string): void;
96
112
  sceneReady(owner: B3d, scene: BABYLON.Scene): void;
97
113
  sceneDispose(): void;
98
114
  render(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-biped.d.ts","sourceRoot":"","sources":["../src/b3d-biped.ts"],"names":[],"mappings":"AA4GA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAUnD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,qBAAa,SAAS;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;gBAEN,IAAI,EAAE,aAAa;IAQ/B,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE;CAGzD;AAED,qBAAa,QAAS,SAAQ,eAAe;IAC3C,MAAM,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;MA0BpB;IAED,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAA;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAA;IACvB;;6EAEyE;IACzE,UAAU,EAAE,OAAO,GAAG,KAAK,CAAU;IACrC,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,UAAU,CAA6B;IAE/C;;gFAE4E;IAC5E,WAAW,SAAM;IACjB,aAAa,SAAM;IACnB,OAAO,CAAC,OAAO,CAAwB;IACvC;;;;oFAIgF;IAChF,eAAe,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI;IAsBzC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAA;IACvC,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B,OAAO,CAAC,SAAS,CAAO;IAExB,eAAe,cAkBd;IAED,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI;IA0DzC,eAAe,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI;IAItC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IAsG1C,OAAO,CAAC,YAAY;IASd,aAAa;IA0Hb,iBAAiB;IAwDvB;;;mDAG+C;IAC/C,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK;IAUnC;;;;+EAI2E;IAC3E,OAAO,CAAC,aAAa;IAUrB,iBAAiB;IAoBjB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;IA4D3C,YAAY;IA0BZ,MAAM;CA6BP;AAED,eAAO,MAAM,QAAQ,2CAAqD,CAAA"}
1
+ {"version":3,"file":"b3d-biped.d.ts","sourceRoot":"","sources":["../src/b3d-biped.ts"],"names":[],"mappings":"AA8GA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAUnD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,qBAAa,SAAS;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,EAAE,OAAO,CAAA;gBAEN,IAAI,EAAE,aAAa;IAQ/B,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE;CAGzD;AAED,qBAAa,QAAS,SAAQ,eAAe;IAC3C,MAAM,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;MAkCpB;IAED,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAA;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAA;IACvB;;6EAEyE;IACzE,UAAU,EAAE,OAAO,GAAG,KAAK,CAAU;IACrC,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAAqC;IACrD,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,UAAU,CAA6B;IAE/C;;gFAE4E;IAC5E,WAAW,SAAM;IACjB,aAAa,SAAM;IACnB,OAAO,CAAC,OAAO,CAAwB;IACvC;;;;oFAIgF;IAChF,eAAe,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI;IAsBzC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,cAAc,CAAC,EAAE,SAAS,CAAA;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAA;IACvC,cAAc,CAAC,EAAE,cAAc,CAAA;IAE/B,OAAO,CAAC,SAAS,CAAO;IAExB,eAAe,cAkBd;IAED,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI;IA0DzC,eAAe,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI;IAItC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IAsG1C,OAAO,CAAC,YAAY;IASd,aAAa;IA0Hb,iBAAiB;IAwDvB;;;mDAG+C;IAC/C,aAAa,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK;IAUnC;;;;+EAI2E;IAC3E,OAAO,CAAC,aAAa;IAUrB,iBAAiB;IAoBjB;;mDAE+C;IAC/C,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAmB5B,OAAO,CAAC,SAAS,CAAiD;IAElE;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAoB1C,6CAA6C;IAC7C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQ/B,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;IAuE3C,YAAY;IA0BZ,MAAM;CA6BP;AAED,eAAO,MAAM,QAAQ,2CAAqD,CAAA"}
package/dist/b3d-biped.js CHANGED
@@ -64,6 +64,8 @@ tosi-b3d { width: 100%; height: 100%; }
64
64
  | Attribute | Default | Description |
65
65
  |-----------|---------|-------------|
66
66
  | `url` | `''` | GLB model URL |
67
+ | `skin` | `''` | Optional albedo texture URL applied to the `skin` material (reskin) |
68
+ | `scale` | `1` | Uniform scale applied to the loaded model |
67
69
  | `animation` | `''` | Current animation state name |
68
70
  | `animationSpeed` | `1` | Playback speed multiplier (0–2) |
69
71
  | `player` | `false` | Whether this biped receives input |
@@ -135,6 +137,14 @@ export class B3dBiped extends B3dControllable {
135
137
  static initAttributes = {
136
138
  ...B3dControllable.initAttributes,
137
139
  url: '',
140
+ // Optional skin texture URL applied to the model's `skin` material. Kenney
141
+ // characters ship textureless with one `skin` material + separate skin PNGs,
142
+ // so reskinning is just swapping this albedo texture.
143
+ skin: '',
144
+ // Uniform scale applied to the loaded model. Handy when an asset imports at the
145
+ // wrong size (Kenney FBX characters come in ~2x too big; 0.48 ≈ 1.8m) — though
146
+ // baking scale into the conversion is preferred so every consumer gets it right.
147
+ scale: 1,
138
148
  player: false,
139
149
  cameraType: 'none',
140
150
  animation: '',
@@ -522,6 +532,62 @@ export class B3dBiped extends B3dControllable {
522
532
  }
523
533
  }
524
534
  }
535
+ /** Swap the model's `skin` material albedo texture (Kenney characters are
536
+ * textureless + reskinned by this PNG). Empty clears it. Matches materials named
537
+ * ~`skin`, or all PBR materials if none is. */
538
+ applySkin(url) {
539
+ if (this.entries == null || this.owner == null)
540
+ return;
541
+ const scene = this.owner.scene;
542
+ const mats = new Set();
543
+ for (const n of this.entries.rootNodes) {
544
+ for (const m of n.getChildMeshes()) {
545
+ if (m.material instanceof BABYLON.PBRMaterial)
546
+ mats.add(m.material);
547
+ }
548
+ }
549
+ const named = [...mats].filter((m) => /skin/i.test(m.name));
550
+ for (const mat of named.length ? named : [...mats]) {
551
+ mat.albedoTexture?.dispose();
552
+ mat.albedoTexture = url ? new BABYLON.Texture(url, scene) : null;
553
+ // Kenney character materials export as alphaMode MASK with base-color alpha 0
554
+ // (an FBX-import artifact) → fully clipped/invisible. They're opaque, so force it.
555
+ mat.transparencyMode = BABYLON.PBRMaterial.PBRMATERIAL_OPAQUE;
556
+ }
557
+ }
558
+ _equipped = new Map();
559
+ /**
560
+ * Load an accessory GLB and attach it to a named rig bone (`Head`, `RightHand`,
561
+ * `Hips`, …), replacing anything already on that bone. Kenney accessories are
562
+ * origin-authored (their geometry sits at the origin, meant to be positioned BY
563
+ * the bone), so parenting to the bone's node places + animates them correctly.
564
+ */
565
+ equip(boneName, url) {
566
+ if (this.entries == null || this.owner == null)
567
+ return;
568
+ const scene = this.owner.scene;
569
+ const skeleton = this.entries.skeletons?.[0];
570
+ this.unequip(boneName);
571
+ this.loadAssetContainer(scene, url, (container) => {
572
+ if (this.mesh == null)
573
+ return; // disposed while loading
574
+ const e = container.instantiateModelsToScene(undefined, false, {
575
+ doNotInstantiate: true,
576
+ });
577
+ const acc = e.rootNodes[0];
578
+ const bone = skeleton?.bones.find((b) => b.name.toLowerCase() === boneName.toLowerCase()) ?? skeleton?.bones.find((b) => new RegExp(boneName, 'i').test(b.name));
579
+ acc.parent = bone?.getTransformNode?.() ?? this.mesh;
580
+ this._equipped.set(boneName, e);
581
+ });
582
+ }
583
+ /** Remove whatever is equipped on a bone. */
584
+ unequip(boneName) {
585
+ const e = this._equipped.get(boneName);
586
+ if (e != null) {
587
+ e.dispose();
588
+ this._equipped.delete(boneName);
589
+ }
590
+ }
525
591
  sceneReady(owner, scene) {
526
592
  super.sceneReady(owner, scene);
527
593
  const attrs = this;
@@ -537,7 +603,9 @@ export class B3dBiped extends B3dControllable {
537
603
  .map((node) => node.getChildMeshes())
538
604
  .flat();
539
605
  this.mesh = this.entries.rootNodes[0];
540
- // Derive eye height from the model so first-person sits at the head, not
606
+ if (attrs.scale !== 1)
607
+ this.mesh.scaling.setAll(attrs.scale);
608
+ // Derive eye height from the model (after scaling, so it's the real size) so first-person sits at the head, not
541
609
  // the origin (the feet). ~0.93 of total height ≈ eye level. Used as a
542
610
  // fallback when there's no head node to anchor to.
543
611
  const bounds = this.mesh.getHierarchyBoundingVectors();
@@ -557,7 +625,18 @@ export class B3dBiped extends B3dControllable {
557
625
  this.mesh.ellipsoidOffset = new BABYLON.Vector3(0, 0.75, 0);
558
626
  this.mesh.checkCollisions = true;
559
627
  owner.register({ meshes });
628
+ // Skin materials that export as alphaMode MASK + base-color alpha 0 (an FBX
629
+ // artifact) render the character fully invisible; they're opaque, so fix it
630
+ // whether or not a `skin` is applied.
631
+ for (const mm of meshes) {
632
+ const mat = mm.material;
633
+ if (mat instanceof BABYLON.PBRMaterial && /skin/i.test(mat.name)) {
634
+ mat.transparencyMode = BABYLON.PBRMaterial.PBRMATERIAL_OPAQUE;
635
+ }
636
+ }
560
637
  this.setAnimationState(attrs.initialState);
638
+ if (attrs.skin)
639
+ this.applySkin(attrs.skin);
561
640
  // If inputFocus wired input before GLB loaded, it may have been
562
641
  // cleared by a dispose/re-init cycle. Re-wire directly.
563
642
  if (attrs.player && this.inputProvider == null) {
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-biped.js","sourceRoot":"","sources":["../src/b3d-biped.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"b3d-biped.js","sourceRoot":"","sources":["../src/b3d-biped.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-controllable.d.ts","sourceRoot":"","sources":["../src/b3d-controllable.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAO;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,0EAA0E;IAC1E,SAAS,EAAE,YAAY,GAAG,IAAI,CAAO;IACrC,SAAS,CAAC,UAAU,SAAI;IAExB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;IAI3C,YAAY;IAMZ,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IAI1C,eAAe,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI;IAItC,WAAW;IAIX,WAAW;IAIX,SAAS,CAAC,OAAO,aAShB;CACF"}
1
+ {"version":3,"file":"b3d-controllable.d.ts","sourceRoot":"","sources":["../src/b3d-controllable.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,aAAa,EAAE,aAAa,GAAG,IAAI,CAAO;IAC1C,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,0EAA0E;IAC1E,SAAS,EAAE,YAAY,GAAG,IAAI,CAAO;IACrC,SAAS,CAAC,UAAU,SAAI;IAExB,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK;IAI3C,YAAY;IAMZ,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM;IAI1C,eAAe,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI;IAItC,WAAW;IAIX,WAAW;IAIX,SAAS,CAAC,OAAO,aAahB;CACF"}
@@ -15,6 +15,7 @@ The base class handles the update loop: poll input → apply input.
15
15
  */
16
16
  /*{ "parent": "Input" }*/
17
17
  import { AbstractMesh } from './b3d-utils';
18
+ import { emptyInput } from './control-input';
18
19
  export class B3dControllable extends AbstractMesh {
19
20
  inputProvider = null;
20
21
  inputMapping;
@@ -47,7 +48,11 @@ export class B3dControllable extends AbstractMesh {
47
48
  this.lastUpdate = now;
48
49
  if (this.inputProvider == null)
49
50
  return;
50
- const input = this.inputProvider.poll(dt);
51
+ // Scene input focus: when a page hosts multiple demos, only the active (last
52
+ // hovered/clicked) scene consumes the shared keyboard/gamepad — an unfocused
53
+ // scene sees neutral input so it idles instead of being driven in the background.
54
+ const focused = this.owner?.hasInputFocus ?? true;
55
+ const input = focused ? this.inputProvider.poll(dt) : emptyInput();
51
56
  this.lastInput = input;
52
57
  this.applyInput(input, dt);
53
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-controllable.js","sourceRoot":"","sources":["../src/b3d-controllable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AACF,yBAAyB;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAK1C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,aAAa,GAAyB,IAAI,CAAA;IAC1C,YAAY,CAAe;IAC3B,0EAA0E;IAC1E,SAAS,GAAwB,IAAI,CAAA;IAC3B,UAAU,GAAG,CAAC,CAAA;IAExB,UAAU,CAAC,KAAU,EAAE,KAAoB;QACzC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAChC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,KAAK,CAAC,YAAY,EAAE,CAAA;IACtB,CAAC;IAED,6DAA6D;IAC7D,UAAU,CAAC,KAAmB,EAAE,EAAU;QACxC,qDAAqD;IACvD,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;IAC1B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAA;IAClC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAA;IACpC,CAAC;IAES,OAAO,GAAG,GAAG,EAAE;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAA;QACzD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;QAErB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAAE,OAAM;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC5B,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"b3d-controllable.js","sourceRoot":"","sources":["../src/b3d-controllable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;EAcE;AACF,yBAAyB;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC/C,aAAa,GAAyB,IAAI,CAAA;IAC1C,YAAY,CAAe;IAC3B,0EAA0E;IAC1E,SAAS,GAAwB,IAAI,CAAA;IAC3B,UAAU,GAAG,CAAC,CAAA;IAExB,UAAU,CAAC,KAAU,EAAE,KAAoB;QACzC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAChC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;QACzB,KAAK,CAAC,YAAY,EAAE,CAAA;IACtB,CAAC;IAED,6DAA6D;IAC7D,UAAU,CAAC,KAAmB,EAAE,EAAU;QACxC,qDAAqD;IACvD,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;IAC1B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAA;IAClC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,EAAE,CAAA;IACpC,CAAC;IAES,OAAO,GAAG,GAAG,EAAE;QACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAA;QACzD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;QAErB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAAE,OAAM;QACtC,6EAA6E;QAC7E,6EAA6E;QAC7E,kFAAkF;QAClF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,IAAI,CAAA;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAA;QAClE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC5B,CAAC,CAAA;CACF"}
@@ -0,0 +1,38 @@
1
+ import * as BABYLON from '@babylonjs/core';
2
+ import { B3dControllable } from './b3d-controllable';
3
+ import type { B3d } from './tosi-b3d';
4
+ import { type ControlInput } from './control-input';
5
+ import { MappedInputProvider } from './virtual-gamepad';
6
+ export declare class B3dController extends B3dControllable {
7
+ static initAttributes: {
8
+ mapping: string;
9
+ player: boolean;
10
+ x: number;
11
+ y: number;
12
+ z: number;
13
+ rx: number;
14
+ ry: number;
15
+ rz: number;
16
+ axes: boolean;
17
+ };
18
+ mapping: string;
19
+ player: boolean;
20
+ /**
21
+ * Called every frame with the merged `ControlInput` and `dt` — THE seam. Set in
22
+ * code or via the element creator. Read `input.forward/turn/shoot/…` and drive
23
+ * anything (a launcher, a custom rig, an experiment).
24
+ *
25
+ * NOTE: deliberately NOT named `onInput` — the element creator treats `on*` props as
26
+ * DOM event listeners, so an `onInput` prop would silently become an `input`-event
27
+ * handler and never be called here.
28
+ */
29
+ drive: ((input: ControlInput, dt: number) => void) | null;
30
+ /** The merged input provider — exposed so the XR rig can add its controller source. */
31
+ inputMappedProvider: MappedInputProvider | null;
32
+ private _gc;
33
+ sceneReady(owner: B3d, scene: BABYLON.Scene): void;
34
+ applyInput(input: ControlInput, dt: number): void;
35
+ sceneDispose(): void;
36
+ }
37
+ export declare const b3dController: (...args: unknown[]) => B3dController;
38
+ //# sourceMappingURL=b3d-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"b3d-controller.d.ts","sourceRoot":"","sources":["../src/b3d-controller.ts"],"names":[],"mappings":"AAoEA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EACL,mBAAmB,EAMpB,MAAM,mBAAmB,CAAA;AAS1B,qBAAa,aAAc,SAAQ,eAAe;IAChD,MAAM,CAAC,cAAc;;;;;;;;;;MAKpB;IAEO,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,OAAO,CAAA;IAEvB;;;;;;;;OAQG;IACH,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;IAEhE,uFAAuF;IACvF,mBAAmB,EAAE,mBAAmB,GAAG,IAAI,CAAO;IAEtD,OAAO,CAAC,GAAG,CAA8B;IAEzC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI;IAuBlD,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAIjD,YAAY,IAAI,IAAI;CASrB;AAED,eAAO,MAAM,aAAa,EAEpB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,aAAa,CAAA"}
@@ -0,0 +1,64 @@
1
+ import { B3dControllable } from './b3d-controllable';
2
+ import { CompositeInputProvider } from './control-input';
3
+ import { bipedMapping, carMapping, aircraftMapping, } from './virtual-gamepad';
4
+ import { gameController } from './game-controller';
5
+ const MAPPINGS = {
6
+ biped: () => bipedMapping,
7
+ car: () => carMapping,
8
+ aircraft: () => aircraftMapping(),
9
+ };
10
+ export class B3dController extends B3dControllable {
11
+ static initAttributes = {
12
+ ...B3dControllable.initAttributes,
13
+ mapping: 'biped',
14
+ // player so a wrapping <tosi-b3d-input-focus> (if any) would focus us.
15
+ player: true,
16
+ };
17
+ /**
18
+ * Called every frame with the merged `ControlInput` and `dt` — THE seam. Set in
19
+ * code or via the element creator. Read `input.forward/turn/shoot/…` and drive
20
+ * anything (a launcher, a custom rig, an experiment).
21
+ *
22
+ * NOTE: deliberately NOT named `onInput` — the element creator treats `on*` props as
23
+ * DOM event listeners, so an `onInput` prop would silently become an `input`-event
24
+ * handler and never be called here.
25
+ */
26
+ drive = null;
27
+ /** The merged input provider — exposed so the XR rig can add its controller source. */
28
+ inputMappedProvider = null;
29
+ _gc = null;
30
+ sceneReady(owner, scene) {
31
+ super.sceneReady(owner, scene);
32
+ this.inputMapping = (MAPPINGS[this.mapping] ?? MAPPINGS.biped)();
33
+ // Self-wire the standard controller (keyboard/mouse + on-screen glass gamepad +
34
+ // hardware pad), unless we're inside a <tosi-b3d-input-focus>, which drives us.
35
+ if (this.closest('tosi-b3d-input-focus') == null) {
36
+ const gc = gameController();
37
+ this._gc = gc;
38
+ owner.appendChild(gc);
39
+ const provider = gc.getInputProvider(this.inputMapping);
40
+ const glass = owner.querySelector('tosi-b3d-gamepad');
41
+ if (glass != null)
42
+ provider.addSource(glass);
43
+ this.inputMappedProvider = provider;
44
+ this.inputProvider = new CompositeInputProvider(provider);
45
+ }
46
+ owner.scene.registerBeforeRender(this._update);
47
+ }
48
+ applyInput(input, dt) {
49
+ this.drive?.(input, dt);
50
+ }
51
+ sceneDispose() {
52
+ this.owner?.scene.unregisterBeforeRender(this._update);
53
+ if (this._gc != null) {
54
+ this._gc.remove();
55
+ this._gc = null;
56
+ }
57
+ this.inputMappedProvider = null;
58
+ super.sceneDispose();
59
+ }
60
+ }
61
+ export const b3dController = B3dController.elementCreator({
62
+ tag: 'tosi-b3d-controller',
63
+ });
64
+ //# sourceMappingURL=b3d-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"b3d-controller.js","sourceRoot":"","sources":["../src/b3d-controller.ts"],"names":[],"mappings":"AAqEA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAE,sBAAsB,EAAqB,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAEL,YAAY,EACZ,UAAU,EACV,eAAe,GAGhB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAA;AAEvE,MAAM,QAAQ,GAAuC;IACnD,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY;IACzB,GAAG,EAAE,GAAG,EAAE,CAAC,UAAU;IACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,EAAE;CAClC,CAAA;AAED,MAAM,OAAO,aAAc,SAAQ,eAAe;IAChD,MAAM,CAAC,cAAc,GAAG;QACtB,GAAG,eAAe,CAAC,cAAc;QACjC,OAAO,EAAE,OAAO;QAChB,uEAAuE;QACvE,MAAM,EAAE,IAAI;KACb,CAAA;IAKD;;;;;;;;OAQG;IACH,KAAK,GAAuD,IAAI,CAAA;IAEhE,uFAAuF;IACvF,mBAAmB,GAA+B,IAAI,CAAA;IAE9C,GAAG,GAA0B,IAAI,CAAA;IAEzC,UAAU,CAAC,KAAU,EAAE,KAAoB;QACzC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAA;QAChE,gFAAgF;QAChF,gFAAgF;QAChF,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,IAAI,EAAE,CAAC;YACjD,MAAM,EAAE,GAAG,cAAc,EAA+B,CAAA;YACxD,IAAI,CAAC,GAAG,GAAG,EAAE,CAIZ;YAAC,KAAgC,CAAC,WAAW,CAAC,EAAqB,CAAC,CAAA;YACrE,MAAM,QAAQ,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACvD,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAC/B,kBAAkB,CACgB,CAAA;YACpC,IAAI,KAAK,IAAI,IAAI;gBAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC5C,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAA;YACnC,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAsB,CAAC,QAAQ,CAAC,CAAA;QAC3D,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,UAAU,CAAC,KAAmB,EAAE,EAAU;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACzB,CAAC;IAED,YAAY;QACV,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAA;YACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;QACjB,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA;QAC/B,KAAK,CAAC,YAAY,EAAE,CAAA;IACtB,CAAC;;AAGH,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,cAAc,CAAC;IACxD,GAAG,EAAE,qBAAqB;CAC3B,CAA0C,CAAA"}
@@ -13,6 +13,13 @@ export declare class B3dDestroyable extends AbstractMesh {
13
13
  regenDelay: number;
14
14
  protectedBy: string;
15
15
  protection: number;
16
+ explode: string;
17
+ explodeForce: number;
18
+ deathBlast: string;
19
+ blastDamage: number;
20
+ blastFullRadius: number;
21
+ blastRadius: number;
22
+ blastDelay: number;
16
23
  x: number;
17
24
  y: number;
18
25
  z: number;
@@ -30,17 +37,42 @@ export declare class B3dDestroyable extends AbstractMesh {
30
37
  regenDelay: number;
31
38
  protectedBy: string;
32
39
  protection: number;
33
- /** On-destruction chain links (set in code; see destroyable.ts). */
40
+ explode: string;
41
+ explodeForce: number;
42
+ deathBlast: string;
43
+ blastDamage: number;
44
+ blastFullRadius: number;
45
+ blastRadius: number;
46
+ blastDelay: number;
47
+ /**
48
+ * On-destruction direct-transfer chain links (set in code; see destroyable.ts).
49
+ * Distinct from `deathBlast`, which is an AOE explosion. Mirrored to the behavior.
50
+ */
34
51
  chain: ChainLink[];
35
- /** This entity's id in the scene combat world (also its mesh name). */
36
- combatId: string;
37
- private _dead;
38
- private _obs?;
52
+ private _behavior?;
39
53
  private _onShift?;
54
+ /**
55
+ * Optional code-set hook, run once when this target is destroyed (before the
56
+ * visual outcome). The clean seam for putting a linked player/vehicle into a
57
+ * 'dead' state, spawning loot/wreckage, swapping a model, etc. Also rides the
58
+ * bubbling `destroyed` CustomEvent.
59
+ */
60
+ whenDestroyed?: (info: {
61
+ id: string;
62
+ position: BABYLON.Vector3;
63
+ }) => void;
64
+ /** This entity's id in the scene combat world (also its mesh name). */
65
+ get combatId(): string;
66
+ /** True once destroyed (mesh gone / exploding). Lets others skip dead targets. */
67
+ get dead(): boolean;
40
68
  sceneReady(owner: B3d, scene: BABYLON.Scene): void;
41
- /** Hurt this target; returns the combat events from this hit. */
69
+ /** Hurt this target; returns the combat events from this hit (flashes on a hit). */
42
70
  damage(amount: number): CombatEvent[];
43
- private _die;
71
+ /**
72
+ * Set on-destruction chain links AFTER mount — chains reference other targets'
73
+ * combat ids, which only exist once those elements have mounted.
74
+ */
75
+ setChain(links: ChainLink[]): void;
44
76
  sceneDispose(): void;
45
77
  }
46
78
  export declare const b3dDestroyable: import("tosijs").ElementCreator<B3dDestroyable>;
@@ -1 +1 @@
1
- {"version":3,"file":"b3d-destroyable.d.ts","sourceRoot":"","sources":["../src/b3d-destroyable.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAM3D,qBAAa,cAAe,SAAQ,YAAY;IAC9C,MAAM,CAAC,cAAc;;;;;;;;;;;;;;;;;MAWpB;IAEO,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAE1B,oEAAoE;IACpE,KAAK,EAAE,SAAS,EAAE,CAAK;IACvB,uEAAuE;IACvE,QAAQ,SAAK;IAEb,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,IAAI,CAAC,CAAiC;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAkC;IAEnD,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI;IA6ClD,iEAAiE;IACjE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;IAKrC,OAAO,CAAC,IAAI;IAgBZ,YAAY,IAAI,IAAI;CAYrB;AAED,eAAO,MAAM,cAAc,iDAEzB,CAAA"}
1
+ {"version":3,"file":"b3d-destroyable.d.ts","sourceRoot":"","sources":["../src/b3d-destroyable.ts"],"names":[],"mappings":"AAuIA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAS,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAG3D,qBAAa,cAAe,SAAQ,YAAY;IAC9C,MAAM,CAAC,cAAc;;;;;;;;;;;;;;;;;;;;;;;;MAmBpB;IAEO,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAE1B;;;OAGG;IACH,KAAK,EAAE,SAAS,EAAE,CAAK;IACvB,OAAO,CAAC,SAAS,CAAC,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAC,CAAkC;IACnD;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IAEzE,uEAAuE;IACvE,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,kFAAkF;IAClF,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,GAAG,IAAI;IA+DlD,oFAAoF;IACpF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;IAIrC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI;IAKlC,YAAY,IAAI,IAAI;CASrB;AAED,eAAO,MAAM,cAAc,iDAEzB,CAAA"}