@nice2dev/ui-3d 1.1.0 → 1.1.1
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/cjs/collaborative/collaborativeScene.js +16 -8
- package/dist/cjs/collaborative/collaborativeScene.js.map +1 -1
- package/dist/cjs/core/i18n.js +3 -3
- package/dist/cjs/dance/DanceBridge.js +65 -30
- package/dist/cjs/dance/DanceBridge.js.map +1 -1
- package/dist/cjs/dance/DanceScoreEngine.js +37 -23
- package/dist/cjs/dance/DanceScoreEngine.js.map +1 -1
- package/dist/cjs/dance/PoseDetector.js +92 -49
- package/dist/cjs/dance/PoseDetector.js.map +1 -1
- package/dist/cjs/material/NiceMaterialEditor.js +134 -91
- package/dist/cjs/material/NiceMaterialEditor.js.map +1 -1
- package/dist/cjs/material/materialEditorUtils.js +86 -55
- package/dist/cjs/material/materialEditorUtils.js.map +1 -1
- package/dist/cjs/model/ModelEditor.js +16 -14
- package/dist/cjs/model/ModelEditor.js.map +1 -1
- package/dist/cjs/model/ModelEditorLeftPanel.js +21 -15
- package/dist/cjs/model/ModelEditorLeftPanel.js.map +1 -1
- package/dist/cjs/model/ModelEditorMenuBar.js +23 -10
- package/dist/cjs/model/ModelEditorMenuBar.js.map +1 -1
- package/dist/cjs/model/ModelEditorRightPanel.js +32 -27
- package/dist/cjs/model/ModelEditorRightPanel.js.map +1 -1
- package/dist/cjs/model/ModelEditorSubComponents.js +20 -20
- package/dist/cjs/model/ModelEditorSubComponents.js.map +1 -1
- package/dist/cjs/model/ModelEditorTimeline.js +12 -11
- package/dist/cjs/model/ModelEditorTimeline.js.map +1 -1
- package/dist/cjs/model/ModelEditorToolbar.js +5 -5
- package/dist/cjs/model/ModelEditorToolbar.js.map +1 -1
- package/dist/cjs/model/ModelEditorViewport.js +12 -8
- package/dist/cjs/model/ModelEditorViewport.js.map +1 -1
- package/dist/cjs/model/ModelViewer.js +16 -15
- package/dist/cjs/model/ModelViewer.js.map +1 -1
- package/dist/cjs/model/NiceArmatureEditor.js +53 -30
- package/dist/cjs/model/NiceArmatureEditor.js.map +1 -1
- package/dist/cjs/model/NiceMorphTargetEditor.js +51 -30
- package/dist/cjs/model/NiceMorphTargetEditor.js.map +1 -1
- package/dist/cjs/model/NiceOctree.js +62 -37
- package/dist/cjs/model/NiceOctree.js.map +1 -1
- package/dist/cjs/model/NicePhysicsSimulation.js +74 -36
- package/dist/cjs/model/NicePhysicsSimulation.js.map +1 -1
- package/dist/cjs/model/NiceProceduralGeometry.js +101 -31
- package/dist/cjs/model/NiceProceduralGeometry.js.map +1 -1
- package/dist/cjs/model/NiceTerrainEditor.js +88 -38
- package/dist/cjs/model/NiceTerrainEditor.js.map +1 -1
- package/dist/cjs/model/NiceWeightPainter.js +46 -24
- package/dist/cjs/model/NiceWeightPainter.js.map +1 -1
- package/dist/cjs/model/NiceXRPreview.js +89 -43
- package/dist/cjs/model/NiceXRPreview.js.map +1 -1
- package/dist/cjs/model/cadModeUtils.js +2 -2
- package/dist/cjs/model/cadModeUtils.js.map +1 -1
- package/dist/cjs/model/editorShortcuts.js +69 -35
- package/dist/cjs/model/editorShortcuts.js.map +1 -1
- package/dist/cjs/model/modelEditorTypes.js +56 -52
- package/dist/cjs/model/modelEditorTypes.js.map +1 -1
- package/dist/cjs/model/modelEditorUtils.js +356 -131
- package/dist/cjs/model/modelEditorUtils.js.map +1 -1
- package/dist/cjs/model/simsModeUtils.js +819 -74
- package/dist/cjs/model/simsModeUtils.js.map +1 -1
- package/dist/cjs/model/useModelEditor.js +501 -394
- package/dist/cjs/model/useModelEditor.js.map +1 -1
- package/dist/cjs/model/useModelViewer.js +117 -86
- package/dist/cjs/model/useModelViewer.js.map +1 -1
- package/dist/cjs/particle/NiceParticleEditor.js +126 -69
- package/dist/cjs/particle/NiceParticleEditor.js.map +1 -1
- package/dist/cjs/particle/particleEditorUtils.js +64 -27
- package/dist/cjs/particle/particleEditorUtils.js.map +1 -1
- package/dist/cjs/rendering/NiceCascadedShadows.js +35 -23
- package/dist/cjs/rendering/NiceCascadedShadows.js.map +1 -1
- package/dist/cjs/rendering/NiceRenderExport.js +26 -12
- package/dist/cjs/rendering/NiceRenderExport.js.map +1 -1
- package/dist/cjs/rendering/NiceSSAO.js +28 -23
- package/dist/cjs/rendering/NiceSSAO.js.map +1 -1
- package/dist/cjs/rendering/NiceSSR.js +22 -18
- package/dist/cjs/rendering/NiceSSR.js.map +1 -1
- package/dist/cjs/rendering/NiceWebGPURenderer.js +60 -37
- package/dist/cjs/rendering/NiceWebGPURenderer.js.map +1 -1
- package/dist/cjs/ui/dist/NiceErrorBoundary-D75yr_WE.js +572 -0
- package/dist/cjs/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
- package/dist/cjs/ui/dist/NiceForm-CKoJA6NG.js +4979 -0
- package/dist/cjs/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
- package/dist/cjs/ui/dist/NiceModal-1QX7NhyH.js +98 -0
- package/dist/cjs/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
- package/dist/cjs/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5244 -0
- package/dist/cjs/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
- package/dist/cjs/ui/dist/NicePagination-DbE-uOkl.js +174 -0
- package/dist/cjs/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
- package/dist/cjs/ui/dist/NicePinCodeInput-B8cI8zu8.js +10459 -0
- package/dist/cjs/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
- package/dist/cjs/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6313 -0
- package/dist/cjs/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
- package/dist/cjs/ui/dist/NiceTabs-DzLHzwuA.js +1639 -0
- package/dist/cjs/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
- package/dist/cjs/ui/dist/NiceWindow-DeC83yfE.js +807 -0
- package/dist/cjs/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
- package/dist/cjs/ui/dist/charts-BAS21jkC.js +3833 -0
- package/dist/cjs/ui/dist/charts-BAS21jkC.js.map +1 -0
- package/dist/cjs/ui/dist/core-Da43q-pO.js +11683 -0
- package/dist/cjs/ui/dist/core-Da43q-pO.js.map +1 -0
- package/dist/cjs/ui/dist/index-pAuGTbuB.js +28876 -0
- package/dist/cjs/ui/dist/index-pAuGTbuB.js.map +1 -0
- package/dist/cjs/uv/NiceUVEditor.js +115 -86
- package/dist/cjs/uv/NiceUVEditor.js.map +1 -1
- package/dist/cjs/uv/uvEditorUtils.js +41 -23
- package/dist/cjs/uv/uvEditorUtils.js.map +1 -1
- package/dist/esm/collaborative/collaborativeScene.js +16 -8
- package/dist/esm/collaborative/collaborativeScene.js.map +1 -1
- package/dist/esm/dance/DanceBridge.js +55 -20
- package/dist/esm/dance/DanceBridge.js.map +1 -1
- package/dist/esm/dance/DanceScoreEngine.js +29 -15
- package/dist/esm/dance/DanceScoreEngine.js.map +1 -1
- package/dist/esm/dance/PoseDetector.js +73 -30
- package/dist/esm/dance/PoseDetector.js.map +1 -1
- package/dist/esm/material/NiceMaterialEditor.js +115 -72
- package/dist/esm/material/NiceMaterialEditor.js.map +1 -1
- package/dist/esm/material/materialEditorUtils.js +86 -55
- package/dist/esm/material/materialEditorUtils.js.map +1 -1
- package/dist/esm/model/ModelEditor.js +16 -14
- package/dist/esm/model/ModelEditor.js.map +1 -1
- package/dist/esm/model/ModelEditorLeftPanel.js +21 -15
- package/dist/esm/model/ModelEditorLeftPanel.js.map +1 -1
- package/dist/esm/model/ModelEditorMenuBar.js +23 -10
- package/dist/esm/model/ModelEditorMenuBar.js.map +1 -1
- package/dist/esm/model/ModelEditorRightPanel.js +32 -27
- package/dist/esm/model/ModelEditorRightPanel.js.map +1 -1
- package/dist/esm/model/ModelEditorSubComponents.js +17 -17
- package/dist/esm/model/ModelEditorSubComponents.js.map +1 -1
- package/dist/esm/model/ModelEditorTimeline.js +12 -11
- package/dist/esm/model/ModelEditorTimeline.js.map +1 -1
- package/dist/esm/model/ModelEditorToolbar.js +5 -5
- package/dist/esm/model/ModelEditorToolbar.js.map +1 -1
- package/dist/esm/model/ModelEditorViewport.js +12 -8
- package/dist/esm/model/ModelEditorViewport.js.map +1 -1
- package/dist/esm/model/ModelViewer.js +8 -7
- package/dist/esm/model/ModelViewer.js.map +1 -1
- package/dist/esm/model/NiceArmatureEditor.js +36 -13
- package/dist/esm/model/NiceArmatureEditor.js.map +1 -1
- package/dist/esm/model/NiceMorphTargetEditor.js +34 -13
- package/dist/esm/model/NiceMorphTargetEditor.js.map +1 -1
- package/dist/esm/model/NiceOctree.js +47 -22
- package/dist/esm/model/NiceOctree.js.map +1 -1
- package/dist/esm/model/NicePhysicsSimulation.js +51 -13
- package/dist/esm/model/NicePhysicsSimulation.js.map +1 -1
- package/dist/esm/model/NiceProceduralGeometry.js +94 -24
- package/dist/esm/model/NiceProceduralGeometry.js.map +1 -1
- package/dist/esm/model/NiceTerrainEditor.js +70 -20
- package/dist/esm/model/NiceTerrainEditor.js.map +1 -1
- package/dist/esm/model/NiceWeightPainter.js +33 -11
- package/dist/esm/model/NiceWeightPainter.js.map +1 -1
- package/dist/esm/model/NiceXRPreview.js +72 -26
- package/dist/esm/model/NiceXRPreview.js.map +1 -1
- package/dist/esm/model/cadModeUtils.js +2 -2
- package/dist/esm/model/cadModeUtils.js.map +1 -1
- package/dist/esm/model/editorShortcuts.js +69 -35
- package/dist/esm/model/editorShortcuts.js.map +1 -1
- package/dist/esm/model/modelEditorTypes.js +56 -52
- package/dist/esm/model/modelEditorTypes.js.map +1 -1
- package/dist/esm/model/modelEditorUtils.js +356 -131
- package/dist/esm/model/modelEditorUtils.js.map +1 -1
- package/dist/esm/model/simsModeUtils.js +819 -74
- package/dist/esm/model/simsModeUtils.js.map +1 -1
- package/dist/esm/model/useModelEditor.js +384 -277
- package/dist/esm/model/useModelEditor.js.map +1 -1
- package/dist/esm/model/useModelViewer.js +56 -25
- package/dist/esm/model/useModelViewer.js.map +1 -1
- package/dist/esm/particle/NiceParticleEditor.js +116 -59
- package/dist/esm/particle/NiceParticleEditor.js.map +1 -1
- package/dist/esm/particle/particleEditorUtils.js +64 -27
- package/dist/esm/particle/particleEditorUtils.js.map +1 -1
- package/dist/esm/rendering/NiceCascadedShadows.js +24 -12
- package/dist/esm/rendering/NiceCascadedShadows.js.map +1 -1
- package/dist/esm/rendering/NiceRenderExport.js +22 -8
- package/dist/esm/rendering/NiceRenderExport.js.map +1 -1
- package/dist/esm/rendering/NiceSSAO.js +11 -6
- package/dist/esm/rendering/NiceSSAO.js.map +1 -1
- package/dist/esm/rendering/NiceSSR.js +9 -5
- package/dist/esm/rendering/NiceSSR.js.map +1 -1
- package/dist/esm/rendering/NiceWebGPURenderer.js +40 -17
- package/dist/esm/rendering/NiceWebGPURenderer.js.map +1 -1
- package/dist/esm/ui/dist/NiceErrorBoundary-D75yr_WE.js +563 -0
- package/dist/esm/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
- package/dist/esm/ui/dist/NiceForm-CKoJA6NG.js +4960 -0
- package/dist/esm/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
- package/dist/esm/ui/dist/NiceModal-1QX7NhyH.js +96 -0
- package/dist/esm/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
- package/dist/esm/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5201 -0
- package/dist/esm/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
- package/dist/esm/ui/dist/NicePagination-DbE-uOkl.js +172 -0
- package/dist/esm/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
- package/dist/esm/ui/dist/NicePinCodeInput-B8cI8zu8.js +10408 -0
- package/dist/esm/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
- package/dist/esm/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6296 -0
- package/dist/esm/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
- package/dist/esm/ui/dist/NiceTabs-DzLHzwuA.js +1630 -0
- package/dist/esm/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
- package/dist/esm/ui/dist/NiceWindow-DeC83yfE.js +796 -0
- package/dist/esm/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
- package/dist/esm/ui/dist/charts-BAS21jkC.js +3809 -0
- package/dist/esm/ui/dist/charts-BAS21jkC.js.map +1 -0
- package/dist/esm/ui/dist/core-Da43q-pO.js +11502 -0
- package/dist/esm/ui/dist/core-Da43q-pO.js.map +1 -0
- package/dist/esm/ui/dist/index-pAuGTbuB.js +28792 -0
- package/dist/esm/ui/dist/index-pAuGTbuB.js.map +1 -0
- package/dist/esm/uv/NiceUVEditor.js +91 -62
- package/dist/esm/uv/NiceUVEditor.js.map +1 -1
- package/dist/esm/uv/uvEditorUtils.js +41 -23
- package/dist/esm/uv/uvEditorUtils.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var _e = require('react');
|
|
4
5
|
var THREE = require('three');
|
|
5
|
-
var ke = require('react');
|
|
6
6
|
|
|
7
7
|
function _interopNamespaceDefault(e) {
|
|
8
8
|
var n = Object.create(null);
|
|
@@ -25,14 +25,14 @@ var THREE__namespace = /*#__PURE__*/_interopNamespaceDefault(THREE);
|
|
|
25
25
|
|
|
26
26
|
/* ── Hook ── */
|
|
27
27
|
function useMorphTargetEditor(mesh, onInfluenceChange) {
|
|
28
|
-
const [targets, setTargets] =
|
|
29
|
-
const [animations, setAnimations] =
|
|
30
|
-
const [isAnimating, setIsAnimating] =
|
|
31
|
-
const animFrameRef =
|
|
32
|
-
const animStartRef =
|
|
33
|
-
const activeAnimRef =
|
|
28
|
+
const [targets, setTargets] = _e.useState([]);
|
|
29
|
+
const [animations, setAnimations] = _e.useState([]);
|
|
30
|
+
const [isAnimating, setIsAnimating] = _e.useState(false);
|
|
31
|
+
const animFrameRef = _e.useRef(0);
|
|
32
|
+
const animStartRef = _e.useRef(0);
|
|
33
|
+
const activeAnimRef = _e.useRef(null);
|
|
34
34
|
// Sync targets from mesh
|
|
35
|
-
|
|
35
|
+
_e.useEffect(() => {
|
|
36
36
|
if (!mesh || !mesh.morphTargetDictionary || !mesh.morphTargetInfluences) {
|
|
37
37
|
setTargets([]);
|
|
38
38
|
return;
|
|
@@ -50,16 +50,18 @@ function useMorphTargetEditor(mesh, onInfluenceChange) {
|
|
|
50
50
|
list.sort((a, b) => a.index - b.index);
|
|
51
51
|
setTargets(list);
|
|
52
52
|
}, [mesh]);
|
|
53
|
-
const setInfluence =
|
|
54
|
-
if (!(mesh === null || mesh === void 0 ? void 0 : mesh.morphTargetInfluences))
|
|
53
|
+
const setInfluence = _e.useCallback((index, value) => {
|
|
54
|
+
if (!(mesh === null || mesh === void 0 ? void 0 : mesh.morphTargetInfluences)) {
|
|
55
55
|
return;
|
|
56
|
+
}
|
|
56
57
|
mesh.morphTargetInfluences[index] = value;
|
|
57
58
|
setTargets((prev) => prev.map((t) => (t.index === index ? { ...t, influence: value } : t)));
|
|
58
59
|
onInfluenceChange === null || onInfluenceChange === void 0 ? void 0 : onInfluenceChange(mesh, index, value);
|
|
59
60
|
}, [mesh, onInfluenceChange]);
|
|
60
|
-
const createMorphTarget =
|
|
61
|
-
if (!mesh)
|
|
61
|
+
const createMorphTarget = _e.useCallback((name) => {
|
|
62
|
+
if (!mesh) {
|
|
62
63
|
return;
|
|
64
|
+
}
|
|
63
65
|
const geometry = mesh.geometry;
|
|
64
66
|
const posAttr = geometry.attributes.position;
|
|
65
67
|
const count = posAttr.count;
|
|
@@ -77,23 +79,27 @@ function useMorphTargetEditor(mesh, onInfluenceChange) {
|
|
|
77
79
|
const morphArray = geometry.morphAttributes.position;
|
|
78
80
|
morphArray.push(morphAttr);
|
|
79
81
|
// Update dictionary and influences
|
|
80
|
-
if (!mesh.morphTargetDictionary)
|
|
82
|
+
if (!mesh.morphTargetDictionary) {
|
|
81
83
|
mesh.morphTargetDictionary = {};
|
|
82
|
-
|
|
84
|
+
}
|
|
85
|
+
if (!mesh.morphTargetInfluences) {
|
|
83
86
|
mesh.morphTargetInfluences = [];
|
|
87
|
+
}
|
|
84
88
|
const newIndex = morphArray.length - 1;
|
|
85
89
|
mesh.morphTargetDictionary[name] = newIndex;
|
|
86
90
|
mesh.morphTargetInfluences[newIndex] = 0;
|
|
87
91
|
mesh.updateMorphTargets();
|
|
88
92
|
setTargets((prev) => [...prev, { name, index: newIndex, influence: 0 }]);
|
|
89
93
|
}, [mesh]);
|
|
90
|
-
const deleteMorphTarget =
|
|
91
|
-
if (!mesh)
|
|
94
|
+
const deleteMorphTarget = _e.useCallback((index) => {
|
|
95
|
+
if (!mesh) {
|
|
92
96
|
return;
|
|
97
|
+
}
|
|
93
98
|
const geometry = mesh.geometry;
|
|
94
99
|
const morphArray = geometry.morphAttributes.position;
|
|
95
|
-
if (!morphArray || index >= morphArray.length)
|
|
100
|
+
if (!morphArray || index >= morphArray.length) {
|
|
96
101
|
return;
|
|
102
|
+
}
|
|
97
103
|
morphArray.splice(index, 1);
|
|
98
104
|
// Rebuild dictionary
|
|
99
105
|
const dict = {};
|
|
@@ -101,7 +107,8 @@ function useMorphTargetEditor(mesh, onInfluenceChange) {
|
|
|
101
107
|
morphArray.forEach((attr, i) => {
|
|
102
108
|
var _a, _b;
|
|
103
109
|
dict[attr.name || `morph_${i}`] = i;
|
|
104
|
-
influences[i] =
|
|
110
|
+
influences[i] =
|
|
111
|
+
(_b = (_a = mesh.morphTargetInfluences) === null || _a === void 0 ? void 0 : _a[i === index ? -1 : i >= index ? i + 1 : i]) !== null && _b !== void 0 ? _b : 0;
|
|
105
112
|
});
|
|
106
113
|
mesh.morphTargetDictionary = dict;
|
|
107
114
|
mesh.morphTargetInfluences = influences;
|
|
@@ -111,23 +118,26 @@ function useMorphTargetEditor(mesh, onInfluenceChange) {
|
|
|
111
118
|
influence: influences[idx],
|
|
112
119
|
})));
|
|
113
120
|
}, [mesh]);
|
|
114
|
-
const resetAllInfluences =
|
|
115
|
-
if (!(mesh === null || mesh === void 0 ? void 0 : mesh.morphTargetInfluences))
|
|
121
|
+
const resetAllInfluences = _e.useCallback(() => {
|
|
122
|
+
if (!(mesh === null || mesh === void 0 ? void 0 : mesh.morphTargetInfluences)) {
|
|
116
123
|
return;
|
|
124
|
+
}
|
|
117
125
|
mesh.morphTargetInfluences.fill(0);
|
|
118
126
|
setTargets((prev) => prev.map((t) => ({ ...t, influence: 0 })));
|
|
119
127
|
}, [mesh]);
|
|
120
|
-
const startAnimation =
|
|
121
|
-
if (!(mesh === null || mesh === void 0 ? void 0 : mesh.morphTargetInfluences))
|
|
128
|
+
const startAnimation = _e.useCallback((animation) => {
|
|
129
|
+
if (!(mesh === null || mesh === void 0 ? void 0 : mesh.morphTargetInfluences)) {
|
|
122
130
|
return;
|
|
131
|
+
}
|
|
123
132
|
activeAnimRef.current = animation;
|
|
124
133
|
setIsAnimating(true);
|
|
125
134
|
animStartRef.current = performance.now();
|
|
126
135
|
const animate = (now) => {
|
|
127
136
|
var _a, _b;
|
|
128
137
|
const anim = activeAnimRef.current;
|
|
129
|
-
if (!anim || !mesh.morphTargetInfluences)
|
|
138
|
+
if (!anim || !mesh.morphTargetInfluences) {
|
|
130
139
|
return;
|
|
140
|
+
}
|
|
131
141
|
const elapsed = (now - animStartRef.current) / 1000;
|
|
132
142
|
const t = (elapsed % anim.duration) / anim.duration;
|
|
133
143
|
// Interpolate between keyframes
|
|
@@ -159,18 +169,18 @@ function useMorphTargetEditor(mesh, onInfluenceChange) {
|
|
|
159
169
|
};
|
|
160
170
|
animFrameRef.current = requestAnimationFrame(animate);
|
|
161
171
|
}, [mesh]);
|
|
162
|
-
const stopAnimation =
|
|
172
|
+
const stopAnimation = _e.useCallback(() => {
|
|
163
173
|
activeAnimRef.current = null;
|
|
164
174
|
setIsAnimating(false);
|
|
165
175
|
cancelAnimationFrame(animFrameRef.current);
|
|
166
176
|
}, []);
|
|
167
|
-
|
|
177
|
+
_e.useEffect(() => {
|
|
168
178
|
return () => cancelAnimationFrame(animFrameRef.current);
|
|
169
179
|
}, []);
|
|
170
|
-
const addAnimation =
|
|
180
|
+
const addAnimation = _e.useCallback((animation) => {
|
|
171
181
|
setAnimations((prev) => [...prev, animation]);
|
|
172
182
|
}, []);
|
|
173
|
-
const removeAnimation =
|
|
183
|
+
const removeAnimation = _e.useCallback((name) => {
|
|
174
184
|
setAnimations((prev) => prev.filter((a) => a.name !== name));
|
|
175
185
|
}, []);
|
|
176
186
|
return {
|
|
@@ -190,15 +200,26 @@ function useMorphTargetEditor(mesh, onInfluenceChange) {
|
|
|
190
200
|
/* ── Component ── */
|
|
191
201
|
const NiceMorphTargetEditor = ({ mesh, onInfluenceChange, className = '', }) => {
|
|
192
202
|
const { targets, setInfluence, createMorphTarget, deleteMorphTarget, resetAllInfluences, isAnimating, startAnimation, stopAnimation, animations, addAnimation, removeAnimation, } = useMorphTargetEditor(mesh, onInfluenceChange);
|
|
193
|
-
const [newName, setNewName] =
|
|
203
|
+
const [newName, setNewName] = _e.useState('');
|
|
194
204
|
const handleCreate = () => {
|
|
195
205
|
const name = newName.trim();
|
|
196
|
-
if (!name)
|
|
206
|
+
if (!name) {
|
|
197
207
|
return;
|
|
208
|
+
}
|
|
198
209
|
createMorphTarget(name);
|
|
199
210
|
setNewName('');
|
|
200
211
|
};
|
|
201
|
-
return (jsxRuntime.jsxs("div", { className: `nice-morph-target-editor ${className}`, style: { display: 'grid', gap: 8, fontSize: 13 }, children: [jsxRuntime.jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center' }, children: [jsxRuntime.jsx("strong", { children: "Morph Targets" }), jsxRuntime.jsx("button", { type: "button", onClick: resetAllInfluences, style: { fontSize: 11 }, children: "Reset All" })] }), targets.length === 0 && (jsxRuntime.jsx("div", { style: { opacity: 0.6, fontStyle: 'italic' }, children: "No morph targets found." })), targets.map((target) => (jsxRuntime.jsxs("div", { style: {
|
|
212
|
+
return (jsxRuntime.jsxs("div", { className: `nice-morph-target-editor ${className}`, style: { display: 'grid', gap: 8, fontSize: 13 }, children: [jsxRuntime.jsxs("div", { style: { display: 'flex', justifyContent: 'space-between', alignItems: 'center' }, children: [jsxRuntime.jsx("strong", { children: "Morph Targets" }), jsxRuntime.jsx("button", { type: "button", onClick: resetAllInfluences, style: { fontSize: 11 }, children: "Reset All" })] }), targets.length === 0 && (jsxRuntime.jsx("div", { style: { opacity: 0.6, fontStyle: 'italic' }, children: "No morph targets found." })), targets.map((target) => (jsxRuntime.jsxs("div", { style: {
|
|
213
|
+
display: 'grid',
|
|
214
|
+
gridTemplateColumns: '1fr 50px auto',
|
|
215
|
+
alignItems: 'center',
|
|
216
|
+
gap: 6,
|
|
217
|
+
}, children: [jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("label", { style: { display: 'block', fontSize: 11, marginBottom: 2 }, children: target.name }), jsxRuntime.jsx("input", { type: "range", min: 0, max: 1, step: 0.01, value: target.influence, onChange: (e) => setInfluence(target.index, parseFloat(e.target.value)), style: { width: '100%' } })] }), jsxRuntime.jsx("span", { style: { fontSize: 11, textAlign: 'right' }, children: target.influence.toFixed(2) }), jsxRuntime.jsx("button", { type: "button", onClick: () => deleteMorphTarget(target.index), title: "Delete", style: { background: 'none', border: 'none', cursor: 'pointer' }, children: "\uD83D\uDDD1" })] }, target.index))), jsxRuntime.jsxs("div", { style: { display: 'flex', gap: 4, marginTop: 4 }, children: [jsxRuntime.jsx("input", { type: "text", value: newName, onChange: (e) => setNewName(e.target.value), placeholder: "New morph target name\u2026", onKeyDown: (e) => e.key === 'Enter' && handleCreate(), style: {
|
|
218
|
+
flex: 1,
|
|
219
|
+
padding: '4px 8px',
|
|
220
|
+
border: '1px solid var(--border, #e2e8f0)',
|
|
221
|
+
borderRadius: 4,
|
|
222
|
+
} }), jsxRuntime.jsx("button", { type: "button", onClick: handleCreate, children: "+ Add" })] }), animations.length > 0 && (jsxRuntime.jsxs("div", { style: { marginTop: 8 }, children: [jsxRuntime.jsx("strong", { style: { fontSize: 12 }, children: "Animations" }), animations.map((anim) => (jsxRuntime.jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 4, marginTop: 4 }, children: [jsxRuntime.jsx("span", { style: { flex: 1 }, children: anim.name }), jsxRuntime.jsx("button", { type: "button", onClick: () => (isAnimating ? stopAnimation() : startAnimation(anim)), style: { fontSize: 11 }, children: isAnimating ? '⏹' : '▶' }), jsxRuntime.jsx("button", { type: "button", onClick: () => removeAnimation(anim.name), style: { fontSize: 11 }, children: "\uD83D\uDDD1" })] }, anim.name)))] }))] }));
|
|
202
223
|
};
|
|
203
224
|
|
|
204
225
|
exports.NiceMorphTargetEditor = NiceMorphTargetEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NiceMorphTargetEditor.js","sources":["../../../src/model/NiceMorphTargetEditor.tsx"],"sourcesContent":[null],"names":["useState","useRef","useEffect","useCallback","THREE","_jsxs","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NiceMorphTargetEditor.js","sources":["../../../src/model/NiceMorphTargetEditor.tsx"],"sourcesContent":[null],"names":["useState","useRef","useEffect","useCallback","THREE","_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var _e = require('react');
|
|
4
5
|
var THREE = require('three');
|
|
5
|
-
var ke = require('react');
|
|
6
6
|
|
|
7
7
|
function _interopNamespaceDefault(e) {
|
|
8
8
|
var n = Object.create(null);
|
|
@@ -33,16 +33,17 @@ function createNode(bounds, depth) {
|
|
|
33
33
|
return { bounds, children: null, objects: [], depth };
|
|
34
34
|
}
|
|
35
35
|
function splitNode(node, config) {
|
|
36
|
-
if (node.depth >= config.maxDepth)
|
|
36
|
+
if (node.depth >= config.maxDepth) {
|
|
37
37
|
return;
|
|
38
|
+
}
|
|
38
39
|
const center = new THREE__namespace.Vector3();
|
|
39
40
|
node.bounds.getCenter(center);
|
|
40
41
|
const min = node.bounds.min;
|
|
41
42
|
const max = node.bounds.max;
|
|
42
43
|
node.children = [];
|
|
43
44
|
for (let i = 0; i < 8; i++) {
|
|
44
|
-
const childMin = new THREE__namespace.Vector3(
|
|
45
|
-
const childMax = new THREE__namespace.Vector3(
|
|
45
|
+
const childMin = new THREE__namespace.Vector3(i & 1 ? center.x : min.x, i & 2 ? center.y : min.y, i & 4 ? center.z : min.z);
|
|
46
|
+
const childMax = new THREE__namespace.Vector3(i & 1 ? max.x : center.x, i & 2 ? max.y : center.y, i & 4 ? max.z : center.z);
|
|
46
47
|
// Apply looseness
|
|
47
48
|
if (config.looseness > 1) {
|
|
48
49
|
const size = new THREE__namespace.Vector3().subVectors(childMax, childMin);
|
|
@@ -64,15 +65,17 @@ function splitNode(node, config) {
|
|
|
64
65
|
break;
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
|
-
if (!placed)
|
|
68
|
+
if (!placed) {
|
|
68
69
|
orphans.push(obj);
|
|
70
|
+
}
|
|
69
71
|
}
|
|
70
72
|
node.objects = orphans;
|
|
71
73
|
}
|
|
72
74
|
function insertObject(node, object, config) {
|
|
73
75
|
const objBounds = new THREE__namespace.Box3().setFromObject(object);
|
|
74
|
-
if (!node.bounds.intersectsBox(objBounds))
|
|
76
|
+
if (!node.bounds.intersectsBox(objBounds)) {
|
|
75
77
|
return;
|
|
78
|
+
}
|
|
76
79
|
if (node.children) {
|
|
77
80
|
for (const child of node.children) {
|
|
78
81
|
if (child.bounds.containsBox(objBounds)) {
|
|
@@ -97,16 +100,18 @@ function removeObject(node, object) {
|
|
|
97
100
|
}
|
|
98
101
|
if (node.children) {
|
|
99
102
|
for (const child of node.children) {
|
|
100
|
-
if (removeObject(child, object))
|
|
103
|
+
if (removeObject(child, object)) {
|
|
101
104
|
return true;
|
|
105
|
+
}
|
|
102
106
|
}
|
|
103
107
|
}
|
|
104
108
|
return false;
|
|
105
109
|
}
|
|
106
110
|
function raycastNode(node, raycaster, results) {
|
|
107
111
|
var _a;
|
|
108
|
-
if (!raycaster.ray.intersectsBox(node.bounds))
|
|
112
|
+
if (!raycaster.ray.intersectsBox(node.bounds)) {
|
|
109
113
|
return;
|
|
114
|
+
}
|
|
110
115
|
// Test objects in this node
|
|
111
116
|
for (const obj of node.objects) {
|
|
112
117
|
if (obj instanceof THREE__namespace.Mesh) {
|
|
@@ -129,8 +134,9 @@ function raycastNode(node, raycaster, results) {
|
|
|
129
134
|
}
|
|
130
135
|
}
|
|
131
136
|
function frustumCullNode(node, frustum, results) {
|
|
132
|
-
if (!frustum.intersectsBox(node.bounds))
|
|
137
|
+
if (!frustum.intersectsBox(node.bounds)) {
|
|
133
138
|
return;
|
|
139
|
+
}
|
|
134
140
|
for (const obj of node.objects) {
|
|
135
141
|
const objBounds = new THREE__namespace.Box3().setFromObject(obj);
|
|
136
142
|
if (frustum.intersectsBox(objBounds)) {
|
|
@@ -144,10 +150,12 @@ function frustumCullNode(node, frustum, results) {
|
|
|
144
150
|
}
|
|
145
151
|
}
|
|
146
152
|
function nearestInNode(node, point, maxDist, best) {
|
|
147
|
-
if (!node.bounds.distanceToPoint(point))
|
|
153
|
+
if (!node.bounds.distanceToPoint(point)) {
|
|
148
154
|
return;
|
|
149
|
-
|
|
155
|
+
}
|
|
156
|
+
if (node.bounds.distanceToPoint(point) > best.dist) {
|
|
150
157
|
return;
|
|
158
|
+
}
|
|
151
159
|
for (const obj of node.objects) {
|
|
152
160
|
const pos = new THREE__namespace.Vector3();
|
|
153
161
|
obj.getWorldPosition(pos);
|
|
@@ -208,14 +216,15 @@ function buildDebugVisualization(node, group, maxDepth) {
|
|
|
208
216
|
}
|
|
209
217
|
/* ── Hook ── */
|
|
210
218
|
function useOctree(scene, configOverride) {
|
|
211
|
-
const config =
|
|
212
|
-
const [root, setRoot] =
|
|
213
|
-
const [showDebug, setShowDebug] =
|
|
214
|
-
const [stats, setStats] =
|
|
215
|
-
const debugGroup =
|
|
216
|
-
|
|
217
|
-
if (!scene)
|
|
219
|
+
const config = _e.useMemo(() => ({ ...DEFAULT_CONFIG, ...configOverride }), [configOverride]);
|
|
220
|
+
const [root, setRoot] = _e.useState(null);
|
|
221
|
+
const [showDebug, setShowDebug] = _e.useState(false);
|
|
222
|
+
const [stats, setStats] = _e.useState({ nodeCount: 0, objectCount: 0 });
|
|
223
|
+
const debugGroup = _e.useRef(new THREE__namespace.Group());
|
|
224
|
+
_e.useEffect(() => {
|
|
225
|
+
if (!scene) {
|
|
218
226
|
return;
|
|
227
|
+
}
|
|
219
228
|
debugGroup.current.name = '__octree_debug__';
|
|
220
229
|
if (showDebug) {
|
|
221
230
|
scene.add(debugGroup.current);
|
|
@@ -224,7 +233,7 @@ function useOctree(scene, configOverride) {
|
|
|
224
233
|
scene.remove(debugGroup.current);
|
|
225
234
|
};
|
|
226
235
|
}, [scene, showDebug]);
|
|
227
|
-
const refreshDebug =
|
|
236
|
+
const refreshDebug = _e.useCallback((rootNode) => {
|
|
228
237
|
// Clear existing debug
|
|
229
238
|
while (debugGroup.current.children.length) {
|
|
230
239
|
const child = debugGroup.current.children[0];
|
|
@@ -234,9 +243,10 @@ function useOctree(scene, configOverride) {
|
|
|
234
243
|
buildDebugVisualization(rootNode, debugGroup.current, config.maxDepth);
|
|
235
244
|
}
|
|
236
245
|
}, [showDebug, config.maxDepth]);
|
|
237
|
-
const build =
|
|
238
|
-
if (!scene)
|
|
246
|
+
const build = _e.useCallback(() => {
|
|
247
|
+
if (!scene) {
|
|
239
248
|
return;
|
|
249
|
+
}
|
|
240
250
|
// Compute scene bounds
|
|
241
251
|
const sceneBounds = new THREE__namespace.Box3();
|
|
242
252
|
scene.traverse((child) => {
|
|
@@ -244,8 +254,9 @@ function useOctree(scene, configOverride) {
|
|
|
244
254
|
sceneBounds.expandByObject(child);
|
|
245
255
|
}
|
|
246
256
|
});
|
|
247
|
-
if (sceneBounds.isEmpty())
|
|
257
|
+
if (sceneBounds.isEmpty()) {
|
|
248
258
|
return;
|
|
259
|
+
}
|
|
249
260
|
// Make bounds cubic
|
|
250
261
|
const size = new THREE__namespace.Vector3();
|
|
251
262
|
sceneBounds.getSize(size);
|
|
@@ -264,36 +275,41 @@ function useOctree(scene, configOverride) {
|
|
|
264
275
|
setStats({ nodeCount: countNodes(rootNode), objectCount: countObjects(rootNode) });
|
|
265
276
|
refreshDebug(rootNode);
|
|
266
277
|
}, [scene, config, refreshDebug]);
|
|
267
|
-
const insert =
|
|
268
|
-
if (!root)
|
|
278
|
+
const insert = _e.useCallback((object) => {
|
|
279
|
+
if (!root) {
|
|
269
280
|
return;
|
|
281
|
+
}
|
|
270
282
|
insertObject(root, object, config);
|
|
271
283
|
setStats({ nodeCount: countNodes(root), objectCount: countObjects(root) });
|
|
272
284
|
refreshDebug(root);
|
|
273
285
|
}, [root, config, refreshDebug]);
|
|
274
|
-
const remove =
|
|
275
|
-
if (!root)
|
|
286
|
+
const remove = _e.useCallback((object) => {
|
|
287
|
+
if (!root) {
|
|
276
288
|
return;
|
|
289
|
+
}
|
|
277
290
|
removeObject(root, object);
|
|
278
291
|
setStats({ nodeCount: countNodes(root), objectCount: countObjects(root) });
|
|
279
292
|
}, [root]);
|
|
280
|
-
const update =
|
|
281
|
-
if (!root)
|
|
293
|
+
const update = _e.useCallback((object) => {
|
|
294
|
+
if (!root) {
|
|
282
295
|
return;
|
|
296
|
+
}
|
|
283
297
|
removeObject(root, object);
|
|
284
298
|
insertObject(root, object, config);
|
|
285
299
|
}, [root, config]);
|
|
286
|
-
const raycast =
|
|
287
|
-
if (!root)
|
|
300
|
+
const raycast = _e.useCallback((raycaster) => {
|
|
301
|
+
if (!root) {
|
|
288
302
|
return [];
|
|
303
|
+
}
|
|
289
304
|
const results = [];
|
|
290
305
|
raycastNode(root, raycaster, results);
|
|
291
306
|
results.sort((a, b) => a.distance - b.distance);
|
|
292
307
|
return results;
|
|
293
308
|
}, [root]);
|
|
294
|
-
const frustumCull =
|
|
295
|
-
if (!root)
|
|
309
|
+
const frustumCull = _e.useCallback((camera) => {
|
|
310
|
+
if (!root) {
|
|
296
311
|
return [];
|
|
312
|
+
}
|
|
297
313
|
const frustum = new THREE__namespace.Frustum();
|
|
298
314
|
const projScreenMatrix = new THREE__namespace.Matrix4();
|
|
299
315
|
projScreenMatrix.multiplyMatrices(camera.projectionMatrix, camera.matrixWorldInverse);
|
|
@@ -302,9 +318,10 @@ function useOctree(scene, configOverride) {
|
|
|
302
318
|
frustumCullNode(root, frustum, results);
|
|
303
319
|
return results;
|
|
304
320
|
}, [root]);
|
|
305
|
-
const nearestNeighbor =
|
|
306
|
-
if (!root)
|
|
321
|
+
const nearestNeighbor = _e.useCallback((point, maxDistance = Infinity) => {
|
|
322
|
+
if (!root) {
|
|
307
323
|
return null;
|
|
324
|
+
}
|
|
308
325
|
const best = { object: null, dist: maxDistance };
|
|
309
326
|
nearestInNode(root, point, maxDistance, best);
|
|
310
327
|
return best.object;
|
|
@@ -327,11 +344,19 @@ function useOctree(scene, configOverride) {
|
|
|
327
344
|
/* ── Component ── */
|
|
328
345
|
const NiceOctree = ({ scene, config, showDebug: initialShowDebug, className = '', }) => {
|
|
329
346
|
const octree = useOctree(scene, config);
|
|
330
|
-
|
|
331
|
-
if (initialShowDebug !== undefined)
|
|
347
|
+
_e.useEffect(() => {
|
|
348
|
+
if (initialShowDebug !== undefined) {
|
|
332
349
|
octree.setShowDebug(initialShowDebug);
|
|
350
|
+
}
|
|
333
351
|
}, [initialShowDebug]);
|
|
334
|
-
return (jsxRuntime.jsxs("div", { className: `nice-octree ${className}`, style: { display: 'grid', gap: 8, fontSize: 13 }, children: [jsxRuntime.jsx("strong", { children: "\uD83C\uDF32 Spatial Index (Octree)" }), jsxRuntime.jsx("button", { type: "button", onClick: octree.build, style: {
|
|
352
|
+
return (jsxRuntime.jsxs("div", { className: `nice-octree ${className}`, style: { display: 'grid', gap: 8, fontSize: 13 }, children: [jsxRuntime.jsx("strong", { children: "\uD83C\uDF32 Spatial Index (Octree)" }), jsxRuntime.jsx("button", { type: "button", onClick: octree.build, style: {
|
|
353
|
+
background: 'var(--accent, #6366f1)',
|
|
354
|
+
color: '#fff',
|
|
355
|
+
border: 'none',
|
|
356
|
+
borderRadius: 4,
|
|
357
|
+
padding: '6px 12px',
|
|
358
|
+
cursor: 'pointer',
|
|
359
|
+
}, children: "\u26A1 Build Octree" }), jsxRuntime.jsxs("div", { style: { fontSize: 11, opacity: 0.7 }, children: ["Nodes: ", octree.nodeCount, " | Objects: ", octree.objectCount] }), jsxRuntime.jsxs("label", { style: { display: 'flex', alignItems: 'center', gap: 6 }, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: octree.showDebug, onChange: (e) => octree.setShowDebug(e.target.checked) }), "Show debug wireframes"] })] }));
|
|
335
360
|
};
|
|
336
361
|
|
|
337
362
|
exports.NiceOctree = NiceOctree;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NiceOctree.js","sources":["../../../src/model/NiceOctree.tsx"],"sourcesContent":[null],"names":["THREE","useMemo","useState","useRef","useEffect","useCallback","_jsxs","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NiceOctree.js","sources":["../../../src/model/NiceOctree.tsx"],"sourcesContent":[null],"names":["THREE","useMemo","useState","useRef","useEffect","useCallback","_jsxs","_jsx"],"mappings":"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"}
|