@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,40 +1,40 @@
1
1
  'use strict';
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
- var ke = require('react');
4
+ var _e = require('react');
5
+ var UVEditor_module = require('./UVEditor.module.css.js');
5
6
  var uvEditorTypes = require('./uvEditorTypes.js');
6
7
  var uvEditorUtils = require('./uvEditorUtils.js');
7
- var UVEditor_module = require('./UVEditor.module.css.js');
8
8
 
9
9
  /* ═══════════════════════════════════════════
10
10
  Component
11
11
  ═══════════════════════════════════════════ */
12
12
  const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelectionChange, width = '100%', height = 600, showToolbar = true, showSidebar = true, className, readOnly = false, }) => {
13
- const canvasRef = ke.useRef(null);
14
- const containerRef = ke.useRef(null);
13
+ const canvasRef = _e.useRef(null);
14
+ const containerRef = _e.useRef(null);
15
15
  // State
16
- const [state, setState] = ke.useState({
16
+ const [state, setState] = _e.useState({
17
17
  ...uvEditorTypes.DEFAULT_UV_STATE,
18
18
  activeChannel: channel,
19
19
  });
20
- const [meshData, setMeshData] = ke.useState(null);
21
- const [selection, setSelection] = ke.useState({
20
+ const [meshData, setMeshData] = _e.useState(null);
21
+ const [selection, setSelection] = _e.useState({
22
22
  vertices: new Set(),
23
23
  edges: new Set(),
24
24
  faces: new Set(),
25
25
  islands: new Set(),
26
26
  });
27
- const [dragState, setDragState] = ke.useState({
27
+ const [dragState, setDragState] = _e.useState({
28
28
  active: false,
29
29
  startPos: { u: 0, v: 0 },
30
30
  currentPos: { u: 0, v: 0 },
31
31
  mode: 'select',
32
32
  initialPositions: new Map(),
33
33
  });
34
- const [undoStack, setUndoStack] = ke.useState([]);
35
- const [redoStack, setRedoStack] = ke.useState([]);
34
+ const [undoStack, setUndoStack] = _e.useState([]);
35
+ const [redoStack, setRedoStack] = _e.useState([]);
36
36
  // Extract mesh data when geometry changes
37
- ke.useEffect(() => {
37
+ _e.useEffect(() => {
38
38
  if (geometry) {
39
39
  const data = uvEditorUtils.extractUVMeshData(geometry, state.activeChannel);
40
40
  setMeshData(data);
@@ -45,13 +45,15 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
45
45
  }
46
46
  }, [geometry, state.activeChannel]);
47
47
  // Render UV view
48
- ke.useEffect(() => {
49
- if (!canvasRef.current || !meshData)
48
+ _e.useEffect(() => {
49
+ if (!canvasRef.current || !meshData) {
50
50
  return;
51
+ }
51
52
  const canvas = canvasRef.current;
52
53
  const ctx = canvas.getContext('2d');
53
- if (!ctx)
54
+ if (!ctx) {
54
55
  return;
56
+ }
55
57
  const { width: w, height: h } = canvas;
56
58
  const { zoom, panOffset, display } = state;
57
59
  // Clear
@@ -103,21 +105,22 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
103
105
  ctx.beginPath();
104
106
  ctx.moveTo(corners[0].x, corners[0].y);
105
107
  corners.forEach((c, i) => {
106
- if (i > 0)
108
+ if (i > 0) {
107
109
  ctx.lineTo(c.x, c.y);
110
+ }
108
111
  });
109
112
  ctx.closePath();
110
113
  ctx.stroke();
111
114
  }
112
115
  // Draw faces
113
116
  for (const face of meshData.faces.values()) {
114
- const verts = face.vertices.map(id => meshData.vertices.get(id));
115
- const screenVerts = verts.map(v => toScreen(v.position));
117
+ const verts = face.vertices.map((id) => meshData.vertices.get(id));
118
+ const screenVerts = verts.map((v) => toScreen(v.position));
116
119
  // Fill
117
120
  ctx.fillStyle = face.selected ? 'rgba(255, 170, 0, 0.3)' : 'rgba(100, 100, 100, 0.1)';
118
121
  ctx.beginPath();
119
122
  ctx.moveTo(screenVerts[0].x, screenVerts[0].y);
120
- screenVerts.slice(1).forEach(sv => ctx.lineTo(sv.x, sv.y));
123
+ screenVerts.slice(1).forEach((sv) => ctx.lineTo(sv.x, sv.y));
121
124
  ctx.closePath();
122
125
  ctx.fill();
123
126
  // Distortion overlay
@@ -193,9 +196,10 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
193
196
  }
194
197
  }, [meshData, state, texture, dragState, selection]);
195
198
  // Resize canvas
196
- ke.useEffect(() => {
197
- if (!canvasRef.current || !containerRef.current)
199
+ _e.useEffect(() => {
200
+ if (!canvasRef.current || !containerRef.current) {
198
201
  return;
202
+ }
199
203
  const observer = new ResizeObserver(() => {
200
204
  const rect = containerRef.current.getBoundingClientRect();
201
205
  canvasRef.current.width = rect.width;
@@ -205,36 +209,40 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
205
209
  return () => observer.disconnect();
206
210
  }, []);
207
211
  // Push undo state
208
- const pushUndo = ke.useCallback(() => {
209
- if (!meshData)
212
+ const pushUndo = _e.useCallback(() => {
213
+ if (!meshData) {
210
214
  return;
211
- setUndoStack(prev => [...prev.slice(-20), JSON.parse(JSON.stringify(meshData))]);
215
+ }
216
+ setUndoStack((prev) => [...prev.slice(-20), JSON.parse(JSON.stringify(meshData))]);
212
217
  setRedoStack([]);
213
218
  }, [meshData]);
214
219
  // Undo
215
- const undo = ke.useCallback(() => {
216
- if (undoStack.length === 0 || !meshData)
220
+ const undo = _e.useCallback(() => {
221
+ if (undoStack.length === 0 || !meshData) {
217
222
  return;
218
- setRedoStack(prev => [...prev, JSON.parse(JSON.stringify(meshData))]);
223
+ }
224
+ setRedoStack((prev) => [...prev, JSON.parse(JSON.stringify(meshData))]);
219
225
  const prev = undoStack[undoStack.length - 1];
220
- setUndoStack(stack => stack.slice(0, -1));
226
+ setUndoStack((stack) => stack.slice(0, -1));
221
227
  setMeshData(prev);
222
228
  }, [undoStack, meshData]);
223
229
  // Redo
224
- const redo = ke.useCallback(() => {
225
- if (redoStack.length === 0)
230
+ const redo = _e.useCallback(() => {
231
+ if (redoStack.length === 0) {
226
232
  return;
233
+ }
227
234
  const next = redoStack[redoStack.length - 1];
228
- setRedoStack(stack => stack.slice(0, -1));
235
+ setRedoStack((stack) => stack.slice(0, -1));
229
236
  if (meshData) {
230
- setUndoStack(prev => [...prev, JSON.parse(JSON.stringify(meshData))]);
237
+ setUndoStack((prev) => [...prev, JSON.parse(JSON.stringify(meshData))]);
231
238
  }
232
239
  setMeshData(next);
233
240
  }, [redoStack, meshData]);
234
241
  // Screen to UV conversion
235
- const screenToUV = ke.useCallback((clientX, clientY) => {
236
- if (!canvasRef.current)
242
+ const screenToUV = _e.useCallback((clientX, clientY) => {
243
+ if (!canvasRef.current) {
237
244
  return { u: 0, v: 0 };
245
+ }
238
246
  const rect = canvasRef.current.getBoundingClientRect();
239
247
  const x = clientX - rect.left;
240
248
  const y = clientY - rect.top;
@@ -245,9 +253,10 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
245
253
  };
246
254
  }, [state]);
247
255
  // Mouse handlers
248
- const handleMouseDown = ke.useCallback((e) => {
249
- if (readOnly || !meshData)
256
+ const handleMouseDown = _e.useCallback((e) => {
257
+ if (readOnly || !meshData) {
250
258
  return;
259
+ }
251
260
  const uv = screenToUV(e.clientX, e.clientY);
252
261
  // Middle mouse = pan
253
262
  if (e.button === 1) {
@@ -261,8 +270,9 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
261
270
  return;
262
271
  }
263
272
  // Right click = context menu (handled elsewhere)
264
- if (e.button === 2)
273
+ if (e.button === 2) {
265
274
  return;
275
+ }
266
276
  // Left click
267
277
  if (state.activeTool === 'select') {
268
278
  // Start selection rect
@@ -294,13 +304,14 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
294
304
  }
295
305
  }
296
306
  }, [readOnly, meshData, state.activeTool, screenToUV, pushUndo]);
297
- const handleMouseMove = ke.useCallback((e) => {
298
- if (!dragState.active || !meshData)
307
+ const handleMouseMove = _e.useCallback((e) => {
308
+ if (!dragState.active || !meshData) {
299
309
  return;
310
+ }
300
311
  const uv = screenToUV(e.clientX, e.clientY);
301
312
  if (dragState.mode === 'pan') {
302
313
  const delta = uvEditorUtils.uvSub(uv, dragState.currentPos);
303
- setState(prev => ({
314
+ setState((prev) => ({
304
315
  ...prev,
305
316
  panOffset: uvEditorUtils.uvAdd(prev.panOffset, delta),
306
317
  }));
@@ -318,8 +329,9 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
318
329
  // Apply transform based on tool
319
330
  for (const [id, initPos] of dragState.initialPositions) {
320
331
  const vertex = meshData.vertices.get(id);
321
- if (!vertex)
332
+ if (!vertex) {
322
333
  continue;
334
+ }
323
335
  switch (state.activeTool) {
324
336
  case 'move':
325
337
  vertex.position = uvEditorUtils.uvAdd(initPos, delta);
@@ -342,11 +354,11 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
342
354
  // Trigger re-render
343
355
  setMeshData({ ...meshData, dirty: true });
344
356
  }
345
- setDragState(prev => ({ ...prev, currentPos: uv }));
357
+ setDragState((prev) => ({ ...prev, currentPos: uv }));
346
358
  }, [dragState, meshData, state.activeTool, screenToUV]);
347
- const handleMouseUp = ke.useCallback((e) => {
359
+ const handleMouseUp = _e.useCallback((e) => {
348
360
  if (!dragState.active || !meshData) {
349
- setDragState(prev => ({ ...prev, active: false }));
361
+ setDragState((prev) => ({ ...prev, active: false }));
350
362
  return;
351
363
  }
352
364
  if (dragState.mode === 'select') {
@@ -359,7 +371,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
359
371
  };
360
372
  const additive = e.shiftKey;
361
373
  const selected = uvEditorUtils.selectVerticesInRect(meshData, rect, additive);
362
- setSelection(prev => ({
374
+ setSelection((prev) => ({
363
375
  ...prev,
364
376
  vertices: new Set(selected),
365
377
  }));
@@ -377,41 +389,50 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
377
389
  onUVChange === null || onUVChange === void 0 ? void 0 : onUVChange(geometry);
378
390
  }
379
391
  }
380
- setDragState(prev => ({ ...prev, active: false }));
392
+ setDragState((prev) => ({ ...prev, active: false }));
381
393
  }, [dragState, meshData, geometry, state.activeChannel, onSelectionChange, onUVChange]);
382
394
  // Wheel handler (zoom)
383
- const handleWheel = ke.useCallback((e) => {
395
+ const handleWheel = _e.useCallback((e) => {
384
396
  e.preventDefault();
385
397
  const zoomFactor = e.deltaY > 0 ? 0.9 : 1.1;
386
- setState(prev => ({
398
+ setState((prev) => ({
387
399
  ...prev,
388
400
  zoom: Math.max(0.1, Math.min(10, prev.zoom * zoomFactor)),
389
401
  }));
390
402
  }, []);
391
403
  // Keyboard handler
392
- ke.useEffect(() => {
404
+ _e.useEffect(() => {
393
405
  const handler = (e) => {
394
- if (readOnly)
406
+ if (readOnly) {
395
407
  return;
408
+ }
396
409
  const ctrl = e.ctrlKey || e.metaKey;
397
410
  // Tool shortcuts
398
- if (e.key === 'g' && !ctrl)
399
- setState(prev => ({ ...prev, activeTool: 'move' }));
400
- if (e.key === 'r' && !ctrl)
401
- setState(prev => ({ ...prev, activeTool: 'rotate' }));
402
- if (e.key === 's' && !ctrl)
403
- setState(prev => ({ ...prev, activeTool: 'scale' }));
404
- if (e.key === 'q' || e.key === 'w')
405
- setState(prev => ({ ...prev, activeTool: 'select' }));
411
+ if (e.key === 'g' && !ctrl) {
412
+ setState((prev) => ({ ...prev, activeTool: 'move' }));
413
+ }
414
+ if (e.key === 'r' && !ctrl) {
415
+ setState((prev) => ({ ...prev, activeTool: 'rotate' }));
416
+ }
417
+ if (e.key === 's' && !ctrl) {
418
+ setState((prev) => ({ ...prev, activeTool: 'scale' }));
419
+ }
420
+ if (e.key === 'q' || e.key === 'w') {
421
+ setState((prev) => ({ ...prev, activeTool: 'select' }));
422
+ }
406
423
  // Selection mode shortcuts
407
- if (e.key === '1')
408
- setState(prev => ({ ...prev, selectionMode: 'vertex' }));
409
- if (e.key === '2')
410
- setState(prev => ({ ...prev, selectionMode: 'edge' }));
411
- if (e.key === '3')
412
- setState(prev => ({ ...prev, selectionMode: 'face' }));
413
- if (e.key === '4')
414
- setState(prev => ({ ...prev, selectionMode: 'island' }));
424
+ if (e.key === '1') {
425
+ setState((prev) => ({ ...prev, selectionMode: 'vertex' }));
426
+ }
427
+ if (e.key === '2') {
428
+ setState((prev) => ({ ...prev, selectionMode: 'edge' }));
429
+ }
430
+ if (e.key === '3') {
431
+ setState((prev) => ({ ...prev, selectionMode: 'face' }));
432
+ }
433
+ if (e.key === '4') {
434
+ setState((prev) => ({ ...prev, selectionMode: 'island' }));
435
+ }
415
436
  // Undo/Redo
416
437
  if (ctrl && e.key === 'z') {
417
438
  e.preventDefault();
@@ -424,22 +445,27 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
424
445
  // Select all
425
446
  if (e.key === 'a' && !ctrl) {
426
447
  if (meshData) {
427
- for (const v of meshData.vertices.values())
448
+ for (const v of meshData.vertices.values()) {
428
449
  v.selected = true;
450
+ }
429
451
  setMeshData({ ...meshData });
430
452
  }
431
453
  }
432
454
  // Deselect
433
455
  if (e.key === 'Escape') {
434
456
  if (meshData) {
435
- for (const v of meshData.vertices.values())
457
+ for (const v of meshData.vertices.values()) {
436
458
  v.selected = false;
437
- for (const e of meshData.edges.values())
459
+ }
460
+ for (const e of meshData.edges.values()) {
438
461
  e.selected = false;
439
- for (const f of meshData.faces.values())
462
+ }
463
+ for (const f of meshData.faces.values()) {
440
464
  f.selected = false;
441
- for (const i of meshData.islands.values())
465
+ }
466
+ for (const i of meshData.islands.values()) {
442
467
  i.selected = false;
468
+ }
443
469
  setMeshData({ ...meshData });
444
470
  }
445
471
  }
@@ -448,9 +474,10 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
448
474
  return () => window.removeEventListener('keydown', handler);
449
475
  }, [readOnly, meshData, undo, redo]);
450
476
  // Tool actions
451
- const handlePack = ke.useCallback(() => {
452
- if (!meshData || readOnly)
477
+ const handlePack = _e.useCallback(() => {
478
+ if (!meshData || readOnly) {
453
479
  return;
480
+ }
454
481
  pushUndo();
455
482
  const result = uvEditorUtils.packIslands(meshData, uvEditorTypes.DEFAULT_PACKING_OPTIONS);
456
483
  uvEditorUtils.applyIslandTransforms(meshData, result.transforms);
@@ -460,13 +487,14 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
460
487
  }
461
488
  setMeshData({ ...meshData });
462
489
  }, [meshData, geometry, state.activeChannel, readOnly, pushUndo, onUVChange]);
463
- const handleRelax = ke.useCallback(() => {
464
- if (!meshData || readOnly)
490
+ const handleRelax = _e.useCallback(() => {
491
+ if (!meshData || readOnly) {
465
492
  return;
493
+ }
466
494
  pushUndo();
467
495
  const selectedVerts = new Set(Array.from(meshData.vertices.values())
468
- .filter(v => v.selected)
469
- .map(v => v.id));
496
+ .filter((v) => v.selected)
497
+ .map((v) => v.id));
470
498
  uvEditorUtils.relaxUVs(meshData, uvEditorTypes.DEFAULT_RELAX_OPTIONS, selectedVerts.size > 0 ? selectedVerts : undefined);
471
499
  if (geometry) {
472
500
  uvEditorUtils.syncToGeometry(meshData, geometry, state.activeChannel);
@@ -474,9 +502,10 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
474
502
  }
475
503
  setMeshData({ ...meshData });
476
504
  }, [meshData, geometry, state.activeChannel, readOnly, pushUndo, onUVChange]);
477
- const handleProject = ke.useCallback((type) => {
478
- if (!meshData || !geometry || readOnly)
505
+ const handleProject = _e.useCallback((type) => {
506
+ if (!meshData || !geometry || readOnly) {
479
507
  return;
508
+ }
480
509
  pushUndo();
481
510
  const settings = {
482
511
  type,
@@ -489,28 +518,28 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
489
518
  setMeshData(newData);
490
519
  onUVChange === null || onUVChange === void 0 ? void 0 : onUVChange(geometry);
491
520
  }, [meshData, geometry, state.activeChannel, readOnly, pushUndo, onUVChange]);
492
- return (jsxRuntime.jsxs("div", { className: `${UVEditor_module.uvEditor} ${className !== null && className !== void 0 ? className : ''}`, style: { width, height }, children: [showToolbar && (jsxRuntime.jsxs("div", { className: UVEditor_module.toolbar, children: [jsxRuntime.jsx("div", { className: UVEditor_module.toolGroup, children: uvEditorTypes.UV_TOOLS.slice(0, 5).map(tool => (jsxRuntime.jsx("button", { className: `${UVEditor_module.toolBtn} ${state.activeTool === tool ? UVEditor_module.active : ''}`, onClick: () => setState(prev => ({ ...prev, activeTool: tool })), title: tool, disabled: readOnly, children: tool[0].toUpperCase() }, tool))) }), jsxRuntime.jsx("div", { className: UVEditor_module.toolGroup, children: uvEditorTypes.UV_SELECTION_MODES.map(mode => (jsxRuntime.jsx("button", { className: `${UVEditor_module.toolBtn} ${state.selectionMode === mode ? UVEditor_module.active : ''}`, onClick: () => setState(prev => ({ ...prev, selectionMode: mode })), title: mode, children: mode[0].toUpperCase() }, mode))) }), jsxRuntime.jsxs("div", { className: UVEditor_module.toolGroup, children: [jsxRuntime.jsx("button", { className: UVEditor_module.toolBtn, onClick: handlePack, disabled: readOnly || !meshData, title: "Pack Islands (P)", children: "Pack" }), jsxRuntime.jsx("button", { className: UVEditor_module.toolBtn, onClick: handleRelax, disabled: readOnly || !meshData, title: "Relax UVs", children: "Relax" })] }), jsxRuntime.jsx("div", { className: UVEditor_module.toolGroup, children: jsxRuntime.jsxs("select", { className: UVEditor_module.select, onChange: (e) => handleProject(e.target.value), disabled: readOnly || !meshData, defaultValue: "", children: [jsxRuntime.jsx("option", { value: "", disabled: true, children: "Project..." }), uvEditorTypes.PROJECTION_TYPES.map(type => (jsxRuntime.jsx("option", { value: type, children: type }, type)))] }) }), jsxRuntime.jsx("div", { className: UVEditor_module.toolGroup, children: jsxRuntime.jsx("select", { className: UVEditor_module.select, value: state.activeChannel, onChange: (e) => setState(prev => ({
521
+ return (jsxRuntime.jsxs("div", { className: `${UVEditor_module.uvEditor} ${className !== null && className !== void 0 ? className : ''}`, style: { width, height }, children: [showToolbar && (jsxRuntime.jsxs("div", { className: UVEditor_module.toolbar, children: [jsxRuntime.jsx("div", { className: UVEditor_module.toolGroup, children: uvEditorTypes.UV_TOOLS.slice(0, 5).map((tool) => (jsxRuntime.jsx("button", { className: `${UVEditor_module.toolBtn} ${state.activeTool === tool ? UVEditor_module.active : ''}`, onClick: () => setState((prev) => ({ ...prev, activeTool: tool })), title: tool, disabled: readOnly, children: tool[0].toUpperCase() }, tool))) }), jsxRuntime.jsx("div", { className: UVEditor_module.toolGroup, children: uvEditorTypes.UV_SELECTION_MODES.map((mode) => (jsxRuntime.jsx("button", { className: `${UVEditor_module.toolBtn} ${state.selectionMode === mode ? UVEditor_module.active : ''}`, onClick: () => setState((prev) => ({ ...prev, selectionMode: mode })), title: mode, children: mode[0].toUpperCase() }, mode))) }), jsxRuntime.jsxs("div", { className: UVEditor_module.toolGroup, children: [jsxRuntime.jsx("button", { className: UVEditor_module.toolBtn, onClick: handlePack, disabled: readOnly || !meshData, title: "Pack Islands (P)", children: "Pack" }), jsxRuntime.jsx("button", { className: UVEditor_module.toolBtn, onClick: handleRelax, disabled: readOnly || !meshData, title: "Relax UVs", children: "Relax" })] }), jsxRuntime.jsx("div", { className: UVEditor_module.toolGroup, children: jsxRuntime.jsxs("select", { className: UVEditor_module.select, onChange: (e) => handleProject(e.target.value), disabled: readOnly || !meshData, defaultValue: "", children: [jsxRuntime.jsx("option", { value: "", disabled: true, children: "Project..." }), uvEditorTypes.PROJECTION_TYPES.map((type) => (jsxRuntime.jsx("option", { value: type, children: type }, type)))] }) }), jsxRuntime.jsx("div", { className: UVEditor_module.toolGroup, children: jsxRuntime.jsx("select", { className: UVEditor_module.select, value: state.activeChannel, onChange: (e) => setState((prev) => ({
493
522
  ...prev,
494
523
  activeChannel: e.target.value,
495
- })), children: uvEditorTypes.UV_CHANNELS.map(ch => (jsxRuntime.jsx("option", { value: ch, children: ch.toUpperCase() }, ch))) }) }), jsxRuntime.jsxs("div", { className: UVEditor_module.toolGroup, children: [jsxRuntime.jsx("button", { className: UVEditor_module.toolBtn, onClick: undo, disabled: undoStack.length === 0, title: "Undo (Ctrl+Z)", children: "\u21B6" }), jsxRuntime.jsx("button", { className: UVEditor_module.toolBtn, onClick: redo, disabled: redoStack.length === 0, title: "Redo (Ctrl+Y)", children: "\u21B7" })] })] })), jsxRuntime.jsxs("div", { className: UVEditor_module.content, children: [jsxRuntime.jsxs("div", { ref: containerRef, className: UVEditor_module.viewport, onMouseDown: handleMouseDown, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, onMouseLeave: handleMouseUp, onWheel: handleWheel, children: [jsxRuntime.jsx("canvas", { ref: canvasRef, className: UVEditor_module.canvas }), !meshData && (jsxRuntime.jsx("div", { className: UVEditor_module.noGeometry, children: "No geometry selected" }))] }), showSidebar && meshData && (jsxRuntime.jsxs("div", { className: UVEditor_module.sidebar, children: [jsxRuntime.jsxs("div", { className: UVEditor_module.panel, children: [jsxRuntime.jsx("h4", { className: UVEditor_module.panelTitle, children: "Display" }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.display.showGrid, onChange: (e) => setState(prev => ({
524
+ })), children: uvEditorTypes.UV_CHANNELS.map((ch) => (jsxRuntime.jsx("option", { value: ch, children: ch.toUpperCase() }, ch))) }) }), jsxRuntime.jsxs("div", { className: UVEditor_module.toolGroup, children: [jsxRuntime.jsx("button", { className: UVEditor_module.toolBtn, onClick: undo, disabled: undoStack.length === 0, title: "Undo (Ctrl+Z)", children: "\u21B6" }), jsxRuntime.jsx("button", { className: UVEditor_module.toolBtn, onClick: redo, disabled: redoStack.length === 0, title: "Redo (Ctrl+Y)", children: "\u21B7" })] })] })), jsxRuntime.jsxs("div", { className: UVEditor_module.content, children: [jsxRuntime.jsxs("div", { ref: containerRef, className: UVEditor_module.viewport, onMouseDown: handleMouseDown, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, onMouseLeave: handleMouseUp, onWheel: handleWheel, children: [jsxRuntime.jsx("canvas", { ref: canvasRef, className: UVEditor_module.canvas }), !meshData && jsxRuntime.jsx("div", { className: UVEditor_module.noGeometry, children: "No geometry selected" })] }), showSidebar && meshData && (jsxRuntime.jsxs("div", { className: UVEditor_module.sidebar, children: [jsxRuntime.jsxs("div", { className: UVEditor_module.panel, children: [jsxRuntime.jsx("h4", { className: UVEditor_module.panelTitle, children: "Display" }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.display.showGrid, onChange: (e) => setState((prev) => ({
496
525
  ...prev,
497
526
  display: { ...prev.display, showGrid: e.target.checked },
498
- })) }), "Show Grid"] }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.display.showTexture, onChange: (e) => setState(prev => ({
527
+ })) }), "Show Grid"] }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.display.showTexture, onChange: (e) => setState((prev) => ({
499
528
  ...prev,
500
529
  display: { ...prev.display, showTexture: e.target.checked },
501
- })) }), "Show Texture"] }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.display.showSeams, onChange: (e) => setState(prev => ({
530
+ })) }), "Show Texture"] }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.display.showSeams, onChange: (e) => setState((prev) => ({
502
531
  ...prev,
503
532
  display: { ...prev.display, showSeams: e.target.checked },
504
- })) }), "Show Seams"] }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.display.showDistortion, onChange: (e) => setState(prev => ({
533
+ })) }), "Show Seams"] }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.display.showDistortion, onChange: (e) => setState((prev) => ({
505
534
  ...prev,
506
535
  display: { ...prev.display, showDistortion: e.target.checked },
507
- })) }), "Show Distortion"] }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.display.showIslandBounds, onChange: (e) => setState(prev => ({
536
+ })) }), "Show Distortion"] }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.display.showIslandBounds, onChange: (e) => setState((prev) => ({
508
537
  ...prev,
509
538
  display: { ...prev.display, showIslandBounds: e.target.checked },
510
- })) }), "Show Island Bounds"] })] }), jsxRuntime.jsxs("div", { className: UVEditor_module.panel, children: [jsxRuntime.jsx("h4", { className: UVEditor_module.panelTitle, children: "Statistics" }), jsxRuntime.jsxs("div", { className: UVEditor_module.stat, children: [jsxRuntime.jsx("span", { children: "Vertices:" }), jsxRuntime.jsx("span", { children: meshData.vertices.size })] }), jsxRuntime.jsxs("div", { className: UVEditor_module.stat, children: [jsxRuntime.jsx("span", { children: "Faces:" }), jsxRuntime.jsx("span", { children: meshData.faces.size })] }), jsxRuntime.jsxs("div", { className: UVEditor_module.stat, children: [jsxRuntime.jsx("span", { children: "Islands:" }), jsxRuntime.jsx("span", { children: meshData.islands.size })] }), jsxRuntime.jsxs("div", { className: UVEditor_module.stat, children: [jsxRuntime.jsx("span", { children: "Selected:" }), jsxRuntime.jsx("span", { children: uvEditorUtils.getSelectedVertices(meshData).length })] })] }), jsxRuntime.jsxs("div", { className: UVEditor_module.panel, children: [jsxRuntime.jsx("h4", { className: UVEditor_module.panelTitle, children: "Snapping" }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.snapping, onChange: (e) => setState(prev => ({
539
+ })) }), "Show Island Bounds"] })] }), jsxRuntime.jsxs("div", { className: UVEditor_module.panel, children: [jsxRuntime.jsx("h4", { className: UVEditor_module.panelTitle, children: "Statistics" }), jsxRuntime.jsxs("div", { className: UVEditor_module.stat, children: [jsxRuntime.jsx("span", { children: "Vertices:" }), jsxRuntime.jsx("span", { children: meshData.vertices.size })] }), jsxRuntime.jsxs("div", { className: UVEditor_module.stat, children: [jsxRuntime.jsx("span", { children: "Faces:" }), jsxRuntime.jsx("span", { children: meshData.faces.size })] }), jsxRuntime.jsxs("div", { className: UVEditor_module.stat, children: [jsxRuntime.jsx("span", { children: "Islands:" }), jsxRuntime.jsx("span", { children: meshData.islands.size })] }), jsxRuntime.jsxs("div", { className: UVEditor_module.stat, children: [jsxRuntime.jsx("span", { children: "Selected:" }), jsxRuntime.jsx("span", { children: uvEditorUtils.getSelectedVertices(meshData).length })] })] }), jsxRuntime.jsxs("div", { className: UVEditor_module.panel, children: [jsxRuntime.jsx("h4", { className: UVEditor_module.panelTitle, children: "Snapping" }), jsxRuntime.jsxs("label", { className: UVEditor_module.checkbox, children: [jsxRuntime.jsx("input", { type: "checkbox", checked: state.snapping, onChange: (e) => setState((prev) => ({
511
540
  ...prev,
512
541
  snapping: e.target.checked,
513
- })) }), "Enable Snapping"] }), jsxRuntime.jsxs("label", { className: UVEditor_module.rangeLabel, children: ["Snap Size: ", state.snapSize.toFixed(4), jsxRuntime.jsx("input", { type: "range", min: "0.001", max: "0.25", step: "0.001", value: state.snapSize, onChange: (e) => setState(prev => ({
542
+ })) }), "Enable Snapping"] }), jsxRuntime.jsxs("label", { className: UVEditor_module.rangeLabel, children: ["Snap Size: ", state.snapSize.toFixed(4), jsxRuntime.jsx("input", { type: "range", min: "0.001", max: "0.25", step: "0.001", value: state.snapSize, onChange: (e) => setState((prev) => ({
514
543
  ...prev,
515
544
  snapSize: parseFloat(e.target.value),
516
545
  })) })] })] })] }))] }), jsxRuntime.jsxs("div", { className: UVEditor_module.statusBar, children: [jsxRuntime.jsxs("span", { children: ["Tool: ", state.activeTool] }), jsxRuntime.jsxs("span", { children: ["Mode: ", state.selectionMode] }), jsxRuntime.jsxs("span", { children: ["Zoom: ", (state.zoom * 100).toFixed(0), "%"] }), jsxRuntime.jsxs("span", { children: ["Channel: ", state.activeChannel] })] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"NiceUVEditor.js","sources":["../../../src/uv/NiceUVEditor.tsx"],"sourcesContent":[null],"names":["useRef","useState","DEFAULT_UV_STATE","useEffect","extractUVMeshData","useCallback","uvSub","uvAdd","uvRotate","selectVerticesInRect","syncToGeometry","packIslands","DEFAULT_PACKING_OPTIONS","applyIslandTransforms","relaxUVs","DEFAULT_RELAX_OPTIONS","applyProjection","_jsxs","styles","_jsx","UV_TOOLS","UV_SELECTION_MODES","PROJECTION_TYPES","UV_CHANNELS","getSelectedVertices"],"mappings":"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"}
1
+ {"version":3,"file":"NiceUVEditor.js","sources":["../../../src/uv/NiceUVEditor.tsx"],"sourcesContent":[null],"names":["useRef","useState","DEFAULT_UV_STATE","useEffect","extractUVMeshData","useCallback","uvSub","uvAdd","uvRotate","selectVerticesInRect","syncToGeometry","packIslands","DEFAULT_PACKING_OPTIONS","applyIslandTransforms","relaxUVs","DEFAULT_RELAX_OPTIONS","applyProjection","_jsxs","styles","_jsx","UV_TOOLS","UV_SELECTION_MODES","PROJECTION_TYPES","UV_CHANNELS","getSelectedVertices"],"mappings":"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"}