@nice2dev/ui-graphics 1.0.0 → 1.0.2

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,17 +1,6 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
1
2
  import React from 'react';
2
3
 
3
- /**
4
- * NiceIconEditor.tsx — SVG icon editor integrated with @nice2dev/icons.
5
- *
6
- * Features:
7
- * - SVG icon creation and editing (paths, shapes)
8
- * - Grid-aligned design (24×24, 32×32, 48×48 grids)
9
- * - Outline/filled style variants
10
- * - Stroke width and cap adjustments
11
- * - Export to SVG, React component, PNG (multiple sizes)
12
- * - Icon set management
13
- * - Preview on different backgrounds
14
- */
15
4
  // ── Default Config ──────────────────────────────────────────────
16
5
  const DEFAULT_ICON_CONFIG = {
17
6
  viewBox: 24,
@@ -28,33 +17,66 @@ function useIconEditor(initialSvg) {
28
17
  const [shapes, setShapes] = React.useState([]);
29
18
  const [selectedId, setSelectedId] = React.useState(null);
30
19
  const [tool, setTool] = React.useState("select");
20
+ const [snapToGrid, setSnapToGrid] = React.useState(true);
21
+ const [historyIdx, setHistoryIdx] = React.useState(0);
22
+ const historyRef = React.useRef([[]]);
31
23
  // Parse initial SVG
32
24
  React.useEffect(() => {
33
25
  if (!initialSvg)
34
26
  return;
35
- // Basic SVG path extraction
36
27
  const pathMatches = initialSvg.matchAll(/<path[^>]*d="([^"]*)"[^>]*\/?>/g);
37
28
  const parsed = [];
38
29
  let id = 0;
39
30
  for (const match of pathMatches) {
40
31
  parsed.push({ id: `shape-${id++}`, type: "path", d: match[1] });
41
32
  }
42
- if (parsed.length > 0)
33
+ if (parsed.length > 0) {
43
34
  setShapes(parsed);
35
+ historyRef.current = [JSON.parse(JSON.stringify(parsed))];
36
+ setHistoryIdx(0);
37
+ }
44
38
  }, [initialSvg]);
39
+ const pushHistory = React.useCallback((newShapes) => {
40
+ const snap = JSON.parse(JSON.stringify(newShapes));
41
+ historyRef.current = historyRef.current.slice(0, historyIdx + 1);
42
+ historyRef.current.push(snap);
43
+ if (historyRef.current.length > 50)
44
+ historyRef.current.shift();
45
+ setHistoryIdx(historyRef.current.length - 1);
46
+ }, [historyIdx]);
47
+ const undo = React.useCallback(() => {
48
+ if (historyIdx <= 0)
49
+ return;
50
+ const newIdx = historyIdx - 1;
51
+ setHistoryIdx(newIdx);
52
+ setShapes(JSON.parse(JSON.stringify(historyRef.current[newIdx])));
53
+ }, [historyIdx]);
54
+ const redo = React.useCallback(() => {
55
+ if (historyIdx >= historyRef.current.length - 1)
56
+ return;
57
+ const newIdx = historyIdx + 1;
58
+ setHistoryIdx(newIdx);
59
+ setShapes(JSON.parse(JSON.stringify(historyRef.current[newIdx])));
60
+ }, [historyIdx]);
45
61
  const addShape = React.useCallback((shape) => {
46
62
  const id = `shape-${Date.now()}`;
47
- setShapes((prev) => [...prev, { ...shape, id }]);
63
+ const newShapes = [...shapes, { ...shape, id }];
64
+ setShapes(newShapes);
48
65
  setSelectedId(id);
49
- }, []);
66
+ pushHistory(newShapes);
67
+ }, [shapes, pushHistory]);
50
68
  const updateShape = React.useCallback((id, updates) => {
51
- setShapes((prev) => prev.map((s) => (s.id === id ? { ...s, ...updates } : s)));
52
- }, []);
69
+ const newShapes = shapes.map((s) => (s.id === id ? { ...s, ...updates } : s));
70
+ setShapes(newShapes);
71
+ pushHistory(newShapes);
72
+ }, [shapes, pushHistory]);
53
73
  const deleteShape = React.useCallback((id) => {
54
- setShapes((prev) => prev.filter((s) => s.id !== id));
74
+ const newShapes = shapes.filter((s) => s.id !== id);
75
+ setShapes(newShapes);
55
76
  if (selectedId === id)
56
77
  setSelectedId(null);
57
- }, [selectedId]);
78
+ pushHistory(newShapes);
79
+ }, [shapes, selectedId, pushHistory]);
58
80
  const toSvg = React.useCallback(() => {
59
81
  const vb = config.viewBox;
60
82
  const children = shapes.map((s) => {
@@ -97,17 +119,162 @@ function useIconEditor(initialSvg) {
97
119
  tool, setTool,
98
120
  addShape, updateShape, deleteShape,
99
121
  toSvg, toReactComponent,
122
+ undo, redo,
123
+ canUndo: historyIdx > 0,
124
+ canRedo: historyIdx < historyRef.current.length - 1,
125
+ snapToGrid, setSnapToGrid,
100
126
  };
101
127
  }
102
128
  // ── Component ───────────────────────────────────────────────────
103
- /** SVG icon editor with grid, snap, and export capabilities. */
129
+ /** SVG icon editor with grid, snap, drawing, and export capabilities. */
104
130
  const NiceIconEditor = ({ initialSvg, gridSize = 24, onSave, onExport, className = "", }) => {
105
131
  const editor = useIconEditor(initialSvg);
106
132
  const svgRef = React.useRef(null);
107
- const handleSave = () => {
108
- const svg = editor.toSvg();
109
- onSave === null || onSave === void 0 ? void 0 : onSave(svg);
133
+ const drawing = React.useRef(false);
134
+ const drawStart = React.useRef({ x: 0, y: 0 });
135
+ const dragStart = React.useRef({ x: 0, y: 0 });
136
+ const draggingShape = React.useRef(null);
137
+ const [pendingShape, setPendingShape] = React.useState(null);
138
+ const vb = editor.config.viewBox;
139
+ // Keyboard shortcuts
140
+ React.useEffect(() => {
141
+ const handler = (e) => {
142
+ if (e.key === "Delete" && editor.selectedId) {
143
+ editor.deleteShape(editor.selectedId);
144
+ return;
145
+ }
146
+ if (e.ctrlKey && e.key === "z") {
147
+ e.preventDefault();
148
+ editor.undo();
149
+ return;
150
+ }
151
+ if (e.ctrlKey && e.key === "y") {
152
+ e.preventDefault();
153
+ editor.redo();
154
+ return;
155
+ }
156
+ if (e.key === "v" && !e.ctrlKey)
157
+ editor.setTool("select");
158
+ if (e.key === "c" && !e.ctrlKey)
159
+ editor.setTool("circle");
160
+ if (e.key === "r" && !e.ctrlKey)
161
+ editor.setTool("rect");
162
+ if (e.key === "l" && !e.ctrlKey)
163
+ editor.setTool("line");
164
+ if (e.key === "p" && !e.ctrlKey)
165
+ editor.setTool("path");
166
+ if (e.key === "g" && !e.ctrlKey)
167
+ editor.setSnapToGrid(s => !s);
168
+ if (e.key === "Escape")
169
+ editor.setSelectedId(null);
170
+ };
171
+ window.addEventListener("keydown", handler);
172
+ return () => window.removeEventListener("keydown", handler);
173
+ }, [editor]);
174
+ const snapCoord = (v) => {
175
+ if (!editor.snapToGrid)
176
+ return v;
177
+ return Math.round(v * 2) / 2; // snap to 0.5 grid
110
178
  };
179
+ const getSvgCoord = (e) => {
180
+ const svg = svgRef.current;
181
+ if (!svg)
182
+ return { x: 0, y: 0 };
183
+ const rect = svg.getBoundingClientRect();
184
+ return {
185
+ x: snapCoord(((e.clientX - rect.left) / rect.width) * vb),
186
+ y: snapCoord(((e.clientY - rect.top) / rect.height) * vb),
187
+ };
188
+ };
189
+ const handleMouseDown = (e) => {
190
+ const { x, y } = getSvgCoord(e);
191
+ if (editor.tool === "select") {
192
+ // Check if clicking on a shape for drag
193
+ const hit = editor.shapes.find(s => {
194
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
195
+ if (s.type === "rect")
196
+ return x >= ((_a = s.x) !== null && _a !== void 0 ? _a : 0) && x <= ((_b = s.x) !== null && _b !== void 0 ? _b : 0) + ((_c = s.width) !== null && _c !== void 0 ? _c : 0) && y >= ((_d = s.y) !== null && _d !== void 0 ? _d : 0) && y <= ((_e = s.y) !== null && _e !== void 0 ? _e : 0) + ((_f = s.height) !== null && _f !== void 0 ? _f : 0);
197
+ if (s.type === "circle")
198
+ return Math.hypot(x - ((_g = s.cx) !== null && _g !== void 0 ? _g : 0), y - ((_h = s.cy) !== null && _h !== void 0 ? _h : 0)) <= ((_j = s.r) !== null && _j !== void 0 ? _j : 0);
199
+ return false;
200
+ });
201
+ if (hit) {
202
+ editor.setSelectedId(hit.id);
203
+ draggingShape.current = hit.id;
204
+ dragStart.current = { x, y };
205
+ }
206
+ else {
207
+ editor.setSelectedId(null);
208
+ }
209
+ return;
210
+ }
211
+ drawing.current = true;
212
+ drawStart.current = { x, y };
213
+ if (editor.tool === "circle") {
214
+ setPendingShape({ id: "pending", type: "circle", cx: x, cy: y, r: 0 });
215
+ }
216
+ else if (editor.tool === "rect") {
217
+ setPendingShape({ id: "pending", type: "rect", x, y, width: 0, height: 0 });
218
+ }
219
+ else if (editor.tool === "line") {
220
+ setPendingShape({ id: "pending", type: "line", x1: x, y1: y, x2: x, y2: y });
221
+ }
222
+ };
223
+ const handleMouseMove = (e) => {
224
+ var _a, _b, _c, _d;
225
+ const { x, y } = getSvgCoord(e);
226
+ // Dragging existing shape
227
+ if (draggingShape.current) {
228
+ const dx = x - dragStart.current.x;
229
+ const dy = y - dragStart.current.y;
230
+ const shape = editor.shapes.find(s => s.id === draggingShape.current);
231
+ if (shape) {
232
+ if (shape.type === "rect")
233
+ editor.updateShape(shape.id, { x: ((_a = shape.x) !== null && _a !== void 0 ? _a : 0) + dx, y: ((_b = shape.y) !== null && _b !== void 0 ? _b : 0) + dy });
234
+ if (shape.type === "circle")
235
+ editor.updateShape(shape.id, { cx: ((_c = shape.cx) !== null && _c !== void 0 ? _c : 0) + dx, cy: ((_d = shape.cy) !== null && _d !== void 0 ? _d : 0) + dy });
236
+ dragStart.current = { x, y };
237
+ }
238
+ return;
239
+ }
240
+ if (!drawing.current)
241
+ return;
242
+ const sx = drawStart.current.x, sy = drawStart.current.y;
243
+ if (editor.tool === "circle") {
244
+ setPendingShape({ id: "pending", type: "circle", cx: sx, cy: sy, r: Math.hypot(x - sx, y - sy) });
245
+ }
246
+ else if (editor.tool === "rect") {
247
+ setPendingShape({ id: "pending", type: "rect", x: Math.min(sx, x), y: Math.min(sy, y), width: Math.abs(x - sx), height: Math.abs(y - sy) });
248
+ }
249
+ else if (editor.tool === "line") {
250
+ setPendingShape({ id: "pending", type: "line", x1: sx, y1: sy, x2: x, y2: y });
251
+ }
252
+ };
253
+ const handleMouseUp = () => {
254
+ var _a, _b, _c, _d, _e, _f, _g;
255
+ draggingShape.current = null;
256
+ if (!drawing.current || !pendingShape) {
257
+ drawing.current = false;
258
+ return;
259
+ }
260
+ drawing.current = false;
261
+ // Only add if shape has non-zero size
262
+ const { id: _, ...shapeData } = pendingShape;
263
+ if (pendingShape.type === "circle" && ((_a = pendingShape.r) !== null && _a !== void 0 ? _a : 0) > 0.2) {
264
+ editor.addShape(shapeData);
265
+ }
266
+ else if (pendingShape.type === "rect" && ((_b = pendingShape.width) !== null && _b !== void 0 ? _b : 0) > 0.2 && ((_c = pendingShape.height) !== null && _c !== void 0 ? _c : 0) > 0.2) {
267
+ editor.addShape(shapeData);
268
+ }
269
+ else if (pendingShape.type === "line") {
270
+ const dx = ((_d = pendingShape.x2) !== null && _d !== void 0 ? _d : 0) - ((_e = pendingShape.x1) !== null && _e !== void 0 ? _e : 0);
271
+ const dy = ((_f = pendingShape.y2) !== null && _f !== void 0 ? _f : 0) - ((_g = pendingShape.y1) !== null && _g !== void 0 ? _g : 0);
272
+ if (Math.hypot(dx, dy) > 0.2)
273
+ editor.addShape(shapeData);
274
+ }
275
+ setPendingShape(null);
276
+ };
277
+ const handleSave = () => onSave === null || onSave === void 0 ? void 0 : onSave(editor.toSvg());
111
278
  const handleExportPng = async (sizes = [16, 24, 32, 48, 64, 128]) => {
112
279
  const svg = editor.toSvg();
113
280
  const pngSizes = new Map();
@@ -120,126 +287,44 @@ const NiceIconEditor = ({ initialSvg, gridSize = 24, onSave, onExport, className
120
287
  const blob = new Blob([svg], { type: "image/svg+xml" });
121
288
  const url = URL.createObjectURL(blob);
122
289
  await new Promise((resolve) => {
123
- img.onload = () => {
124
- ctx.drawImage(img, 0, 0, size, size);
125
- canvas.toBlob((b) => {
126
- if (b)
127
- pngSizes.set(size, b);
128
- URL.revokeObjectURL(url);
129
- resolve();
130
- }, "image/png");
131
- };
290
+ img.onload = () => { ctx.drawImage(img, 0, 0, size, size); canvas.toBlob((b) => { if (b)
291
+ pngSizes.set(size, b); URL.revokeObjectURL(url); resolve(); }, "image/png"); };
132
292
  img.src = url;
133
293
  });
134
294
  }
135
- onExport === null || onExport === void 0 ? void 0 : onExport({
136
- svg,
137
- reactComponent: editor.toReactComponent("MyIcon"),
138
- pngSizes,
139
- });
295
+ onExport === null || onExport === void 0 ? void 0 : onExport({ svg, reactComponent: editor.toReactComponent("MyIcon"), pngSizes });
140
296
  };
141
- const vb = editor.config.viewBox;
142
- return React.createElement("div", {
143
- className: `nice-icon-editor ${className}`,
144
- style: { display: "flex", flexDirection: "column", gap: 8, background: "#1a1b1e", color: "#c1c2c5", padding: 12, borderRadius: 8 },
145
- },
146
- // Toolbar
147
- React.createElement("div", { style: { display: "flex", gap: 4, fontSize: 12 } }, ["select", "path", "circle", "rect", "line"].map((t) => React.createElement("button", {
148
- key: t,
149
- onClick: () => editor.setTool(t),
150
- style: {
151
- padding: "4px 8px", borderRadius: 4, border: "none", cursor: "pointer",
152
- background: editor.tool === t ? "#339af0" : "#2c2e33",
153
- color: editor.tool === t ? "#fff" : "#c1c2c5",
154
- },
155
- }, t)), React.createElement("div", { style: { flex: 1 } }), React.createElement("button", {
156
- onClick: handleSave,
157
- style: { padding: "4px 12px", borderRadius: 4, border: "none", cursor: "pointer", background: "#2f9e44", color: "#fff" },
158
- }, "Save SVG"), React.createElement("button", {
159
- onClick: () => handleExportPng(),
160
- style: { padding: "4px 12px", borderRadius: 4, border: "none", cursor: "pointer", background: "#228be6", color: "#fff" },
161
- }, "Export PNG")),
162
- // Canvas
163
- React.createElement("div", { style: { display: "flex", gap: 12 } }, React.createElement("div", {
164
- style: { width: 400, height: 400, background: "#141517", borderRadius: 6, position: "relative", overflow: "hidden" },
165
- },
166
- // Grid
167
- React.createElement("svg", {
168
- ref: svgRef,
169
- width: 400, height: 400,
170
- viewBox: `0 0 ${vb} ${vb}`,
171
- style: { position: "absolute", inset: 0 },
172
- },
173
- // Grid lines
174
- ...Array.from({ length: vb + 1 }, (_, i) => React.createElement("line", {
175
- key: `grid-${i}`,
176
- x1: i, y1: 0, x2: i, y2: vb,
177
- stroke: "rgba(255,255,255,0.08)", strokeWidth: 0.05,
178
- })), ...Array.from({ length: vb + 1 }, (_, i) => React.createElement("line", {
179
- key: `gridh-${i}`,
180
- x1: 0, y1: i, x2: vb, y2: i,
181
- stroke: "rgba(255,255,255,0.08)", strokeWidth: 0.05,
182
- })),
183
- // Shapes
184
- ...editor.shapes.map((s) => {
297
+ const renderShape = (s, isPending = false) => {
185
298
  var _a, _b, _c;
186
299
  const fill = (_a = s.fill) !== null && _a !== void 0 ? _a : editor.config.fill;
187
300
  const stroke = (_b = s.stroke) !== null && _b !== void 0 ? _b : editor.config.stroke;
188
301
  const sw = (_c = s.strokeWidth) !== null && _c !== void 0 ? _c : editor.config.strokeWidth;
302
+ const isSelected = !isPending && s.id === editor.selectedId;
303
+ const selProps = isSelected ? { strokeDasharray: "0.5 0.3" } : {};
304
+ const evtProps = isPending ? {} : { onClick: (e) => { e.stopPropagation(); editor.setSelectedId(s.id); }, style: { cursor: "pointer" } };
189
305
  switch (s.type) {
190
- case "path":
191
- return React.createElement("path", {
192
- key: s.id, d: s.d, fill, stroke,
193
- strokeWidth: sw / (400 / vb),
194
- strokeLinecap: editor.config.strokeLinecap,
195
- strokeLinejoin: editor.config.strokeLinejoin,
196
- onClick: () => editor.setSelectedId(s.id),
197
- style: { cursor: "pointer" },
198
- });
199
- case "circle":
200
- return React.createElement("circle", {
201
- key: s.id, cx: s.cx, cy: s.cy, r: s.r,
202
- fill, stroke, strokeWidth: sw / (400 / vb),
203
- onClick: () => editor.setSelectedId(s.id),
204
- style: { cursor: "pointer" },
205
- });
206
- case "rect":
207
- return React.createElement("rect", {
208
- key: s.id, x: s.x, y: s.y, width: s.width, height: s.height,
209
- fill, stroke, strokeWidth: sw / (400 / vb), rx: 0.5,
210
- onClick: () => editor.setSelectedId(s.id),
211
- style: { cursor: "pointer" },
212
- });
306
+ case "path": return jsx("path", { d: s.d, fill: fill, stroke: isSelected ? "#339af0" : stroke, strokeWidth: sw * (vb / 400), strokeLinecap: editor.config.strokeLinecap, strokeLinejoin: editor.config.strokeLinejoin, ...evtProps }, s.id);
307
+ case "circle": return jsx("circle", { cx: s.cx, cy: s.cy, r: s.r, fill: isPending ? "rgba(51,154,240,0.15)" : fill, stroke: isSelected ? "#339af0" : (isPending ? "#339af0" : stroke), strokeWidth: sw * (vb / 400), ...selProps, ...evtProps }, s.id);
308
+ case "rect": return jsx("rect", { x: s.x, y: s.y, width: s.width, height: s.height, fill: isPending ? "rgba(51,154,240,0.15)" : fill, stroke: isSelected ? "#339af0" : (isPending ? "#339af0" : stroke), strokeWidth: sw * (vb / 400), rx: 0.3, ...selProps, ...evtProps }, s.id);
309
+ case "line": return jsx("line", { x1: s.x1, y1: s.y1, x2: s.x2, y2: s.y2, stroke: isSelected ? "#339af0" : (isPending ? "#339af0" : stroke), strokeWidth: sw * (vb / 400), strokeLinecap: editor.config.strokeLinecap, ...selProps, ...evtProps }, s.id);
213
310
  default: return null;
214
311
  }
215
- }))),
216
- // Side panel config
217
- React.createElement("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: 8, fontSize: 12 } }, React.createElement("div", null, React.createElement("label", null, "Grid Size: "), React.createElement("select", {
218
- value: editor.config.viewBox,
219
- onChange: (e) => editor.setConfig({ ...editor.config, viewBox: Number(e.target.value) }),
220
- style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 3, padding: 2 },
221
- }, React.createElement("option", { value: 16 }, "16×16"), React.createElement("option", { value: 24 }, "24×24"), React.createElement("option", { value: 32 }, "32×32"), React.createElement("option", { value: 48 }, "48×48"))), React.createElement("div", null, React.createElement("label", null, "Stroke Width: "), React.createElement("input", {
222
- type: "range", min: 0.5, max: 4, step: 0.25, value: editor.config.strokeWidth,
223
- onChange: (e) => editor.setConfig({ ...editor.config, strokeWidth: Number(e.target.value) }),
224
- style: { width: 100 },
225
- }), React.createElement("span", null, ` ${editor.config.strokeWidth}`)), React.createElement("div", null, React.createElement("label", null, "Variant: "), ["outline", "filled", "duotone"].map((v) => React.createElement("button", {
226
- key: v,
227
- onClick: () => editor.setConfig({ ...editor.config, variant: v }),
228
- style: {
229
- padding: "2px 6px", marginLeft: 2, borderRadius: 3, border: "none", cursor: "pointer",
230
- background: editor.config.variant === v ? "#339af0" : "#2c2e33",
231
- color: editor.config.variant === v ? "#fff" : "#c1c2c5",
232
- fontSize: 11,
233
- },
234
- }, v))),
235
- // Preview at multiple sizes
236
- React.createElement("div", { style: { marginTop: 16 } }, React.createElement("strong", null, "Preview"), React.createElement("div", { style: { display: "flex", gap: 8, marginTop: 8, alignItems: "end" } }, ...[16, 24, 32, 48].map((size) => React.createElement("div", {
237
- key: size,
238
- style: { textAlign: "center", fontSize: 10, color: "#868e96" },
239
- dangerouslySetInnerHTML: {
240
- __html: `<div style="background:#fff;display:inline-block;padding:4px;border-radius:3px">${editor.toSvg().replace(/width="\d+"/, `width="${size}"`).replace(/height="\d+"/, `height="${size}"`)}</div><div>${size}px</div>`,
241
- },
242
- })))), React.createElement("div", { style: { marginTop: 8 } }, React.createElement("strong", null, "Shapes: "), React.createElement("span", null, editor.shapes.length)))));
312
+ };
313
+ const toolBtnStyle = (active) => ({
314
+ padding: "4px 8px", borderRadius: 4, border: "none", cursor: "pointer",
315
+ background: active ? "#339af0" : "#2c2e33", color: active ? "#fff" : "#c1c2c5", fontSize: 11,
316
+ });
317
+ return (jsxs("div", { className: `nice-icon-editor ${className}`, style: { display: "flex", flexDirection: "column", gap: 8, background: "#1a1b1e", color: "#c1c2c5", padding: 12, borderRadius: 8 }, children: [jsxs("div", { style: { display: "flex", gap: 4, fontSize: 12, alignItems: "center", flexWrap: "wrap" }, children: [["select", "path", "circle", "rect", "line"].map((t) => (jsxs("button", { onClick: () => editor.setTool(t), style: toolBtnStyle(editor.tool === t), children: [t, " (", t[0], ")"] }, t))), jsx("div", { style: { width: 1, height: 20, background: "#373a40" } }), jsx("button", { onClick: editor.undo, disabled: !editor.canUndo, style: toolBtnStyle(false), title: "Undo (Ctrl+Z)", children: "\u21A9" }), jsx("button", { onClick: editor.redo, disabled: !editor.canRedo, style: toolBtnStyle(false), title: "Redo (Ctrl+Y)", children: "\u21AA" }), jsx("div", { style: { width: 1, height: 20, background: "#373a40" } }), jsx("button", { onClick: () => editor.setSnapToGrid(s => !s), style: toolBtnStyle(editor.snapToGrid), title: "Snap to Grid (G)", children: "\u229E" }), editor.selectedId && jsx("button", { onClick: () => editor.deleteShape(editor.selectedId), style: { ...toolBtnStyle(false), color: "#ff6b6b" }, title: "Delete (Del)", children: "\u2715" }), jsx("div", { style: { flex: 1 } }), jsx("button", { onClick: handleSave, style: { padding: "4px 12px", borderRadius: 4, border: "none", cursor: "pointer", background: "#2f9e44", color: "#fff", fontSize: 11 }, children: "Save SVG" }), jsx("button", { onClick: () => handleExportPng(), style: { padding: "4px 12px", borderRadius: 4, border: "none", cursor: "pointer", background: "#228be6", color: "#fff", fontSize: 11 }, children: "Export PNG" })] }), jsxs("div", { style: { display: "flex", gap: 12 }, children: [jsx("div", { style: { width: 400, height: 400, background: "#141517", borderRadius: 6, position: "relative", overflow: "hidden" }, children: jsxs("svg", { ref: svgRef, width: 400, height: 400, viewBox: `0 0 ${vb} ${vb}`, style: { position: "absolute", inset: 0, cursor: editor.tool === "select" ? "default" : "crosshair" }, onMouseDown: handleMouseDown, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, onMouseLeave: handleMouseUp, children: [Array.from({ length: vb + 1 }, (_, i) => (jsxs(React.Fragment, { children: [jsx("line", { x1: i, y1: 0, x2: i, y2: vb, stroke: "rgba(255,255,255,0.08)", strokeWidth: 0.05 }), jsx("line", { x1: 0, y1: i, x2: vb, y2: i, stroke: "rgba(255,255,255,0.08)", strokeWidth: 0.05 })] }, `g${i}`))), jsx("line", { x1: vb / 2, y1: 0, x2: vb / 2, y2: vb, stroke: "rgba(255,255,255,0.15)", strokeWidth: 0.05 }), jsx("line", { x1: 0, y1: vb / 2, x2: vb, y2: vb / 2, stroke: "rgba(255,255,255,0.15)", strokeWidth: 0.05 }), editor.shapes.map(s => renderShape(s)), pendingShape && renderShape(pendingShape, true)] }) }), jsxs("div", { style: { flex: 1, display: "flex", flexDirection: "column", gap: 8, fontSize: 12 }, children: [jsxs("div", { children: [jsx("label", { children: "Grid Size: " }), jsxs("select", { value: editor.config.viewBox, onChange: e => editor.setConfig({ ...editor.config, viewBox: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 3, padding: 2 }, children: [jsx("option", { value: 16, children: "16\u00D716" }), jsx("option", { value: 24, children: "24\u00D724" }), jsx("option", { value: 32, children: "32\u00D732" }), jsx("option", { value: 48, children: "48\u00D748" })] })] }), jsxs("div", { children: [jsx("label", { children: "Stroke Width: " }), jsx("input", { type: "range", min: 0.5, max: 4, step: 0.25, value: editor.config.strokeWidth, onChange: e => editor.setConfig({ ...editor.config, strokeWidth: Number(e.target.value) }), style: { width: 100 } }), jsxs("span", { children: [" ", editor.config.strokeWidth] })] }), jsxs("div", { children: [jsx("label", { children: "Variant: " }), ["outline", "filled", "duotone"].map(v => (jsx("button", { onClick: () => editor.setConfig({ ...editor.config, variant: v }), style: { padding: "2px 6px", marginLeft: 2, borderRadius: 3, border: "none", cursor: "pointer",
318
+ background: editor.config.variant === v ? "#339af0" : "#2c2e33",
319
+ color: editor.config.variant === v ? "#fff" : "#c1c2c5", fontSize: 11 }, children: v }, v)))] }), editor.selectedId && (() => {
320
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
321
+ const sel = editor.shapes.find(s => s.id === editor.selectedId);
322
+ if (!sel)
323
+ return null;
324
+ return (jsxs("div", { style: { borderTop: "1px solid #373a40", paddingTop: 8 }, children: [jsxs("strong", { children: ["Selected: ", sel.type] }), sel.type === "rect" && (jsxs("div", { style: { display: "grid", gridTemplateColumns: "60px 1fr", gap: 2, marginTop: 4, fontSize: 11 }, children: [jsx("span", { children: "X:" }), jsx("input", { type: "number", value: (_a = sel.x) !== null && _a !== void 0 ? _a : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { x: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } }), jsx("span", { children: "Y:" }), jsx("input", { type: "number", value: (_b = sel.y) !== null && _b !== void 0 ? _b : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { y: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } }), jsx("span", { children: "Width:" }), jsx("input", { type: "number", value: (_c = sel.width) !== null && _c !== void 0 ? _c : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { width: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } }), jsx("span", { children: "Height:" }), jsx("input", { type: "number", value: (_d = sel.height) !== null && _d !== void 0 ? _d : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { height: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } })] })), sel.type === "circle" && (jsxs("div", { style: { display: "grid", gridTemplateColumns: "60px 1fr", gap: 2, marginTop: 4, fontSize: 11 }, children: [jsx("span", { children: "CX:" }), jsx("input", { type: "number", value: (_e = sel.cx) !== null && _e !== void 0 ? _e : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { cx: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } }), jsx("span", { children: "CY:" }), jsx("input", { type: "number", value: (_f = sel.cy) !== null && _f !== void 0 ? _f : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { cy: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } }), jsx("span", { children: "Radius:" }), jsx("input", { type: "number", value: (_g = sel.r) !== null && _g !== void 0 ? _g : 0, step: 0.5, onChange: e => editor.updateShape(sel.id, { r: Number(e.target.value) }), style: { background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 2, padding: 1, fontSize: 10 } })] })), sel.type === "path" && (jsxs("div", { style: { marginTop: 4 }, children: [jsx("label", { style: { fontSize: 10 }, children: "SVG Path:" }), jsx("textarea", { value: (_h = sel.d) !== null && _h !== void 0 ? _h : "", onChange: e => editor.updateShape(sel.id, { d: e.target.value }), rows: 3, style: { width: "100%", background: "#2c2e33", color: "#c1c2c5", border: "1px solid #373a40", borderRadius: 3, padding: 4, fontSize: 10, fontFamily: "monospace", resize: "vertical" } })] })), jsxs("div", { style: { marginTop: 4, display: "flex", gap: 4, alignItems: "center" }, children: [jsx("span", { style: { fontSize: 10 }, children: "Fill:" }), jsx("input", { type: "color", value: (_j = sel.fill) !== null && _j !== void 0 ? _j : "#000000", onChange: e => editor.updateShape(sel.id, { fill: e.target.value }), style: { width: 24, height: 18, border: "none", padding: 0, cursor: "pointer" } }), jsx("span", { style: { fontSize: 10 }, children: "Stroke:" }), jsx("input", { type: "color", value: (_k = sel.stroke) !== null && _k !== void 0 ? _k : "#000000", onChange: e => editor.updateShape(sel.id, { stroke: e.target.value }), style: { width: 24, height: 18, border: "none", padding: 0, cursor: "pointer" } })] })] }));
325
+ })(), jsxs("div", { style: { borderTop: "1px solid #373a40", paddingTop: 8 }, children: [jsxs("strong", { children: ["Shapes (", editor.shapes.length, ")"] }), jsx("div", { style: { marginTop: 4, maxHeight: 120, overflowY: "auto" }, children: editor.shapes.map(s => (jsxs("div", { onClick: () => editor.setSelectedId(s.id), style: { padding: "2px 4px", cursor: "pointer", borderRadius: 2, fontSize: 11,
326
+ background: editor.selectedId === s.id ? "#339af0" : "transparent",
327
+ color: editor.selectedId === s.id ? "#fff" : "#c1c2c5" }, children: [s.type, " ", s.id.slice(-4)] }, s.id))) })] }), jsxs("div", { style: { borderTop: "1px solid #373a40", paddingTop: 8 }, children: [jsx("strong", { children: "Preview" }), jsx("div", { style: { display: "flex", gap: 8, marginTop: 8, alignItems: "end" }, children: [16, 24, 32, 48].map(size => (jsxs("div", { style: { textAlign: "center", fontSize: 10, color: "#868e96" }, children: [jsx("div", { style: { background: "#fff", display: "inline-block", padding: 4, borderRadius: 3 }, dangerouslySetInnerHTML: { __html: editor.toSvg().replace(/width="\d+"/, `width="${size}"`).replace(/height="\d+"/, `height="${size}"`) } }), jsxs("div", { children: [size, "px"] })] }, size))) })] })] })] })] }));
243
328
  };
244
329
 
245
330
  export { NiceIconEditor, useIconEditor };
@@ -1 +1 @@
1
- {"version":3,"file":"NiceIconEditor.js","sources":["../../../src/icon/NiceIconEditor.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NiceIconEditor.js","sources":["../../../src/icon/NiceIconEditor.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -1,9 +1,14 @@
1
- export { PixelEditor } from './pixel/PixelEditor.js';
2
- export { VectorEditor } from './vector/VectorEditor.js';
3
- export { default as PhotoEditor } from './photo/PhotoEditor.js';
4
- export { AnimationEditor } from './animation/AnimationEditor.js';
5
- export { default as AnimatedPerson } from './animation/AnimatedPerson.js';
6
- export { GameAsset2dEditor } from './game/GameAsset2dEditor.js';
1
+ export { NicePixelEditor, PixelEditor } from './pixel/PixelEditor.js';
2
+ export { NiceVectorEditor, VectorEditor } from './vector/VectorEditor.js';
3
+ export { default as NicePhotoEditor, default as PhotoEditor } from './photo/PhotoEditor.js';
4
+ export { AnimationEditor, NiceAnimationEditor } from './animation/AnimationEditor.js';
5
+ export { default as AnimatedPerson, default as NiceAnimatedPerson } from './animation/AnimatedPerson.js';
6
+ export { ALL_DIRECTIONS, applyIsometricProjection, assembleSprite, createPartData, generateAllDirections, generateMirroredDirections, generateRecolorMap, getAllParts, getPart, getPartsByCategory, getPartsBySlot, mirrorPartH, registerPart, registerParts, render8DirSpriteSheet, renderPart, shiftHue } from './pixel/spriteGeneratorCore.js';
7
+ export { CHARACTER_PRESETS, CLOTHING_PALETTES, HAIR_PALETTES, SKIN_PALETTES, initCharacterParts } from './pixel/characterGeneratorPresets.js';
8
+ export { BUILDING_PRESETS, ROOF_PALETTES, WALL_PALETTES, assembleBuildingFromConfig, initBuildingParts } from './pixel/buildingGeneratorPresets.js';
9
+ export { ANIMAL_PRESETS, FEATHER_PALETTES, FUR_PALETTES, SCALE_PALETTES, initAnimalParts } from './pixel/animalGeneratorPresets.js';
10
+ export { default as NiceSpriteGeneratorPanel, default as SpriteGeneratorPanel } from './pixel/SpriteGeneratorPanel.js';
11
+ export { GameAsset2dEditor, NiceGameAsset2dEditor } from './game/GameAsset2dEditor.js';
7
12
  export { useGameAssetEditor } from './game/useGameAssetEditor.js';
8
13
  export { NiceI18nProvider, useNiceTranslation } from './core/i18n.js';
9
14
  export { applyDithering, createReferenceOverlay, ditherAtkinson, ditherFloydSteinberg, ditherOrdered, extractPalette, hexPaletteToRGBA, renderReferenceOverlay } from './pixel/pixelEditorUtils.js';
@@ -18,15 +23,15 @@ export { solveTwoBoneIK } from './animation/rig/ik.js';
18
23
  export { deg2rad, lerpAngle, solveFK } from './animation/rig/rigMath.js';
19
24
  export { blendPose, ease, tweenPose } from './animation/rig/poseOps.js';
20
25
  export { POSE_ANGRY, POSE_DANCE_A, POSE_HAPPY, RIG_HERO, RIG_ROBOT, RIG_SLIM } from './animation/rig/presets.js';
21
- export { default as RiggedBody } from './animation/rig/RiggedBody.js';
22
- export { default as RigPlayer } from './animation/rig/RigPlayer.js';
26
+ export { default as NiceRiggedBody, default as RiggedBody } from './animation/rig/RiggedBody.js';
27
+ export { default as NiceRigPlayer, default as RigPlayer } from './animation/rig/RigPlayer.js';
23
28
  export { playRigFromChoreo, rigPoseFor } from './animation/rig/choreoRigBridge.js';
24
29
  export { ChoreoBuilder, compile, runCannon, runRounds, runSeq, runWave, seq } from './animation/choreoDSL.js';
25
30
  export { booChoreo, danceParty, showcaseAll, waveScoreChoreo } from './animation/choreography.js';
26
- export { default as Audience } from './animation/Audience.js';
31
+ export { default as Audience, default as NiceAudience } from './animation/Audience.js';
27
32
  export { attachScoreReactions, onScore, playIntro, reactionForScore, scoreBus, simulateScore } from './animation/karaokeIntegration.js';
28
- export { BodyRenderer, BodyRenderer as BodyRendererDefault } from './animation/BodyRenderer.js';
29
- export { HEAD_RENDERERS, Head } from './animation/shapes/heads.js';
33
+ export { BodyRenderer, NiceBodyRenderer as BodyRendererDefault, NiceBodyRenderer, NiceBodyRenderer as NiceBodyRendererDefault } from './animation/BodyRenderer.js';
34
+ export { HEAD_RENDERERS, Head, NiceHead } from './animation/shapes/heads.js';
30
35
  export { EYES_RENDERERS, Eyes } from './animation/shapes/eyes.js';
31
36
  export { NOSE_RENDERERS, Nose } from './animation/shapes/noses.js';
32
37
  export { MOUTH_RENDERERS, Mouth } from './animation/shapes/mouths.js';
@@ -56,4 +61,9 @@ export { NiceFontEditor, exportToSvgFont, useFontEditor } from './font/NiceFontE
56
61
  export { AdobeCCConnector, FigmaConnector, PexelsProvider, TemplateLibrary, UnsplashProvider, generateAIImage } from './core/integrations.js';
57
62
  export { CommentManager, VersionHistory, WebSocketTransport, useCollaboration, useComments, useVersionHistory } from './core/collaboration.js';
58
63
  export { AnimationCleanup, SpatialHashGrid, retinaMousePosition, setupRetinaCanvas, virtualizeShapes } from './core/fixes.js';
64
+ export { NiceAITools, autoColorize, denoiseImage, removeBackground, upscaleImage, useAITools } from './photo/NiceAITools.js';
65
+ export { COMMON_KERNING_PAIRS, OPENTYPE_FEATURE_PRESETS, autoKern, buildTTF, downloadFont, wrapWOFF } from './font/fontFormatUtils.js';
66
+ export { applyObjectChange, addObject as crdtAddObject, batchUpdate as crdtBatchUpdate, removeObject as crdtRemoveObject, updateCursor as crdtUpdateCursor, updateSelection as crdtUpdateSelection, getRemotePresences, useYjsCollaboration } from './core/yjsCollaboration.js';
67
+ export { BRUSH_PRESETS, NiceBrushEngine, useBrushEngine } from './core/NiceBrushEngine.js';
68
+ export { NiceSvgToCode, convertSvgToCode, useSvgToCode } from './vector/NiceSvgToCode.js';
59
69
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}