@vived/component-pneumatic-panel 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Domain/Adapters/pneumaticPanelPMAdapter.d.ts.map +1 -1
- package/dist/Domain/Controllers/clearAllHighlights.d.ts +9 -0
- package/dist/Domain/Controllers/clearAllHighlights.d.ts.map +1 -0
- package/dist/Domain/Controllers/disablePanelHitbox.d.ts +7 -0
- package/dist/Domain/Controllers/disablePanelHitbox.d.ts.map +1 -0
- package/dist/Domain/Controllers/enablePanelHitbox.d.ts +6 -0
- package/dist/Domain/Controllers/enablePanelHitbox.d.ts.map +1 -0
- package/dist/Domain/Controllers/onExhaustCloseBlockedByLock.d.ts +7 -0
- package/dist/Domain/Controllers/onExhaustCloseBlockedByLock.d.ts.map +1 -0
- package/dist/Domain/Controllers/onExhaustClosed.d.ts +7 -0
- package/dist/Domain/Controllers/onExhaustClosed.d.ts.map +1 -0
- package/dist/Domain/Controllers/onExhaustOpened.d.ts +7 -0
- package/dist/Domain/Controllers/onExhaustOpened.d.ts.map +1 -0
- package/dist/Domain/Controllers/onPanelLocked.d.ts +7 -0
- package/dist/Domain/Controllers/onPanelLocked.d.ts.map +1 -0
- package/dist/Domain/Controllers/onPanelSelected.d.ts +7 -0
- package/dist/Domain/Controllers/onPanelSelected.d.ts.map +1 -0
- package/dist/Domain/Controllers/onPanelUnlocked.d.ts +7 -0
- package/dist/Domain/Controllers/onPanelUnlocked.d.ts.map +1 -0
- package/dist/Domain/Controllers/panelHitboxClicked.d.ts +7 -0
- package/dist/Domain/Controllers/panelHitboxClicked.d.ts.map +1 -0
- package/dist/Domain/Controllers/setHighlightedObject.d.ts +11 -0
- package/dist/Domain/Controllers/setHighlightedObject.d.ts.map +1 -0
- package/dist/Domain/Controllers/setShowGhostLockHint.d.ts +10 -0
- package/dist/Domain/Controllers/setShowGhostLockHint.d.ts.map +1 -0
- package/dist/Domain/Entities/PneumaticPanelEntity.d.ts +13 -0
- package/dist/Domain/Entities/PneumaticPanelEntity.d.ts.map +1 -1
- package/dist/Domain/Factory/PneumaticPanelFeatureFactory.d.ts.map +1 -1
- package/dist/Domain/Mocks/MockPneumaticPanelCheckPressureUC.d.ts +1 -0
- package/dist/Domain/Mocks/MockPneumaticPanelCheckPressureUC.d.ts.map +1 -1
- package/dist/Domain/Mocks/MockPneumaticPanelSelectUC.d.ts +13 -0
- package/dist/Domain/Mocks/MockPneumaticPanelSelectUC.d.ts.map +1 -0
- package/dist/Domain/Mocks/MockPneumaticPanelToggleExhaustUC.d.ts +3 -0
- package/dist/Domain/Mocks/MockPneumaticPanelToggleExhaustUC.d.ts.map +1 -1
- package/dist/Domain/Mocks/MockPneumaticPanelToggleLockUC.d.ts +2 -0
- package/dist/Domain/Mocks/MockPneumaticPanelToggleLockUC.d.ts.map +1 -1
- package/dist/Domain/PMs/PneumaticPanelPM.d.ts +15 -0
- package/dist/Domain/PMs/PneumaticPanelPM.d.ts.map +1 -1
- package/dist/Domain/UCs/PneumaticPanelCheckPressureUC.d.ts +2 -0
- package/dist/Domain/UCs/PneumaticPanelCheckPressureUC.d.ts.map +1 -1
- package/dist/Domain/UCs/PneumaticPanelSelectUC.d.ts +28 -0
- package/dist/Domain/UCs/PneumaticPanelSelectUC.d.ts.map +1 -0
- package/dist/Domain/UCs/PneumaticPanelToggleExhaustUC.d.ts +6 -0
- package/dist/Domain/UCs/PneumaticPanelToggleExhaustUC.d.ts.map +1 -1
- package/dist/Domain/UCs/PneumaticPanelToggleLockUC.d.ts +4 -0
- package/dist/Domain/UCs/PneumaticPanelToggleLockUC.d.ts.map +1 -1
- package/dist/Frameworks/Babylon/OutlinePulseController.d.ts +18 -0
- package/dist/Frameworks/Babylon/OutlinePulseController.d.ts.map +1 -0
- package/dist/Frameworks/Babylon/OverlayPulseController.d.ts +17 -0
- package/dist/Frameworks/Babylon/OverlayPulseController.d.ts.map +1 -0
- package/dist/Frameworks/Babylon/PneumaticPanelAssetCache.d.ts +6 -0
- package/dist/Frameworks/Babylon/PneumaticPanelAssetCache.d.ts.map +1 -0
- package/dist/Frameworks/Babylon/PneumaticPanelBabylonView.d.ts +23 -16
- package/dist/Frameworks/Babylon/PneumaticPanelBabylonView.d.ts.map +1 -1
- package/dist/Frameworks/Babylon/PneumaticPanelExhaustView.d.ts +17 -0
- package/dist/Frameworks/Babylon/PneumaticPanelExhaustView.d.ts.map +1 -0
- package/dist/Frameworks/Babylon/PneumaticPanelGaugeView.d.ts +10 -0
- package/dist/Frameworks/Babylon/PneumaticPanelGaugeView.d.ts.map +1 -0
- package/dist/Frameworks/Babylon/PneumaticPanelHitboxView.d.ts +18 -0
- package/dist/Frameworks/Babylon/PneumaticPanelHitboxView.d.ts.map +1 -0
- package/dist/Frameworks/Babylon/PneumaticPanelLockView.d.ts +18 -0
- package/dist/Frameworks/Babylon/PneumaticPanelLockView.d.ts.map +1 -0
- package/dist/Frameworks/Babylon/ScreenSpaceOutlinePulseController.d.ts +17 -0
- package/dist/Frameworks/Babylon/ScreenSpaceOutlinePulseController.d.ts.map +1 -0
- package/dist/Frameworks/Babylon/createBabylonPneumaticPanel.d.ts +2 -12
- package/dist/Frameworks/Babylon/createBabylonPneumaticPanel.d.ts.map +1 -1
- package/dist/index.d.ts +16 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5003 -259
- package/dist/pneumaticPanel.glb +0 -0
- package/dist/studio.env +0 -0
- package/package.json +2 -2
- package/dist/Factory/PneumaticPanelFeatureFactory.d.ts +0 -26
- package/dist/Factory/PneumaticPanelFeatureFactory.d.ts.map +0 -1
|
@@ -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,CA0C/D,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Clears all active highlights on the Pneumatic Panel.
|
|
4
|
+
*
|
|
5
|
+
* @param id - The ID of the Pneumatic Panel instance.
|
|
6
|
+
* @param appObjects - The AppObject repository.
|
|
7
|
+
*/
|
|
8
|
+
export declare function clearAllHighlights(id: string, appObjects: AppObjectRepo): void;
|
|
9
|
+
//# sourceMappingURL=clearAllHighlights.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clearAllHighlights.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/clearAllHighlights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,IAAI,CAYN"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Disables the panel hitbox on the given panel,
|
|
4
|
+
* restoring sub-component interactions in the view.
|
|
5
|
+
*/
|
|
6
|
+
export declare function disablePanelHitbox(id: string, appObjects: AppObjectRepo): void;
|
|
7
|
+
//# sourceMappingURL=disablePanelHitbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disablePanelHitbox.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/disablePanelHitbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,IAAI,CAYN"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Enables the panel hitbox for whole-panel selection on the given panel.
|
|
4
|
+
*/
|
|
5
|
+
export declare function enablePanelHitbox(id: string, appObjects: AppObjectRepo): void;
|
|
6
|
+
//# sourceMappingURL=enablePanelHitbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enablePanelHitbox.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/enablePanelHitbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,GAAG,IAAI,CAY7E"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Subscribes to blocked exhaust-close attempts (while panel is locked).
|
|
4
|
+
* Returns an unsubscribe function.
|
|
5
|
+
*/
|
|
6
|
+
export declare function onExhaustCloseBlockedByLock(id: string, appObjects: AppObjectRepo, callback: () => void): () => void;
|
|
7
|
+
//# sourceMappingURL=onExhaustCloseBlockedByLock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onExhaustCloseBlockedByLock.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/onExhaustCloseBlockedByLock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAYZ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Subscribes to exhaust-closed transitions on the given panel.
|
|
4
|
+
* Returns an unsubscribe function.
|
|
5
|
+
*/
|
|
6
|
+
export declare function onExhaustClosed(id: string, appObjects: AppObjectRepo, callback: () => void): () => void;
|
|
7
|
+
//# sourceMappingURL=onExhaustClosed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onExhaustClosed.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/onExhaustClosed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAYZ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Subscribes to exhaust-opened transitions on the given panel.
|
|
4
|
+
* Returns an unsubscribe function.
|
|
5
|
+
*/
|
|
6
|
+
export declare function onExhaustOpened(id: string, appObjects: AppObjectRepo, callback: () => void): () => void;
|
|
7
|
+
//# sourceMappingURL=onExhaustOpened.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onExhaustOpened.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/onExhaustOpened.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAYZ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Subscribes to lock-engaged transitions on the given panel.
|
|
4
|
+
* Returns an unsubscribe function.
|
|
5
|
+
*/
|
|
6
|
+
export declare function onPanelLocked(id: string, appObjects: AppObjectRepo, callback: () => void): () => void;
|
|
7
|
+
//# sourceMappingURL=onPanelLocked.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onPanelLocked.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/onPanelLocked.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAYZ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Subscribes to panel-selected events on the given panel.
|
|
4
|
+
* Returns an unsubscribe function.
|
|
5
|
+
*/
|
|
6
|
+
export declare function onPanelSelected(id: string, appObjects: AppObjectRepo, callback: () => void): () => void;
|
|
7
|
+
//# sourceMappingURL=onPanelSelected.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onPanelSelected.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/onPanelSelected.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAYZ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Subscribes to lock-disengaged transitions on the given panel.
|
|
4
|
+
* Returns an unsubscribe function.
|
|
5
|
+
*/
|
|
6
|
+
export declare function onPanelUnlocked(id: string, appObjects: AppObjectRepo, callback: () => void): () => void;
|
|
7
|
+
//# sourceMappingURL=onPanelUnlocked.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onPanelUnlocked.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/onPanelUnlocked.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI,CAYZ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Framework boundary controller — called by the Babylon HitboxView when
|
|
4
|
+
* the panel_hitbox mesh is picked. Notifies domain subscribers.
|
|
5
|
+
*/
|
|
6
|
+
export declare function panelHitboxClicked(id: string, appObjects: AppObjectRepo): void;
|
|
7
|
+
//# sourceMappingURL=panelHitboxClicked.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panelHitboxClicked.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/panelHitboxClicked.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,IAAI,CAYN"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
import { type PneumaticPanelHighlightedObject } from "../Entities/PneumaticPanelEntity";
|
|
3
|
+
/**
|
|
4
|
+
* Sets which single object should be highlighted in the scene.
|
|
5
|
+
*
|
|
6
|
+
* @param id - The ID of the Pneumatic Panel instance.
|
|
7
|
+
* @param appObjects - The AppObject repository.
|
|
8
|
+
* @param highlightedObject - The object to highlight, or "none".
|
|
9
|
+
*/
|
|
10
|
+
export declare function setHighlightedObject(id: string, appObjects: AppObjectRepo, highlightedObject: PneumaticPanelHighlightedObject): void;
|
|
11
|
+
//# sourceMappingURL=setHighlightedObject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setHighlightedObject.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/setHighlightedObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,kCAAkC,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,iBAAiB,EAAE,+BAA+B,GACjD,IAAI,CAYN"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AppObjectRepo } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* Enables or disables always-visible ghost lock hint mode.
|
|
4
|
+
*
|
|
5
|
+
* @param id - The ID of the Pneumatic Panel instance.
|
|
6
|
+
* @param appObjects - The AppObject repository.
|
|
7
|
+
* @param on - True to show ghost lock immediately, false for hover-only behavior.
|
|
8
|
+
*/
|
|
9
|
+
export declare function setShowGhostLockHint(id: string, appObjects: AppObjectRepo, on: boolean): void;
|
|
10
|
+
//# sourceMappingURL=setShowGhostLockHint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setShowGhostLockHint.d.ts","sourceRoot":"","sources":["../../../src/Domain/Controllers/setShowGhostLockHint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,EACzB,EAAE,EAAE,OAAO,GACV,IAAI,CAYN"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AppObject, AppObjectEntity, AppObjectRepo } from "@vived/core";
|
|
2
|
+
export type PneumaticPanelHighlightedObject = "none" | "ghostLock" | "lock" | "exhaustKnob" | "gauge" | "panelHitbox";
|
|
2
3
|
/**
|
|
3
4
|
* Pneumatic Panel Entity
|
|
4
5
|
*
|
|
@@ -16,6 +17,18 @@ export declare abstract class PneumaticPanelEntity extends AppObjectEntity {
|
|
|
16
17
|
/** Current pressure reading */
|
|
17
18
|
abstract get pressure(): number;
|
|
18
19
|
abstract set pressure(val: number);
|
|
20
|
+
/**
|
|
21
|
+
* When true, the ghost lock is shown immediately (training mode).
|
|
22
|
+
* When false, the ghost lock is only revealed on hover (assessment mode).
|
|
23
|
+
*/
|
|
24
|
+
abstract get showGhostLockHint(): boolean;
|
|
25
|
+
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
|
+
/** Whether the panel hitbox is enabled for whole-panel selection. */
|
|
30
|
+
abstract get panelHitboxEnabled(): boolean;
|
|
31
|
+
abstract set panelHitboxEnabled(val: boolean);
|
|
19
32
|
/**
|
|
20
33
|
* Retrieves the entity from an AppObject
|
|
21
34
|
*/
|
|
@@ -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;;;;;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;;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;
|
|
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,MAAM,MAAM,+BAA+B,GACvC,MAAM,GACN,WAAW,GACX,MAAM,GACN,aAAa,GACb,OAAO,GACP,aAAa,CAAC;AAElB;;;;;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,uDAAuD;IACvD,QAAQ,KAAK,iBAAiB,IAAI,+BAA+B,CAAC;IAClE,QAAQ,KAAK,iBAAiB,CAAC,GAAG,EAAE,+BAA+B,EAAE;IAErE,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelFeatureFactory.d.ts","sourceRoot":"","sources":["../../../src/Domain/Factory/PneumaticPanelFeatureFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"PneumaticPanelFeatureFactory.d.ts","sourceRoot":"","sources":["../../../src/Domain/Factory/PneumaticPanelFeatureFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgB3D;;;;;;;;;;;GAWG;AACH,qBAAa,4BAA6B,SAAQ,aAAa;IAC7D,WAAW,SAAkC;IAE7C,OAAO,CAAC,IAAI,CAAmC;IAE/C,aAAa,IAAI,IAAI;IAQrB,QAAQ,IAAI,IAAI;IAIhB,QAAQ,IAAI,IAAI;IAKhB,UAAU,IAAI,IAAI;CAGnB;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,aAAa,GACxB,4BAA4B,CAG9B"}
|
|
@@ -5,6 +5,7 @@ import { PneumaticPanelCheckPressureUC } from "../UCs/PneumaticPanelCheckPressur
|
|
|
5
5
|
*/
|
|
6
6
|
export declare class MockPneumaticPanelCheckPressureUC extends PneumaticPanelCheckPressureUC {
|
|
7
7
|
checkPressure: () => void;
|
|
8
|
+
subscribeOnCheckPressure: (_callback: () => void) => (() => void);
|
|
8
9
|
constructor(appObject: AppObject);
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=MockPneumaticPanelCheckPressureUC.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockPneumaticPanelCheckPressureUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/Mocks/MockPneumaticPanelCheckPressureUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAErF;;GAEG;AACH,qBAAa,
|
|
1
|
+
{"version":3,"file":"MockPneumaticPanelCheckPressureUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/Mocks/MockPneumaticPanelCheckPressureUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAErF;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,6BAA6B;IAClF,aAAa,QAAO,IAAI,CAEtB;IACF,wBAAwB,GACrB,WAAW,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAC5B;gBAEC,SAAS,EAAE,SAAS;CAGjC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AppObject } from "@vived/core";
|
|
2
|
+
import { PneumaticPanelSelectUC } from "../UCs/PneumaticPanelSelectUC";
|
|
3
|
+
/**
|
|
4
|
+
* Mock SelectUC for testing views and components in isolation.
|
|
5
|
+
*/
|
|
6
|
+
export declare class MockPneumaticPanelSelectUC extends PneumaticPanelSelectUC {
|
|
7
|
+
enableHitbox: () => void;
|
|
8
|
+
disableHitbox: () => void;
|
|
9
|
+
subscribeOnPanelSelected: (_callback: () => void) => (() => void);
|
|
10
|
+
notifyPanelSelected: () => void;
|
|
11
|
+
constructor(appObject: AppObject);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=MockPneumaticPanelSelectUC.d.ts.map
|
|
@@ -0,0 +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,GACrB,WAAW,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAC5B;IACX,mBAAmB,QAAO,IAAI,CAAO;gBAEzB,SAAS,EAAE,SAAS;CAGjC"}
|
|
@@ -6,6 +6,9 @@ import { PneumaticPanelToggleExhaustUC } from "../UCs/PneumaticPanelToggleExhaus
|
|
|
6
6
|
export declare class MockPneumaticPanelToggleExhaustUC extends PneumaticPanelToggleExhaustUC {
|
|
7
7
|
maxPressure: number;
|
|
8
8
|
toggleExhaust: () => boolean;
|
|
9
|
+
subscribeOnExhaustOpened: (_callback: () => void) => (() => void);
|
|
10
|
+
subscribeOnExhaustClosed: (_callback: () => void) => (() => void);
|
|
11
|
+
subscribeOnExhaustCloseBlockedByLock: (_callback: () => void) => (() => void);
|
|
9
12
|
constructor(appObject: AppObject);
|
|
10
13
|
}
|
|
11
14
|
//# sourceMappingURL=MockPneumaticPanelToggleExhaustUC.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockPneumaticPanelToggleExhaustUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/Mocks/MockPneumaticPanelToggleExhaustUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAErF;;GAEG;AACH,qBAAa,
|
|
1
|
+
{"version":3,"file":"MockPneumaticPanelToggleExhaustUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/Mocks/MockPneumaticPanelToggleExhaustUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAErF;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,6BAA6B;IAClF,WAAW,SAAM;IACjB,aAAa,QAAO,OAAO,CAAS;IACpC,wBAAwB,GACrB,WAAW,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAC5B;IACX,wBAAwB,GACrB,WAAW,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAC5B;IACX,oCAAoC,GACjC,WAAW,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAC5B;gBAEC,SAAS,EAAE,SAAS;CAGjC"}
|
|
@@ -5,6 +5,8 @@ import { PneumaticPanelToggleLockUC } from "../UCs/PneumaticPanelToggleLockUC";
|
|
|
5
5
|
*/
|
|
6
6
|
export declare class MockPneumaticPanelToggleLockUC extends PneumaticPanelToggleLockUC {
|
|
7
7
|
toggleLock: () => boolean;
|
|
8
|
+
subscribeOnPanelLocked: (_callback: () => void) => (() => void);
|
|
9
|
+
subscribeOnPanelUnlocked: (_callback: () => void) => (() => void);
|
|
8
10
|
constructor(appObject: AppObject);
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=MockPneumaticPanelToggleLockUC.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockPneumaticPanelToggleLockUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/Mocks/MockPneumaticPanelToggleLockUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAE/E;;GAEG;AACH,qBAAa,
|
|
1
|
+
{"version":3,"file":"MockPneumaticPanelToggleLockUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/Mocks/MockPneumaticPanelToggleLockUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAE/E;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,0BAA0B;IAC5E,UAAU,QAAO,OAAO,CAAS;IACjC,sBAAsB,GACnB,WAAW,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAC5B;IACX,wBAAwB,GACrB,WAAW,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAC5B;gBAEC,SAAS,EAAE,SAAS;CAGjC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AppObject, AppObjectPM, AppObjectRepo } from "@vived/core";
|
|
2
|
+
import { type PneumaticPanelHighlightedObject } from "../Entities/PneumaticPanelEntity";
|
|
2
3
|
/**
|
|
3
4
|
* View Model for Pneumatic Panel UI rendering.
|
|
4
5
|
* Immutable snapshot of component state suitable for views.
|
|
@@ -10,6 +11,20 @@ export interface PneumaticPanelVM {
|
|
|
10
11
|
isLocked: boolean;
|
|
11
12
|
/** Current pressure reading */
|
|
12
13
|
pressure: number;
|
|
14
|
+
/**
|
|
15
|
+
* When true, show the ghost lock immediately (training mode).
|
|
16
|
+
* When false, reveal it only on hover (assessment mode).
|
|
17
|
+
*/
|
|
18
|
+
showGhostLockHint: boolean;
|
|
19
|
+
/** Which object should be highlighted in the scene. */
|
|
20
|
+
highlightedObject: PneumaticPanelHighlightedObject;
|
|
21
|
+
/** Whether the panel hitbox is enabled for whole-panel selection. */
|
|
22
|
+
panelHitboxEnabled: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Whether sub-components (gauge, exhaust knob, lock, ghost lock) respond to
|
|
25
|
+
* pointer interaction. Always derived as !panelHitboxEnabled.
|
|
26
|
+
*/
|
|
27
|
+
subComponentsInteractive: boolean;
|
|
13
28
|
}
|
|
14
29
|
/**
|
|
15
30
|
* PneumaticPanelPM
|
|
@@ -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;AACpE,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,kCAAkC,CAAC;AAE1C;;;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,uDAAuD;IACvD,iBAAiB,EAAE,+BAA+B,CAAC;IACnD,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"}
|
|
@@ -9,6 +9,8 @@ export declare abstract class PneumaticPanelCheckPressureUC extends AppObjectUC
|
|
|
9
9
|
static readonly type = "PneumaticPanelCheckPressureUC";
|
|
10
10
|
/** Display the current pressure */
|
|
11
11
|
abstract checkPressure(): void;
|
|
12
|
+
/** Subscribe to check-pressure invocations. Returns an unsubscribe function. */
|
|
13
|
+
abstract subscribeOnCheckPressure(callback: () => void): () => void;
|
|
12
14
|
static get(appObj: AppObject): PneumaticPanelCheckPressureUC | undefined;
|
|
13
15
|
static getById(id: string, appObjects: AppObjectRepo): PneumaticPanelCheckPressureUC | undefined;
|
|
14
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelCheckPressureUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/UCs/PneumaticPanelCheckPressureUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAkBpE;;;;;GAKG;AACH,8BAAsB,6BAA8B,SAAQ,WAAW;IACrE,MAAM,CAAC,QAAQ,CAAC,IAAI,mCAAmC;IAEvD,mCAAmC;IACnC,QAAQ,CAAC,aAAa,IAAI,IAAI;IAE9B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,6BAA6B,GAAG,SAAS;IAIxE,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,6BAA6B,GAAG,SAAS;CAK7C;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,GACnB,6BAA6B,CAE/B"}
|
|
1
|
+
{"version":3,"file":"PneumaticPanelCheckPressureUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/UCs/PneumaticPanelCheckPressureUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAkBpE;;;;;GAKG;AACH,8BAAsB,6BAA8B,SAAQ,WAAW;IACrE,MAAM,CAAC,QAAQ,CAAC,IAAI,mCAAmC;IAEvD,mCAAmC;IACnC,QAAQ,CAAC,aAAa,IAAI,IAAI;IAE9B,gFAAgF;IAChF,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAEnE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,6BAA6B,GAAG,SAAS;IAIxE,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,6BAA6B,GAAG,SAAS;CAK7C;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,GACnB,6BAA6B,CAE/B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AppObject, AppObjectRepo, AppObjectUC } from "@vived/core";
|
|
2
|
+
/**
|
|
3
|
+
* PneumaticPanelSelectUC
|
|
4
|
+
*
|
|
5
|
+
* Use Case that manages the Panel Hitbox lifecycle and exposes the
|
|
6
|
+
* panel-selected event to the slide Activity.
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class PneumaticPanelSelectUC extends AppObjectUC {
|
|
9
|
+
static readonly type = "PneumaticPanelSelectUC";
|
|
10
|
+
/** Enable the whole-panel hitbox for selection. */
|
|
11
|
+
abstract enableHitbox(): void;
|
|
12
|
+
/** Disable the whole-panel hitbox; sub-component interactions restored by view. */
|
|
13
|
+
abstract disableHitbox(): void;
|
|
14
|
+
/** Subscribe to panel-selected events. Returns an unsubscribe function. */
|
|
15
|
+
abstract subscribeOnPanelSelected(callback: () => void): () => void;
|
|
16
|
+
/**
|
|
17
|
+
* Notify all subscribers that the panel was selected.
|
|
18
|
+
* Called exclusively via the panelHitboxClicked controller (framework boundary).
|
|
19
|
+
*/
|
|
20
|
+
abstract notifyPanelSelected(): void;
|
|
21
|
+
static get(appObj: AppObject): PneumaticPanelSelectUC | undefined;
|
|
22
|
+
static getById(id: string, appObjects: AppObjectRepo): PneumaticPanelSelectUC | undefined;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Factory function to create a new PneumaticPanelSelectUC
|
|
26
|
+
*/
|
|
27
|
+
export declare function makePneumaticPanelSelectUC(appObject: AppObject): PneumaticPanelSelectUC;
|
|
28
|
+
//# sourceMappingURL=PneumaticPanelSelectUC.d.ts.map
|
|
@@ -0,0 +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,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"}
|
|
@@ -15,6 +15,12 @@ export declare abstract class PneumaticPanelToggleExhaustUC extends AppObjectUC
|
|
|
15
15
|
abstract set maxPressure(val: number);
|
|
16
16
|
/** Toggle the exhaust valve. Returns true if successful, false if locked. */
|
|
17
17
|
abstract toggleExhaust(): boolean;
|
|
18
|
+
/** Subscribe to exhaust-opened transitions. Returns an unsubscribe function. */
|
|
19
|
+
abstract subscribeOnExhaustOpened(callback: () => void): () => void;
|
|
20
|
+
/** Subscribe to exhaust-closed transitions. Returns an unsubscribe function. */
|
|
21
|
+
abstract subscribeOnExhaustClosed(callback: () => void): () => void;
|
|
22
|
+
/** Subscribe to blocked close attempts while locked. Returns an unsubscribe function. */
|
|
23
|
+
abstract subscribeOnExhaustCloseBlockedByLock(callback: () => void): () => void;
|
|
18
24
|
static get(appObj: AppObject): PneumaticPanelToggleExhaustUC | undefined;
|
|
19
25
|
static getById(id: string, appObjects: AppObjectRepo): PneumaticPanelToggleExhaustUC | undefined;
|
|
20
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelToggleExhaustUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/UCs/PneumaticPanelToggleExhaustUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGpE;;;;;;;;GAQG;AACH,8BAAsB,6BAA8B,SAAQ,WAAW;IACrE,MAAM,CAAC,QAAQ,CAAC,IAAI,mCAAmC;IAEvD,0EAA0E;IAC1E,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC;IACnC,QAAQ,KAAK,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE;IAEtC,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,IAAI,OAAO;IAEjC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,6BAA6B,GAAG,SAAS;IAIxE,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,6BAA6B,GAAG,SAAS;CAK7C;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,GACnB,6BAA6B,CAE/B"}
|
|
1
|
+
{"version":3,"file":"PneumaticPanelToggleExhaustUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/UCs/PneumaticPanelToggleExhaustUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGpE;;;;;;;;GAQG;AACH,8BAAsB,6BAA8B,SAAQ,WAAW;IACrE,MAAM,CAAC,QAAQ,CAAC,IAAI,mCAAmC;IAEvD,0EAA0E;IAC1E,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC;IACnC,QAAQ,KAAK,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE;IAEtC,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,IAAI,OAAO;IAEjC,gFAAgF;IAChF,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAEnE,gFAAgF;IAChF,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAEnE,yFAAyF;IACzF,QAAQ,CAAC,oCAAoC,CAC3C,QAAQ,EAAE,MAAM,IAAI,GACnB,MAAM,IAAI;IAEb,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,6BAA6B,GAAG,SAAS;IAIxE,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,6BAA6B,GAAG,SAAS;CAK7C;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,GACnB,6BAA6B,CAE/B"}
|
|
@@ -12,6 +12,10 @@ export declare abstract class PneumaticPanelToggleLockUC extends AppObjectUC {
|
|
|
12
12
|
static readonly type = "PneumaticPanelToggleLockUC";
|
|
13
13
|
/** Toggle the lock state. Returns true if successful, false if exhaust is open. */
|
|
14
14
|
abstract toggleLock(): boolean;
|
|
15
|
+
/** Subscribe to lock-engaged transitions. Returns an unsubscribe function. */
|
|
16
|
+
abstract subscribeOnPanelLocked(callback: () => void): () => void;
|
|
17
|
+
/** Subscribe to lock-disengaged transitions. Returns an unsubscribe function. */
|
|
18
|
+
abstract subscribeOnPanelUnlocked(callback: () => void): () => void;
|
|
15
19
|
static get(appObj: AppObject): PneumaticPanelToggleLockUC | undefined;
|
|
16
20
|
static getById(id: string, appObjects: AppObjectRepo): PneumaticPanelToggleLockUC | undefined;
|
|
17
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelToggleLockUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/UCs/PneumaticPanelToggleLockUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGpE;;;;;;;;GAQG;AACH,8BAAsB,0BAA2B,SAAQ,WAAW;IAClE,MAAM,CAAC,QAAQ,CAAC,IAAI,gCAAgC;IAEpD,mFAAmF;IACnF,QAAQ,CAAC,UAAU,IAAI,OAAO;IAE9B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,0BAA0B,GAAG,SAAS;IAIrE,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,0BAA0B,GAAG,SAAS;CAK1C;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,SAAS,GACnB,0BAA0B,CAE5B"}
|
|
1
|
+
{"version":3,"file":"PneumaticPanelToggleLockUC.d.ts","sourceRoot":"","sources":["../../../src/Domain/UCs/PneumaticPanelToggleLockUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGpE;;;;;;;;GAQG;AACH,8BAAsB,0BAA2B,SAAQ,WAAW;IAClE,MAAM,CAAC,QAAQ,CAAC,IAAI,gCAAgC;IAEpD,mFAAmF;IACnF,QAAQ,CAAC,UAAU,IAAI,OAAO;IAE9B,8EAA8E;IAC9E,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAEjE,iFAAiF;IACjF,QAAQ,CAAC,wBAAwB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAEnE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,0BAA0B,GAAG,SAAS;IAIrE,MAAM,CAAC,OAAO,CACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,aAAa,GACxB,0BAA0B,GAAG,SAAS;CAK1C;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,SAAS,GACnB,0BAA0B,CAE5B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AbstractMesh, Color3 } from "@babylonjs/core";
|
|
2
|
+
type OutlinePulseOptions = {
|
|
3
|
+
color?: Color3;
|
|
4
|
+
intervalMs?: number;
|
|
5
|
+
width?: number;
|
|
6
|
+
};
|
|
7
|
+
type OutlinePulseController = {
|
|
8
|
+
apply(on: boolean): void;
|
|
9
|
+
dispose(): void;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Creates a pulsing hard-edge outline controller for one or more meshes.
|
|
13
|
+
* It guarantees immediate cleanup when turned off or disposed.
|
|
14
|
+
* The outline pulses on/off at the specified interval, creating a strobe effect.
|
|
15
|
+
*/
|
|
16
|
+
export declare function makeOutlinePulseController(getMeshes: () => AbstractMesh[], options?: OutlinePulseOptions): OutlinePulseController;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=OutlinePulseController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OutlinePulseController.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/OutlinePulseController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEvD,KAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,YAAY,EAAE,EAC/B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,sBAAsB,CAqExB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AbstractMesh, Color3 } from "@babylonjs/core";
|
|
2
|
+
type OverlayPulseOptions = {
|
|
3
|
+
alpha?: number;
|
|
4
|
+
color?: Color3;
|
|
5
|
+
intervalMs?: number;
|
|
6
|
+
};
|
|
7
|
+
type OverlayPulseController = {
|
|
8
|
+
apply(on: boolean): void;
|
|
9
|
+
dispose(): void;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Creates a small pulsing-overlay controller for one or more meshes.
|
|
13
|
+
* It guarantees immediate cleanup when turned off or disposed.
|
|
14
|
+
*/
|
|
15
|
+
export declare function makeOverlayPulseController(getMeshes: () => AbstractMesh[], options?: OverlayPulseOptions): OverlayPulseController;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=OverlayPulseController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OverlayPulseController.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/OverlayPulseController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEvD,KAAK,mBAAmB,GAAG;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,KAAK,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,IAAI,IAAI,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,YAAY,EAAE,EAC/B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,sBAAsB,CAoExB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AppObjectRepo } from "@vived/core";
|
|
2
|
+
import type { AssetContainer } from "@babylonjs/core";
|
|
3
|
+
import type { Scene } from "@babylonjs/core";
|
|
4
|
+
export declare function getPneumaticPanelAssetContainer(scene: Scene, appObjects: AppObjectRepo, assetId: string): Promise<AssetContainer>;
|
|
5
|
+
export declare function clearPneumaticPanelAssetCache(): void;
|
|
6
|
+
//# sourceMappingURL=PneumaticPanelAssetCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PneumaticPanelAssetCache.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelAssetCache.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAiB7C,wBAAsB,+BAA+B,CACnD,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,CAAC,CAoBzB;AAED,wBAAgB,6BAA6B,IAAI,IAAI,CAKpD"}
|
|
@@ -1,23 +1,30 @@
|
|
|
1
|
-
import { AbstractMesh } from "@babylonjs/core";
|
|
1
|
+
import type { AbstractMesh } from "@babylonjs/core";
|
|
2
|
+
import type { Node } from "@babylonjs/core";
|
|
3
|
+
import type { TransformNode } from "@babylonjs/core";
|
|
2
4
|
import { AppObject, AppObjectView } from "@vived/core";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
export type PneumaticPanelGlowConfig = {
|
|
6
|
+
blurHorizontalSize: number;
|
|
7
|
+
blurVerticalSize: number;
|
|
8
|
+
innerGlow: boolean;
|
|
9
|
+
isEnabled: boolean;
|
|
10
|
+
neutralAlpha: number;
|
|
11
|
+
outerGlow: boolean;
|
|
12
|
+
};
|
|
11
13
|
export declare abstract class PneumaticPanelBabylonView extends AppObjectView {
|
|
12
14
|
static readonly type = "PneumaticPanelBabylonView";
|
|
13
|
-
/**
|
|
14
|
-
abstract
|
|
15
|
-
/**
|
|
16
|
-
abstract
|
|
15
|
+
/** Resolves the Babylon scene, loads meshes, and subscribes to updates. */
|
|
16
|
+
abstract load(): Promise<void>;
|
|
17
|
+
/** Returns the root TransformNode of the imported GLB, or undefined before load() completes. */
|
|
18
|
+
abstract get rootTransformNode(): TransformNode | undefined;
|
|
19
|
+
/** Returns the meshes that should be registered as shadow casters. */
|
|
20
|
+
abstract get shadowCasters(): AbstractMesh[];
|
|
21
|
+
/** Lookup of every scene node keyed by its objectId metadata. Populated after load() completes. */
|
|
22
|
+
abstract get nodesByObjectId(): ReadonlyMap<string, Node>;
|
|
23
|
+
/** Current runtime glow/highlight layer config used by this view. */
|
|
24
|
+
abstract get glowConfig(): Readonly<PneumaticPanelGlowConfig>;
|
|
25
|
+
/** Merge-and-apply a partial glow config at runtime. */
|
|
26
|
+
abstract updateGlowConfig(patch: Partial<PneumaticPanelGlowConfig>): Readonly<PneumaticPanelGlowConfig>;
|
|
17
27
|
static get(appObj: AppObject): PneumaticPanelBabylonView | undefined;
|
|
18
28
|
}
|
|
19
|
-
/**
|
|
20
|
-
* Factory function to create a PneumaticPanelBabylonView
|
|
21
|
-
*/
|
|
22
29
|
export declare function makePneumaticPanelBabylonView(appObject: AppObject): PneumaticPanelBabylonView;
|
|
23
30
|
//# sourceMappingURL=PneumaticPanelBabylonView.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PneumaticPanelBabylonView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelBabylonView.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,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;AAIrD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAoBvD,MAAM,MAAM,wBAAwB,GAAG;IACrC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,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,qEAAqE;IACrE,QAAQ,KAAK,UAAU,IAAI,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IAE9D,wDAAwD;IACxD,QAAQ,CAAC,gBAAgB,CACvB,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC,GACvC,QAAQ,CAAC,wBAAwB,CAAC;IAErC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,yBAAyB,GAAG,SAAS;CAGrE;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,GACnB,yBAAyB,CAE3B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HighlightLayer, Node } from "@babylonjs/core";
|
|
2
|
+
import { AppObject, AppObjectView } from "@vived/core";
|
|
3
|
+
export declare const pneumaticPanelExhaustKnobMetadata = "exhaust_knob";
|
|
4
|
+
/**
|
|
5
|
+
* Babylon view that owns exhaust knob interaction and rotation.
|
|
6
|
+
*
|
|
7
|
+
* The exhaust knob is a mesh (objectId: "exhaust_knob").
|
|
8
|
+
* When exhaustOpen, the knob is rotated -90 degrees around its local Z axis.
|
|
9
|
+
* Otherwise the local Z rotation is 0.
|
|
10
|
+
*/
|
|
11
|
+
export declare abstract class PneumaticPanelExhaustView extends AppObjectView {
|
|
12
|
+
static readonly type = "PneumaticPanelExhaustView";
|
|
13
|
+
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node>, highlightLayer: HighlightLayer): void;
|
|
14
|
+
static get(appObj: AppObject): PneumaticPanelExhaustView | undefined;
|
|
15
|
+
}
|
|
16
|
+
export declare function makePneumaticPanelExhaustView(appObject: AppObject): PneumaticPanelExhaustView;
|
|
17
|
+
//# sourceMappingURL=PneumaticPanelExhaustView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PneumaticPanelExhaustView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelExhaustView.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,cAAc,EACd,IAAI,EACL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAQvD,eAAO,MAAM,iCAAiC,iBAAiB,CAAC;AAEhE;;;;;;GAMG;AACH,8BAAsB,yBAA0B,SAAQ,aAAa;IACnE,MAAM,CAAC,QAAQ,CAAC,IAAI,+BAA+B;IAEnD,QAAQ,CAAC,UAAU,CACjB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAC1C,cAAc,EAAE,cAAc,GAC7B,IAAI;IAEP,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,yBAAyB,GAAG,SAAS;CAGrE;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,GACnB,yBAAyB,CAE3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HighlightLayer, Node } from "@babylonjs/core";
|
|
2
|
+
import { AppObject, AppObjectView } from "@vived/core";
|
|
3
|
+
export declare const pneumaticPanelGaugeMetadata = "gauge";
|
|
4
|
+
export declare abstract class PneumaticPanelGaugeView extends AppObjectView {
|
|
5
|
+
static readonly type = "PneumaticPanelGaugeView";
|
|
6
|
+
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node>, highlightLayer: HighlightLayer): void;
|
|
7
|
+
static get(appObj: AppObject): PneumaticPanelGaugeView | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare function makePneumaticPanelGaugeView(appObject: AppObject): PneumaticPanelGaugeView;
|
|
10
|
+
//# sourceMappingURL=PneumaticPanelGaugeView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PneumaticPanelGaugeView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelGaugeView.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EACd,IAAI,EACL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAOvD,eAAO,MAAM,2BAA2B,UAAU,CAAC;AAEnD,8BAAsB,uBAAwB,SAAQ,aAAa;IACjE,MAAM,CAAC,QAAQ,CAAC,IAAI,6BAA6B;IAEjD,QAAQ,CAAC,UAAU,CACjB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAC1C,cAAc,EAAE,cAAc,GAC7B,IAAI;IAEP,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,uBAAuB,GAAG,SAAS;CAGnE;AAED,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,GACnB,uBAAuB,CAEzB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { HighlightLayer, Node } from "@babylonjs/core";
|
|
2
|
+
import { AppObject, AppObjectView } from "@vived/core";
|
|
3
|
+
export declare const pneumaticPanelHitboxMetadata = "panel_hitbox";
|
|
4
|
+
/**
|
|
5
|
+
* Babylon view that owns panel hitbox interaction and visual feedback.
|
|
6
|
+
*
|
|
7
|
+
* The hitbox is an invisible bounding mesh (objectId: "panel_hitbox") that
|
|
8
|
+
* covers the entire panel. When enabled, it is pickable and responds to
|
|
9
|
+
* pointer events with a hover outline. The Activity-authored hint glow is
|
|
10
|
+
* driven by highlightedObject === "panelHitbox" via the domain VM.
|
|
11
|
+
*/
|
|
12
|
+
export declare abstract class PneumaticPanelHitboxView extends AppObjectView {
|
|
13
|
+
static readonly type = "PneumaticPanelHitboxView";
|
|
14
|
+
abstract bindMeshes(nodesByObjectId: ReadonlyMap<string, Node>, highlightLayer: HighlightLayer): void;
|
|
15
|
+
static get(appObj: AppObject): PneumaticPanelHitboxView | undefined;
|
|
16
|
+
}
|
|
17
|
+
export declare function makePneumaticPanelHitboxView(appObject: AppObject): PneumaticPanelHitboxView;
|
|
18
|
+
//# sourceMappingURL=PneumaticPanelHitboxView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PneumaticPanelHitboxView.d.ts","sourceRoot":"","sources":["../../../src/Frameworks/Babylon/PneumaticPanelHitboxView.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EAEd,IAAI,EACL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAOvD,eAAO,MAAM,4BAA4B,iBAAiB,CAAC;AAQ3D;;;;;;;GAOG;AACH,8BAAsB,wBAAyB,SAAQ,aAAa;IAClE,MAAM,CAAC,QAAQ,CAAC,IAAI,8BAA8B;IAElD,QAAQ,CAAC,UAAU,CACjB,eAAe,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAC1C,cAAc,EAAE,cAAc,GAC7B,IAAI;IAEP,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,wBAAwB,GAAG,SAAS;CAGpE;AAED,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,SAAS,GACnB,wBAAwB,CAE1B"}
|