@vived/component-pneumatic-panel 1.2.0 → 2.0.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/README.md +60 -21
- package/dist/Domain/Adapters/pneumaticPanelPMAdapter.d.ts.map +1 -1
- package/dist/Domain/Controllers/applyPanelState.d.ts.map +1 -1
- package/dist/Domain/Controllers/getPanelState.d.ts.map +1 -1
- package/dist/Domain/Controllers/panelStateDefaults.d.ts +0 -1
- package/dist/Domain/Controllers/panelStateDefaults.d.ts.map +1 -1
- package/dist/Domain/Entities/PneumaticPanelEntity.d.ts +0 -4
- package/dist/Domain/Entities/PneumaticPanelEntity.d.ts.map +1 -1
- package/dist/Domain/Mocks/MockPneumaticPanelSelectUC.d.ts +0 -4
- package/dist/Domain/Mocks/MockPneumaticPanelSelectUC.d.ts.map +1 -1
- package/dist/Domain/PMs/PneumaticPanelPM.d.ts +0 -3
- package/dist/Domain/PMs/PneumaticPanelPM.d.ts.map +1 -1
- package/dist/Domain/UCs/PneumaticPanelSelectUC.d.ts +0 -14
- package/dist/Domain/UCs/PneumaticPanelSelectUC.d.ts.map +1 -1
- package/dist/Frameworks/Babylon/PneumaticPanelBabylonView.d.ts +9 -12
- package/dist/Frameworks/Babylon/PneumaticPanelBabylonView.d.ts.map +1 -1
- package/dist/Frameworks/Babylon/PneumaticPanelExhaustView.d.ts +2 -2
- package/dist/Frameworks/Babylon/PneumaticPanelExhaustView.d.ts.map +1 -1
- package/dist/Frameworks/Babylon/PneumaticPanelGaugeView.d.ts +2 -2
- package/dist/Frameworks/Babylon/PneumaticPanelGaugeView.d.ts.map +1 -1
- package/dist/Frameworks/Babylon/PneumaticPanelHitboxView.d.ts +5 -7
- package/dist/Frameworks/Babylon/PneumaticPanelHitboxView.d.ts.map +1 -1
- package/dist/Frameworks/Babylon/PneumaticPanelLockView.d.ts +2 -2
- package/dist/Frameworks/Babylon/PneumaticPanelLockView.d.ts.map +1 -1
- package/dist/PneumaticPanelFacade.d.ts +1 -13
- package/dist/PneumaticPanelFacade.d.ts.map +1 -1
- package/dist/index.d.ts +1 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5169 -51
- package/package.json +1 -1
- package/dist/Domain/Controllers/clearAllHighlights.d.ts +0 -9
- package/dist/Domain/Controllers/clearAllHighlights.d.ts.map +0 -1
- package/dist/Domain/Controllers/onPanelHoverEnter.d.ts +0 -7
- package/dist/Domain/Controllers/onPanelHoverEnter.d.ts.map +0 -1
- package/dist/Domain/Controllers/onPanelHoverExit.d.ts +0 -7
- package/dist/Domain/Controllers/onPanelHoverExit.d.ts.map +0 -1
- package/dist/Domain/Controllers/panelHitboxHoverEnter.d.ts +0 -7
- package/dist/Domain/Controllers/panelHitboxHoverEnter.d.ts.map +0 -1
- package/dist/Domain/Controllers/panelHitboxHoverExit.d.ts +0 -7
- package/dist/Domain/Controllers/panelHitboxHoverExit.d.ts.map +0 -1
- package/dist/Domain/Controllers/setHighlightedObject.d.ts +0 -11
- package/dist/Domain/Controllers/setHighlightedObject.d.ts.map +0 -1
- package/dist/Frameworks/Babylon/OutlinePulseController.d.ts +0 -18
- package/dist/Frameworks/Babylon/OutlinePulseController.d.ts.map +0 -1
- package/dist/Frameworks/Babylon/OverlayPulseController.d.ts +0 -17
- package/dist/Frameworks/Babylon/OverlayPulseController.d.ts.map +0 -1
- package/dist/Frameworks/Babylon/PanelOutlineController.d.ts +0 -32
- package/dist/Frameworks/Babylon/PanelOutlineController.d.ts.map +0 -1
- package/dist/Frameworks/Babylon/ScreenSpaceOutlinePulseController.d.ts +0 -17
- package/dist/Frameworks/Babylon/ScreenSpaceOutlinePulseController.d.ts.map +0 -1
- package/dist/clipPlaneFragment-BRmzi2tV.js +0 -55
- package/dist/clipPlaneFragment-CDdVuU0n.js +0 -55
- package/dist/clipPlaneVertex-CIEg9nQi.js +0 -358
- package/dist/clipPlaneVertex-CIarPzTc.js +0 -391
- package/dist/dumpTools-BUC-AUZt.js +0 -110
- package/dist/glowBlurPostProcess.fragment-DDhSDO38.js +0 -13
- package/dist/glowBlurPostProcess.fragment-fpk0xJVe.js +0 -13
- package/dist/glowMapGeneration.fragment-BBSNxu8K.js +0 -193
- package/dist/glowMapGeneration.fragment-Cl-xwsZp.js +0 -161
- package/dist/glowMapGeneration.vertex-CzQHgJdT.js +0 -85
- package/dist/glowMapGeneration.vertex-DErxE57o.js +0 -85
- package/dist/glowMapMerge.vertex-BQosy0g5.js +0 -14
- package/dist/glowMapMerge.vertex-tVYqLRGm.js +0 -13
- package/dist/index-CmNnQLDH.js +0 -36863
- package/dist/pass.fragment-D3pYn4R1.js +0 -10
- package/dist/selection.fragment-CGZK1kVt.js +0 -45
- package/dist/selection.fragment-DjWRsu7R.js +0 -45
- package/dist/selection.vertex-DY_1B2lX.js +0 -84
- package/dist/selection.vertex-PhS5tOTA.js +0 -83
- package/dist/selectionOutline.fragment-Bp__J_pC.js +0 -53
- package/dist/selectionOutline.fragment-DmyQJACa.js +0 -54
- package/dist/thinEngine-dZnz-Owz.js +0 -4
package/README.md
CHANGED
|
@@ -15,13 +15,15 @@ A 3D interactive pneumatic control panel for VIVED slide applications. Features
|
|
|
15
15
|
npm install @vived/component-pneumatic-panel @vived/core @babylonjs/core
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
+
The host-facing surface is the **`PneumaticPanelFacade`** — a single typed object (Smart
|
|
19
|
+
Component Facade Contract v1) that drives an instance through commands, typed events,
|
|
20
|
+
lifecycle, and persisted state.
|
|
21
|
+
|
|
18
22
|
```typescript
|
|
19
23
|
import { makeAppObjectRepo, makeDomainFactoryRepo } from "@vived/core";
|
|
20
24
|
import {
|
|
21
25
|
makePneumaticPanelFeatureFactory,
|
|
22
|
-
|
|
23
|
-
tryToggleExhaust,
|
|
24
|
-
tryToggleLock,
|
|
26
|
+
PneumaticPanelFacade,
|
|
25
27
|
} from "@vived/component-pneumatic-panel";
|
|
26
28
|
|
|
27
29
|
const appObjects = makeAppObjectRepo();
|
|
@@ -29,34 +31,71 @@ const factoryRepo = makeDomainFactoryRepo(appObjects);
|
|
|
29
31
|
makePneumaticPanelFeatureFactory(appObjects);
|
|
30
32
|
factoryRepo.setupDomain();
|
|
31
33
|
|
|
32
|
-
const
|
|
34
|
+
const panel = new PneumaticPanelFacade("panel-1", appObjects); // wires the domain stack (sync)
|
|
35
|
+
await panel.load(); // attaches and loads the Babylon view
|
|
36
|
+
|
|
37
|
+
panel.toggleExhaust(); // open exhaust
|
|
38
|
+
panel.toggleLock(); // engage lock
|
|
39
|
+
panel.toggleExhaust(); // false — blocked by lock
|
|
33
40
|
|
|
34
|
-
|
|
35
|
-
tryToggleLock("panel-1", appObjects); // engage lock
|
|
36
|
-
tryToggleExhaust("panel-1", appObjects); // false — blocked by lock
|
|
41
|
+
const unsubscribe = panel.onEvent("exhaustOpened", () => console.log("opened"));
|
|
37
42
|
```
|
|
38
43
|
|
|
44
|
+
> Need the raw `AppObject` (e.g. to parent the root node or register shadow casters)? Use
|
|
45
|
+
> the `createBabylonPneumaticPanel(id, appObjects)` composition entry point, which creates
|
|
46
|
+
> the same domain stack and view and returns the `AppObject`.
|
|
47
|
+
|
|
39
48
|
## API
|
|
40
49
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
`PneumaticPanelFacade` implements **Contract v1** — eight mandatory members shared by every
|
|
51
|
+
VIVED smart component, plus component-specific commands and a typed event catalog.
|
|
52
|
+
|
|
53
|
+
### Contract members
|
|
54
|
+
|
|
55
|
+
| Member | Signature | Description |
|
|
56
|
+
| ------------------ | ------------------------------------------ | -------------------------------------------------------- |
|
|
57
|
+
| `id` | `readonly string` | Instance identifier. |
|
|
58
|
+
| `interfaceVersion` | `readonly number` | Contract version implemented (`1`). |
|
|
59
|
+
| `onEvent` | `(event, cb) => () => void` | Subscribe to a typed event; returns unsubscribe. |
|
|
60
|
+
| `onViewModel` | `(cb) => () => void` | Subscribe to the reactive VM (emits immediately). |
|
|
61
|
+
| `load` | `(variant?) => Promise<void>` | Attach and load the Babylon view. |
|
|
62
|
+
| `destroy` | `() => void` | Tear down and release resources. |
|
|
63
|
+
| `getState` | `() => PneumaticPanelState` | Versioned state snapshot. |
|
|
64
|
+
| `applyState` | `(state) => void` | Restore a snapshot. |
|
|
65
|
+
|
|
66
|
+
### Commands
|
|
67
|
+
|
|
68
|
+
| Command | Returns | Description |
|
|
69
|
+
| ----------------------------- | --------- | --------------------------------------------------------- |
|
|
70
|
+
| `toggleExhaust()` | `boolean` | Toggle exhaust valve. Returns `false` if locked. |
|
|
71
|
+
| `toggleLock()` | `boolean` | Toggle safety lock. Returns `false` if exhaust is closed. |
|
|
72
|
+
| `checkPressure()` | `void` | Show current pressure in an alert dialog. |
|
|
73
|
+
| `setShowGhostLockHint(show)` | `void` | Toggle always-visible ghost-lock hint. |
|
|
74
|
+
| `enableHitbox()` / `disableHitbox()` | `void` | Toggle whole-panel selection mode. |
|
|
75
|
+
|
|
76
|
+
### Events (`onEvent`)
|
|
77
|
+
|
|
78
|
+
`exhaustOpened`, `exhaustClosed`, `exhaustCloseBlockedByLock`, `panelLocked`,
|
|
79
|
+
`panelUnlocked`, `panelSelected`, `pressureChecked`.
|
|
80
|
+
All callbacks are `() => void` — read current state from `getState()` or `onViewModel`.
|
|
81
|
+
|
|
82
|
+
> Hover/hint/selection feedback is the Host's responsibility (ADR-0009). The component is
|
|
83
|
+
> presentation-free for interaction state — read `view.highlightGroupsByObjectId` to outline
|
|
84
|
+
> the panel from the invisible hitbox.
|
|
46
85
|
|
|
47
|
-
###
|
|
86
|
+
### Reactive view model
|
|
48
87
|
|
|
49
88
|
```typescript
|
|
50
|
-
|
|
51
|
-
exhaustOpen
|
|
52
|
-
|
|
53
|
-
pressure: number;
|
|
54
|
-
}
|
|
89
|
+
const unsubscribe = panel.onViewModel((vm) => {
|
|
90
|
+
console.log(vm.exhaustOpen, vm.isLocked, vm.pressure, vm.panelHitboxEnabled);
|
|
91
|
+
});
|
|
55
92
|
```
|
|
56
93
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
host-facing surface.
|
|
94
|
+
The flat controllers and `pneumaticPanelPMAdapter` remain exported as the underlying
|
|
95
|
+
mechanism the facade delegates to (and which the Babylon view boundary calls directly),
|
|
96
|
+
but the facade is the canonical host-facing surface. See
|
|
97
|
+
[COMPONENT_KNOWLEDGE.md](COMPONENT_KNOWLEDGE.md) for the full API reference, recipes, and
|
|
98
|
+
the complete export list.
|
|
60
99
|
|
|
61
100
|
## Development
|
|
62
101
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pneumaticPanelPMAdapter.d.ts","sourceRoot":"","sources":["../../../src/Domain/Adapters/pneumaticPanelPMAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"pneumaticPanelPMAdapter.d.ts","sourceRoot":"","sources":["../../../src/Domain/Adapters/pneumaticPanelPMAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAEjC;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,CAAC,gBAAgB,CAyC/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyPanelState.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/applyPanelState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAClC,IAAI,
|
|
1
|
+
{"version":3,"file":"applyPanelState.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/applyPanelState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAClC,IAAI,CAoBN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPanelState.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/getPanelState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,MAAM,GACd,mBAAmB,
|
|
1
|
+
{"version":3,"file":"getPanelState.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/getPanelState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,MAAM,GACd,mBAAmB,CAqBrB"}
|
|
@@ -2,7 +2,6 @@ export declare const PNEUMATIC_PANEL_DEFAULT_STATE_FIELDS: {
|
|
|
2
2
|
readonly exhaustOpen: false;
|
|
3
3
|
readonly isLocked: false;
|
|
4
4
|
readonly showGhostLockHint: false;
|
|
5
|
-
readonly highlightedObject: "none";
|
|
6
5
|
readonly panelHitboxEnabled: false;
|
|
7
6
|
};
|
|
8
7
|
//# sourceMappingURL=panelStateDefaults.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panelStateDefaults.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/panelStateDefaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC
|
|
1
|
+
{"version":3,"file":"panelStateDefaults.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/panelStateDefaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oCAAoC;;;;;CAKvC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AppObject, AppObjectEntity, AppObjectRepo } from "@vived/core";
|
|
2
|
-
export type PneumaticPanelHighlightedObject = "none" | "ghostLock" | "lock" | "exhaustKnob" | "gauge" | "panelHitbox";
|
|
3
2
|
/**
|
|
4
3
|
* Pneumatic Panel Entity
|
|
5
4
|
*
|
|
@@ -23,9 +22,6 @@ export declare abstract class PneumaticPanelEntity extends AppObjectEntity {
|
|
|
23
22
|
*/
|
|
24
23
|
abstract get showGhostLockHint(): boolean;
|
|
25
24
|
abstract set showGhostLockHint(val: boolean);
|
|
26
|
-
/** Which object should be highlighted in the scene. */
|
|
27
|
-
abstract get highlightedObject(): PneumaticPanelHighlightedObject;
|
|
28
|
-
abstract set highlightedObject(val: PneumaticPanelHighlightedObject);
|
|
29
25
|
/** Whether the panel hitbox is enabled for whole-panel selection. */
|
|
30
26
|
abstract get panelHitboxEnabled(): boolean;
|
|
31
27
|
abstract set panelHitboxEnabled(val: boolean);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelEntity.d.ts","sourceRoot":"","sources":["../../../src/Domain/Entities/PneumaticPanelEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,aAAa,EAGd,MAAM,aAAa,CAAC;AAErB
|
|
1
|
+
{"version":3,"file":"PneumaticPanelEntity.d.ts","sourceRoot":"","sources":["../../../src/Domain/Entities/PneumaticPanelEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,eAAe,EACf,aAAa,EAGd,MAAM,aAAa,CAAC;AAErB;;;;;GAKG;AACH,8BAAsB,oBAAqB,SAAQ,eAAe;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,0BAA0B;IAE9C,wCAAwC;IACxC,QAAQ,KAAK,WAAW,IAAI,OAAO,CAAC;IACpC,QAAQ,KAAK,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE;IAEvC,gEAAgE;IAChE,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC;IACjC,QAAQ,KAAK,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE;IAEpC,+BAA+B;IAC/B,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC;IAChC,QAAQ,KAAK,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE;IAEnC;;;OAGG;IACH,QAAQ,KAAK,iBAAiB,IAAI,OAAO,CAAC;IAC1C,QAAQ,KAAK,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE;IAE7C,qEAAqE;IACrE,QAAQ,KAAK,kBAAkB,IAAI,OAAO,CAAC;IAC3C,QAAQ,KAAK,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE;IAE9C;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,oBAAoB,GAAG,SAAS;IAI/D;;OAEG;IACH,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,oBAAoB,GAAG,SAAS;CAGpC;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,SAAS,GACnB,oBAAoB,CAEtB"}
|
|
@@ -8,10 +8,6 @@ export declare class MockPneumaticPanelSelectUC extends PneumaticPanelSelectUC {
|
|
|
8
8
|
disableHitbox: () => void;
|
|
9
9
|
subscribeOnPanelSelected: () => (() => void);
|
|
10
10
|
notifyPanelSelected: () => void;
|
|
11
|
-
subscribeOnPanelHoverEnter: () => (() => void);
|
|
12
|
-
notifyPanelHoverEnter: () => void;
|
|
13
|
-
subscribeOnPanelHoverExit: () => (() => void);
|
|
14
|
-
notifyPanelHoverExit: () => void;
|
|
15
11
|
constructor(appObject: AppObject);
|
|
16
12
|
}
|
|
17
13
|
//# sourceMappingURL=MockPneumaticPanelSelectUC.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockPneumaticPanelSelectUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/Mocks/MockPneumaticPanelSelectUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,sBAAsB;IACpE,YAAY,QAAO,IAAI,CAAO;IAC9B,aAAa,QAAO,IAAI,CAAO;IAC/B,wBAAwB,QAAO,CAAC,MAAM,IAAI,CAAC,CAAa;IACxD,mBAAmB,QAAO,IAAI,CAAO;
|
|
1
|
+
{"version":3,"file":"MockPneumaticPanelSelectUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/Mocks/MockPneumaticPanelSelectUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,sBAAsB;IACpE,YAAY,QAAO,IAAI,CAAO;IAC9B,aAAa,QAAO,IAAI,CAAO;IAC/B,wBAAwB,QAAO,CAAC,MAAM,IAAI,CAAC,CAAa;IACxD,mBAAmB,QAAO,IAAI,CAAO;gBAEzB,SAAS,EAAE,SAAS;CAGjC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AppObject, AppObjectPM, AppObjectRepo } from "@vived/core";
|
|
2
|
-
import { type PneumaticPanelHighlightedObject } from "../Entities/PneumaticPanelEntity";
|
|
3
2
|
/**
|
|
4
3
|
* View Model for Pneumatic Panel UI rendering.
|
|
5
4
|
* Immutable snapshot of component state suitable for views.
|
|
@@ -16,8 +15,6 @@ export interface PneumaticPanelVM {
|
|
|
16
15
|
* When false, reveal it only on hover (assessment mode).
|
|
17
16
|
*/
|
|
18
17
|
showGhostLockHint: boolean;
|
|
19
|
-
/** Which object should be highlighted in the scene. */
|
|
20
|
-
highlightedObject: PneumaticPanelHighlightedObject;
|
|
21
18
|
/** Whether the panel hitbox is enabled for whole-panel selection. */
|
|
22
19
|
panelHitboxEnabled: boolean;
|
|
23
20
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelPM.d.ts","sourceRoot":"","sources":["../../../src/Domain/PMs/PneumaticPanelPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"PneumaticPanelPM.d.ts","sourceRoot":"","sources":["../../../src/Domain/PMs/PneumaticPanelPM.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGpE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wCAAwC;IACxC,WAAW,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qEAAqE;IACrE,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,wBAAwB,EAAE,OAAO,CAAC;CACnC;AAED;;;;;;GAMG;AACH,8BAAsB,gBAAiB,SAAQ,WAAW,CAAC,gBAAgB,CAAC;IAC1E,MAAM,CAAC,QAAQ,CAAC,IAAI,sBAAsB;IAE1C,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS;IAI3D,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,gBAAgB,GAAG,SAAS;CAGhC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAE3E"}
|
|
@@ -18,20 +18,6 @@ export declare abstract class PneumaticPanelSelectUC extends AppObjectUC {
|
|
|
18
18
|
* Called exclusively via the panelHitboxClicked controller (framework boundary).
|
|
19
19
|
*/
|
|
20
20
|
abstract notifyPanelSelected(): void;
|
|
21
|
-
/** Subscribe to panel-hover-enter events. Returns an unsubscribe function. */
|
|
22
|
-
abstract subscribeOnPanelHoverEnter(callback: () => void): () => void;
|
|
23
|
-
/**
|
|
24
|
-
* Notify all subscribers that the pointer entered the panel hitbox.
|
|
25
|
-
* Called exclusively via the panelHitboxHoverEnter controller (framework boundary).
|
|
26
|
-
*/
|
|
27
|
-
abstract notifyPanelHoverEnter(): void;
|
|
28
|
-
/** Subscribe to panel-hover-exit events. Returns an unsubscribe function. */
|
|
29
|
-
abstract subscribeOnPanelHoverExit(callback: () => void): () => void;
|
|
30
|
-
/**
|
|
31
|
-
* Notify all subscribers that the pointer exited the panel hitbox.
|
|
32
|
-
* Called exclusively via the panelHitboxHoverExit controller (framework boundary).
|
|
33
|
-
*/
|
|
34
|
-
abstract notifyPanelHoverExit(): void;
|
|
35
21
|
static get(appObj: AppObject): PneumaticPanelSelectUC | undefined;
|
|
36
22
|
static getById(id: string, appObjects: AppObjectRepo): PneumaticPanelSelectUC | undefined;
|
|
37
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelSelectUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/UCs/PneumaticPanelSelectUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGpE;;;;;GAKG;AACH,8BAAsB,sBAAuB,SAAQ,WAAW;IAC9D,MAAM,CAAC,QAAQ,CAAC,IAAI,4BAA4B;IAEhD,mDAAmD;IACnD,QAAQ,CAAC,YAAY,IAAI,IAAI;IAE7B,mFAAmF;IACnF,QAAQ,CAAC,aAAa,IAAI,IAAI;IAE9B,2EAA2E;IAC3E,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAEnE;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,IAAI,IAAI;IAEpC,
|
|
1
|
+
{"version":3,"file":"PneumaticPanelSelectUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/UCs/PneumaticPanelSelectUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGpE;;;;;GAKG;AACH,8BAAsB,sBAAuB,SAAQ,WAAW;IAC9D,MAAM,CAAC,QAAQ,CAAC,IAAI,4BAA4B;IAEhD,mDAAmD;IACnD,QAAQ,CAAC,YAAY,IAAI,IAAI;IAE7B,mFAAmF;IACnF,QAAQ,CAAC,aAAa,IAAI,IAAI;IAE9B,2EAA2E;IAC3E,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAEnE;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,IAAI,IAAI;IAEpC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,sBAAsB,GAAG,SAAS;IAIjE,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,sBAAsB,GAAG,SAAS;CAGtC;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,GACnB,sBAAsB,CAExB"}
|
|
@@ -2,14 +2,6 @@ import type { AbstractMesh } from "@babylonjs/core";
|
|
|
2
2
|
import type { Node } from "@babylonjs/core";
|
|
3
3
|
import type { TransformNode } from "@babylonjs/core";
|
|
4
4
|
import { AppObject, AppObjectView } from "@vived/core";
|
|
5
|
-
export type PneumaticPanelGlowConfig = {
|
|
6
|
-
blurHorizontalSize: number;
|
|
7
|
-
blurVerticalSize: number;
|
|
8
|
-
innerGlow: boolean;
|
|
9
|
-
isEnabled: boolean;
|
|
10
|
-
neutralAlpha: number;
|
|
11
|
-
outerGlow: boolean;
|
|
12
|
-
};
|
|
13
5
|
export declare abstract class PneumaticPanelBabylonView extends AppObjectView {
|
|
14
6
|
static readonly type = "PneumaticPanelBabylonView";
|
|
15
7
|
/** Resolves the Babylon scene, loads meshes, and subscribes to updates. */
|
|
@@ -20,10 +12,15 @@ export declare abstract class PneumaticPanelBabylonView extends AppObjectView {
|
|
|
20
12
|
abstract get shadowCasters(): AbstractMesh[];
|
|
21
13
|
/** Lookup of every scene node keyed by its objectId metadata. Populated after load() completes. */
|
|
22
14
|
abstract get nodesByObjectId(): ReadonlyMap<string, Node>;
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Meshes the Host should treat as one highlightable unit, keyed by semantic objectId.
|
|
17
|
+
* Populated after load() completes.
|
|
18
|
+
*
|
|
19
|
+
* The `panel_hitbox` entry maps to every visible panel mesh (all meshes except the
|
|
20
|
+
* invisible hitbox itself), so outlining the invisible hitbox outlines the visible panel.
|
|
21
|
+
* All other entries map to a single-element array for their respective mesh.
|
|
22
|
+
*/
|
|
23
|
+
abstract get highlightGroupsByObjectId(): ReadonlyMap<string, AbstractMesh[]>;
|
|
27
24
|
static get(appObj: AppObject): PneumaticPanelBabylonView | undefined;
|
|
28
25
|
}
|
|
29
26
|
export declare function makePneumaticPanelBabylonView(appObject: AppObject): PneumaticPanelBabylonView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelBabylonView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelBabylonView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"PneumaticPanelBabylonView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelBabylonView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAoBvD,8BAAsB,yBAA0B,SAAQ,aAAa;IACnE,MAAM,CAAC,QAAQ,CAAC,IAAI,+BAA+B;IAEnD,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,gGAAgG;IAChG,QAAQ,KAAK,iBAAiB,IAAI,aAAa,GAAG,SAAS,CAAC;IAE5D,sEAAsE;IACtE,QAAQ,KAAK,aAAa,IAAI,YAAY,EAAE,CAAC;IAE7C,mGAAmG;IACnG,QAAQ,KAAK,eAAe,IAAI,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE1D;;;;;;;OAOG;IACH,QAAQ,KAAK,yBAAyB,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAE9E,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,yBAAyB,GAAG,SAAS;CAGrE;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,GACnB,yBAAyB,CAE3B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Node } from "@babylonjs/core";
|
|
2
2
|
import { AppObject, AppObjectView } from "@vived/core";
|
|
3
3
|
export declare const pneumaticPanelExhaustKnobMetadata = "exhaust_knob";
|
|
4
4
|
/**
|
|
@@ -10,7 +10,7 @@ export declare const pneumaticPanelExhaustKnobMetadata = "exhaust_knob";
|
|
|
10
10
|
*/
|
|
11
11
|
export declare abstract class PneumaticPanelExhaustView extends AppObjectView {
|
|
12
12
|
static readonly type = "PneumaticPanelExhaustView";
|
|
13
|
-
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node
|
|
13
|
+
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node>): void;
|
|
14
14
|
static get(appObj: AppObject): PneumaticPanelExhaustView | undefined;
|
|
15
15
|
}
|
|
16
16
|
export declare function makePneumaticPanelExhaustView(appObject: AppObject): PneumaticPanelExhaustView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelExhaustView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelExhaustView.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,
|
|
1
|
+
{"version":3,"file":"PneumaticPanelExhaustView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelExhaustView.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,IAAI,EACL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMvD,eAAO,MAAM,iCAAiC,iBAAiB,CAAC;AAEhE;;;;;;GAMG;AACH,8BAAsB,yBAA0B,SAAQ,aAAa;IACnE,MAAM,CAAC,QAAQ,CAAC,IAAI,+BAA+B;IAEnD,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI;IAErE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,yBAAyB,GAAG,SAAS;CAGrE;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,GACnB,yBAAyB,CAE3B"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Node } from "@babylonjs/core";
|
|
2
2
|
import { AppObject, AppObjectView } from "@vived/core";
|
|
3
3
|
export declare const pneumaticPanelGaugeMetadata = "gauge";
|
|
4
4
|
export declare abstract class PneumaticPanelGaugeView extends AppObjectView {
|
|
5
5
|
static readonly type = "PneumaticPanelGaugeView";
|
|
6
|
-
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node
|
|
6
|
+
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node>): void;
|
|
7
7
|
static get(appObj: AppObject): PneumaticPanelGaugeView | undefined;
|
|
8
8
|
}
|
|
9
9
|
export declare function makePneumaticPanelGaugeView(appObject: AppObject): PneumaticPanelGaugeView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelGaugeView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelGaugeView.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,
|
|
1
|
+
{"version":3,"file":"PneumaticPanelGaugeView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelGaugeView.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,IAAI,EACL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKvD,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD,8BAAsB,uBAAwB,SAAQ,aAAa;IACjE,MAAM,CAAC,QAAQ,CAAC,IAAI,6BAA6B;IAEjD,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI;IAErE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,uBAAuB,GAAG,SAAS;CAGnE;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,GACnB,uBAAuB,CAEzB"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Node } from "@babylonjs/core";
|
|
2
2
|
import { AppObject, AppObjectView } from "@vived/core";
|
|
3
|
-
import { type PanelOutlineController } from "./PanelOutlineController";
|
|
4
3
|
export declare const pneumaticPanelHitboxMetadata = "panel_hitbox";
|
|
5
4
|
/**
|
|
6
|
-
* Babylon view that owns panel hitbox interaction
|
|
5
|
+
* Babylon view that owns panel hitbox click interaction.
|
|
7
6
|
*
|
|
8
7
|
* The hitbox is an invisible bounding mesh (objectId: "panel_hitbox") that
|
|
9
|
-
* covers the entire panel. When enabled, it is pickable
|
|
10
|
-
*
|
|
11
|
-
* driven by highlightedObject === "panelHitbox" via the domain VM.
|
|
8
|
+
* covers the entire panel. When enabled, it is pickable. The Host owns all
|
|
9
|
+
* hover detection and interaction-state presentation (ADR 0009).
|
|
12
10
|
*/
|
|
13
11
|
export declare abstract class PneumaticPanelHitboxView extends AppObjectView {
|
|
14
12
|
static readonly type = "PneumaticPanelHitboxView";
|
|
15
|
-
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node
|
|
13
|
+
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node>): void;
|
|
16
14
|
static get(appObj: AppObject): PneumaticPanelHitboxView | undefined;
|
|
17
15
|
}
|
|
18
16
|
export declare function makePneumaticPanelHitboxView(appObject: AppObject): PneumaticPanelHitboxView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelHitboxView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelHitboxView.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"PneumaticPanelHitboxView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelHitboxView.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,IAAI,EACL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKvD,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAE3D;;;;;;GAMG;AACH,8BAAsB,wBAAyB,SAAQ,aAAa;IAClE,MAAM,CAAC,QAAQ,CAAC,IAAI,8BAA8B;IAElD,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI;IAErE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,wBAAwB,GAAG,SAAS;CAGpE;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,GACnB,wBAAwB,CAE1B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Node } from "@babylonjs/core";
|
|
2
2
|
import { AppObject, AppObjectView } from "@vived/core";
|
|
3
3
|
export declare const pneumaticPanelLockMetadata = "lock";
|
|
4
4
|
export declare const pneumaticPanelGhostLockMetadata = "ghost_lock";
|
|
@@ -10,7 +10,7 @@ export declare const pneumaticPanelGhostLockMetadata = "ghost_lock";
|
|
|
10
10
|
*/
|
|
11
11
|
export declare abstract class PneumaticPanelLockView extends AppObjectView {
|
|
12
12
|
static readonly type = "PneumaticPanelLockView";
|
|
13
|
-
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node
|
|
13
|
+
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node>): void;
|
|
14
14
|
abstract flash(): void;
|
|
15
15
|
static get(appObj: AppObject): PneumaticPanelLockView | undefined;
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelLockView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelLockView.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,
|
|
1
|
+
{"version":3,"file":"PneumaticPanelLockView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelLockView.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,IAAI,EAEL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKvD,eAAO,MAAM,0BAA0B,SAAS,CAAC;AACjD,eAAO,MAAM,+BAA+B,eAAe,CAAC;AAE5D;;;;;GAKG;AACH,8BAAsB,sBAAuB,SAAQ,aAAa;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,4BAA4B;IAEhD,QAAQ,CAAC,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI;IACrE,QAAQ,CAAC,KAAK,IAAI,IAAI;IAEtB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,sBAAsB,GAAG,SAAS;CAGlE;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,GACnB,sBAAsB,CAExB"}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { AppObjectRepo } from "@vived/core";
|
|
2
|
-
import { type PneumaticPanelHighlightedObject } from "./Domain/Entities/PneumaticPanelEntity";
|
|
3
2
|
import type { PneumaticPanelVM } from "./Domain/PMs/PneumaticPanelPM";
|
|
4
|
-
export declare const PNEUMATIC_PANEL_STATE_VERSION =
|
|
3
|
+
export declare const PNEUMATIC_PANEL_STATE_VERSION = 2;
|
|
5
4
|
export type PneumaticPanelState = {
|
|
6
5
|
version: number;
|
|
7
6
|
exhaustOpen: boolean;
|
|
8
7
|
isLocked: boolean;
|
|
9
8
|
showGhostLockHint: boolean;
|
|
10
|
-
highlightedObject: PneumaticPanelHighlightedObject;
|
|
11
9
|
panelHitboxEnabled: boolean;
|
|
12
10
|
};
|
|
13
11
|
/**
|
|
@@ -36,8 +34,6 @@ export type PneumaticPanelEvents = {
|
|
|
36
34
|
panelUnlocked: () => void;
|
|
37
35
|
panelSelected: () => void;
|
|
38
36
|
pressureChecked: () => void;
|
|
39
|
-
panelHoverEnter: () => void;
|
|
40
|
-
panelHoverExit: () => void;
|
|
41
37
|
};
|
|
42
38
|
/**
|
|
43
39
|
* Host-facing facade for Pneumatic Panel smart component.
|
|
@@ -90,14 +86,6 @@ export declare class PneumaticPanelFacade implements SmartComponent {
|
|
|
90
86
|
* Trigger a pressure check.
|
|
91
87
|
*/
|
|
92
88
|
checkPressure(): void;
|
|
93
|
-
/**
|
|
94
|
-
* Set which single object should be highlighted in the scene.
|
|
95
|
-
*/
|
|
96
|
-
setHighlightedObject(obj: PneumaticPanelHighlightedObject): void;
|
|
97
|
-
/**
|
|
98
|
-
* Clear all highlights.
|
|
99
|
-
*/
|
|
100
|
-
clearAllHighlights(): void;
|
|
101
89
|
/**
|
|
102
90
|
* Show or hide the ghost lock hint.
|
|
103
91
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelFacade.d.ts","sourceRoot":"","sources":["../src/PneumaticPanelFacade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"PneumaticPanelFacade.d.ts","sourceRoot":"","sources":["../src/PneumaticPanelFacade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAkB5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IACnE,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5D,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,IAAI,IAAI,CAAC;IAChB,QAAQ,IAAI,mBAAmB,CAAC;IAChC,UAAU,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,cAAc;IACzD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,gBAAgB,KAAK;IAC9B,OAAO,CAAC,UAAU,CAAgB;IAElC;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAWtB;IAEF;;;;;;OAMG;gBACS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa;IASjD;;;OAGG;IACH;;;;;;OAMG;IAEG,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3C;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;;OAGG;IACH,aAAa,IAAI,OAAO;IAIxB;;;OAGG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAIzC;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB,QAAQ,IAAI,mBAAmB;IAQ/B,UAAU,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAI5C;;;;;OAKG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,oBAAoB,EAC1C,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC1B,MAAM,IAAI;IAKb;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;CAI5D"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,8 +13,6 @@ export { tryToggleExhaust } from "./Domain/Controllers/tryToggleExhaust";
|
|
|
13
13
|
export { tryToggleLock } from "./Domain/Controllers/tryToggleLock";
|
|
14
14
|
export { checkPressure } from "./Domain/Controllers/checkPressure";
|
|
15
15
|
export { setShowGhostLockHint } from "./Domain/Controllers/setShowGhostLockHint";
|
|
16
|
-
export { setHighlightedObject } from "./Domain/Controllers/setHighlightedObject";
|
|
17
|
-
export { clearAllHighlights } from "./Domain/Controllers/clearAllHighlights";
|
|
18
16
|
export { getPanelState } from "./Domain/Controllers/getPanelState";
|
|
19
17
|
export { applyPanelState } from "./Domain/Controllers/applyPanelState";
|
|
20
18
|
export { onExhaustOpened } from "./Domain/Controllers/onExhaustOpened";
|
|
@@ -27,13 +25,9 @@ export { disablePanelHitbox } from "./Domain/Controllers/disablePanelHitbox";
|
|
|
27
25
|
export { onPanelSelected } from "./Domain/Controllers/onPanelSelected";
|
|
28
26
|
export { onCheckPressure } from "./Domain/Controllers/onCheckPressure";
|
|
29
27
|
export { panelHitboxClicked } from "./Domain/Controllers/panelHitboxClicked";
|
|
30
|
-
export { onPanelHoverEnter } from "./Domain/Controllers/onPanelHoverEnter";
|
|
31
|
-
export { onPanelHoverExit } from "./Domain/Controllers/onPanelHoverExit";
|
|
32
|
-
export { panelHitboxHoverEnter } from "./Domain/Controllers/panelHitboxHoverEnter";
|
|
33
|
-
export { panelHitboxHoverExit } from "./Domain/Controllers/panelHitboxHoverExit";
|
|
34
28
|
export { PneumaticPanelPM, makePneumaticPanelPM, type PneumaticPanelVM, } from "./Domain/PMs/PneumaticPanelPM";
|
|
35
29
|
export { pneumaticPanelPMAdapter } from "./Domain/Adapters/pneumaticPanelPMAdapter";
|
|
36
|
-
export { PneumaticPanelBabylonView, makePneumaticPanelBabylonView,
|
|
30
|
+
export { PneumaticPanelBabylonView, makePneumaticPanelBabylonView, } from "./Frameworks/Babylon/PneumaticPanelBabylonView";
|
|
37
31
|
export { PneumaticPanelFeatureFactory, makePneumaticPanelFeatureFactory, } from "./Domain/Factory/PneumaticPanelFeatureFactory";
|
|
38
32
|
export { createBabylonPneumaticPanel } from "./Frameworks/Babylon/createBabylonPneumaticPanel";
|
|
39
33
|
export { MockPneumaticPanelPM } from "./Domain/Mocks/MockPneumaticPanelPM";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,2BAA2B,GACjC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,2BAA2B,GACjC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,GAClC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAG7E,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,gBAAgB,GACtB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAGpF,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,gDAAgD,CAAC;AAGxD,OAAO,EACL,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,+CAA+C,CAAC;AAGvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAG/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,iCAAiC,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAGvF,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEhE,OAAO,EACL,oBAAoB,EACpB,6BAA6B,EAC7B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,oBAAoB,GAC1B,MAAM,wBAAwB,CAAC"}
|