@2112-lab/central-plant 0.3.27 → 0.3.29
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/bundle/index.js +82 -911
- package/dist/cjs/src/core/centralPlant.js +8 -115
- package/dist/cjs/src/core/centralPlantInternals.js +13 -24
- package/dist/cjs/src/core/sceneViewer.js +4 -4
- package/dist/cjs/src/index.js +2 -4
- package/dist/cjs/src/managers/behaviors/IoBehaviorManager.js +571 -0
- package/dist/cjs/src/managers/scene/componentTooltipManager.js +17 -24
- package/dist/cjs/src/managers/scene/modelManager.js +8 -8
- package/dist/cjs/src/managers/scene/sceneExportManager.js +3 -29
- package/dist/cjs/src/managers/scene/sceneOperationsManager.js +12 -289
- package/dist/esm/src/core/centralPlant.js +8 -115
- package/dist/esm/src/core/centralPlantInternals.js +13 -24
- package/dist/esm/src/core/sceneViewer.js +4 -4
- package/dist/esm/src/index.js +1 -2
- package/dist/esm/src/managers/behaviors/IoBehaviorManager.js +547 -0
- package/dist/esm/src/managers/scene/componentTooltipManager.js +17 -24
- package/dist/esm/src/managers/scene/modelManager.js +8 -8
- package/dist/esm/src/managers/scene/sceneExportManager.js +4 -30
- package/dist/esm/src/managers/scene/sceneOperationsManager.js +12 -289
- package/package.json +1 -1
|
@@ -35,7 +35,7 @@ var CentralPlant = /*#__PURE__*/function (_BaseDisposable) {
|
|
|
35
35
|
* Initialize the CentralPlant manager
|
|
36
36
|
*
|
|
37
37
|
* @constructor
|
|
38
|
-
* @version 0.3.
|
|
38
|
+
* @version 0.3.29
|
|
39
39
|
* @updated 2025-10-22
|
|
40
40
|
*
|
|
41
41
|
* @description Creates a new CentralPlant instance and initializes internal managers and utilities.
|
|
@@ -1069,107 +1069,6 @@ var CentralPlant = /*#__PURE__*/function (_BaseDisposable) {
|
|
|
1069
1069
|
};
|
|
1070
1070
|
}
|
|
1071
1071
|
|
|
1072
|
-
// ─────────────────────────────────────────────────────────────────────────
|
|
1073
|
-
// BEHAVIORS API
|
|
1074
|
-
// ─────────────────────────────────────────────────────────────────────────
|
|
1075
|
-
|
|
1076
|
-
/**
|
|
1077
|
-
* Get all behavior definitions currently stored in the BehaviorManager.
|
|
1078
|
-
* @returns {Array<Object>} Array of behavior definition objects, or empty array.
|
|
1079
|
-
* @example
|
|
1080
|
-
* const behaviors = centralPlant.getBehaviors()
|
|
1081
|
-
* behaviors.forEach(b => console.log(b.id, b.input, b.output))
|
|
1082
|
-
*/
|
|
1083
|
-
}, {
|
|
1084
|
-
key: "getBehaviors",
|
|
1085
|
-
value: function getBehaviors() {
|
|
1086
|
-
var _this$sceneViewer4;
|
|
1087
|
-
var bm = (_this$sceneViewer4 = this.sceneViewer) === null || _this$sceneViewer4 === void 0 || (_this$sceneViewer4 = _this$sceneViewer4.managers) === null || _this$sceneViewer4 === void 0 ? void 0 : _this$sceneViewer4.behaviorManager;
|
|
1088
|
-
if (!bm) {
|
|
1089
|
-
console.warn('⚠️ getBehaviors(): BehaviorManager not available');
|
|
1090
|
-
return [];
|
|
1091
|
-
}
|
|
1092
|
-
return bm.getBehaviors();
|
|
1093
|
-
}
|
|
1094
|
-
|
|
1095
|
-
/**
|
|
1096
|
-
* Add a behavior definition at runtime.
|
|
1097
|
-
* @param {Object} behaviorDef - Full behavior definition object (must have unique `id`)
|
|
1098
|
-
* @returns {boolean} True if added successfully, false otherwise
|
|
1099
|
-
* @example
|
|
1100
|
-
* centralPlant.addBehavior({
|
|
1101
|
-
* id: 'my-behavior',
|
|
1102
|
-
* input: { attachment: 'device-01', dataPoint: 'boolean-status-01' },
|
|
1103
|
-
* output: { attachment: 'light-01', child: 'indicator-mesh-01' },
|
|
1104
|
-
* conditions: [{ when: 'dataPoint.value === true', actions: [{ set: 'material.emissiveIntensity', value: 1.0 }] }]
|
|
1105
|
-
* })
|
|
1106
|
-
*/
|
|
1107
|
-
}, {
|
|
1108
|
-
key: "addBehavior",
|
|
1109
|
-
value: function addBehavior(behaviorDef) {
|
|
1110
|
-
var _this$sceneViewer5, _this$sceneViewer6;
|
|
1111
|
-
var bm = (_this$sceneViewer5 = this.sceneViewer) === null || _this$sceneViewer5 === void 0 || (_this$sceneViewer5 = _this$sceneViewer5.managers) === null || _this$sceneViewer5 === void 0 ? void 0 : _this$sceneViewer5.behaviorManager;
|
|
1112
|
-
if (!bm) {
|
|
1113
|
-
console.warn('⚠️ addBehavior(): BehaviorManager not available');
|
|
1114
|
-
return false;
|
|
1115
|
-
}
|
|
1116
|
-
// Also persist into currentSceneData so export includes it
|
|
1117
|
-
if ((_this$sceneViewer6 = this.sceneViewer) !== null && _this$sceneViewer6 !== void 0 && _this$sceneViewer6.currentSceneData) {
|
|
1118
|
-
if (!Array.isArray(this.sceneViewer.currentSceneData.behaviors)) {
|
|
1119
|
-
this.sceneViewer.currentSceneData.behaviors = [];
|
|
1120
|
-
}
|
|
1121
|
-
this.sceneViewer.currentSceneData.behaviors.push(behaviorDef);
|
|
1122
|
-
}
|
|
1123
|
-
return bm.addBehavior(behaviorDef);
|
|
1124
|
-
}
|
|
1125
|
-
|
|
1126
|
-
/**
|
|
1127
|
-
* Remove a behavior definition by id.
|
|
1128
|
-
* @param {string} behaviorId
|
|
1129
|
-
* @returns {boolean} True if removed, false if not found
|
|
1130
|
-
* @example
|
|
1131
|
-
* centralPlant.removeBehavior('my-behavior')
|
|
1132
|
-
*/
|
|
1133
|
-
}, {
|
|
1134
|
-
key: "removeBehavior",
|
|
1135
|
-
value: function removeBehavior(behaviorId) {
|
|
1136
|
-
var _this$sceneViewer7, _this$sceneViewer8;
|
|
1137
|
-
var bm = (_this$sceneViewer7 = this.sceneViewer) === null || _this$sceneViewer7 === void 0 || (_this$sceneViewer7 = _this$sceneViewer7.managers) === null || _this$sceneViewer7 === void 0 ? void 0 : _this$sceneViewer7.behaviorManager;
|
|
1138
|
-
if (!bm) {
|
|
1139
|
-
console.warn('⚠️ removeBehavior(): BehaviorManager not available');
|
|
1140
|
-
return false;
|
|
1141
|
-
}
|
|
1142
|
-
// Also remove from currentSceneData
|
|
1143
|
-
if ((_this$sceneViewer8 = this.sceneViewer) !== null && _this$sceneViewer8 !== void 0 && (_this$sceneViewer8 = _this$sceneViewer8.currentSceneData) !== null && _this$sceneViewer8 !== void 0 && _this$sceneViewer8.behaviors) {
|
|
1144
|
-
var idx = this.sceneViewer.currentSceneData.behaviors.findIndex(function (b) {
|
|
1145
|
-
return b.id === behaviorId;
|
|
1146
|
-
});
|
|
1147
|
-
if (idx !== -1) this.sceneViewer.currentSceneData.behaviors.splice(idx, 1);
|
|
1148
|
-
}
|
|
1149
|
-
return bm.removeBehavior(behaviorId);
|
|
1150
|
-
}
|
|
1151
|
-
|
|
1152
|
-
/**
|
|
1153
|
-
* Simulate an IO device state value arriving and trigger any matching behaviors.
|
|
1154
|
-
* Useful for live testing in the UI or for integration with real data feeds.
|
|
1155
|
-
* @param {string} attachmentId - The attachment id of the input io-device
|
|
1156
|
-
* @param {string} stateId - The state id on that device
|
|
1157
|
-
* @param {*} value - The new state value
|
|
1158
|
-
* @example
|
|
1159
|
-
* centralPlant.triggerState('pump-push-button-01', 'power', true)
|
|
1160
|
-
*/
|
|
1161
|
-
}, {
|
|
1162
|
-
key: "triggerState",
|
|
1163
|
-
value: function triggerState(attachmentId, stateId, value, parentUuid) {
|
|
1164
|
-
var _this$sceneViewer9;
|
|
1165
|
-
var bm = (_this$sceneViewer9 = this.sceneViewer) === null || _this$sceneViewer9 === void 0 || (_this$sceneViewer9 = _this$sceneViewer9.managers) === null || _this$sceneViewer9 === void 0 ? void 0 : _this$sceneViewer9.behaviorManager;
|
|
1166
|
-
if (!bm) {
|
|
1167
|
-
console.warn('⚠️ triggerState(): BehaviorManager not available');
|
|
1168
|
-
return;
|
|
1169
|
-
}
|
|
1170
|
-
bm.triggerState(attachmentId, stateId, value, parentUuid);
|
|
1171
|
-
}
|
|
1172
|
-
|
|
1173
1072
|
/**
|
|
1174
1073
|
* Set the state of an I/O device instance in the Three.js scene.
|
|
1175
1074
|
*
|
|
@@ -1202,15 +1101,9 @@ var CentralPlant = /*#__PURE__*/function (_BaseDisposable) {
|
|
|
1202
1101
|
}, {
|
|
1203
1102
|
key: "setIoDeviceState",
|
|
1204
1103
|
value: function setIoDeviceState(attachmentId, stateId, value, parentUuid) {
|
|
1205
|
-
var _this$
|
|
1206
|
-
var bm = (_this$sceneViewer0 = this.sceneViewer) === null || _this$sceneViewer0 === void 0 || (_this$sceneViewer0 = _this$sceneViewer0.managers) === null || _this$sceneViewer0 === void 0 ? void 0 : _this$sceneViewer0.behaviorManager;
|
|
1207
|
-
if (!bm) {
|
|
1208
|
-
console.warn('⚠️ setIoDeviceState(): BehaviorManager not available');
|
|
1209
|
-
return false;
|
|
1210
|
-
}
|
|
1211
|
-
|
|
1104
|
+
var _this$sceneViewer4, _this$sceneViewer5, _this$sceneViewer6;
|
|
1212
1105
|
// 1. Persist via state adapter if one has been configured
|
|
1213
|
-
var stateAdapter = (_this$
|
|
1106
|
+
var stateAdapter = (_this$sceneViewer4 = this.sceneViewer) === null || _this$sceneViewer4 === void 0 || (_this$sceneViewer4 = _this$sceneViewer4.managers) === null || _this$sceneViewer4 === void 0 || (_this$sceneViewer4 = _this$sceneViewer4.componentTooltipManager) === null || _this$sceneViewer4 === void 0 ? void 0 : _this$sceneViewer4._stateAdapter;
|
|
1214
1107
|
if (stateAdapter !== null && stateAdapter !== void 0 && stateAdapter.setState) {
|
|
1215
1108
|
var scopedKey = parentUuid ? "".concat(parentUuid, "::").concat(attachmentId) : attachmentId;
|
|
1216
1109
|
try {
|
|
@@ -1220,11 +1113,11 @@ var CentralPlant = /*#__PURE__*/function (_BaseDisposable) {
|
|
|
1220
1113
|
}
|
|
1221
1114
|
}
|
|
1222
1115
|
|
|
1223
|
-
// 2. Apply
|
|
1224
|
-
|
|
1116
|
+
// 2. Apply io-behavior changes
|
|
1117
|
+
(_this$sceneViewer5 = this.sceneViewer) === null || _this$sceneViewer5 === void 0 || (_this$sceneViewer5 = _this$sceneViewer5.managers) === null || _this$sceneViewer5 === void 0 || (_this$sceneViewer5 = _this$sceneViewer5.ioBehaviorManager) === null || _this$sceneViewer5 === void 0 || _this$sceneViewer5.triggerState(attachmentId, stateId, value, parentUuid);
|
|
1225
1118
|
|
|
1226
1119
|
// 3. Emit event for host apps that don't use the state adapter (e.g. cp3d-viewer)
|
|
1227
|
-
(_this$
|
|
1120
|
+
(_this$sceneViewer6 = this.sceneViewer) === null || _this$sceneViewer6 === void 0 || _this$sceneViewer6.emit('io-device-state-changed', {
|
|
1228
1121
|
attachmentId: attachmentId,
|
|
1229
1122
|
stateId: stateId,
|
|
1230
1123
|
value: value,
|
|
@@ -1246,8 +1139,8 @@ var CentralPlant = /*#__PURE__*/function (_BaseDisposable) {
|
|
|
1246
1139
|
}, {
|
|
1247
1140
|
key: "getSceneAttachments",
|
|
1248
1141
|
value: function getSceneAttachments() {
|
|
1249
|
-
var _this$
|
|
1250
|
-
var scene = (_this$
|
|
1142
|
+
var _this$sceneViewer7;
|
|
1143
|
+
var scene = (_this$sceneViewer7 = this.sceneViewer) === null || _this$sceneViewer7 === void 0 ? void 0 : _this$sceneViewer7.scene;
|
|
1251
1144
|
if (!scene) return [];
|
|
1252
1145
|
var results = [];
|
|
1253
1146
|
scene.traverse(function (obj) {
|
|
@@ -19,7 +19,6 @@ var environmentManager = require('../managers/environment/environmentManager.js'
|
|
|
19
19
|
var keyboardControlsManager = require('../managers/controls/keyboardControlsManager.js');
|
|
20
20
|
var pathfindingManager = require('../managers/pathfinding/pathfindingManager.js');
|
|
21
21
|
var PathFlowManager = require('../managers/pathfinding/PathFlowManager.js');
|
|
22
|
-
var BehaviorManager = require('../managers/behaviors/BehaviorManager.js');
|
|
23
22
|
var sceneOperationsManager = require('../managers/scene/sceneOperationsManager.js');
|
|
24
23
|
var animationManager = require('../managers/scene/animationManager.js');
|
|
25
24
|
var cameraControlsManager = require('../managers/controls/cameraControlsManager.js');
|
|
@@ -27,7 +26,7 @@ var componentDragManager = require('../managers/controls/componentDragManager.js
|
|
|
27
26
|
var sceneTooltipsManager = require('../managers/scene/sceneTooltipsManager.js');
|
|
28
27
|
var componentTooltipManager = require('../managers/scene/componentTooltipManager.js');
|
|
29
28
|
var viewport2DManager = require('../managers/scene/viewport2DManager.js');
|
|
30
|
-
var
|
|
29
|
+
var IoBehaviorManager = require('../managers/behaviors/IoBehaviorManager.js');
|
|
31
30
|
var IoOutlineManager = require('../managers/behaviors/IoOutlineManager.js');
|
|
32
31
|
var nameUtils = require('../utils/nameUtils.js');
|
|
33
32
|
var ioDeviceUtils = require('../utils/ioDeviceUtils.js');
|
|
@@ -169,13 +168,12 @@ var CentralPlantInternals = /*#__PURE__*/function () {
|
|
|
169
168
|
this.centralPlant.managers.keyboardControlsManager = new keyboardControlsManager.KeyboardControlsManager(this.centralPlant.sceneViewer);
|
|
170
169
|
this.centralPlant.managers.pathfindingManager = new pathfindingManager.PathfindingManager(this.centralPlant.sceneViewer);
|
|
171
170
|
this.centralPlant.managers.pathFlowManager = new PathFlowManager.PathFlowManager(this.centralPlant.sceneViewer);
|
|
172
|
-
this.centralPlant.managers.behaviorManager = new BehaviorManager.BehaviorManager(this.centralPlant.sceneViewer);
|
|
173
171
|
this.centralPlant.managers.sceneOperationsManager = new sceneOperationsManager.SceneOperationsManager(this.centralPlant.sceneViewer);
|
|
174
172
|
this.centralPlant.managers.animationManager = new animationManager.AnimationManager(this.centralPlant.sceneViewer);
|
|
175
173
|
this.centralPlant.managers.cameraControlsManager = new cameraControlsManager.CameraControlsManager(this.centralPlant.sceneViewer);
|
|
176
174
|
this.centralPlant.managers.componentDragManager = new componentDragManager.ComponentDragManager(this.centralPlant.sceneViewer);
|
|
177
175
|
this.centralPlant.managers.viewport2DManager = new viewport2DManager.Viewport2DManager(this.centralPlant.sceneViewer);
|
|
178
|
-
this.centralPlant.managers.
|
|
176
|
+
this.centralPlant.managers.ioBehaviorManager = new IoBehaviorManager.IoBehaviorManager(this.centralPlant.sceneViewer);
|
|
179
177
|
this.centralPlant.managers.ioOutlineManager = new IoOutlineManager.IoOutlineManager(this.centralPlant.sceneViewer);
|
|
180
178
|
|
|
181
179
|
// All managers are now stored in the managers collection and will be attached via attachToComponent()
|
|
@@ -947,7 +945,7 @@ var CentralPlantInternals = /*#__PURE__*/function () {
|
|
|
947
945
|
return false;
|
|
948
946
|
}
|
|
949
947
|
try {
|
|
950
|
-
var _componentData$childr, _componentData$childr2, _this$centralPlant$sc7, _componentData$childr3
|
|
948
|
+
var _componentData$childr, _componentData$childr2, _this$centralPlant$sc7, _componentData$childr3;
|
|
951
949
|
// Generate a unique component ID if not provided
|
|
952
950
|
var componentId = options.customId || this.generateUniqueComponentId(libraryId);
|
|
953
951
|
|
|
@@ -1154,23 +1152,23 @@ var CentralPlantInternals = /*#__PURE__*/function () {
|
|
|
1154
1152
|
var _this$centralPlant$sc8;
|
|
1155
1153
|
ioDeviceUtils.attachIODevicesToComponent(componentModel, componentData, modelPreloader, componentId);
|
|
1156
1154
|
|
|
1157
|
-
// Register
|
|
1158
|
-
var
|
|
1159
|
-
if (
|
|
1155
|
+
// Register behavior configs so IoBehaviorManager can respond to state changes
|
|
1156
|
+
var ioBehavMgr = (_this$centralPlant$sc8 = this.centralPlant.sceneViewer) === null || _this$centralPlant$sc8 === void 0 || (_this$centralPlant$sc8 = _this$centralPlant$sc8.managers) === null || _this$centralPlant$sc8 === void 0 ? void 0 : _this$centralPlant$sc8.ioBehaviorManager;
|
|
1157
|
+
if (ioBehavMgr) {
|
|
1160
1158
|
var _loop = function _loop() {
|
|
1161
1159
|
var _modelPreloader$compo;
|
|
1162
1160
|
var _Object$entries$_i = _rollupPluginBabelHelpers.slicedToArray(_Object$entries[_i], 2),
|
|
1163
1161
|
attachmentId = _Object$entries$_i[0],
|
|
1164
1162
|
attachment = _Object$entries$_i[1];
|
|
1165
1163
|
var deviceData = (_modelPreloader$compo = modelPreloader.componentDictionary) === null || _modelPreloader$compo === void 0 ? void 0 : _modelPreloader$compo[attachment.deviceId];
|
|
1166
|
-
if (!(deviceData !== null && deviceData !== void 0 && deviceData.
|
|
1164
|
+
if (!(deviceData !== null && deviceData !== void 0 && deviceData.behaviorConfig)) return 1; // continue
|
|
1167
1165
|
var deviceRoot = null;
|
|
1168
1166
|
componentModel.traverse(function (obj) {
|
|
1169
1167
|
var _obj$userData2;
|
|
1170
1168
|
if (!deviceRoot && ((_obj$userData2 = obj.userData) === null || _obj$userData2 === void 0 ? void 0 : _obj$userData2.attachmentId) === attachmentId) deviceRoot = obj;
|
|
1171
1169
|
});
|
|
1172
1170
|
if (deviceRoot) {
|
|
1173
|
-
|
|
1171
|
+
ioBehavMgr.loadBehaviors(attachmentId, deviceData.behaviorConfig, deviceRoot, componentId);
|
|
1174
1172
|
}
|
|
1175
1173
|
};
|
|
1176
1174
|
for (var _i = 0, _Object$entries = Object.entries(componentData.attachedDevices); _i < _Object$entries.length; _i++) {
|
|
@@ -1179,15 +1177,6 @@ var CentralPlantInternals = /*#__PURE__*/function () {
|
|
|
1179
1177
|
}
|
|
1180
1178
|
}
|
|
1181
1179
|
|
|
1182
|
-
// Register default behaviors for smart components so the BehaviorManager
|
|
1183
|
-
// responds to tooltip-driven state changes immediately after drop.
|
|
1184
|
-
// (The scene-load path uses _processBehaviors instead, which runs on loadSceneData.)
|
|
1185
|
-
if ((_componentData$defaul = componentData.defaultBehaviors) !== null && _componentData$defaul !== void 0 && _componentData$defaul.length) {
|
|
1186
|
-
var _this$centralPlant$sc9, _som$registerBehavior;
|
|
1187
|
-
var som = (_this$centralPlant$sc9 = this.centralPlant.sceneViewer) === null || _this$centralPlant$sc9 === void 0 ? void 0 : _this$centralPlant$sc9.sceneOperationsManager;
|
|
1188
|
-
som === null || som === void 0 || (_som$registerBehavior = som.registerBehaviorsForComponentInstance) === null || _som$registerBehavior === void 0 || _som$registerBehavior.call(som, componentData, componentId);
|
|
1189
|
-
}
|
|
1190
|
-
|
|
1191
1180
|
// Notify the component manager about the new component
|
|
1192
1181
|
if (componentManager.registerComponent) {
|
|
1193
1182
|
componentManager.registerComponent(componentModel);
|
|
@@ -1260,18 +1249,18 @@ var CentralPlantInternals = /*#__PURE__*/function () {
|
|
|
1260
1249
|
}, {
|
|
1261
1250
|
key: "deleteComponent",
|
|
1262
1251
|
value: function deleteComponent(componentId) {
|
|
1263
|
-
var _this$centralPlant$
|
|
1252
|
+
var _this$centralPlant$sc9;
|
|
1264
1253
|
// Check if component manager is available
|
|
1265
|
-
var componentManager = (_this$centralPlant$
|
|
1254
|
+
var componentManager = (_this$centralPlant$sc9 = this.centralPlant.sceneViewer) === null || _this$centralPlant$sc9 === void 0 ? void 0 : _this$centralPlant$sc9.componentManager;
|
|
1266
1255
|
if (!componentManager) {
|
|
1267
1256
|
console.error('❌ deleteComponent(): Component manager not available');
|
|
1268
1257
|
return false;
|
|
1269
1258
|
}
|
|
1270
1259
|
try {
|
|
1271
|
-
var _this$centralPlant$
|
|
1260
|
+
var _this$centralPlant$sc0, _this$centralPlant$sc1, _sceneData$scene2, _sceneData$scene3;
|
|
1272
1261
|
console.log("\uD83D\uDDD1\uFE0F deleteComponent(): Deleting component ".concat(componentId));
|
|
1273
|
-
var threeScene = (_this$centralPlant$
|
|
1274
|
-
var sceneData = (_this$centralPlant$
|
|
1262
|
+
var threeScene = (_this$centralPlant$sc0 = this.centralPlant.sceneViewer) === null || _this$centralPlant$sc0 === void 0 ? void 0 : _this$centralPlant$sc0.scene;
|
|
1263
|
+
var sceneData = (_this$centralPlant$sc1 = this.centralPlant.sceneViewer) === null || _this$centralPlant$sc1 === void 0 ? void 0 : _this$centralPlant$sc1.currentSceneData;
|
|
1275
1264
|
|
|
1276
1265
|
// Step 1: Resolve the actual Three.js UUID from componentId.
|
|
1277
1266
|
// The UI emits object.name (e.g. "Pump (PUMP-1)") as the selection ID, but
|
|
@@ -102,7 +102,7 @@ var sceneViewer = /*#__PURE__*/function (_BaseDisposable) {
|
|
|
102
102
|
this.centralPlant.attachToComponent();
|
|
103
103
|
|
|
104
104
|
// Sync our managers tracking object after attachment
|
|
105
|
-
managerKeys = ['threeJSResourceManager', 'performanceMonitorManager', 'settingsManager', 'sceneExportManager', 'componentManager', 'sceneInitializationManager', 'environmentManager', 'keyboardControlsManager', 'pathfindingManager', 'pathFlowManager', '
|
|
105
|
+
managerKeys = ['threeJSResourceManager', 'performanceMonitorManager', 'settingsManager', 'sceneExportManager', 'componentManager', 'sceneInitializationManager', 'environmentManager', 'keyboardControlsManager', 'pathfindingManager', 'pathFlowManager', 'ioBehaviorManager', 'ioOutlineManager', 'sceneOperationsManager', 'animationManager', 'cameraControlsManager', 'componentDragManager', 'tooltipsManager', 'componentTooltipManager']; // Populate our managers tracking object
|
|
106
106
|
managerKeys.forEach(function (key) {
|
|
107
107
|
if (_this2[key]) {
|
|
108
108
|
_this2.managers[key] = _this2[key];
|
|
@@ -434,10 +434,10 @@ var sceneViewer = /*#__PURE__*/function (_BaseDisposable) {
|
|
|
434
434
|
},
|
|
435
435
|
onIODeviceDrag: function onIODeviceDrag(ioDeviceObject, signedDelta, isStart) {
|
|
436
436
|
if (isStart) {
|
|
437
|
-
var _ioDeviceObject$userD, _this4$managers$
|
|
437
|
+
var _ioDeviceObject$userD, _this4$managers$ioBeh, _this4$managers, _this4$managers2;
|
|
438
438
|
// Resolve parentUuid by walking up to the host component.
|
|
439
439
|
// Use userData.originalUuid (the custom componentId) because that
|
|
440
|
-
// is what
|
|
440
|
+
// is what IoBehaviorManager uses as the map key — NOT obj.uuid.
|
|
441
441
|
var parentUuid = null;
|
|
442
442
|
var obj = ioDeviceObject.parent;
|
|
443
443
|
while (obj) {
|
|
@@ -453,7 +453,7 @@ var sceneViewer = /*#__PURE__*/function (_BaseDisposable) {
|
|
|
453
453
|
// silhouette is isolated and the outline ring is visible around
|
|
454
454
|
// them specifically (not swallowed by the larger device body).
|
|
455
455
|
// Fall back to the whole device group when none are registered.
|
|
456
|
-
var animatedMeshes = attachmentId && parentUuid ? (_this4$managers$
|
|
456
|
+
var animatedMeshes = attachmentId && parentUuid ? (_this4$managers$ioBeh = (_this4$managers = _this4.managers) === null || _this4$managers === void 0 || (_this4$managers = _this4$managers.ioBehaviorManager) === null || _this4$managers === void 0 ? void 0 : _this4$managers.getAnimatedMeshes(parentUuid, attachmentId)) !== null && _this4$managers$ioBeh !== void 0 ? _this4$managers$ioBeh : [] : [];
|
|
457
457
|
var targets = animatedMeshes.length > 0 ? animatedMeshes : [ioDeviceObject];
|
|
458
458
|
(_this4$managers2 = _this4.managers) === null || _this4$managers2 === void 0 || (_this4$managers2 = _this4$managers2.ioOutlineManager) === null || _this4$managers2 === void 0 || _this4$managers2.setTargets(targets);
|
|
459
459
|
}
|
package/dist/cjs/src/index.js
CHANGED
|
@@ -13,8 +13,7 @@ var sceneExportManager = require('./managers/scene/sceneExportManager.js');
|
|
|
13
13
|
var sceneTooltipsManager = require('./managers/scene/sceneTooltipsManager.js');
|
|
14
14
|
var componentTooltipManager = require('./managers/scene/componentTooltipManager.js');
|
|
15
15
|
var sceneHierarchyManager = require('./managers/scene/sceneHierarchyManager.js');
|
|
16
|
-
var
|
|
17
|
-
var IoAnimationManager = require('./managers/behaviors/IoAnimationManager.js');
|
|
16
|
+
var IoBehaviorManager = require('./managers/behaviors/IoBehaviorManager.js');
|
|
18
17
|
var componentManager = require('./managers/components/componentManager.js');
|
|
19
18
|
var animationManager = require('./managers/scene/animationManager.js');
|
|
20
19
|
var pathfindingManager = require('./managers/pathfinding/pathfindingManager.js');
|
|
@@ -68,8 +67,7 @@ exports.SceneExportManager = sceneExportManager.SceneExportManager;
|
|
|
68
67
|
exports.SceneTooltipsManager = sceneTooltipsManager.SceneTooltipsManager;
|
|
69
68
|
exports.ComponentTooltipManager = componentTooltipManager.ComponentTooltipManager;
|
|
70
69
|
exports.SceneHierarchyManager = sceneHierarchyManager.SceneHierarchyManager;
|
|
71
|
-
exports.
|
|
72
|
-
exports.IoAnimationManager = IoAnimationManager.IoAnimationManager;
|
|
70
|
+
exports.IoBehaviorManager = IoBehaviorManager.IoBehaviorManager;
|
|
73
71
|
exports.ComponentManager = componentManager.ComponentManager;
|
|
74
72
|
exports.AnimationManager = animationManager.AnimationManager;
|
|
75
73
|
exports.PathfindingManager = pathfindingManager.PathfindingManager;
|