@nice2dev/ui-graphics 1.0.0 โ†’ 1.0.3

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 (146) hide show
  1. package/CHANGELOG.md +147 -1
  2. package/dist/cjs/animation/AnimatedPerson.js +2 -2
  3. package/dist/cjs/animation/AnimatedPerson.js.map +1 -1
  4. package/dist/cjs/animation/AnimationEditor.js +11 -6
  5. package/dist/cjs/animation/AnimationEditor.js.map +1 -1
  6. package/dist/cjs/animation/Audience.js +4 -3
  7. package/dist/cjs/animation/Audience.js.map +1 -1
  8. package/dist/cjs/animation/BodyRenderer.js +5 -2
  9. package/dist/cjs/animation/BodyRenderer.js.map +1 -1
  10. package/dist/cjs/animation/rig/RigPlayer.js +2 -2
  11. package/dist/cjs/animation/rig/RigPlayer.js.map +1 -1
  12. package/dist/cjs/animation/rig/RiggedBody.js +2 -2
  13. package/dist/cjs/animation/rig/RiggedBody.js.map +1 -1
  14. package/dist/cjs/animation/shapes/heads.js +4 -1
  15. package/dist/cjs/animation/shapes/heads.js.map +1 -1
  16. package/dist/cjs/core/LocalUI.js +1 -1
  17. package/dist/cjs/core/NiceBrushEngine.js +446 -0
  18. package/dist/cjs/core/NiceBrushEngine.js.map +1 -0
  19. package/dist/cjs/core/yjsCollaboration.js +292 -0
  20. package/dist/cjs/core/yjsCollaboration.js.map +1 -0
  21. package/dist/cjs/font/NiceFontEditor.js +89 -85
  22. package/dist/cjs/font/NiceFontEditor.js.map +1 -1
  23. package/dist/cjs/font/fontFormatUtils.js +468 -0
  24. package/dist/cjs/font/fontFormatUtils.js.map +1 -0
  25. package/dist/cjs/game/GameAsset2dEditor.js +38 -24
  26. package/dist/cjs/game/GameAsset2dEditor.js.map +1 -1
  27. package/dist/cjs/icon/NiceIconEditor.js +218 -133
  28. package/dist/cjs/icon/NiceIconEditor.js.map +1 -1
  29. package/dist/cjs/index.js +83 -1
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/nice2dev-ui-graphics.css +1 -1
  32. package/dist/cjs/photo/NiceAITools.js +446 -0
  33. package/dist/cjs/photo/NiceAITools.js.map +1 -0
  34. package/dist/cjs/photo/PhotoEditor.js +2 -2
  35. package/dist/cjs/photo/PhotoEditor.js.map +1 -1
  36. package/dist/cjs/pixel/PixelEditor.js +16 -5
  37. package/dist/cjs/pixel/PixelEditor.js.map +1 -1
  38. package/dist/cjs/pixel/PixelEditor.module.css.js +1 -1
  39. package/dist/cjs/pixel/PixelEditorMenuBar.js +2 -1
  40. package/dist/cjs/pixel/PixelEditorMenuBar.js.map +1 -1
  41. package/dist/cjs/pixel/PixelEditorRightPanel.js +3 -2
  42. package/dist/cjs/pixel/PixelEditorRightPanel.js.map +1 -1
  43. package/dist/cjs/pixel/PixelEditorTimeline.js +2 -1
  44. package/dist/cjs/pixel/PixelEditorTimeline.js.map +1 -1
  45. package/dist/cjs/pixel/PixelEditorToolbar.js +2 -1
  46. package/dist/cjs/pixel/PixelEditorToolbar.js.map +1 -1
  47. package/dist/cjs/pixel/SpriteGeneratorPanel.js +224 -0
  48. package/dist/cjs/pixel/SpriteGeneratorPanel.js.map +1 -0
  49. package/dist/cjs/pixel/animalGeneratorPresets.js +654 -0
  50. package/dist/cjs/pixel/animalGeneratorPresets.js.map +1 -0
  51. package/dist/cjs/pixel/buildingGeneratorPresets.js +573 -0
  52. package/dist/cjs/pixel/buildingGeneratorPresets.js.map +1 -0
  53. package/dist/cjs/pixel/characterGeneratorPresets.js +563 -0
  54. package/dist/cjs/pixel/characterGeneratorPresets.js.map +1 -0
  55. package/dist/cjs/pixel/spriteGeneratorCore.js +297 -0
  56. package/dist/cjs/pixel/spriteGeneratorCore.js.map +1 -0
  57. package/dist/cjs/pixel/usePixelEditor.js +16 -0
  58. package/dist/cjs/pixel/usePixelEditor.js.map +1 -1
  59. package/dist/cjs/texture/Nice3DTexturePainter.js +123 -79
  60. package/dist/cjs/texture/Nice3DTexturePainter.js.map +1 -1
  61. package/dist/cjs/ui/NiceUIDesigner.js +175 -62
  62. package/dist/cjs/ui/NiceUIDesigner.js.map +1 -1
  63. package/dist/cjs/ui/dist/index.js +50089 -0
  64. package/dist/cjs/ui/dist/index.js.map +1 -0
  65. package/dist/cjs/vector/NiceSvgToCode.js +427 -0
  66. package/dist/cjs/vector/NiceSvgToCode.js.map +1 -0
  67. package/dist/cjs/vector/VectorEditor.js +7 -3
  68. package/dist/cjs/vector/VectorEditor.js.map +1 -1
  69. package/dist/cjs/vector/VectorEditor.module.css.js +1 -1
  70. package/dist/cjs/vector/VectorEditorMenuBar.js +5 -1
  71. package/dist/cjs/vector/VectorEditorMenuBar.js.map +1 -1
  72. package/dist/cjs/vector/VectorEditorRightPanel.js +23 -19
  73. package/dist/cjs/vector/VectorEditorRightPanel.js.map +1 -1
  74. package/dist/esm/animation/AnimatedPerson.js +2 -2
  75. package/dist/esm/animation/AnimatedPerson.js.map +1 -1
  76. package/dist/esm/animation/AnimationEditor.js +12 -8
  77. package/dist/esm/animation/AnimationEditor.js.map +1 -1
  78. package/dist/esm/animation/Audience.js +5 -4
  79. package/dist/esm/animation/Audience.js.map +1 -1
  80. package/dist/esm/animation/BodyRenderer.js +4 -2
  81. package/dist/esm/animation/BodyRenderer.js.map +1 -1
  82. package/dist/esm/animation/rig/RigPlayer.js +4 -4
  83. package/dist/esm/animation/rig/RigPlayer.js.map +1 -1
  84. package/dist/esm/animation/rig/RiggedBody.js +2 -2
  85. package/dist/esm/animation/rig/RiggedBody.js.map +1 -1
  86. package/dist/esm/animation/shapes/heads.js +4 -2
  87. package/dist/esm/animation/shapes/heads.js.map +1 -1
  88. package/dist/esm/core/LocalUI.js +4 -4
  89. package/dist/esm/core/NiceBrushEngine.js +442 -0
  90. package/dist/esm/core/NiceBrushEngine.js.map +1 -0
  91. package/dist/esm/core/yjsCollaboration.js +283 -0
  92. package/dist/esm/core/yjsCollaboration.js.map +1 -0
  93. package/dist/esm/font/NiceFontEditor.js +89 -85
  94. package/dist/esm/font/NiceFontEditor.js.map +1 -1
  95. package/dist/esm/font/fontFormatUtils.js +461 -0
  96. package/dist/esm/font/fontFormatUtils.js.map +1 -0
  97. package/dist/esm/game/GameAsset2dEditor.js +38 -25
  98. package/dist/esm/game/GameAsset2dEditor.js.map +1 -1
  99. package/dist/esm/icon/NiceIconEditor.js +218 -133
  100. package/dist/esm/icon/NiceIconEditor.js.map +1 -1
  101. package/dist/esm/index.js +21 -11
  102. package/dist/esm/index.js.map +1 -1
  103. package/dist/esm/nice2dev-ui-graphics.css +1 -1
  104. package/dist/esm/photo/NiceAITools.js +439 -0
  105. package/dist/esm/photo/NiceAITools.js.map +1 -0
  106. package/dist/esm/photo/PhotoEditor.js +2 -2
  107. package/dist/esm/photo/PhotoEditor.js.map +1 -1
  108. package/dist/esm/pixel/PixelEditor.js +16 -6
  109. package/dist/esm/pixel/PixelEditor.js.map +1 -1
  110. package/dist/esm/pixel/PixelEditor.module.css.js +1 -1
  111. package/dist/esm/pixel/PixelEditorMenuBar.js +2 -1
  112. package/dist/esm/pixel/PixelEditorMenuBar.js.map +1 -1
  113. package/dist/esm/pixel/PixelEditorRightPanel.js +3 -2
  114. package/dist/esm/pixel/PixelEditorRightPanel.js.map +1 -1
  115. package/dist/esm/pixel/PixelEditorTimeline.js +2 -1
  116. package/dist/esm/pixel/PixelEditorTimeline.js.map +1 -1
  117. package/dist/esm/pixel/PixelEditorToolbar.js +2 -1
  118. package/dist/esm/pixel/PixelEditorToolbar.js.map +1 -1
  119. package/dist/esm/pixel/SpriteGeneratorPanel.js +222 -0
  120. package/dist/esm/pixel/SpriteGeneratorPanel.js.map +1 -0
  121. package/dist/esm/pixel/animalGeneratorPresets.js +647 -0
  122. package/dist/esm/pixel/animalGeneratorPresets.js.map +1 -0
  123. package/dist/esm/pixel/buildingGeneratorPresets.js +566 -0
  124. package/dist/esm/pixel/buildingGeneratorPresets.js.map +1 -0
  125. package/dist/esm/pixel/characterGeneratorPresets.js +556 -0
  126. package/dist/esm/pixel/characterGeneratorPresets.js.map +1 -0
  127. package/dist/esm/pixel/spriteGeneratorCore.js +279 -0
  128. package/dist/esm/pixel/spriteGeneratorCore.js.map +1 -0
  129. package/dist/esm/pixel/usePixelEditor.js +16 -0
  130. package/dist/esm/pixel/usePixelEditor.js.map +1 -1
  131. package/dist/esm/texture/Nice3DTexturePainter.js +123 -79
  132. package/dist/esm/texture/Nice3DTexturePainter.js.map +1 -1
  133. package/dist/esm/ui/NiceUIDesigner.js +175 -62
  134. package/dist/esm/ui/NiceUIDesigner.js.map +1 -1
  135. package/dist/esm/ui/dist/index.js +49686 -0
  136. package/dist/esm/ui/dist/index.js.map +1 -0
  137. package/dist/esm/vector/NiceSvgToCode.js +423 -0
  138. package/dist/esm/vector/NiceSvgToCode.js.map +1 -0
  139. package/dist/esm/vector/VectorEditor.js +7 -4
  140. package/dist/esm/vector/VectorEditor.js.map +1 -1
  141. package/dist/esm/vector/VectorEditor.module.css.js +1 -1
  142. package/dist/esm/vector/VectorEditorMenuBar.js +5 -1
  143. package/dist/esm/vector/VectorEditorMenuBar.js.map +1 -1
  144. package/dist/esm/vector/VectorEditorRightPanel.js +23 -19
  145. package/dist/esm/vector/VectorEditorRightPanel.js.map +1 -1
  146. package/package.json +3 -4
@@ -1 +1 @@
1
- {"version":3,"file":"usePixelEditor.js","sources":["../../../src/pixel/usePixelEditor.ts"],"sourcesContent":[null],"names":["exportAse","_doExportAse","exportPNG","_doExportPNG","exportJPG","_doExportJPG","exportWebP","_doExportWebP","exportBMP","_doExportBMP","exportSVG","_doExportSVG","exportSheet","_doExportSheet"],"mappings":"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"}
1
+ {"version":3,"file":"usePixelEditor.js","sources":["../../../src/pixel/usePixelEditor.ts"],"sourcesContent":[null],"names":["exportAse","_doExportAse","exportPNG","_doExportPNG","exportJPG","_doExportJPG","exportWebP","_doExportWebP","exportBMP","_doExportBMP","exportSVG","_doExportSVG","exportSheet","_doExportSheet"],"mappings":"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"}
@@ -1,16 +1,6 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
1
2
  import React from 'react';
2
3
 
3
- /**
4
- * Nice3DTexturePainter.tsx โ€” Paint textures directly on 3D models.
5
- *
6
- * Features:
7
- * - WebGL-based 3D model viewer
8
- * - UV unwrap visualization
9
- * - Brush painting on UV texture
10
- * - Texture baking and export (PNG, JPEG, WebP)
11
- * - Layer support for non-destructive painting
12
- * - Color picker and brush settings
13
- */
14
4
  // โ”€โ”€ Default Config โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
15
5
  const DEFAULT_BRUSH = {
16
6
  size: 20,
@@ -25,8 +15,9 @@ function useTexturePainter(width, height) {
25
15
  const [layers, setLayers] = React.useState([]);
26
16
  const [activeLayerId, setActiveLayerId] = React.useState(null);
27
17
  const [tool, setTool] = React.useState("brush");
18
+ const [renderVersion, setRenderVersion] = React.useState(0);
19
+ const undoStackRef = React.useRef([]);
28
20
  React.useEffect(() => {
29
- // Create default layer
30
21
  if (typeof document === "undefined")
31
22
  return;
32
23
  const canvas = document.createElement("canvas");
@@ -57,6 +48,62 @@ function useTexturePainter(width, height) {
57
48
  setLayers((prev) => prev.filter((l) => l.id !== id));
58
49
  setActiveLayerId((prev) => prev === id ? null : prev);
59
50
  }, []);
51
+ const toggleLayerVisibility = React.useCallback((id) => {
52
+ setLayers((prev) => prev.map((l) => l.id === id ? { ...l, visible: !l.visible } : l));
53
+ setRenderVersion((v) => v + 1);
54
+ }, []);
55
+ const setLayerOpacity = React.useCallback((id, opacity) => {
56
+ setLayers((prev) => prev.map((l) => l.id === id ? { ...l, opacity } : l));
57
+ setRenderVersion((v) => v + 1);
58
+ }, []);
59
+ const beginStroke = React.useCallback(() => {
60
+ const layer = layers.find((l) => l.id === activeLayerId);
61
+ if (!layer)
62
+ return;
63
+ const ctx = layer.canvas.getContext("2d");
64
+ if (!ctx)
65
+ return;
66
+ undoStackRef.current.push({
67
+ layerId: layer.id,
68
+ imageData: ctx.getImageData(0, 0, layer.canvas.width, layer.canvas.height),
69
+ });
70
+ if (undoStackRef.current.length > 40)
71
+ undoStackRef.current.shift();
72
+ }, [layers, activeLayerId]);
73
+ const undo = React.useCallback(() => {
74
+ const snapshot = undoStackRef.current.pop();
75
+ if (!snapshot)
76
+ return;
77
+ const layer = layers.find((l) => l.id === snapshot.layerId);
78
+ if (!layer)
79
+ return;
80
+ const ctx = layer.canvas.getContext("2d");
81
+ if (!ctx)
82
+ return;
83
+ ctx.putImageData(snapshot.imageData, 0, 0);
84
+ setRenderVersion((v) => v + 1);
85
+ }, [layers]);
86
+ const eyedrop = React.useCallback((x, y) => {
87
+ // Sample composite color from all visible layers
88
+ if (typeof document === "undefined")
89
+ return;
90
+ const tmp = document.createElement("canvas");
91
+ tmp.width = width;
92
+ tmp.height = height;
93
+ const ctx = tmp.getContext("2d");
94
+ if (!ctx)
95
+ return;
96
+ for (const layer of layers) {
97
+ if (!layer.visible)
98
+ continue;
99
+ ctx.globalAlpha = layer.opacity;
100
+ ctx.drawImage(layer.canvas, 0, 0);
101
+ }
102
+ const px = ctx.getImageData(Math.round(x), Math.round(y), 1, 1).data;
103
+ const hex = `#${px[0].toString(16).padStart(2, "0")}${px[1].toString(16).padStart(2, "0")}${px[2].toString(16).padStart(2, "0")}`;
104
+ setBrush((b) => ({ ...b, color: hex }));
105
+ setTool("brush");
106
+ }, [layers, width, height]);
60
107
  const paintStroke = React.useCallback((x, y) => {
61
108
  const layer = layers.find((l) => l.id === activeLayerId);
62
109
  if (!layer)
@@ -73,7 +120,6 @@ function useTexturePainter(width, height) {
73
120
  ctx.globalCompositeOperation = "source-over";
74
121
  }
75
122
  else if (tool === "brush") {
76
- // Gradient brush based on hardness
77
123
  const gradient = ctx.createRadialGradient(x, y, 0, x, y, brush.size / 2);
78
124
  gradient.addColorStop(0, brush.color);
79
125
  gradient.addColorStop(brush.hardness, brush.color);
@@ -88,6 +134,7 @@ function useTexturePainter(width, height) {
88
134
  ctx.fillRect(0, 0, width, height);
89
135
  }
90
136
  ctx.globalAlpha = 1;
137
+ setRenderVersion((v) => v + 1);
91
138
  }, [layers, activeLayerId, brush, tool, width, height]);
92
139
  const flattenToBlob = React.useCallback(async () => {
93
140
  if (typeof document === "undefined")
@@ -114,15 +161,24 @@ function useTexturePainter(width, height) {
114
161
  tool, setTool,
115
162
  paintStroke,
116
163
  flattenToBlob,
164
+ beginStroke, undo, canUndo: undoStackRef.current.length > 0,
165
+ toggleLayerVisibility, setLayerOpacity,
166
+ eyedrop, renderVersion,
117
167
  };
118
168
  }
119
169
  // โ”€โ”€ Component โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
120
- /** 3D texture painting tool with UV-space brush painting. */
170
+ /** 3D texture painting tool with UV-space brush painting, zoom/pan, and layers. */
121
171
  const Nice3DTexturePainter = ({ textureWidth = 1024, textureHeight = 1024, onSave, className = "", }) => {
122
172
  const painter = useTexturePainter(textureWidth, textureHeight);
123
173
  const canvasRef = React.useRef(null);
124
174
  const isPainting = React.useRef(false);
125
- const [previewScale] = React.useState(0.5);
175
+ const [zoom, setZoom] = React.useState(0.5);
176
+ const [panOffset, setPanOffset] = React.useState({ x: 0, y: 0 });
177
+ const isPanning = React.useRef(false);
178
+ const lastPan = React.useRef({ x: 0, y: 0 });
179
+ const [cursorPos, setCursorPos] = React.useState(null);
180
+ const pw = Math.round(textureWidth * zoom);
181
+ const ph = Math.round(textureHeight * zoom);
126
182
  // Render composite texture to preview
127
183
  React.useEffect(() => {
128
184
  const canvas = canvasRef.current;
@@ -132,7 +188,6 @@ const Nice3DTexturePainter = ({ textureWidth = 1024, textureHeight = 1024, onSav
132
188
  if (!ctx)
133
189
  return;
134
190
  ctx.clearRect(0, 0, canvas.width, canvas.height);
135
- // Checkerboard background
136
191
  const size = 8;
137
192
  for (let y = 0; y < canvas.height; y += size) {
138
193
  for (let x = 0; x < canvas.width; x += size) {
@@ -147,86 +202,75 @@ const Nice3DTexturePainter = ({ textureWidth = 1024, textureHeight = 1024, onSav
147
202
  ctx.drawImage(layer.canvas, 0, 0, canvas.width, canvas.height);
148
203
  }
149
204
  ctx.globalAlpha = 1;
150
- }, [painter.layers, painter.brush]);
151
- const handlePointerDown = (e) => {
205
+ }, [painter.layers, painter.renderVersion, zoom]);
206
+ const screenToTexture = (e) => {
152
207
  var _a;
153
- isPainting.current = true;
154
208
  const rect = (_a = canvasRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
155
209
  if (!rect)
210
+ return { x: 0, y: 0 };
211
+ return {
212
+ x: ((e.clientX - rect.left) / rect.width) * textureWidth,
213
+ y: ((e.clientY - rect.top) / rect.height) * textureHeight,
214
+ };
215
+ };
216
+ const handlePointerDown = (e) => {
217
+ if (e.button === 1) {
218
+ isPanning.current = true;
219
+ lastPan.current = { x: e.clientX, y: e.clientY };
220
+ e.preventDefault();
221
+ return;
222
+ }
223
+ if (painter.tool === "eyedropper") {
224
+ const { x, y } = screenToTexture(e);
225
+ painter.eyedrop(x, y);
156
226
  return;
157
- const x = ((e.clientX - rect.left) / rect.width) * textureWidth;
158
- const y = ((e.clientY - rect.top) / rect.height) * textureHeight;
227
+ }
228
+ painter.beginStroke();
229
+ isPainting.current = true;
230
+ const { x, y } = screenToTexture(e);
159
231
  painter.paintStroke(x, y);
160
232
  e.target.setPointerCapture(e.pointerId);
161
233
  };
162
234
  const handlePointerMove = (e) => {
163
- var _a;
164
- if (!isPainting.current)
235
+ const { x, y } = screenToTexture(e);
236
+ setCursorPos({ x: Math.round(x), y: Math.round(y) });
237
+ if (isPanning.current) {
238
+ setPanOffset((prev) => ({
239
+ x: prev.x + e.clientX - lastPan.current.x,
240
+ y: prev.y + e.clientY - lastPan.current.y,
241
+ }));
242
+ lastPan.current = { x: e.clientX, y: e.clientY };
165
243
  return;
166
- const rect = (_a = canvasRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
167
- if (!rect)
244
+ }
245
+ if (!isPainting.current)
168
246
  return;
169
- const x = ((e.clientX - rect.left) / rect.width) * textureWidth;
170
- const y = ((e.clientY - rect.top) / rect.height) * textureHeight;
171
247
  painter.paintStroke(x, y);
172
248
  };
173
- const handlePointerUp = () => { isPainting.current = false; };
249
+ const handlePointerUp = () => {
250
+ isPainting.current = false;
251
+ isPanning.current = false;
252
+ };
253
+ const handleWheel = (e) => {
254
+ e.preventDefault();
255
+ setZoom((z) => Math.max(0.1, Math.min(4, z + (e.deltaY > 0 ? -0.05 : 0.05))));
256
+ };
174
257
  const handleSave = async () => {
175
258
  const blob = await painter.flattenToBlob();
176
259
  if (blob)
177
260
  onSave === null || onSave === void 0 ? void 0 : onSave(blob);
178
261
  };
179
- const pw = Math.round(textureWidth * previewScale);
180
- const ph = Math.round(textureHeight * previewScale);
181
- return React.createElement("div", {
182
- className: `nice-3d-texture-painter ${className}`,
183
- style: { display: "flex", gap: 8, background: "#1a1b1e", color: "#c1c2c5", padding: 12, borderRadius: 8 },
184
- },
185
- // Tools
186
- React.createElement("div", { style: { width: 120, fontSize: 11, display: "flex", flexDirection: "column", gap: 4 } }, React.createElement("strong", null, "Tools"), ...["brush", "eraser", "eyedropper", "fill"].map((t) => React.createElement("button", {
187
- key: t, onClick: () => painter.setTool(t),
188
- style: {
189
- padding: "3px 6px", border: "none", borderRadius: 3, cursor: "pointer",
190
- background: painter.tool === t ? "#339af0" : "#2c2e33", color: painter.tool === t ? "#fff" : "#c1c2c5",
191
- },
192
- }, t.charAt(0).toUpperCase() + t.slice(1))), React.createElement("hr", { style: { border: "none", borderTop: "1px solid #373a40", width: "100%" } }), React.createElement("label", null, "Size"), React.createElement("input", {
193
- type: "range", min: 1, max: 100, value: painter.brush.size,
194
- onChange: (e) => painter.setBrush({ ...painter.brush, size: Number(e.target.value) }),
195
- style: { width: "100%" },
196
- }), React.createElement("label", null, "Opacity"), React.createElement("input", {
197
- type: "range", min: 0, max: 1, step: 0.01, value: painter.brush.opacity,
198
- onChange: (e) => painter.setBrush({ ...painter.brush, opacity: Number(e.target.value) }),
199
- style: { width: "100%" },
200
- }), React.createElement("label", null, "Color"), React.createElement("input", {
201
- type: "color", value: painter.brush.color,
202
- onChange: (e) => painter.setBrush({ ...painter.brush, color: e.target.value }),
203
- style: { width: "100%", height: 24 },
204
- })),
205
- // Canvas
206
- React.createElement("div", { style: { flex: 1 } }, React.createElement("canvas", {
207
- ref: canvasRef,
208
- width: pw, height: ph,
209
- onPointerDown: handlePointerDown,
210
- onPointerMove: handlePointerMove,
211
- onPointerUp: handlePointerUp,
212
- style: { cursor: "crosshair", borderRadius: 4, border: "1px solid #373a40" },
213
- })),
214
- // Layers
215
- React.createElement("div", { style: { width: 140, fontSize: 11, display: "flex", flexDirection: "column", gap: 4 } }, React.createElement("strong", null, "Layers"), ...painter.layers.map((l) => React.createElement("div", {
216
- key: l.id,
217
- onClick: () => painter.setActiveLayerId(l.id),
218
- style: {
219
- padding: "3px 6px", borderRadius: 3, cursor: "pointer",
220
- background: painter.activeLayerId === l.id ? "#339af0" : "#2c2e33",
221
- color: painter.activeLayerId === l.id ? "#fff" : "#c1c2c5",
222
- },
223
- }, l.name)), React.createElement("button", {
224
- onClick: () => painter.addLayer(`Layer ${painter.layers.length + 1}`),
225
- style: { padding: "3px 6px", border: "none", borderRadius: 3, cursor: "pointer", background: "#2c2e33", color: "#c1c2c5" },
226
- }, "+ Add Layer"), React.createElement("hr", { style: { border: "none", borderTop: "1px solid #373a40", width: "100%" } }), React.createElement("button", {
227
- onClick: handleSave,
228
- style: { padding: "4px 8px", background: "#2f9e44", color: "#fff", border: "none", borderRadius: 3, cursor: "pointer" },
229
- }, "Save Texture")));
262
+ const toolIcons = { brush: "๐Ÿ–Œ๏ธ", eraser: "๐Ÿงน", eyedropper: "๐Ÿ’ง", fill: "๐Ÿชฃ" };
263
+ const btnStyle = (active) => ({
264
+ padding: "4px 8px", border: "none", borderRadius: 3, cursor: "pointer", fontSize: 11,
265
+ background: active ? "#339af0" : "#2c2e33", color: active ? "#fff" : "#c1c2c5",
266
+ display: "flex", alignItems: "center", gap: 4,
267
+ });
268
+ const toolCursor = painter.tool === "eyedropper" ? "crosshair" : painter.tool === "brush" ? "crosshair" : painter.tool === "eraser" ? "cell" : "crosshair";
269
+ return (jsxs("div", { className: `nice-3d-texture-painter ${className}`, style: { display: "flex", gap: 8, background: "#1a1b1e", color: "#c1c2c5", padding: 12, borderRadius: 8 }, children: [jsxs("div", { style: { width: 140, fontSize: 11, display: "flex", flexDirection: "column", gap: 4 }, children: [jsx("strong", { style: { fontSize: 12 }, children: "Tools" }), ["brush", "eraser", "eyedropper", "fill"].map((t) => (jsxs("button", { onClick: () => painter.setTool(t), style: btnStyle(painter.tool === t), children: [toolIcons[t], " ", t.charAt(0).toUpperCase() + t.slice(1), " ", jsx("span", { style: { color: "#868e96", marginLeft: "auto" }, children: t === "brush" ? "B" : t === "eraser" ? "E" : t === "eyedropper" ? "I" : "G" })] }, t))), jsx("hr", { style: { border: "none", borderTop: "1px solid #373a40", width: "100%", margin: "4px 0" } }), jsx("div", { style: { display: "flex", justifyContent: "space-between" }, children: jsx("button", { onClick: () => painter.undo(), style: btnStyle(false), title: "Undo (Ctrl+Z)", children: "\u21A9 Undo" }) }), jsx("hr", { style: { border: "none", borderTop: "1px solid #373a40", width: "100%", margin: "4px 0" } }), jsxs("label", { children: ["Size: ", painter.brush.size, "px"] }), jsx("input", { type: "range", min: 1, max: 100, value: painter.brush.size, onChange: (e) => painter.setBrush({ ...painter.brush, size: Number(e.target.value) }), style: { width: "100%" } }), jsxs("label", { children: ["Opacity: ", Math.round(painter.brush.opacity * 100), "%"] }), jsx("input", { type: "range", min: 0, max: 1, step: 0.01, value: painter.brush.opacity, onChange: (e) => painter.setBrush({ ...painter.brush, opacity: Number(e.target.value) }), style: { width: "100%" } }), jsxs("label", { children: ["Hardness: ", Math.round(painter.brush.hardness * 100), "%"] }), jsx("input", { type: "range", min: 0, max: 1, step: 0.01, value: painter.brush.hardness, onChange: (e) => painter.setBrush({ ...painter.brush, hardness: Number(e.target.value) }), style: { width: "100%" } }), jsx("label", { children: "Blend Mode" }), jsxs("select", { value: painter.brush.blendMode, onChange: (e) => painter.setBrush({ ...painter.brush, blendMode: e.target.value }), style: { width: "100%", padding: 2, background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 3, fontSize: 10 }, children: [jsx("option", { value: "normal", children: "Normal" }), jsx("option", { value: "multiply", children: "Multiply" }), jsx("option", { value: "screen", children: "Screen" }), jsx("option", { value: "overlay", children: "Overlay" })] }), jsx("label", { children: "Color" }), jsxs("div", { style: { display: "flex", gap: 4, alignItems: "center" }, children: [jsx("input", { type: "color", value: painter.brush.color, onChange: (e) => painter.setBrush({ ...painter.brush, color: e.target.value }), style: { width: 32, height: 24, border: "none", cursor: "pointer" } }), jsx("span", { style: { fontFamily: "monospace", fontSize: 10 }, children: painter.brush.color })] }), jsx("hr", { style: { border: "none", borderTop: "1px solid #373a40", width: "100%", margin: "4px 0" } }), jsxs("label", { children: ["Zoom: ", Math.round(zoom * 100), "%"] }), jsxs("div", { style: { display: "flex", gap: 2 }, children: [jsx("button", { onClick: () => setZoom((z) => Math.max(0.1, z - 0.1)), style: btnStyle(false), children: "\u2212" }), jsx("button", { onClick: () => setZoom(0.5), style: btnStyle(false), children: "Reset" }), jsx("button", { onClick: () => setZoom((z) => Math.min(4, z + 0.1)), style: btnStyle(false), children: "+" })] })] }), jsxs("div", { style: { flex: 1, overflow: "hidden", position: "relative", background: "#141517", borderRadius: 6 }, onWheel: handleWheel, children: [jsx("div", { style: { transform: `translate(${panOffset.x}px, ${panOffset.y}px)`, display: "inline-block", padding: 16 }, children: jsx("canvas", { ref: canvasRef, width: pw, height: ph, onPointerDown: handlePointerDown, onPointerMove: handlePointerMove, onPointerUp: handlePointerUp, style: { cursor: toolCursor, borderRadius: 4, border: "1px solid #373a40" } }) }), jsxs("div", { style: { position: "absolute", bottom: 4, left: 8, fontSize: 10, color: "#868e96", display: "flex", gap: 12 }, children: [jsxs("span", { children: [textureWidth, "\u00D7", textureHeight] }), cursorPos && jsxs("span", { children: ["X: ", cursorPos.x, " Y: ", cursorPos.y] }), jsxs("span", { children: ["Zoom: ", Math.round(zoom * 100), "%"] })] })] }), jsxs("div", { style: { width: 160, fontSize: 11, display: "flex", flexDirection: "column", gap: 4 }, children: [jsx("strong", { style: { fontSize: 12 }, children: "Layers" }), jsx("div", { style: { flex: 1, overflowY: "auto", display: "flex", flexDirection: "column", gap: 2 }, children: [...painter.layers].reverse().map((l) => (jsxs("div", { style: {
270
+ padding: "4px 6px", borderRadius: 3,
271
+ background: painter.activeLayerId === l.id ? "#339af0" : "#2c2e33",
272
+ color: painter.activeLayerId === l.id ? "#fff" : "#c1c2c5",
273
+ }, children: [jsxs("div", { style: { display: "flex", alignItems: "center", gap: 4, cursor: "pointer" }, onClick: () => painter.setActiveLayerId(l.id), children: [jsx("button", { onClick: (e) => { e.stopPropagation(); painter.toggleLayerVisibility(l.id); }, style: { background: "transparent", border: "none", cursor: "pointer", padding: 0, color: l.visible ? "#c1c2c5" : "#5c5f66", fontSize: 12 }, title: l.visible ? "Hide layer" : "Show layer", children: l.visible ? "๐Ÿ‘" : "๐Ÿ‘โ€๐Ÿ—จ" }), jsx("span", { style: { flex: 1, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: l.name }), l.id !== "base" && (jsx("button", { onClick: (e) => { e.stopPropagation(); painter.removeLayer(l.id); }, style: { background: "transparent", border: "none", color: "#ff6b6b", cursor: "pointer", padding: 0, fontSize: 10 }, children: "\u2715" }))] }), jsxs("div", { style: { display: "flex", alignItems: "center", gap: 4, marginTop: 2 }, children: [jsx("span", { style: { fontSize: 9, color: "#868e96" }, children: "\u03B1" }), jsx("input", { type: "range", min: 0, max: 1, step: 0.01, value: l.opacity, onChange: (e) => painter.setLayerOpacity(l.id, Number(e.target.value)), style: { flex: 1, height: 12 } }), jsxs("span", { style: { fontSize: 9, minWidth: 24, textAlign: "right" }, children: [Math.round(l.opacity * 100), "%"] })] })] }, l.id))) }), jsx("button", { onClick: () => painter.addLayer(`Layer ${painter.layers.length + 1}`), style: { padding: "4px 8px", border: "none", borderRadius: 3, cursor: "pointer", background: "#2c2e33", color: "#c1c2c5" }, children: "+ Add Layer" }), jsx("hr", { style: { border: "none", borderTop: "1px solid #373a40", width: "100%", margin: "4px 0" } }), jsx("button", { onClick: handleSave, style: { padding: "6px 8px", background: "#2f9e44", color: "#fff", border: "none", borderRadius: 3, cursor: "pointer", fontWeight: "bold" }, children: "Save Texture" })] })] }));
230
274
  };
231
275
 
232
276
  export { Nice3DTexturePainter, useTexturePainter };