@nice2dev/ui-3d 1.0.5 → 1.0.6
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/core/i18n.js +3 -3
- package/dist/cjs/dance/DanceBridge.js +13 -13
- package/dist/cjs/dance/DanceScoreEngine.js +8 -8
- package/dist/cjs/dance/PoseDetector.js +20 -20
- package/dist/cjs/material/NiceMaterialEditor.js +19 -19
- package/dist/cjs/model/ModelEditorLeftPanel.js +5 -5
- package/dist/cjs/model/ModelEditorLeftPanel.js.map +1 -1
- package/dist/cjs/model/ModelEditorMenuBar.js +6 -5
- package/dist/cjs/model/ModelEditorMenuBar.js.map +1 -1
- package/dist/cjs/model/ModelEditorRightPanel.js +19 -17
- package/dist/cjs/model/ModelEditorRightPanel.js.map +1 -1
- package/dist/cjs/model/ModelEditorSubComponents.js +10 -9
- package/dist/cjs/model/ModelEditorSubComponents.js.map +1 -1
- package/dist/cjs/model/ModelEditorTimeline.js +6 -5
- package/dist/cjs/model/ModelEditorTimeline.js.map +1 -1
- package/dist/cjs/model/ModelEditorToolbar.js +4 -4
- package/dist/cjs/model/ModelEditorToolbar.js.map +1 -1
- package/dist/cjs/model/ModelEditorViewport.js +2 -2
- package/dist/cjs/model/ModelViewer.js +14 -13
- package/dist/cjs/model/ModelViewer.js.map +1 -1
- package/dist/cjs/model/NiceArmatureEditor.js +18 -18
- package/dist/cjs/model/NiceMorphTargetEditor.js +18 -18
- package/dist/cjs/model/NiceOctree.js +16 -16
- package/dist/cjs/model/NicePhysicsSimulation.js +24 -24
- package/dist/cjs/model/NiceProceduralGeometry.js +8 -8
- package/dist/cjs/model/NiceTerrainEditor.js +19 -19
- package/dist/cjs/model/NiceWeightPainter.js +14 -14
- package/dist/cjs/model/NiceXRPreview.js +18 -18
- package/dist/cjs/model/useModelEditor.js +127 -127
- package/dist/cjs/model/useModelViewer.js +61 -61
- package/dist/cjs/particle/NiceParticleEditor.js +11 -11
- package/dist/cjs/rendering/NiceCascadedShadows.js +12 -12
- package/dist/cjs/rendering/NiceRenderExport.js +5 -5
- package/dist/cjs/rendering/NiceSSAO.js +18 -18
- package/dist/cjs/rendering/NiceSSR.js +14 -14
- package/dist/cjs/rendering/NiceWebGPURenderer.js +21 -21
- package/dist/cjs/ui/dist/NiceButton-DmTHNHet.js +453 -0
- package/dist/cjs/ui/dist/NiceButton-DmTHNHet.js.map +1 -0
- package/dist/cjs/ui/dist/NiceErrorBoundary-D1hh5GGe.js +543 -0
- package/dist/cjs/ui/dist/NiceErrorBoundary-D1hh5GGe.js.map +1 -0
- package/dist/cjs/ui/dist/NiceModuleLifecyclePanel-BapdidD6.js +4772 -0
- package/dist/cjs/ui/dist/NiceModuleLifecyclePanel-BapdidD6.js.map +1 -0
- package/dist/cjs/ui/dist/NicePinCodeInput-4q8yULuo.js +11329 -0
- package/dist/cjs/ui/dist/NicePinCodeInput-4q8yULuo.js.map +1 -0
- package/dist/cjs/ui/dist/NiceSavedQueryPanel-DUw8plYP.js +5544 -0
- package/dist/cjs/ui/dist/NiceSavedQueryPanel-DUw8plYP.js.map +1 -0
- package/dist/cjs/ui/dist/NiceStockChart-Cpmv9_Cc.js +2244 -0
- package/dist/cjs/ui/dist/NiceStockChart-Cpmv9_Cc.js.map +1 -0
- package/dist/cjs/ui/dist/NiceToggle-C1UKGXmJ.js +212 -0
- package/dist/cjs/ui/dist/NiceToggle-C1UKGXmJ.js.map +1 -0
- package/dist/cjs/ui/dist/NiceWindow-D1awkyFl.js +697 -0
- package/dist/cjs/ui/dist/NiceWindow-D1awkyFl.js.map +1 -0
- package/dist/cjs/ui/dist/core-CfXsl755.js +9597 -0
- package/dist/cjs/ui/dist/core-CfXsl755.js.map +1 -0
- package/dist/cjs/ui/dist/index-CNwVELPJ.js +31214 -0
- package/dist/cjs/ui/dist/index-CNwVELPJ.js.map +1 -0
- package/dist/cjs/ui/dist/index-x8mRM4Jc.js +20 -0
- package/dist/cjs/ui/dist/index-x8mRM4Jc.js.map +1 -0
- package/dist/cjs/uv/NiceUVEditor.js +24 -24
- package/dist/esm/model/ModelEditorLeftPanel.js +5 -5
- package/dist/esm/model/ModelEditorMenuBar.js +6 -5
- package/dist/esm/model/ModelEditorMenuBar.js.map +1 -1
- package/dist/esm/model/ModelEditorRightPanel.js +19 -17
- package/dist/esm/model/ModelEditorRightPanel.js.map +1 -1
- package/dist/esm/model/ModelEditorSubComponents.js +7 -6
- package/dist/esm/model/ModelEditorSubComponents.js.map +1 -1
- package/dist/esm/model/ModelEditorTimeline.js +6 -5
- package/dist/esm/model/ModelEditorTimeline.js.map +1 -1
- package/dist/esm/model/ModelEditorToolbar.js +4 -4
- package/dist/esm/model/ModelEditorViewport.js +2 -2
- package/dist/esm/model/ModelViewer.js +6 -5
- package/dist/esm/model/ModelViewer.js.map +1 -1
- package/dist/esm/ui/dist/NiceButton-DmTHNHet.js +448 -0
- package/dist/esm/ui/dist/NiceButton-DmTHNHet.js.map +1 -0
- package/dist/esm/ui/dist/NiceErrorBoundary-D1hh5GGe.js +533 -0
- package/dist/esm/ui/dist/NiceErrorBoundary-D1hh5GGe.js.map +1 -0
- package/dist/esm/ui/dist/NiceModuleLifecyclePanel-BapdidD6.js +4731 -0
- package/dist/esm/ui/dist/NiceModuleLifecyclePanel-BapdidD6.js.map +1 -0
- package/dist/esm/ui/dist/NicePinCodeInput-4q8yULuo.js +11259 -0
- package/dist/esm/ui/dist/NicePinCodeInput-4q8yULuo.js.map +1 -0
- package/dist/esm/ui/dist/NiceSavedQueryPanel-DUw8plYP.js +5527 -0
- package/dist/esm/ui/dist/NiceSavedQueryPanel-DUw8plYP.js.map +1 -0
- package/dist/esm/ui/dist/NiceStockChart-Cpmv9_Cc.js +2222 -0
- package/dist/esm/ui/dist/NiceStockChart-Cpmv9_Cc.js.map +1 -0
- package/dist/esm/ui/dist/NiceToggle-C1UKGXmJ.js +208 -0
- package/dist/esm/ui/dist/NiceToggle-C1UKGXmJ.js.map +1 -0
- package/dist/esm/ui/dist/NiceWindow-D1awkyFl.js +686 -0
- package/dist/esm/ui/dist/NiceWindow-D1awkyFl.js.map +1 -0
- package/dist/esm/ui/dist/core-CfXsl755.js +9419 -0
- package/dist/esm/ui/dist/core-CfXsl755.js.map +1 -0
- package/dist/esm/ui/dist/index-CNwVELPJ.js +31110 -0
- package/dist/esm/ui/dist/index-CNwVELPJ.js.map +1 -0
- package/dist/esm/ui/dist/index-x8mRM4Jc.js +18 -0
- package/dist/esm/ui/dist/index-x8mRM4Jc.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('react/jsx-runtime');
|
|
4
|
+
var we = require('react');
|
|
5
|
+
|
|
6
|
+
const n = (t, r) => r, o = we.createContext(n);
|
|
7
|
+
function a() {
|
|
8
|
+
return { t: we.useContext(o) };
|
|
9
|
+
}
|
|
10
|
+
we.createContext({
|
|
11
|
+
dir: "ltr",
|
|
12
|
+
isRTL: false,
|
|
13
|
+
flip: (t) => t,
|
|
14
|
+
value: (t) => t.ltr
|
|
15
|
+
});
|
|
16
|
+
we.createContext(null);
|
|
17
|
+
we.createContext(null);
|
|
18
|
+
|
|
19
|
+
exports.N = a;
|
|
20
|
+
//# sourceMappingURL=index-x8mRM4Jc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-x8mRM4Jc.js","sources":["../../../../../ui/dist/index-x8mRM4Jc.js"],"sourcesContent":["import \"react/jsx-runtime\";\nimport { useContext as l, createContext as e } from \"react\";\nconst n = (t, r) => r, o = e(n);\nfunction a() {\n return { t: l(o) };\n}\ne({\n dir: \"ltr\",\n isRTL: !1,\n flip: (t) => t,\n value: (t) => t.ltr\n});\ne(null);\ne(null);\nexport {\n a as N\n};\n"],"names":["e","l"],"mappings":";;;;;AAEA,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAGA,gBAAC,CAAC,CAAC,CAAC;AAC/B,SAAS,CAAC,GAAG;AACb,EAAE,OAAO,EAAE,CAAC,EAAEC,aAAC,CAAC,CAAC,CAAC,EAAE;AACpB;AACAD,gBAAC,CAAC;AACF,EAAE,GAAG,EAAE,KAAK;AACZ,EAAE,KAAK,EAAE,KAAE;AACX,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;AAChB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;AAClB,CAAC,CAAC;AACFA,gBAAC,CAAC,IAAI,CAAC;AACPA,gBAAC,CAAC,IAAI,CAAC;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var
|
|
4
|
+
var we = require('react');
|
|
5
5
|
var uvEditorTypes = require('./uvEditorTypes.js');
|
|
6
6
|
var uvEditorUtils = require('./uvEditorUtils.js');
|
|
7
7
|
var UVEditor_module = require('./UVEditor.module.css.js');
|
|
@@ -10,31 +10,31 @@ var UVEditor_module = require('./UVEditor.module.css.js');
|
|
|
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 =
|
|
14
|
-
const containerRef =
|
|
13
|
+
const canvasRef = we.useRef(null);
|
|
14
|
+
const containerRef = we.useRef(null);
|
|
15
15
|
// State
|
|
16
|
-
const [state, setState] =
|
|
16
|
+
const [state, setState] = we.useState({
|
|
17
17
|
...uvEditorTypes.DEFAULT_UV_STATE,
|
|
18
18
|
activeChannel: channel,
|
|
19
19
|
});
|
|
20
|
-
const [meshData, setMeshData] =
|
|
21
|
-
const [selection, setSelection] =
|
|
20
|
+
const [meshData, setMeshData] = we.useState(null);
|
|
21
|
+
const [selection, setSelection] = we.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] =
|
|
27
|
+
const [dragState, setDragState] = we.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] =
|
|
35
|
-
const [redoStack, setRedoStack] =
|
|
34
|
+
const [undoStack, setUndoStack] = we.useState([]);
|
|
35
|
+
const [redoStack, setRedoStack] = we.useState([]);
|
|
36
36
|
// Extract mesh data when geometry changes
|
|
37
|
-
|
|
37
|
+
we.useEffect(() => {
|
|
38
38
|
if (geometry) {
|
|
39
39
|
const data = uvEditorUtils.extractUVMeshData(geometry, state.activeChannel);
|
|
40
40
|
setMeshData(data);
|
|
@@ -45,7 +45,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
45
45
|
}
|
|
46
46
|
}, [geometry, state.activeChannel]);
|
|
47
47
|
// Render UV view
|
|
48
|
-
|
|
48
|
+
we.useEffect(() => {
|
|
49
49
|
if (!canvasRef.current || !meshData)
|
|
50
50
|
return;
|
|
51
51
|
const canvas = canvasRef.current;
|
|
@@ -193,7 +193,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
193
193
|
}
|
|
194
194
|
}, [meshData, state, texture, dragState, selection]);
|
|
195
195
|
// Resize canvas
|
|
196
|
-
|
|
196
|
+
we.useEffect(() => {
|
|
197
197
|
if (!canvasRef.current || !containerRef.current)
|
|
198
198
|
return;
|
|
199
199
|
const observer = new ResizeObserver(() => {
|
|
@@ -205,14 +205,14 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
205
205
|
return () => observer.disconnect();
|
|
206
206
|
}, []);
|
|
207
207
|
// Push undo state
|
|
208
|
-
const pushUndo =
|
|
208
|
+
const pushUndo = we.useCallback(() => {
|
|
209
209
|
if (!meshData)
|
|
210
210
|
return;
|
|
211
211
|
setUndoStack(prev => [...prev.slice(-20), JSON.parse(JSON.stringify(meshData))]);
|
|
212
212
|
setRedoStack([]);
|
|
213
213
|
}, [meshData]);
|
|
214
214
|
// Undo
|
|
215
|
-
const undo =
|
|
215
|
+
const undo = we.useCallback(() => {
|
|
216
216
|
if (undoStack.length === 0 || !meshData)
|
|
217
217
|
return;
|
|
218
218
|
setRedoStack(prev => [...prev, JSON.parse(JSON.stringify(meshData))]);
|
|
@@ -221,7 +221,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
221
221
|
setMeshData(prev);
|
|
222
222
|
}, [undoStack, meshData]);
|
|
223
223
|
// Redo
|
|
224
|
-
const redo =
|
|
224
|
+
const redo = we.useCallback(() => {
|
|
225
225
|
if (redoStack.length === 0)
|
|
226
226
|
return;
|
|
227
227
|
const next = redoStack[redoStack.length - 1];
|
|
@@ -232,7 +232,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
232
232
|
setMeshData(next);
|
|
233
233
|
}, [redoStack, meshData]);
|
|
234
234
|
// Screen to UV conversion
|
|
235
|
-
const screenToUV =
|
|
235
|
+
const screenToUV = we.useCallback((clientX, clientY) => {
|
|
236
236
|
if (!canvasRef.current)
|
|
237
237
|
return { u: 0, v: 0 };
|
|
238
238
|
const rect = canvasRef.current.getBoundingClientRect();
|
|
@@ -245,7 +245,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
245
245
|
};
|
|
246
246
|
}, [state]);
|
|
247
247
|
// Mouse handlers
|
|
248
|
-
const handleMouseDown =
|
|
248
|
+
const handleMouseDown = we.useCallback((e) => {
|
|
249
249
|
if (readOnly || !meshData)
|
|
250
250
|
return;
|
|
251
251
|
const uv = screenToUV(e.clientX, e.clientY);
|
|
@@ -294,7 +294,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
294
294
|
}
|
|
295
295
|
}
|
|
296
296
|
}, [readOnly, meshData, state.activeTool, screenToUV, pushUndo]);
|
|
297
|
-
const handleMouseMove =
|
|
297
|
+
const handleMouseMove = we.useCallback((e) => {
|
|
298
298
|
if (!dragState.active || !meshData)
|
|
299
299
|
return;
|
|
300
300
|
const uv = screenToUV(e.clientX, e.clientY);
|
|
@@ -344,7 +344,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
344
344
|
}
|
|
345
345
|
setDragState(prev => ({ ...prev, currentPos: uv }));
|
|
346
346
|
}, [dragState, meshData, state.activeTool, screenToUV]);
|
|
347
|
-
const handleMouseUp =
|
|
347
|
+
const handleMouseUp = we.useCallback((e) => {
|
|
348
348
|
if (!dragState.active || !meshData) {
|
|
349
349
|
setDragState(prev => ({ ...prev, active: false }));
|
|
350
350
|
return;
|
|
@@ -380,7 +380,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
380
380
|
setDragState(prev => ({ ...prev, active: false }));
|
|
381
381
|
}, [dragState, meshData, geometry, state.activeChannel, onSelectionChange, onUVChange]);
|
|
382
382
|
// Wheel handler (zoom)
|
|
383
|
-
const handleWheel =
|
|
383
|
+
const handleWheel = we.useCallback((e) => {
|
|
384
384
|
e.preventDefault();
|
|
385
385
|
const zoomFactor = e.deltaY > 0 ? 0.9 : 1.1;
|
|
386
386
|
setState(prev => ({
|
|
@@ -389,7 +389,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
389
389
|
}));
|
|
390
390
|
}, []);
|
|
391
391
|
// Keyboard handler
|
|
392
|
-
|
|
392
|
+
we.useEffect(() => {
|
|
393
393
|
const handler = (e) => {
|
|
394
394
|
if (readOnly)
|
|
395
395
|
return;
|
|
@@ -448,7 +448,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
448
448
|
return () => window.removeEventListener('keydown', handler);
|
|
449
449
|
}, [readOnly, meshData, undo, redo]);
|
|
450
450
|
// Tool actions
|
|
451
|
-
const handlePack =
|
|
451
|
+
const handlePack = we.useCallback(() => {
|
|
452
452
|
if (!meshData || readOnly)
|
|
453
453
|
return;
|
|
454
454
|
pushUndo();
|
|
@@ -460,7 +460,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
460
460
|
}
|
|
461
461
|
setMeshData({ ...meshData });
|
|
462
462
|
}, [meshData, geometry, state.activeChannel, readOnly, pushUndo, onUVChange]);
|
|
463
|
-
const handleRelax =
|
|
463
|
+
const handleRelax = we.useCallback(() => {
|
|
464
464
|
if (!meshData || readOnly)
|
|
465
465
|
return;
|
|
466
466
|
pushUndo();
|
|
@@ -474,7 +474,7 @@ const NiceUVEditor = ({ geometry, texture, channel = 'uv', onUVChange, onSelecti
|
|
|
474
474
|
}
|
|
475
475
|
setMeshData({ ...meshData });
|
|
476
476
|
}, [meshData, geometry, state.activeChannel, readOnly, pushUndo, onUVChange]);
|
|
477
|
-
const handleProject =
|
|
477
|
+
const handleProject = we.useCallback((type) => {
|
|
478
478
|
if (!meshData || !geometry || readOnly)
|
|
479
479
|
return;
|
|
480
480
|
pushUndo();
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
2
|
+
import we from 'react';
|
|
3
3
|
import styles from './ModelEditor.module.css.js';
|
|
4
|
-
import {
|
|
4
|
+
import { c as Fe, b as Re } from '../ui/dist/NiceButton-DmTHNHet.js';
|
|
5
5
|
|
|
6
|
-
const ModelEditorLeftPanel =
|
|
6
|
+
const ModelEditorLeftPanel = we.memo(({ api }) => {
|
|
7
7
|
const { sceneTree, selectedId, outlinerSearch, setOutlinerSearch, selectObject, rebuildTree, toggleNodeExpanded, toggleNodeVisibility, } = api;
|
|
8
8
|
const renderTreeNode = (node, depth) => {
|
|
9
9
|
// Outliner search filter
|
|
@@ -22,7 +22,7 @@ const ModelEditorLeftPanel = Ue.memo(({ api }) => {
|
|
|
22
22
|
node.type === "light" ? "💡" :
|
|
23
23
|
node.type === "camera" ? "📷" :
|
|
24
24
|
node.type === "helper" ? "◇" : "📁";
|
|
25
|
-
return (jsxs(
|
|
25
|
+
return (jsxs(we.Fragment, { children: [jsxs("div", { className: `${styles.treeItem} ${selectedId === node.id ? styles.treeItemActive : ""}`, style: { paddingLeft: depth * 16 + 4 }, onClick: () => selectObject(node), children: [hasChildren ? (jsx("span", { className: styles.treeToggle, onClick: (e) => {
|
|
26
26
|
e.stopPropagation();
|
|
27
27
|
toggleNodeExpanded(node);
|
|
28
28
|
}, children: node.expanded ? "▼" : "▶" })) : (jsx("span", { className: styles.treeToggle })), jsx("span", { className: styles.treeIcon, children: icon }), jsx("span", { style: { flex: 1, overflow: "hidden", textOverflow: "ellipsis" }, children: node.name }), jsx("span", { className: styles.treeVisibility, onClick: (e) => {
|
|
@@ -31,7 +31,7 @@ const ModelEditorLeftPanel = Ue.memo(({ api }) => {
|
|
|
31
31
|
}, children: node.visible ? "👁" : "◌" })] }), node.expanded &&
|
|
32
32
|
node.children.map((c) => renderTreeNode(c, depth + 1))] }, node.id));
|
|
33
33
|
};
|
|
34
|
-
return (jsx("div", { className: styles.leftPanel, children: jsxs("div", { className: styles.panelSection, children: [jsxs("div", { className: styles.panelTitle, children: ["\uD83D\uDCCB Outliner", jsx(
|
|
34
|
+
return (jsx("div", { className: styles.leftPanel, children: jsxs("div", { className: styles.panelSection, children: [jsxs("div", { className: styles.panelTitle, children: ["\uD83D\uDCCB Outliner", jsx(Fe, { variant: "ghost", size: "sm", onClick: rebuildTree, title: "Refresh", "aria-label": "Refresh outliner", children: "\u27F3" })] }), jsx("div", { className: styles.outlinerSearch, children: jsx(Re, { className: styles.propInput, placeholder: "\uD83D\uDD0D Filter...", value: outlinerSearch, onChange: (val) => setOutlinerSearch(val), style: { width: "100%", marginBottom: 4 } }) }), jsxs("div", { className: styles.panelContent, style: { overflowY: "auto", flex: 1 }, children: [sceneTree.length === 0 && (jsx("div", { style: { color: "#666", fontSize: 10, padding: "8px 0" }, children: "Drop a 3D file to begin" })), sceneTree.map((n) => renderTreeNode(n, 0))] })] }) }));
|
|
35
35
|
});
|
|
36
36
|
ModelEditorLeftPanel.displayName = "ModelEditorLeftPanel";
|
|
37
37
|
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
2
|
+
import we from 'react';
|
|
3
3
|
import styles from './ModelEditor.module.css.js';
|
|
4
|
-
import {
|
|
4
|
+
import { a as De, c as Fe, N as Ae } from '../ui/dist/NiceButton-DmTHNHet.js';
|
|
5
|
+
import { N as se } from '../ui/dist/NiceToggle-C1UKGXmJ.js';
|
|
5
6
|
|
|
6
|
-
const ModelEditorMenuBar =
|
|
7
|
+
const ModelEditorMenuBar = we.memo(({ api, hasOnSaveToLibrary }) => {
|
|
7
8
|
const { editorMode, setEditorMode, fileInputRef, mergeInputRef, addMenuOpen, setAddMenuOpen, addPrimitive, addSceneLight, addCameraObject, addEmpty, selectedNode, duplicateSelected, deleteSelected, exportGLTF, exportOBJ, exportSTL, exportPLY, exportUSDZ, saveToLibrary, clearScene, showGrid, setShowGrid, showAxes, setShowAxes, wireframe, setWireframe, showSkeleton, setShowSkeleton, showLightHelpers, setShowLightHelpers, bgColor, setBgColor, } = api;
|
|
8
|
-
return (jsxs("div", { className: styles.menuBar, children: [jsx(
|
|
9
|
+
return (jsxs("div", { className: styles.menuBar, children: [jsx(De, { className: styles.modeSelect, value: editorMode, onChange: (val) => setEditorMode(val), options: [
|
|
9
10
|
{ value: "object", label: "Object Mode" },
|
|
10
11
|
{ value: "edit", label: "Edit Mode" },
|
|
11
12
|
{ value: "pose", label: "Pose Mode" },
|
|
12
|
-
] }), jsx("div", { className: styles.menuSep }), jsx(
|
|
13
|
+
] }), jsx("div", { className: styles.menuSep }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: () => { var _a; return (_a = fileInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, children: "\uD83D\uDCC2 Open" }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: () => { var _a; return (_a = mergeInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, title: "Merge animations from FBX/GLTF onto current model", children: "\u2795 Merge Anim" }), jsx("div", { className: styles.menuSep }), jsxs("div", { className: styles.menuDropdownWrap, children: [jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: () => setAddMenuOpen(addMenuOpen ? null : "mesh"), children: "\uFF0B Add \u25BE" }), addMenuOpen && (jsxs("div", { className: styles.dropdownMenu, children: [jsx("div", { className: styles.dropdownTitle, children: "Mesh" }), ["cube", "sphere", "cylinder", "cone", "torus", "plane", "circle", "ring", "dodecahedron", "icosahedron", "octahedron", "tetrahedron", "torusKnot"].map((t) => (jsx("div", { className: styles.dropdownItem, onClick: () => addPrimitive(t), children: t.charAt(0).toUpperCase() + t.slice(1) }, t))), jsx("div", { className: styles.dropdownSep }), jsx("div", { className: styles.dropdownTitle, children: "Light" }), ["point", "spot", "directional", "hemisphere"].map((t) => (jsxs("div", { className: styles.dropdownItem, onClick: () => addSceneLight(t), children: ["\uD83D\uDCA1 ", t.charAt(0).toUpperCase() + t.slice(1)] }, t))), jsx("div", { className: styles.dropdownSep }), jsx("div", { className: styles.dropdownTitle, children: "Other" }), jsx("div", { className: styles.dropdownItem, onClick: addCameraObject, children: "\uD83D\uDCF7 Camera" }), jsx("div", { className: styles.dropdownItem, onClick: () => addEmpty("arrows"), children: "\u22B9 Empty (Arrows)" })] }))] }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: duplicateSelected, disabled: !selectedNode, title: "Duplicate selected (Shift+D)", children: "\uD83D\uDCCB Duplicate" }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: deleteSelected, disabled: !selectedNode, title: "Delete selected (Delete)", children: "\u2715 Delete" }), jsx("div", { className: styles.menuSep }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: () => exportGLTF(true), children: "\uD83D\uDCBE Export GLB" }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: () => exportGLTF(false), children: "\uD83D\uDCC4 Export GLTF" }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: exportOBJ, children: "\uD83D\uDCC4 Export OBJ" }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: () => exportSTL(true), children: "\uD83D\uDCC4 Export STL" }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: () => exportPLY(true), children: "\uD83D\uDCC4 Export PLY" }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: exportUSDZ, children: "\uD83D\uDCC4 Export USDZ" }), hasOnSaveToLibrary && (jsxs(Fragment, { children: [jsx("div", { className: styles.menuSep }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: saveToLibrary, children: "\uD83D\uDCE6 Save to Library" })] })), jsx("div", { className: styles.menuSep }), jsx(Fe, { className: styles.menuBtn, variant: "ghost", size: "sm", onClick: clearScene, children: "\uD83D\uDDD1 Clear" }), jsx("div", { className: styles.menuSep }), jsx(se, { checked: showGrid, onChange: () => setShowGrid((v) => !v), label: "Grid" }), jsx(se, { checked: showAxes, onChange: () => setShowAxes((v) => !v), label: "Axes" }), jsx(se, { checked: wireframe, onChange: () => setWireframe((v) => !v), label: "Wire" }), jsx(se, { checked: showSkeleton, onChange: () => setShowSkeleton((v) => !v), label: "Skel" }), jsx(se, { checked: showLightHelpers, onChange: () => setShowLightHelpers((v) => !v), label: "Helpers" }), jsxs("div", { className: styles.menuRight, children: [jsx("label", { className: styles.menuLabel, children: "BG" }), jsx(Ae, { value: bgColor, onChange: (c) => setBgColor(c) })] })] }));
|
|
13
14
|
});
|
|
14
15
|
ModelEditorMenuBar.displayName = "ModelEditorMenuBar";
|
|
15
16
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelEditorMenuBar.js","sources":["../../../src/model/ModelEditorMenuBar.tsx"],"sourcesContent":[null],"names":["React","_jsxs","_jsx","NiceSelect","NiceButton","_Fragment","NiceCheckbox","NiceColorPicker"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModelEditorMenuBar.js","sources":["../../../src/model/ModelEditorMenuBar.tsx"],"sourcesContent":[null],"names":["React","_jsxs","_jsx","NiceSelect","NiceButton","_Fragment","NiceCheckbox","NiceColorPicker"],"mappings":"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"}
|
|
@@ -1,49 +1,51 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
2
|
+
import we from 'react';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import styles from './ModelEditor.module.css.js';
|
|
5
5
|
import { DEG } from './modelEditorTypes.js';
|
|
6
6
|
import { Vec3Row, Vec3RowDeg, MaterialCard } from './ModelEditorSubComponents.js';
|
|
7
|
-
import {
|
|
7
|
+
import { c as Fe, b as Re, N as Ae } from '../ui/dist/NiceButton-DmTHNHet.js';
|
|
8
|
+
import { U as Dn } from '../ui/dist/NicePinCodeInput-4q8yULuo.js';
|
|
9
|
+
import { N as se, a as ie } from '../ui/dist/NiceToggle-C1UKGXmJ.js';
|
|
8
10
|
|
|
9
|
-
const ModelEditorRightPanel =
|
|
11
|
+
const ModelEditorRightPanel = we.memo(({ api }) => {
|
|
10
12
|
const { propTab, setPropTab, selectedNode, selectedMaterials, selMaterialIdx, setSelMaterialIdx, setMatRefresh, rebuildTree, aiBusy, aiStatus, rootObjectRef, videoInputRef, bgColor, setBgColor, fogEnabled, setFogEnabled, fogColor, setFogColor, fogNear, setFogNear, fogFar, setFogFar, showLightHelpers, setShowLightHelpers, showGrid, setShowGrid, showAxes, setShowAxes, showSkeleton, setShowSkeleton, snapEnabled, setSnapEnabled, snapGrid, setSnapGrid, setStatusText, } = api;
|
|
11
|
-
return (jsxs("div", { className: styles.rightPanel, children: [jsx("div", { className: styles.propTabs, children: ["object", "material", "world", "modifiers", "physics"].map((t) => (jsx(
|
|
13
|
+
return (jsxs("div", { className: styles.rightPanel, children: [jsx("div", { className: styles.propTabs, children: ["object", "material", "world", "modifiers", "physics"].map((t) => (jsx(Fe, { className: styles.propTabBtn, variant: propTab === t ? "primary" : "ghost", size: "sm", onClick: () => setPropTab(t), title: t.charAt(0).toUpperCase() + t.slice(1), children: t === "object" ? "🔧" : t === "material" ? "🎨" : t === "world" ? "🌍" : t === "modifiers" ? "🔩" : "⚡" }, t))) }), propTab === "object" && (jsxs(Fragment, { children: [jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83D\uDD27 Transform" }), jsx("div", { className: styles.panelContent, children: selectedNode ? (jsxs(Fragment, { children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Name" }), jsx(Re, { className: styles.propInput, value: selectedNode.name, onChange: (val) => {
|
|
12
14
|
selectedNode.object.name = val;
|
|
13
15
|
rebuildTree();
|
|
14
|
-
} })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Type" }), jsx("span", { style: { fontSize: 10, color: "#888" }, children: selectedNode.type })] }), jsx(Vec3Row, { label: "Position", value: selectedNode.object.position, onChange: () => setMatRefresh((n) => n + 1) }), jsx(Vec3RowDeg, { label: "Rotation", value: selectedNode.object.rotation, onChange: () => setMatRefresh((n) => n + 1) }), jsx(Vec3Row, { label: "Scale", value: selectedNode.object.scale, onChange: () => setMatRefresh((n) => n + 1) })] })) : (jsx("div", { style: { color: "#666", fontSize: 10 }, children: "Select an object" })) })] }), selectedNode && selectedNode.object instanceof THREE.Light && (jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83D\uDCA1 Light" }), jsxs("div", { className: styles.panelContent, children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Color" }), jsx(
|
|
16
|
+
} })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Type" }), jsx("span", { style: { fontSize: 10, color: "#888" }, children: selectedNode.type })] }), jsx(Vec3Row, { label: "Position", value: selectedNode.object.position, onChange: () => setMatRefresh((n) => n + 1) }), jsx(Vec3RowDeg, { label: "Rotation", value: selectedNode.object.rotation, onChange: () => setMatRefresh((n) => n + 1) }), jsx(Vec3Row, { label: "Scale", value: selectedNode.object.scale, onChange: () => setMatRefresh((n) => n + 1) })] })) : (jsx("div", { style: { color: "#666", fontSize: 10 }, children: "Select an object" })) })] }), selectedNode && selectedNode.object instanceof THREE.Light && (jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83D\uDCA1 Light" }), jsxs("div", { className: styles.panelContent, children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Color" }), jsx(Ae, { value: `#${selectedNode.object.color.getHexString()}`, onChange: (c) => {
|
|
15
17
|
selectedNode.object.color.set(c);
|
|
16
18
|
setMatRefresh((n) => n + 1);
|
|
17
|
-
} })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Intensity" }), jsx(
|
|
19
|
+
} })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Intensity" }), jsx(Dn, { min: 0, max: 10, step: 0.1, value: selectedNode.object.intensity, onChange: (val) => {
|
|
18
20
|
selectedNode.object.intensity = val;
|
|
19
21
|
setMatRefresh((n) => n + 1);
|
|
20
|
-
}, style: { flex: 1 } }), jsx("span", { style: { fontSize: 9, color: "#888", width: 28, textAlign: "right" }, children: selectedNode.object.intensity.toFixed(1) })] }), "castShadow" in selectedNode.object && (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Shadow" }), jsx(
|
|
22
|
+
}, style: { flex: 1 } }), jsx("span", { style: { fontSize: 9, color: "#888", width: 28, textAlign: "right" }, children: selectedNode.object.intensity.toFixed(1) })] }), "castShadow" in selectedNode.object && (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Shadow" }), jsx(se, { checked: selectedNode.object.castShadow, onChange: (checked) => {
|
|
21
23
|
selectedNode.object.castShadow = checked;
|
|
22
24
|
setMatRefresh((n) => n + 1);
|
|
23
|
-
} })] })), selectedNode.object instanceof THREE.SpotLight && (jsxs(Fragment, { children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Angle" }), jsx(
|
|
25
|
+
} })] })), selectedNode.object instanceof THREE.SpotLight && (jsxs(Fragment, { children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Angle" }), jsx(Dn, { min: 0, max: 90, step: 1, value: (selectedNode.object.angle * DEG), onChange: (val) => {
|
|
24
26
|
selectedNode.object.angle = val / DEG;
|
|
25
27
|
setMatRefresh((n) => n + 1);
|
|
26
|
-
}, style: { flex: 1 } }), jsxs("span", { style: { fontSize: 9, color: "#888", width: 28, textAlign: "right" }, children: [(selectedNode.object.angle * DEG).toFixed(0), "\u00B0"] })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Penumbra" }), jsx(
|
|
28
|
+
}, style: { flex: 1 } }), jsxs("span", { style: { fontSize: 9, color: "#888", width: 28, textAlign: "right" }, children: [(selectedNode.object.angle * DEG).toFixed(0), "\u00B0"] })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Penumbra" }), jsx(Dn, { min: 0, max: 1, step: 0.01, value: selectedNode.object.penumbra, onChange: (val) => {
|
|
27
29
|
selectedNode.object.penumbra = val;
|
|
28
30
|
setMatRefresh((n) => n + 1);
|
|
29
|
-
}, style: { flex: 1 } })] })] }))] })] })), selectedNode && selectedNode.object instanceof THREE.PerspectiveCamera && (jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83D\uDCF7 Camera" }), jsxs("div", { className: styles.panelContent, children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "FOV" }), jsx(
|
|
31
|
+
}, style: { flex: 1 } })] })] }))] })] })), selectedNode && selectedNode.object instanceof THREE.PerspectiveCamera && (jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83D\uDCF7 Camera" }), jsxs("div", { className: styles.panelContent, children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "FOV" }), jsx(Dn, { min: 10, max: 120, step: 1, value: selectedNode.object.fov, onChange: (val) => {
|
|
30
32
|
const cam = selectedNode.object;
|
|
31
33
|
cam.fov = val;
|
|
32
34
|
cam.updateProjectionMatrix();
|
|
33
35
|
setMatRefresh((n) => n + 1);
|
|
34
|
-
}, style: { flex: 1 } }), jsxs("span", { style: { fontSize: 9, color: "#888", width: 28, textAlign: "right" }, children: [selectedNode.object.fov.toFixed(0), "\u00B0"] })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Near" }), jsx(
|
|
36
|
+
}, style: { flex: 1 } }), jsxs("span", { style: { fontSize: 9, color: "#888", width: 28, textAlign: "right" }, children: [selectedNode.object.fov.toFixed(0), "\u00B0"] })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Near" }), jsx(ie, { className: styles.propInput, step: 0.01, value: selectedNode.object.near, onChange: (val) => {
|
|
35
37
|
const cam = selectedNode.object;
|
|
36
38
|
cam.near = val !== null && val !== void 0 ? val : 0.1;
|
|
37
39
|
cam.updateProjectionMatrix();
|
|
38
40
|
setMatRefresh((n) => n + 1);
|
|
39
|
-
}, style: { width: 60 } })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Far" }), jsx(
|
|
41
|
+
}, style: { width: 60 } })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Far" }), jsx(ie, { className: styles.propInput, step: 1, value: selectedNode.object.far, onChange: (val) => {
|
|
40
42
|
const cam = selectedNode.object;
|
|
41
43
|
cam.far = val !== null && val !== void 0 ? val : 1000;
|
|
42
44
|
cam.updateProjectionMatrix();
|
|
43
45
|
setMatRefresh((n) => n + 1);
|
|
44
|
-
}, style: { width: 80 } })] })] })] })), jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83E\uDD16 AI Animation" }), jsx("div", { className: styles.panelContent, children: jsxs("div", { className: styles.aiPanel, children: [jsx("div", { className: styles.aiHeader, children: "\u2728 Generate animation from video" }), jsx("p", { style: { fontSize: 10, color: "#888", margin: "0 0 6px" }, children: "Upload a video and AI will extract 3D pose data to create an animation clip for the current model." }), jsx("div", { className: styles.aiBtnRow, children: jsx(
|
|
46
|
+
}, style: { width: 80 } })] })] })] })), jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83E\uDD16 AI Animation" }), jsx("div", { className: styles.panelContent, children: jsxs("div", { className: styles.aiPanel, children: [jsx("div", { className: styles.aiHeader, children: "\u2728 Generate animation from video" }), jsx("p", { style: { fontSize: 10, color: "#888", margin: "0 0 6px" }, children: "Upload a video and AI will extract 3D pose data to create an animation clip for the current model." }), jsx("div", { className: styles.aiBtnRow, children: jsx(Fe, { className: styles.aiBtn, variant: "ghost", size: "sm", disabled: aiBusy || !rootObjectRef.current, onClick: () => { var _a; return (_a = videoInputRef.current) === null || _a === void 0 ? void 0 : _a.click(); }, children: aiBusy ? "Processing..." : "Upload Video" }) }), aiStatus && (jsx("div", { className: styles.aiStatus, children: aiStatus }))] }) })] })] })), propTab === "material" && (jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83C\uDFA8 Materials" }), jsx("div", { className: styles.panelContent, children: selectedMaterials.length > 0 ? (selectedMaterials.map((mat, i) => (jsx(MaterialCard, { material: mat, active: i === selMaterialIdx, onClick: () => setSelMaterialIdx(i), onUpdate: () => setMatRefresh((n) => n + 1) }, i)))) : (jsx("div", { style: { color: "#666", fontSize: 10 }, children: selectedNode
|
|
45
47
|
? "No materials on this object"
|
|
46
|
-
: "Select a mesh to inspect" })) })] })), propTab === "world" && (jsxs(Fragment, { children: [jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83C\uDF0D Environment" }), jsx("div", { className: styles.panelContent, children: jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Background" }), jsx(
|
|
48
|
+
: "Select a mesh to inspect" })) })] })), propTab === "world" && (jsxs(Fragment, { children: [jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83C\uDF0D Environment" }), jsx("div", { className: styles.panelContent, children: jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Background" }), jsx(Ae, { value: bgColor, onChange: (c) => setBgColor(c) }), jsx("span", { style: { fontSize: 9, color: "#888" }, children: bgColor })] }) })] }), jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83C\uDF2B Fog" }), jsxs("div", { className: styles.panelContent, children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Enable" }), jsx(se, { checked: fogEnabled, onChange: () => setFogEnabled((v) => !v) })] }), fogEnabled && (jsxs(Fragment, { children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Color" }), jsx(Ae, { value: fogColor, onChange: (c) => setFogColor(c) })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Near" }), jsx(ie, { className: styles.propInput, value: fogNear, onChange: (val) => setFogNear(val !== null && val !== void 0 ? val : 1), style: { width: 60 } })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Far" }), jsx(ie, { className: styles.propInput, value: fogFar, onChange: (val) => setFogFar(val !== null && val !== void 0 ? val : 100), style: { width: 60 } })] })] }))] })] }), jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83D\uDD06 Scene Lights" }), jsxs("div", { className: styles.panelContent, children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Show Helpers" }), jsx(se, { checked: showLightHelpers, onChange: () => setShowLightHelpers((v) => !v) })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Grid" }), jsx(se, { checked: showGrid, onChange: () => setShowGrid((v) => !v) })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Axes" }), jsx(se, { checked: showAxes, onChange: () => setShowAxes((v) => !v) })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Skeleton" }), jsx(se, { checked: showSkeleton, onChange: () => setShowSkeleton((v) => !v) })] })] })] }), jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83E\uDDF2 Snapping" }), jsxs("div", { className: styles.panelContent, children: [jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Snap" }), jsx(se, { checked: snapEnabled, onChange: () => setSnapEnabled((v) => !v) })] }), snapEnabled && (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Grid Size" }), jsx(ie, { className: styles.propInput, step: 0.25, min: 0.1, value: snapGrid, onChange: (val) => setSnapGrid(val !== null && val !== void 0 ? val : 1), style: { width: 60 } })] }))] })] })] })), propTab === "modifiers" && (jsxs("div", { className: styles.panelSection, children: [jsx("div", { className: styles.panelTitle, children: "\uD83D\uDD29 Modifiers" }), jsx("div", { className: styles.panelContent, children: selectedNode && selectedNode.object instanceof THREE.Mesh ? (jsxs(Fragment, { children: [jsx(Fe, { className: styles.btnSecondary, variant: "ghost", size: "sm", style: { width: "100%", marginBottom: 4 }, onClick: () => {
|
|
47
49
|
const mesh = selectedNode.object;
|
|
48
50
|
const geo = mesh.geometry;
|
|
49
51
|
const pos = geo.attributes.position;
|
|
@@ -53,17 +55,17 @@ const ModelEditorRightPanel = Ue.memo(({ api }) => {
|
|
|
53
55
|
setStatusText("Applied Wireframe modifier");
|
|
54
56
|
rebuildTree();
|
|
55
57
|
}
|
|
56
|
-
}, children: "+ Wireframe Modifier" }), jsx(
|
|
58
|
+
}, children: "+ Wireframe Modifier" }), jsx(Fe, { className: styles.btnSecondary, variant: "ghost", size: "sm", style: { width: "100%", marginBottom: 4 }, onClick: () => {
|
|
57
59
|
const mesh = selectedNode.object;
|
|
58
60
|
mesh.geometry.computeVertexNormals();
|
|
59
61
|
setStatusText("Recomputed normals");
|
|
60
|
-
}, children: "Recompute Normals" }), jsx(
|
|
62
|
+
}, children: "Recompute Normals" }), jsx(Fe, { className: styles.btnSecondary, variant: "ghost", size: "sm", style: { width: "100%", marginBottom: 4 }, onClick: () => {
|
|
61
63
|
const mesh = selectedNode.object;
|
|
62
64
|
const geo = mesh.geometry;
|
|
63
65
|
geo.center();
|
|
64
66
|
setStatusText("Centered geometry");
|
|
65
67
|
setMatRefresh((n) => n + 1);
|
|
66
|
-
}, children: "Center Geometry" }), jsx(
|
|
68
|
+
}, children: "Center Geometry" }), jsx(Fe, { className: styles.btnSecondary, variant: "ghost", size: "sm", style: { width: "100%", marginBottom: 4 }, onClick: () => {
|
|
67
69
|
const mesh = selectedNode.object;
|
|
68
70
|
const geo = mesh.geometry;
|
|
69
71
|
const idx = geo.index;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModelEditorRightPanel.js","sources":["../../../src/model/ModelEditorRightPanel.tsx"],"sourcesContent":[null],"names":["React","_jsxs","_jsx","NiceButton","_Fragment","NiceTextInput","NiceColorPicker","NiceSlider","NiceCheckbox","NiceNumberInput"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModelEditorRightPanel.js","sources":["../../../src/model/ModelEditorRightPanel.tsx"],"sourcesContent":[null],"names":["React","_jsxs","_jsx","NiceButton","_Fragment","NiceTextInput","NiceColorPicker","NiceSlider","NiceCheckbox","NiceNumberInput"],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import { useState } from 'react';
|
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import styles from './ModelEditor.module.css.js';
|
|
5
5
|
import { DEG } from './modelEditorTypes.js';
|
|
6
|
-
import {
|
|
6
|
+
import { b as Re, N as Ae, a as De } from '../ui/dist/NiceButton-DmTHNHet.js';
|
|
7
|
+
import { U as Dn } from '../ui/dist/NicePinCodeInput-4q8yULuo.js';
|
|
7
8
|
|
|
8
9
|
/* ═══════════════════════════════════════════
|
|
9
10
|
Sub-components
|
|
@@ -19,7 +20,7 @@ const Vec3Row = ({ label, value, onChange }) => {
|
|
|
19
20
|
onChange();
|
|
20
21
|
}
|
|
21
22
|
};
|
|
22
|
-
return (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: label }), jsxs("div", { className: styles.propVec3, children: [jsx(
|
|
23
|
+
return (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: label }), jsxs("div", { className: styles.propVec3, children: [jsx(Re, { className: styles.propVec3X, value: value.x.toFixed(3), onChange: (val) => set("x", val) }), jsx(Re, { className: styles.propVec3Y, value: value.y.toFixed(3), onChange: (val) => set("y", val) }), jsx(Re, { className: styles.propVec3Z, value: value.z.toFixed(3), onChange: (val) => set("z", val) })] })] }));
|
|
23
24
|
};
|
|
24
25
|
/** Vec3 input row for rotation (shows degrees) */
|
|
25
26
|
const Vec3RowDeg = ({ label, value, onChange }) => {
|
|
@@ -32,7 +33,7 @@ const Vec3RowDeg = ({ label, value, onChange }) => {
|
|
|
32
33
|
onChange();
|
|
33
34
|
}
|
|
34
35
|
};
|
|
35
|
-
return (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: label }), jsxs("div", { className: styles.propVec3, children: [jsx(
|
|
36
|
+
return (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: label }), jsxs("div", { className: styles.propVec3, children: [jsx(Re, { className: styles.propVec3X, value: (value.x * DEG).toFixed(1), onChange: (val) => set("x", val) }), jsx(Re, { className: styles.propVec3Y, value: (value.y * DEG).toFixed(1), onChange: (val) => set("y", val) }), jsx(Re, { className: styles.propVec3Z, value: (value.z * DEG).toFixed(1), onChange: (val) => set("z", val) })] })] }));
|
|
36
37
|
};
|
|
37
38
|
/** Material card with editable properties */
|
|
38
39
|
const MaterialCard = ({ material, active, onClick, onUpdate }) => {
|
|
@@ -56,16 +57,16 @@ const MaterialCard = ({ material, active, onClick, onUpdate }) => {
|
|
|
56
57
|
mat.needsUpdate = true;
|
|
57
58
|
onUpdate();
|
|
58
59
|
};
|
|
59
|
-
return (jsxs("div", { className: `${styles.materialCard} ${active ? styles.materialCardActive : ""}`, onClick: onClick, children: [jsx("div", { className: styles.materialHeader, children: jsx("span", { className: styles.materialName, children: mat.name || mat.type }) }), hasColor && (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Color" }), jsx(
|
|
60
|
+
return (jsxs("div", { className: `${styles.materialCard} ${active ? styles.materialCardActive : ""}`, onClick: onClick, children: [jsx("div", { className: styles.materialHeader, children: jsx("span", { className: styles.materialName, children: mat.name || mat.type }) }), hasColor && (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Color" }), jsx(Ae, { value: `#${mat.color.getHexString()}`, onChange: (c) => setColor(c) }), jsxs("span", { style: { fontSize: 10, color: "#888" }, children: ["#", mat.color.getHexString()] })] })), hasMetalness && (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Metal" }), jsx(Dn, { min: 0, max: 1, step: 0.01, value: mat.metalness, onChange: (val) => setNum("metalness", val), style: { flex: 1 } }), jsx("span", { style: { fontSize: 9, color: "#888", width: 28, textAlign: "right" }, children: mat.metalness.toFixed(2) })] })), hasRoughness && (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Rough" }), jsx(Dn, { min: 0, max: 1, step: 0.01, value: mat.roughness, onChange: (val) => setNum("roughness", val), style: { flex: 1 } }), jsx("span", { style: { fontSize: 9, color: "#888", width: 28, textAlign: "right" }, children: mat.roughness.toFixed(2) })] })), hasEmissive && mat.emissive && (jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Emissive" }), jsx(Ae, { value: `#${mat.emissive.getHexString()}`, onChange: (c) => {
|
|
60
61
|
mat.emissive.set(c);
|
|
61
62
|
mat.needsUpdate = true;
|
|
62
63
|
onUpdate();
|
|
63
|
-
} })] })), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Opacity" }), jsx(
|
|
64
|
+
} })] })), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Opacity" }), jsx(Dn, { min: 0, max: 1, step: 0.01, value: mat.opacity, onChange: (val) => {
|
|
64
65
|
mat.opacity = val;
|
|
65
66
|
mat.transparent = val < 1;
|
|
66
67
|
mat.needsUpdate = true;
|
|
67
68
|
onUpdate();
|
|
68
|
-
}, style: { flex: 1 } }), jsx("span", { style: { fontSize: 9, color: "#888", width: 28, textAlign: "right" }, children: mat.opacity.toFixed(2) })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Side" }), jsx(
|
|
69
|
+
}, style: { flex: 1 } }), jsx("span", { style: { fontSize: 9, color: "#888", width: 28, textAlign: "right" }, children: mat.opacity.toFixed(2) })] }), jsxs("div", { className: styles.propRow, children: [jsx("span", { className: styles.propLabel, children: "Side" }), jsx(De, { className: styles.propSelect, value: String(mat.side), onChange: (val) => {
|
|
69
70
|
mat.side = parseInt(val);
|
|
70
71
|
mat.needsUpdate = true;
|
|
71
72
|
onUpdate();
|