@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.
Files changed (206) hide show
  1. package/dist/cjs/collaborative/collaborativeScene.js +16 -8
  2. package/dist/cjs/collaborative/collaborativeScene.js.map +1 -1
  3. package/dist/cjs/core/i18n.js +3 -3
  4. package/dist/cjs/dance/DanceBridge.js +65 -30
  5. package/dist/cjs/dance/DanceBridge.js.map +1 -1
  6. package/dist/cjs/dance/DanceScoreEngine.js +37 -23
  7. package/dist/cjs/dance/DanceScoreEngine.js.map +1 -1
  8. package/dist/cjs/dance/PoseDetector.js +92 -49
  9. package/dist/cjs/dance/PoseDetector.js.map +1 -1
  10. package/dist/cjs/material/NiceMaterialEditor.js +134 -91
  11. package/dist/cjs/material/NiceMaterialEditor.js.map +1 -1
  12. package/dist/cjs/material/materialEditorUtils.js +86 -55
  13. package/dist/cjs/material/materialEditorUtils.js.map +1 -1
  14. package/dist/cjs/model/ModelEditor.js +16 -14
  15. package/dist/cjs/model/ModelEditor.js.map +1 -1
  16. package/dist/cjs/model/ModelEditorLeftPanel.js +21 -15
  17. package/dist/cjs/model/ModelEditorLeftPanel.js.map +1 -1
  18. package/dist/cjs/model/ModelEditorMenuBar.js +23 -10
  19. package/dist/cjs/model/ModelEditorMenuBar.js.map +1 -1
  20. package/dist/cjs/model/ModelEditorRightPanel.js +32 -27
  21. package/dist/cjs/model/ModelEditorRightPanel.js.map +1 -1
  22. package/dist/cjs/model/ModelEditorSubComponents.js +20 -20
  23. package/dist/cjs/model/ModelEditorSubComponents.js.map +1 -1
  24. package/dist/cjs/model/ModelEditorTimeline.js +12 -11
  25. package/dist/cjs/model/ModelEditorTimeline.js.map +1 -1
  26. package/dist/cjs/model/ModelEditorToolbar.js +5 -5
  27. package/dist/cjs/model/ModelEditorToolbar.js.map +1 -1
  28. package/dist/cjs/model/ModelEditorViewport.js +12 -8
  29. package/dist/cjs/model/ModelEditorViewport.js.map +1 -1
  30. package/dist/cjs/model/ModelViewer.js +16 -15
  31. package/dist/cjs/model/ModelViewer.js.map +1 -1
  32. package/dist/cjs/model/NiceArmatureEditor.js +53 -30
  33. package/dist/cjs/model/NiceArmatureEditor.js.map +1 -1
  34. package/dist/cjs/model/NiceMorphTargetEditor.js +51 -30
  35. package/dist/cjs/model/NiceMorphTargetEditor.js.map +1 -1
  36. package/dist/cjs/model/NiceOctree.js +62 -37
  37. package/dist/cjs/model/NiceOctree.js.map +1 -1
  38. package/dist/cjs/model/NicePhysicsSimulation.js +74 -36
  39. package/dist/cjs/model/NicePhysicsSimulation.js.map +1 -1
  40. package/dist/cjs/model/NiceProceduralGeometry.js +101 -31
  41. package/dist/cjs/model/NiceProceduralGeometry.js.map +1 -1
  42. package/dist/cjs/model/NiceTerrainEditor.js +88 -38
  43. package/dist/cjs/model/NiceTerrainEditor.js.map +1 -1
  44. package/dist/cjs/model/NiceWeightPainter.js +46 -24
  45. package/dist/cjs/model/NiceWeightPainter.js.map +1 -1
  46. package/dist/cjs/model/NiceXRPreview.js +89 -43
  47. package/dist/cjs/model/NiceXRPreview.js.map +1 -1
  48. package/dist/cjs/model/cadModeUtils.js +2 -2
  49. package/dist/cjs/model/cadModeUtils.js.map +1 -1
  50. package/dist/cjs/model/editorShortcuts.js +69 -35
  51. package/dist/cjs/model/editorShortcuts.js.map +1 -1
  52. package/dist/cjs/model/modelEditorTypes.js +56 -52
  53. package/dist/cjs/model/modelEditorTypes.js.map +1 -1
  54. package/dist/cjs/model/modelEditorUtils.js +356 -131
  55. package/dist/cjs/model/modelEditorUtils.js.map +1 -1
  56. package/dist/cjs/model/simsModeUtils.js +819 -74
  57. package/dist/cjs/model/simsModeUtils.js.map +1 -1
  58. package/dist/cjs/model/useModelEditor.js +501 -394
  59. package/dist/cjs/model/useModelEditor.js.map +1 -1
  60. package/dist/cjs/model/useModelViewer.js +117 -86
  61. package/dist/cjs/model/useModelViewer.js.map +1 -1
  62. package/dist/cjs/particle/NiceParticleEditor.js +126 -69
  63. package/dist/cjs/particle/NiceParticleEditor.js.map +1 -1
  64. package/dist/cjs/particle/particleEditorUtils.js +64 -27
  65. package/dist/cjs/particle/particleEditorUtils.js.map +1 -1
  66. package/dist/cjs/rendering/NiceCascadedShadows.js +35 -23
  67. package/dist/cjs/rendering/NiceCascadedShadows.js.map +1 -1
  68. package/dist/cjs/rendering/NiceRenderExport.js +26 -12
  69. package/dist/cjs/rendering/NiceRenderExport.js.map +1 -1
  70. package/dist/cjs/rendering/NiceSSAO.js +28 -23
  71. package/dist/cjs/rendering/NiceSSAO.js.map +1 -1
  72. package/dist/cjs/rendering/NiceSSR.js +22 -18
  73. package/dist/cjs/rendering/NiceSSR.js.map +1 -1
  74. package/dist/cjs/rendering/NiceWebGPURenderer.js +60 -37
  75. package/dist/cjs/rendering/NiceWebGPURenderer.js.map +1 -1
  76. package/dist/cjs/ui/dist/NiceErrorBoundary-D75yr_WE.js +572 -0
  77. package/dist/cjs/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
  78. package/dist/cjs/ui/dist/NiceForm-CKoJA6NG.js +4979 -0
  79. package/dist/cjs/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
  80. package/dist/cjs/ui/dist/NiceModal-1QX7NhyH.js +98 -0
  81. package/dist/cjs/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
  82. package/dist/cjs/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5244 -0
  83. package/dist/cjs/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
  84. package/dist/cjs/ui/dist/NicePagination-DbE-uOkl.js +174 -0
  85. package/dist/cjs/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
  86. package/dist/cjs/ui/dist/NicePinCodeInput-B8cI8zu8.js +10459 -0
  87. package/dist/cjs/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
  88. package/dist/cjs/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6313 -0
  89. package/dist/cjs/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
  90. package/dist/cjs/ui/dist/NiceTabs-DzLHzwuA.js +1639 -0
  91. package/dist/cjs/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
  92. package/dist/cjs/ui/dist/NiceWindow-DeC83yfE.js +807 -0
  93. package/dist/cjs/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
  94. package/dist/cjs/ui/dist/charts-BAS21jkC.js +3833 -0
  95. package/dist/cjs/ui/dist/charts-BAS21jkC.js.map +1 -0
  96. package/dist/cjs/ui/dist/core-Da43q-pO.js +11683 -0
  97. package/dist/cjs/ui/dist/core-Da43q-pO.js.map +1 -0
  98. package/dist/cjs/ui/dist/index-pAuGTbuB.js +28876 -0
  99. package/dist/cjs/ui/dist/index-pAuGTbuB.js.map +1 -0
  100. package/dist/cjs/uv/NiceUVEditor.js +115 -86
  101. package/dist/cjs/uv/NiceUVEditor.js.map +1 -1
  102. package/dist/cjs/uv/uvEditorUtils.js +41 -23
  103. package/dist/cjs/uv/uvEditorUtils.js.map +1 -1
  104. package/dist/esm/collaborative/collaborativeScene.js +16 -8
  105. package/dist/esm/collaborative/collaborativeScene.js.map +1 -1
  106. package/dist/esm/dance/DanceBridge.js +55 -20
  107. package/dist/esm/dance/DanceBridge.js.map +1 -1
  108. package/dist/esm/dance/DanceScoreEngine.js +29 -15
  109. package/dist/esm/dance/DanceScoreEngine.js.map +1 -1
  110. package/dist/esm/dance/PoseDetector.js +73 -30
  111. package/dist/esm/dance/PoseDetector.js.map +1 -1
  112. package/dist/esm/material/NiceMaterialEditor.js +115 -72
  113. package/dist/esm/material/NiceMaterialEditor.js.map +1 -1
  114. package/dist/esm/material/materialEditorUtils.js +86 -55
  115. package/dist/esm/material/materialEditorUtils.js.map +1 -1
  116. package/dist/esm/model/ModelEditor.js +16 -14
  117. package/dist/esm/model/ModelEditor.js.map +1 -1
  118. package/dist/esm/model/ModelEditorLeftPanel.js +21 -15
  119. package/dist/esm/model/ModelEditorLeftPanel.js.map +1 -1
  120. package/dist/esm/model/ModelEditorMenuBar.js +23 -10
  121. package/dist/esm/model/ModelEditorMenuBar.js.map +1 -1
  122. package/dist/esm/model/ModelEditorRightPanel.js +32 -27
  123. package/dist/esm/model/ModelEditorRightPanel.js.map +1 -1
  124. package/dist/esm/model/ModelEditorSubComponents.js +17 -17
  125. package/dist/esm/model/ModelEditorSubComponents.js.map +1 -1
  126. package/dist/esm/model/ModelEditorTimeline.js +12 -11
  127. package/dist/esm/model/ModelEditorTimeline.js.map +1 -1
  128. package/dist/esm/model/ModelEditorToolbar.js +5 -5
  129. package/dist/esm/model/ModelEditorToolbar.js.map +1 -1
  130. package/dist/esm/model/ModelEditorViewport.js +12 -8
  131. package/dist/esm/model/ModelEditorViewport.js.map +1 -1
  132. package/dist/esm/model/ModelViewer.js +8 -7
  133. package/dist/esm/model/ModelViewer.js.map +1 -1
  134. package/dist/esm/model/NiceArmatureEditor.js +36 -13
  135. package/dist/esm/model/NiceArmatureEditor.js.map +1 -1
  136. package/dist/esm/model/NiceMorphTargetEditor.js +34 -13
  137. package/dist/esm/model/NiceMorphTargetEditor.js.map +1 -1
  138. package/dist/esm/model/NiceOctree.js +47 -22
  139. package/dist/esm/model/NiceOctree.js.map +1 -1
  140. package/dist/esm/model/NicePhysicsSimulation.js +51 -13
  141. package/dist/esm/model/NicePhysicsSimulation.js.map +1 -1
  142. package/dist/esm/model/NiceProceduralGeometry.js +94 -24
  143. package/dist/esm/model/NiceProceduralGeometry.js.map +1 -1
  144. package/dist/esm/model/NiceTerrainEditor.js +70 -20
  145. package/dist/esm/model/NiceTerrainEditor.js.map +1 -1
  146. package/dist/esm/model/NiceWeightPainter.js +33 -11
  147. package/dist/esm/model/NiceWeightPainter.js.map +1 -1
  148. package/dist/esm/model/NiceXRPreview.js +72 -26
  149. package/dist/esm/model/NiceXRPreview.js.map +1 -1
  150. package/dist/esm/model/cadModeUtils.js +2 -2
  151. package/dist/esm/model/cadModeUtils.js.map +1 -1
  152. package/dist/esm/model/editorShortcuts.js +69 -35
  153. package/dist/esm/model/editorShortcuts.js.map +1 -1
  154. package/dist/esm/model/modelEditorTypes.js +56 -52
  155. package/dist/esm/model/modelEditorTypes.js.map +1 -1
  156. package/dist/esm/model/modelEditorUtils.js +356 -131
  157. package/dist/esm/model/modelEditorUtils.js.map +1 -1
  158. package/dist/esm/model/simsModeUtils.js +819 -74
  159. package/dist/esm/model/simsModeUtils.js.map +1 -1
  160. package/dist/esm/model/useModelEditor.js +384 -277
  161. package/dist/esm/model/useModelEditor.js.map +1 -1
  162. package/dist/esm/model/useModelViewer.js +56 -25
  163. package/dist/esm/model/useModelViewer.js.map +1 -1
  164. package/dist/esm/particle/NiceParticleEditor.js +116 -59
  165. package/dist/esm/particle/NiceParticleEditor.js.map +1 -1
  166. package/dist/esm/particle/particleEditorUtils.js +64 -27
  167. package/dist/esm/particle/particleEditorUtils.js.map +1 -1
  168. package/dist/esm/rendering/NiceCascadedShadows.js +24 -12
  169. package/dist/esm/rendering/NiceCascadedShadows.js.map +1 -1
  170. package/dist/esm/rendering/NiceRenderExport.js +22 -8
  171. package/dist/esm/rendering/NiceRenderExport.js.map +1 -1
  172. package/dist/esm/rendering/NiceSSAO.js +11 -6
  173. package/dist/esm/rendering/NiceSSAO.js.map +1 -1
  174. package/dist/esm/rendering/NiceSSR.js +9 -5
  175. package/dist/esm/rendering/NiceSSR.js.map +1 -1
  176. package/dist/esm/rendering/NiceWebGPURenderer.js +40 -17
  177. package/dist/esm/rendering/NiceWebGPURenderer.js.map +1 -1
  178. package/dist/esm/ui/dist/NiceErrorBoundary-D75yr_WE.js +563 -0
  179. package/dist/esm/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
  180. package/dist/esm/ui/dist/NiceForm-CKoJA6NG.js +4960 -0
  181. package/dist/esm/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
  182. package/dist/esm/ui/dist/NiceModal-1QX7NhyH.js +96 -0
  183. package/dist/esm/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
  184. package/dist/esm/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5201 -0
  185. package/dist/esm/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
  186. package/dist/esm/ui/dist/NicePagination-DbE-uOkl.js +172 -0
  187. package/dist/esm/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
  188. package/dist/esm/ui/dist/NicePinCodeInput-B8cI8zu8.js +10408 -0
  189. package/dist/esm/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
  190. package/dist/esm/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6296 -0
  191. package/dist/esm/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
  192. package/dist/esm/ui/dist/NiceTabs-DzLHzwuA.js +1630 -0
  193. package/dist/esm/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
  194. package/dist/esm/ui/dist/NiceWindow-DeC83yfE.js +796 -0
  195. package/dist/esm/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
  196. package/dist/esm/ui/dist/charts-BAS21jkC.js +3809 -0
  197. package/dist/esm/ui/dist/charts-BAS21jkC.js.map +1 -0
  198. package/dist/esm/ui/dist/core-Da43q-pO.js +11502 -0
  199. package/dist/esm/ui/dist/core-Da43q-pO.js.map +1 -0
  200. package/dist/esm/ui/dist/index-pAuGTbuB.js +28792 -0
  201. package/dist/esm/ui/dist/index-pAuGTbuB.js.map +1 -0
  202. package/dist/esm/uv/NiceUVEditor.js +91 -62
  203. package/dist/esm/uv/NiceUVEditor.js.map +1 -1
  204. package/dist/esm/uv/uvEditorUtils.js +41 -23
  205. package/dist/esm/uv/uvEditorUtils.js.map +1 -1
  206. 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] = ke.useState([]);
29
- const [animations, setAnimations] = ke.useState([]);
30
- const [isAnimating, setIsAnimating] = ke.useState(false);
31
- const animFrameRef = ke.useRef(0);
32
- const animStartRef = ke.useRef(0);
33
- const activeAnimRef = ke.useRef(null);
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
- ke.useEffect(() => {
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 = ke.useCallback((index, value) => {
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 = ke.useCallback((name) => {
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
- if (!mesh.morphTargetInfluences)
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 = ke.useCallback((index) => {
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] = (_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;
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 = ke.useCallback(() => {
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 = ke.useCallback((animation) => {
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 = ke.useCallback(() => {
172
+ const stopAnimation = _e.useCallback(() => {
163
173
  activeAnimRef.current = null;
164
174
  setIsAnimating(false);
165
175
  cancelAnimationFrame(animFrameRef.current);
166
176
  }, []);
167
- ke.useEffect(() => {
177
+ _e.useEffect(() => {
168
178
  return () => cancelAnimationFrame(animFrameRef.current);
169
179
  }, []);
170
- const addAnimation = ke.useCallback((animation) => {
180
+ const addAnimation = _e.useCallback((animation) => {
171
181
  setAnimations((prev) => [...prev, animation]);
172
182
  }, []);
173
- const removeAnimation = ke.useCallback((name) => {
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] = ke.useState('');
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: { display: 'grid', gridTemplateColumns: '1fr 50px auto', alignItems: 'center', gap: 6 }, 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: { flex: 1, padding: '4px 8px', border: '1px solid var(--border, #e2e8f0)', borderRadius: 4 } }), 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)))] }))] }));
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":";;;;;;;;;;;;;;;;;;;;;;;;;AAgDA;AAEM,SAAU,oBAAoB,CAClC,IAAuB,EACvB,iBAA4E,EAAA;IAE5E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,WAAQ,CAAoB,EAAE,CAAC;IAC7D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAGA,WAAQ,CAAmB,EAAE,CAAC;IAClE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAGA,WAAQ,CAAC,KAAK,CAAC;AACrD,IAAA,MAAM,YAAY,GAAGC,SAAM,CAAS,CAAC,CAAC;AACtC,IAAA,MAAM,YAAY,GAAGA,SAAM,CAAS,CAAC,CAAC;AACtC,IAAA,MAAM,aAAa,GAAGA,SAAM,CAAwB,IAAI,CAAC;;IAGzDC,YAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACvE,UAAU,CAAC,EAAE,CAAC;YACd;QACF;AAEA,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB;AACvC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB;AAE7C,QAAA,MAAM,IAAI,GAAsB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAI;;AAAC,YAAA,QAAC;gBAC3E,IAAI;gBACJ,KAAK;AACL,gBAAA,SAAS,EAAE,CAAA,EAAA,GAAA,UAAU,CAAC,KAAK,CAAC,mCAAI,CAAC;AAClC,aAAA;AAAC,QAAA,CAAA,CAAC;AACH,QAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QACtC,UAAU,CAAC,IAAI,CAAC;AAClB,IAAA,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAEV,MAAM,YAAY,GAAGC,cAAW,CAC9B,CAAC,KAAa,EAAE,KAAa,KAAI;QAC/B,IAAI,EAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,qBAAqB,CAAA;YAAE;AAClC,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,KAAK;AACzC,QAAA,UAAU,CAAC,CAAC,IAAI,KACd,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CACtE;QACD,iBAAiB,KAAA,IAAA,IAAjB,iBAAiB,KAAA,MAAA,GAAA,MAAA,GAAjB,iBAAiB,CAAG,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACzC,IAAA,CAAC,EACD,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAC1B;AAED,IAAA,MAAM,iBAAiB,GAAGA,cAAW,CACnC,CAAC,IAAY,KAAI;AACf,QAAA,IAAI,CAAC,IAAI;YAAE;AAEX,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC9B,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ;AAC5C,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK;;QAG3B,MAAM,cAAc,GAAG,IAAI,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;AAClD,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAClC,cAAc,CAAC,CAAC,CAAC,GAAI,OAAO,CAAC,KAAsB,CAAC,CAAC,CAAC;QACxD;QAEA,MAAM,SAAS,GAAG,IAAIC,gBAAK,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC,CAAC;AAC9D,QAAA,SAAS,CAAC,IAAI,GAAG,IAAI;;AAGrB,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE;AACtC,YAAA,QAAQ,CAAC,eAAe,CAAC,QAAQ,GAAG,EAAE;QACxC;AACA,QAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAmC;AAC/E,QAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;;QAG1B,IAAI,CAAC,IAAI,CAAC,qBAAqB;AAAE,YAAA,IAAI,CAAC,qBAAqB,GAAG,EAAE;QAChE,IAAI,CAAC,IAAI,CAAC,qBAAqB;AAAE,YAAA,IAAI,CAAC,qBAAqB,GAAG,EAAE;AAEhE,QAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;AACtC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,QAAQ;AAC3C,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC;QAExC,IAAI,CAAC,kBAAkB,EAAE;QAEzB,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1E,IAAA,CAAC,EACD,CAAC,IAAI,CAAC,CACP;AAED,IAAA,MAAM,iBAAiB,GAAGD,cAAW,CACnC,CAAC,KAAa,KAAI;AAChB,QAAA,IAAI,CAAC,IAAI;YAAE;AAEX,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ;AAC9B,QAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,QAAmC;AAC/E,QAAA,IAAI,CAAC,UAAU,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM;YAAE;AAE/C,QAAA,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;;QAG3B,MAAM,IAAI,GAA2B,EAAE;QACvC,MAAM,UAAU,GAAa,EAAE;QAE/B,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;;YAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAA,MAAA,EAAS,CAAC,CAAA,CAAE,CAAC,GAAG,CAAC;AACnC,YAAA,UAAU,CAAC,CAAC,CAAC,GAAG,CAAA,EAAA,GAAA,MAAA,IAAI,CAAC,qBAAqB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAG,CAAC,KAAK,KAAK,GAAG,EAAE,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;AAC9F,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACjC,QAAA,IAAI,CAAC,qBAAqB,GAAG,UAAU;AAEvC,QAAA,UAAU,CACR,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM;YACzC,IAAI;AACJ,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC;SAC3B,CAAC,CAAC,CACJ;AACH,IAAA,CAAC,EACD,CAAC,IAAI,CAAC,CACP;AAED,IAAA,MAAM,kBAAkB,GAAGA,cAAW,CAAC,MAAK;QAC1C,IAAI,EAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,qBAAqB,CAAA;YAAE;AAClC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,UAAU,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACjE,IAAA,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AAEV,IAAA,MAAM,cAAc,GAAGA,cAAW,CAChC,CAAC,SAAyB,KAAI;QAC5B,IAAI,EAAC,IAAI,KAAA,IAAA,IAAJ,IAAI,KAAA,MAAA,GAAA,MAAA,GAAJ,IAAI,CAAE,qBAAqB,CAAA;YAAE;AAElC,QAAA,aAAa,CAAC,OAAO,GAAG,SAAS;QACjC,cAAc,CAAC,IAAI,CAAC;AACpB,QAAA,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;AAExC,QAAA,MAAM,OAAO,GAAG,CAAC,GAAW,KAAI;;AAC9B,YAAA,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO;AAClC,YAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB;gBAAE;YAE1C,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,YAAY,CAAC,OAAO,IAAI,IAAI;AACnD,YAAA,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;;AAGnD,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;AAC1B,YAAA,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;YACnB,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AAEhC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACvC,gBAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC3E,oBAAA,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;AACf,oBAAA,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;oBACnB;gBACF;YACF;AAEA,YAAA,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAC/D,MAAM,IAAI,GAAG,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,IAAI,WAAW,GAAG,CAAC;AAElF,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1D,MAAM,IAAI,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;gBACtC,MAAM,EAAE,GAAG,CAAA,EAAA,GAAA,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;AACpC,gBAAA,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,IAAI,IAAI;YAC3D;AAEA,YAAA,UAAU,CAAC,CAAC,IAAI,KACd,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;;AAAC,gBAAA,QAAC;AACjB,oBAAA,GAAG,GAAG;oBACN,SAAS,EAAE,CAAA,EAAA,GAAA,IAAI,CAAC,qBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;AACvD,iBAAA;AAAC,YAAA,CAAA,CAAC,CACJ;AAED,YAAA,YAAY,CAAC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC;AACvD,QAAA,CAAC;AAED,QAAA,YAAY,CAAC,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC;AACvD,IAAA,CAAC,EACD,CAAC,IAAI,CAAC,CACP;AAED,IAAA,MAAM,aAAa,GAAGA,cAAW,CAAC,MAAK;AACrC,QAAA,aAAa,CAAC,OAAO,GAAG,IAAI;QAC5B,cAAc,CAAC,KAAK,CAAC;AACrB,QAAA,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC;IAEND,YAAS,CAAC,MAAK;QACb,OAAO,MAAM,oBAAoB,CAAC,YAAY,CAAC,OAAO,CAAC;IACzD,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,YAAY,GAAGC,cAAW,CAAC,CAAC,SAAyB,KAAI;AAC7D,QAAA,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,eAAe,GAAGA,cAAW,CAAC,CAAC,IAAY,KAAI;QACnD,aAAa,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC9D,CAAC,EAAE,EAAE,CAAC;IAEN,OAAO;QACL,OAAO;QACP,YAAY;QACZ,iBAAiB;QACjB,iBAAiB;QACjB,kBAAkB;QAClB,WAAW;QACX,cAAc;QACd,aAAa;QACb,UAAU;QACV,YAAY;QACZ,eAAe;KAChB;AACH;AAEA;AAEO,MAAM,qBAAqB,GAAyC,CAAC,EAC1E,IAAI,EACJ,iBAAiB,EACjB,SAAS,GAAG,EAAE,GACf,KAAI;AACH,IAAA,MAAM,EACJ,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,GAAG,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,CAAC;IAEjD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGH,WAAQ,CAAC,EAAE,CAAC;IAE1C,MAAM,YAAY,GAAG,MAAK;AACxB,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE;AAC3B,QAAA,IAAI,CAAC,IAAI;YAAE;QACX,iBAAiB,CAAC,IAAI,CAAC;QACvB,UAAU,CAAC,EAAE,CAAC;AAChB,IAAA,CAAC;IAED,QACEK,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAA,yBAAA,EAA4B,SAAS,CAAA,CAAE,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,QAAA,EAAA,CACvGA,eAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,CACpFC,cAAA,CAAA,QAAA,EAAA,EAAA,QAAA,EAAA,eAAA,EAAA,CAA8B,EAC9BA,cAAA,CAAA,QAAA,EAAA,EAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,QAAA,EAAA,WAAA,EAAA,CAEjE,CAAA,EAAA,CACL,EAEL,OAAO,CAAC,MAAM,KAAK,CAAC,KACnBA,cAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAA,QAAA,EAAA,yBAAA,EAAA,CAA+B,CACjF,EAEA,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,MAClBD,eAAA,CAAA,KAAA,EAAA,EAAwB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CACpHA,eAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CACEC,cAAA,CAAA,OAAA,EAAA,EAAO,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAA,QAAA,EAAG,MAAM,CAAC,IAAI,EAAA,CAAS,EACxFA,cAAA,CAAA,OAAA,EAAA,EACE,IAAI,EAAC,OAAO,EACZ,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,CAAC,SAAS,EACvB,QAAQ,EAAE,CAAC,CAAC,KAAK,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACvE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAA,CACxB,CAAA,EAAA,CACE,EACNA,cAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAA,QAAA,EAAG,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAA,CAAQ,EACvFA,cAAA,CAAA,QAAA,EAAA,EAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,MAAM,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,6BAE5I,CAAA,EAAA,EAhBD,MAAM,CAAC,KAAK,CAiBhB,CACP,CAAC,EAGFD,eAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CACnDC,cAAA,CAAA,OAAA,EAAA,EACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC3C,WAAW,EAAC,6BAAwB,EACpC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,YAAY,EAAE,EACrD,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,kCAAkC,EAAE,YAAY,EAAE,CAAC,EAAE,EAAA,CACnG,EACFA,cAAA,CAAA,QAAA,EAAA,EAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,YAAY,EAAA,QAAA,EAAA,OAAA,EAAA,CAAgB,CAAA,EAAA,CACvD,EAGL,UAAU,CAAC,MAAM,GAAG,CAAC,KACpBD,eAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CAC1BC,cAAA,CAAA,QAAA,EAAA,EAAQ,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,QAAA,EAAA,YAAA,EAAA,CAAqB,EACnD,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,MACnBD,eAAA,CAAA,KAAA,EAAA,EAAqB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,EAAA,QAAA,EAAA,CACzFC,cAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAA,QAAA,EAAG,IAAI,CAAC,IAAI,EAAA,CAAQ,EAC5CA,cAAA,CAAA,QAAA,EAAA,EAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,MAAM,WAAW,GAAG,aAAa,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,QAAA,EAC/G,WAAW,GAAG,GAAG,GAAG,GAAG,EAAA,CACjB,EACTA,cAAA,CAAA,QAAA,EAAA,EAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAA,QAAA,EAAA,cAAA,EAAA,CAE/E,CAAA,EAAA,EAPD,IAAI,CAAC,IAAI,CAQb,CACP,CAAC,CAAA,EAAA,CACE,CACP,CAAA,EAAA,CACG;AAEV;;;;;"}
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((i & 1) ? center.x : min.x, (i & 2) ? center.y : min.y, (i & 4) ? center.z : min.z);
45
- const childMax = new THREE__namespace.Vector3((i & 1) ? max.x : center.x, (i & 2) ? max.y : center.y, (i & 4) ? max.z : center.z);
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
- if (node.bounds.distanceToPoint(point) > best.dist)
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 = ke.useMemo(() => ({ ...DEFAULT_CONFIG, ...configOverride }), [configOverride]);
212
- const [root, setRoot] = ke.useState(null);
213
- const [showDebug, setShowDebug] = ke.useState(false);
214
- const [stats, setStats] = ke.useState({ nodeCount: 0, objectCount: 0 });
215
- const debugGroup = ke.useRef(new THREE__namespace.Group());
216
- ke.useEffect(() => {
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 = ke.useCallback((rootNode) => {
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 = ke.useCallback(() => {
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 = ke.useCallback((object) => {
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 = ke.useCallback((object) => {
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 = ke.useCallback((object) => {
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 = ke.useCallback((raycaster) => {
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 = ke.useCallback((camera) => {
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 = ke.useCallback((point, maxDistance = Infinity) => {
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
- ke.useEffect(() => {
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: { background: 'var(--accent, #6366f1)', color: '#fff', border: 'none', borderRadius: 4, padding: '6px 12px', cursor: 'pointer' }, 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"] })] }));
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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"}