@nice2dev/ui-graphics 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/dist/cjs/animation/AnimatedPerson.js +69 -63
  2. package/dist/cjs/animation/AnimatedPerson.js.map +1 -1
  3. package/dist/cjs/animation/AnimationEditor.js +27 -20
  4. package/dist/cjs/animation/AnimationEditor.js.map +1 -1
  5. package/dist/cjs/animation/Audience.js +17 -11
  6. package/dist/cjs/animation/Audience.js.map +1 -1
  7. package/dist/cjs/animation/BodyRenderer.js +7 -7
  8. package/dist/cjs/animation/BodyRenderer.js.map +1 -1
  9. package/dist/cjs/animation/animationHelper.js +83 -52
  10. package/dist/cjs/animation/animationHelper.js.map +1 -1
  11. package/dist/cjs/animation/characterTypes.js +171 -30
  12. package/dist/cjs/animation/characterTypes.js.map +1 -1
  13. package/dist/cjs/animation/choreoDSL.js +114 -62
  14. package/dist/cjs/animation/choreoDSL.js.map +1 -1
  15. package/dist/cjs/animation/karaokeIntegration.js +10 -11
  16. package/dist/cjs/animation/karaokeIntegration.js.map +1 -1
  17. package/dist/cjs/animation/lottieExport.js +15 -9
  18. package/dist/cjs/animation/lottieExport.js.map +1 -1
  19. package/dist/cjs/animation/motionPath.js +125 -30
  20. package/dist/cjs/animation/motionPath.js.map +1 -1
  21. package/dist/cjs/animation/physics.js +157 -57
  22. package/dist/cjs/animation/physics.js.map +1 -1
  23. package/dist/cjs/animation/rig/RigPlayer.js +7 -6
  24. package/dist/cjs/animation/rig/RigPlayer.js.map +1 -1
  25. package/dist/cjs/animation/rig/RiggedBody.js +7 -7
  26. package/dist/cjs/animation/rig/RiggedBody.js.map +1 -1
  27. package/dist/cjs/animation/rig/choreoRigBridge.js +52 -29
  28. package/dist/cjs/animation/rig/choreoRigBridge.js.map +1 -1
  29. package/dist/cjs/animation/rig/poseOps.js +6 -3
  30. package/dist/cjs/animation/rig/poseOps.js.map +1 -1
  31. package/dist/cjs/animation/shapes/arms.js +7 -6
  32. package/dist/cjs/animation/shapes/arms.js.map +1 -1
  33. package/dist/cjs/animation/shapes/eyes.js +31 -18
  34. package/dist/cjs/animation/shapes/eyes.js.map +1 -1
  35. package/dist/cjs/animation/shapes/hair.js +39 -23
  36. package/dist/cjs/animation/shapes/hair.js.map +1 -1
  37. package/dist/cjs/animation/shapes/heads.js +47 -29
  38. package/dist/cjs/animation/shapes/heads.js.map +1 -1
  39. package/dist/cjs/animation/shapes/headwear.js +26 -14
  40. package/dist/cjs/animation/shapes/headwear.js.map +1 -1
  41. package/dist/cjs/animation/shapes/legs.js +7 -6
  42. package/dist/cjs/animation/shapes/legs.js.map +1 -1
  43. package/dist/cjs/animation/shapes/mouths.js +28 -18
  44. package/dist/cjs/animation/shapes/mouths.js.map +1 -1
  45. package/dist/cjs/animation/shapes/noses.js +18 -9
  46. package/dist/cjs/animation/shapes/noses.js.map +1 -1
  47. package/dist/cjs/animation/shapes/outfits.js +25 -14
  48. package/dist/cjs/animation/shapes/outfits.js.map +1 -1
  49. package/dist/cjs/animation/shapes/torsos.js +5 -4
  50. package/dist/cjs/animation/shapes/torsos.js.map +1 -1
  51. package/dist/cjs/animation/spineExport.js +33 -26
  52. package/dist/cjs/animation/spineExport.js.map +1 -1
  53. package/dist/cjs/core/LocalUI.js +16 -16
  54. package/dist/cjs/core/LocalUI.js.map +1 -1
  55. package/dist/cjs/core/NiceBrushEngine.js +205 -69
  56. package/dist/cjs/core/NiceBrushEngine.js.map +1 -1
  57. package/dist/cjs/core/collaboration.js +35 -21
  58. package/dist/cjs/core/collaboration.js.map +1 -1
  59. package/dist/cjs/core/colorBlindness.js +64 -24
  60. package/dist/cjs/core/colorBlindness.js.map +1 -1
  61. package/dist/cjs/core/dragDrop.js +34 -26
  62. package/dist/cjs/core/dragDrop.js.map +1 -1
  63. package/dist/cjs/core/fixes.js +26 -14
  64. package/dist/cjs/core/fixes.js.map +1 -1
  65. package/dist/cjs/core/gridGuides.js +24 -16
  66. package/dist/cjs/core/gridGuides.js.map +1 -1
  67. package/dist/cjs/core/historyVisual.js +42 -23
  68. package/dist/cjs/core/historyVisual.js.map +1 -1
  69. package/dist/cjs/core/integrations.js +65 -48
  70. package/dist/cjs/core/integrations.js.map +1 -1
  71. package/dist/cjs/core/minimap.js +40 -24
  72. package/dist/cjs/core/minimap.js.map +1 -1
  73. package/dist/cjs/core/plugins.js +10 -6
  74. package/dist/cjs/core/plugins.js.map +1 -1
  75. package/dist/cjs/core/rtl.js +32 -27
  76. package/dist/cjs/core/rtl.js.map +1 -1
  77. package/dist/cjs/core/shortcuts.js +77 -39
  78. package/dist/cjs/core/shortcuts.js.map +1 -1
  79. package/dist/cjs/core/theme.js +68 -61
  80. package/dist/cjs/core/theme.js.map +1 -1
  81. package/dist/cjs/core/yjsCollaboration.js +61 -28
  82. package/dist/cjs/core/yjsCollaboration.js.map +1 -1
  83. package/dist/cjs/font/NiceFontEditor.js +160 -57
  84. package/dist/cjs/font/NiceFontEditor.js.map +1 -1
  85. package/dist/cjs/font/fontFormatUtils.js +37 -24
  86. package/dist/cjs/font/fontFormatUtils.js.map +1 -1
  87. package/dist/cjs/game/GameAsset2dEditor.js +73 -60
  88. package/dist/cjs/game/GameAsset2dEditor.js.map +1 -1
  89. package/dist/cjs/game/gameAssetUtils.js +18 -13
  90. package/dist/cjs/game/gameAssetUtils.js.map +1 -1
  91. package/dist/cjs/game/useGameAssetEditor.js +160 -143
  92. package/dist/cjs/game/useGameAssetEditor.js.map +1 -1
  93. package/dist/cjs/icon/NiceIconEditor.js +329 -106
  94. package/dist/cjs/icon/NiceIconEditor.js.map +1 -1
  95. package/dist/cjs/packages/ui/dist/NiceErrorBoundary-D75yr_WE.js +572 -0
  96. package/dist/cjs/packages/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
  97. package/dist/cjs/packages/ui/dist/NiceForm-CKoJA6NG.js +4979 -0
  98. package/dist/cjs/packages/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
  99. package/dist/cjs/packages/ui/dist/NiceModal-1QX7NhyH.js +98 -0
  100. package/dist/cjs/packages/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
  101. package/dist/cjs/packages/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5244 -0
  102. package/dist/cjs/packages/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
  103. package/dist/cjs/packages/ui/dist/NicePagination-DbE-uOkl.js +174 -0
  104. package/dist/cjs/packages/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
  105. package/dist/cjs/packages/ui/dist/NicePinCodeInput-B8cI8zu8.js +10459 -0
  106. package/dist/cjs/packages/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
  107. package/dist/cjs/packages/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6313 -0
  108. package/dist/cjs/packages/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
  109. package/dist/cjs/packages/ui/dist/NiceTabs-DzLHzwuA.js +1639 -0
  110. package/dist/cjs/packages/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
  111. package/dist/cjs/packages/ui/dist/NiceWindow-DeC83yfE.js +807 -0
  112. package/dist/cjs/packages/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
  113. package/dist/cjs/packages/ui/dist/charts-BAS21jkC.js +3833 -0
  114. package/dist/cjs/packages/ui/dist/charts-BAS21jkC.js.map +1 -0
  115. package/dist/cjs/packages/ui/dist/core-Da43q-pO.js +11683 -0
  116. package/dist/cjs/packages/ui/dist/core-Da43q-pO.js.map +1 -0
  117. package/dist/cjs/packages/ui/dist/index-pAuGTbuB.js +28876 -0
  118. package/dist/cjs/packages/ui/dist/index-pAuGTbuB.js.map +1 -0
  119. package/dist/cjs/photo/FilterThumb.js +7 -5
  120. package/dist/cjs/photo/FilterThumb.js.map +1 -1
  121. package/dist/cjs/photo/NiceAITools.js +78 -32
  122. package/dist/cjs/photo/NiceAITools.js.map +1 -1
  123. package/dist/cjs/photo/PhotoEditor.js +4 -4
  124. package/dist/cjs/photo/PhotoEditor.js.map +1 -1
  125. package/dist/cjs/photo/PhotoEditorCanvas.js +56 -22
  126. package/dist/cjs/photo/PhotoEditorCanvas.js.map +1 -1
  127. package/dist/cjs/photo/PhotoEditorLeftPanel.js +106 -48
  128. package/dist/cjs/photo/PhotoEditorLeftPanel.js.map +1 -1
  129. package/dist/cjs/photo/PhotoEditorToolbar.js +2 -2
  130. package/dist/cjs/photo/PhotoEditorToolbar.js.map +1 -1
  131. package/dist/cjs/photo/photoEditorActions.js +27 -18
  132. package/dist/cjs/photo/photoEditorActions.js.map +1 -1
  133. package/dist/cjs/photo/photoFilters.js +316 -81
  134. package/dist/cjs/photo/photoFilters.js.map +1 -1
  135. package/dist/cjs/photo/photoOverlays.js +521 -165
  136. package/dist/cjs/photo/photoOverlays.js.map +1 -1
  137. package/dist/cjs/photo/photoSelection.js +69 -35
  138. package/dist/cjs/photo/photoSelection.js.map +1 -1
  139. package/dist/cjs/photo/usePhotoEditor.js +203 -97
  140. package/dist/cjs/photo/usePhotoEditor.js.map +1 -1
  141. package/dist/cjs/pixel/HSVPicker.js +32 -19
  142. package/dist/cjs/pixel/HSVPicker.js.map +1 -1
  143. package/dist/cjs/pixel/PixelEditor.js +25 -14
  144. package/dist/cjs/pixel/PixelEditor.js.map +1 -1
  145. package/dist/cjs/pixel/PixelEditorCanvas.js +2 -2
  146. package/dist/cjs/pixel/PixelEditorCanvas.js.map +1 -1
  147. package/dist/cjs/pixel/PixelEditorMenuBar.js +3 -3
  148. package/dist/cjs/pixel/PixelEditorMenuBar.js.map +1 -1
  149. package/dist/cjs/pixel/PixelEditorRightPanel.js +28 -8
  150. package/dist/cjs/pixel/PixelEditorRightPanel.js.map +1 -1
  151. package/dist/cjs/pixel/PixelEditorStatusBar.js +2 -2
  152. package/dist/cjs/pixel/PixelEditorStatusBar.js.map +1 -1
  153. package/dist/cjs/pixel/PixelEditorTimeline.js +3 -4
  154. package/dist/cjs/pixel/PixelEditorTimeline.js.map +1 -1
  155. package/dist/cjs/pixel/PixelEditorToolbar.js +3 -3
  156. package/dist/cjs/pixel/PixelEditorToolbar.js.map +1 -1
  157. package/dist/cjs/pixel/SpriteGeneratorPanel.js +136 -54
  158. package/dist/cjs/pixel/SpriteGeneratorPanel.js.map +1 -1
  159. package/dist/cjs/pixel/asepriteFormat.js +122 -38
  160. package/dist/cjs/pixel/asepriteFormat.js.map +1 -1
  161. package/dist/cjs/pixel/characterGeneratorPresets.js +208 -54
  162. package/dist/cjs/pixel/characterGeneratorPresets.js.map +1 -1
  163. package/dist/cjs/pixel/pixelEditorExports.js +42 -35
  164. package/dist/cjs/pixel/pixelEditorExports.js.map +1 -1
  165. package/dist/cjs/pixel/pixelEditorTypes.js +67 -33
  166. package/dist/cjs/pixel/pixelEditorTypes.js.map +1 -1
  167. package/dist/cjs/pixel/pixelEditorUtils.js +62 -38
  168. package/dist/cjs/pixel/pixelEditorUtils.js.map +1 -1
  169. package/dist/cjs/pixel/spriteGeneratorCore.js +47 -24
  170. package/dist/cjs/pixel/spriteGeneratorCore.js.map +1 -1
  171. package/dist/cjs/pixel/usePixelEditor.js +475 -213
  172. package/dist/cjs/pixel/usePixelEditor.js.map +1 -1
  173. package/dist/cjs/texture/Nice3DTexturePainter.js +201 -71
  174. package/dist/cjs/texture/Nice3DTexturePainter.js.map +1 -1
  175. package/dist/cjs/ui/NiceUIDesigner.js +280 -91
  176. package/dist/cjs/ui/NiceUIDesigner.js.map +1 -1
  177. package/dist/cjs/vector/NiceSvgToCode.js +96 -34
  178. package/dist/cjs/vector/NiceSvgToCode.js.map +1 -1
  179. package/dist/cjs/vector/VectorEditor.js +14 -13
  180. package/dist/cjs/vector/VectorEditor.js.map +1 -1
  181. package/dist/cjs/vector/VectorEditorMenuBar.js +7 -6
  182. package/dist/cjs/vector/VectorEditorMenuBar.js.map +1 -1
  183. package/dist/cjs/vector/VectorEditorRightPanel.js +87 -32
  184. package/dist/cjs/vector/VectorEditorRightPanel.js.map +1 -1
  185. package/dist/cjs/vector/VectorEditorShapeRenderer.js +17 -15
  186. package/dist/cjs/vector/VectorEditorShapeRenderer.js.map +1 -1
  187. package/dist/cjs/vector/VectorEditorStatusBar.js.map +1 -1
  188. package/dist/cjs/vector/useVectorEditor.js +312 -122
  189. package/dist/cjs/vector/useVectorEditor.js.map +1 -1
  190. package/dist/cjs/vector/vectorBooleanOps.js +60 -42
  191. package/dist/cjs/vector/vectorBooleanOps.js.map +1 -1
  192. package/dist/cjs/vector/vectorEditorExport.js +40 -34
  193. package/dist/cjs/vector/vectorEditorExport.js.map +1 -1
  194. package/dist/cjs/vector/vectorGradients.js +41 -40
  195. package/dist/cjs/vector/vectorGradients.js.map +1 -1
  196. package/dist/esm/animation/AnimatedPerson.js +69 -63
  197. package/dist/esm/animation/AnimatedPerson.js.map +1 -1
  198. package/dist/esm/animation/AnimationEditor.js +27 -20
  199. package/dist/esm/animation/AnimationEditor.js.map +1 -1
  200. package/dist/esm/animation/Audience.js +17 -11
  201. package/dist/esm/animation/Audience.js.map +1 -1
  202. package/dist/esm/animation/BodyRenderer.js +7 -7
  203. package/dist/esm/animation/BodyRenderer.js.map +1 -1
  204. package/dist/esm/animation/animationHelper.js +83 -52
  205. package/dist/esm/animation/animationHelper.js.map +1 -1
  206. package/dist/esm/animation/characterTypes.js +171 -30
  207. package/dist/esm/animation/characterTypes.js.map +1 -1
  208. package/dist/esm/animation/choreoDSL.js +114 -62
  209. package/dist/esm/animation/choreoDSL.js.map +1 -1
  210. package/dist/esm/animation/karaokeIntegration.js +10 -11
  211. package/dist/esm/animation/karaokeIntegration.js.map +1 -1
  212. package/dist/esm/animation/lottieExport.js +15 -9
  213. package/dist/esm/animation/lottieExport.js.map +1 -1
  214. package/dist/esm/animation/motionPath.js +125 -30
  215. package/dist/esm/animation/motionPath.js.map +1 -1
  216. package/dist/esm/animation/physics.js +157 -57
  217. package/dist/esm/animation/physics.js.map +1 -1
  218. package/dist/esm/animation/rig/RigPlayer.js +7 -6
  219. package/dist/esm/animation/rig/RigPlayer.js.map +1 -1
  220. package/dist/esm/animation/rig/RiggedBody.js +7 -7
  221. package/dist/esm/animation/rig/RiggedBody.js.map +1 -1
  222. package/dist/esm/animation/rig/choreoRigBridge.js +52 -29
  223. package/dist/esm/animation/rig/choreoRigBridge.js.map +1 -1
  224. package/dist/esm/animation/rig/poseOps.js +6 -3
  225. package/dist/esm/animation/rig/poseOps.js.map +1 -1
  226. package/dist/esm/animation/shapes/arms.js +7 -6
  227. package/dist/esm/animation/shapes/arms.js.map +1 -1
  228. package/dist/esm/animation/shapes/eyes.js +31 -18
  229. package/dist/esm/animation/shapes/eyes.js.map +1 -1
  230. package/dist/esm/animation/shapes/hair.js +39 -23
  231. package/dist/esm/animation/shapes/hair.js.map +1 -1
  232. package/dist/esm/animation/shapes/heads.js +47 -29
  233. package/dist/esm/animation/shapes/heads.js.map +1 -1
  234. package/dist/esm/animation/shapes/headwear.js +26 -14
  235. package/dist/esm/animation/shapes/headwear.js.map +1 -1
  236. package/dist/esm/animation/shapes/legs.js +7 -6
  237. package/dist/esm/animation/shapes/legs.js.map +1 -1
  238. package/dist/esm/animation/shapes/mouths.js +28 -18
  239. package/dist/esm/animation/shapes/mouths.js.map +1 -1
  240. package/dist/esm/animation/shapes/noses.js +18 -9
  241. package/dist/esm/animation/shapes/noses.js.map +1 -1
  242. package/dist/esm/animation/shapes/outfits.js +25 -14
  243. package/dist/esm/animation/shapes/outfits.js.map +1 -1
  244. package/dist/esm/animation/shapes/torsos.js +5 -4
  245. package/dist/esm/animation/shapes/torsos.js.map +1 -1
  246. package/dist/esm/animation/spineExport.js +33 -26
  247. package/dist/esm/animation/spineExport.js.map +1 -1
  248. package/dist/esm/core/LocalUI.js +16 -16
  249. package/dist/esm/core/LocalUI.js.map +1 -1
  250. package/dist/esm/core/NiceBrushEngine.js +205 -69
  251. package/dist/esm/core/NiceBrushEngine.js.map +1 -1
  252. package/dist/esm/core/collaboration.js +35 -21
  253. package/dist/esm/core/collaboration.js.map +1 -1
  254. package/dist/esm/core/colorBlindness.js +64 -24
  255. package/dist/esm/core/colorBlindness.js.map +1 -1
  256. package/dist/esm/core/dragDrop.js +34 -26
  257. package/dist/esm/core/dragDrop.js.map +1 -1
  258. package/dist/esm/core/fixes.js +26 -14
  259. package/dist/esm/core/fixes.js.map +1 -1
  260. package/dist/esm/core/gridGuides.js +24 -16
  261. package/dist/esm/core/gridGuides.js.map +1 -1
  262. package/dist/esm/core/historyVisual.js +42 -23
  263. package/dist/esm/core/historyVisual.js.map +1 -1
  264. package/dist/esm/core/integrations.js +65 -48
  265. package/dist/esm/core/integrations.js.map +1 -1
  266. package/dist/esm/core/minimap.js +40 -24
  267. package/dist/esm/core/minimap.js.map +1 -1
  268. package/dist/esm/core/plugins.js +10 -6
  269. package/dist/esm/core/plugins.js.map +1 -1
  270. package/dist/esm/core/rtl.js +32 -27
  271. package/dist/esm/core/rtl.js.map +1 -1
  272. package/dist/esm/core/shortcuts.js +77 -39
  273. package/dist/esm/core/shortcuts.js.map +1 -1
  274. package/dist/esm/core/theme.js +68 -61
  275. package/dist/esm/core/theme.js.map +1 -1
  276. package/dist/esm/core/yjsCollaboration.js +61 -28
  277. package/dist/esm/core/yjsCollaboration.js.map +1 -1
  278. package/dist/esm/font/NiceFontEditor.js +160 -57
  279. package/dist/esm/font/NiceFontEditor.js.map +1 -1
  280. package/dist/esm/font/fontFormatUtils.js +37 -24
  281. package/dist/esm/font/fontFormatUtils.js.map +1 -1
  282. package/dist/esm/game/GameAsset2dEditor.js +73 -60
  283. package/dist/esm/game/GameAsset2dEditor.js.map +1 -1
  284. package/dist/esm/game/gameAssetUtils.js +18 -13
  285. package/dist/esm/game/gameAssetUtils.js.map +1 -1
  286. package/dist/esm/game/useGameAssetEditor.js +160 -143
  287. package/dist/esm/game/useGameAssetEditor.js.map +1 -1
  288. package/dist/esm/icon/NiceIconEditor.js +329 -106
  289. package/dist/esm/icon/NiceIconEditor.js.map +1 -1
  290. package/dist/esm/packages/ui/dist/NiceErrorBoundary-D75yr_WE.js +563 -0
  291. package/dist/esm/packages/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
  292. package/dist/esm/packages/ui/dist/NiceForm-CKoJA6NG.js +4960 -0
  293. package/dist/esm/packages/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
  294. package/dist/esm/packages/ui/dist/NiceModal-1QX7NhyH.js +96 -0
  295. package/dist/esm/packages/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
  296. package/dist/esm/packages/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5201 -0
  297. package/dist/esm/packages/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
  298. package/dist/esm/packages/ui/dist/NicePagination-DbE-uOkl.js +172 -0
  299. package/dist/esm/packages/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
  300. package/dist/esm/packages/ui/dist/NicePinCodeInput-B8cI8zu8.js +10408 -0
  301. package/dist/esm/packages/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
  302. package/dist/esm/packages/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6296 -0
  303. package/dist/esm/packages/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
  304. package/dist/esm/packages/ui/dist/NiceTabs-DzLHzwuA.js +1630 -0
  305. package/dist/esm/packages/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
  306. package/dist/esm/packages/ui/dist/NiceWindow-DeC83yfE.js +796 -0
  307. package/dist/esm/packages/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
  308. package/dist/esm/packages/ui/dist/charts-BAS21jkC.js +3809 -0
  309. package/dist/esm/packages/ui/dist/charts-BAS21jkC.js.map +1 -0
  310. package/dist/esm/packages/ui/dist/core-Da43q-pO.js +11502 -0
  311. package/dist/esm/packages/ui/dist/core-Da43q-pO.js.map +1 -0
  312. package/dist/esm/packages/ui/dist/index-pAuGTbuB.js +28792 -0
  313. package/dist/esm/packages/ui/dist/index-pAuGTbuB.js.map +1 -0
  314. package/dist/esm/photo/FilterThumb.js +7 -5
  315. package/dist/esm/photo/FilterThumb.js.map +1 -1
  316. package/dist/esm/photo/NiceAITools.js +78 -32
  317. package/dist/esm/photo/NiceAITools.js.map +1 -1
  318. package/dist/esm/photo/PhotoEditor.js +4 -4
  319. package/dist/esm/photo/PhotoEditor.js.map +1 -1
  320. package/dist/esm/photo/PhotoEditorCanvas.js +56 -22
  321. package/dist/esm/photo/PhotoEditorCanvas.js.map +1 -1
  322. package/dist/esm/photo/PhotoEditorLeftPanel.js +106 -48
  323. package/dist/esm/photo/PhotoEditorLeftPanel.js.map +1 -1
  324. package/dist/esm/photo/PhotoEditorToolbar.js +2 -2
  325. package/dist/esm/photo/PhotoEditorToolbar.js.map +1 -1
  326. package/dist/esm/photo/photoEditorActions.js +27 -18
  327. package/dist/esm/photo/photoEditorActions.js.map +1 -1
  328. package/dist/esm/photo/photoFilters.js +316 -81
  329. package/dist/esm/photo/photoFilters.js.map +1 -1
  330. package/dist/esm/photo/photoOverlays.js +521 -165
  331. package/dist/esm/photo/photoOverlays.js.map +1 -1
  332. package/dist/esm/photo/photoSelection.js +69 -35
  333. package/dist/esm/photo/photoSelection.js.map +1 -1
  334. package/dist/esm/photo/usePhotoEditor.js +203 -97
  335. package/dist/esm/photo/usePhotoEditor.js.map +1 -1
  336. package/dist/esm/pixel/HSVPicker.js +32 -19
  337. package/dist/esm/pixel/HSVPicker.js.map +1 -1
  338. package/dist/esm/pixel/PixelEditor.js +25 -14
  339. package/dist/esm/pixel/PixelEditor.js.map +1 -1
  340. package/dist/esm/pixel/PixelEditorCanvas.js +2 -2
  341. package/dist/esm/pixel/PixelEditorCanvas.js.map +1 -1
  342. package/dist/esm/pixel/PixelEditorMenuBar.js +3 -3
  343. package/dist/esm/pixel/PixelEditorMenuBar.js.map +1 -1
  344. package/dist/esm/pixel/PixelEditorRightPanel.js +28 -8
  345. package/dist/esm/pixel/PixelEditorRightPanel.js.map +1 -1
  346. package/dist/esm/pixel/PixelEditorStatusBar.js +2 -2
  347. package/dist/esm/pixel/PixelEditorStatusBar.js.map +1 -1
  348. package/dist/esm/pixel/PixelEditorTimeline.js +3 -4
  349. package/dist/esm/pixel/PixelEditorTimeline.js.map +1 -1
  350. package/dist/esm/pixel/PixelEditorToolbar.js +3 -3
  351. package/dist/esm/pixel/PixelEditorToolbar.js.map +1 -1
  352. package/dist/esm/pixel/SpriteGeneratorPanel.js +136 -54
  353. package/dist/esm/pixel/SpriteGeneratorPanel.js.map +1 -1
  354. package/dist/esm/pixel/asepriteFormat.js +122 -38
  355. package/dist/esm/pixel/asepriteFormat.js.map +1 -1
  356. package/dist/esm/pixel/characterGeneratorPresets.js +208 -54
  357. package/dist/esm/pixel/characterGeneratorPresets.js.map +1 -1
  358. package/dist/esm/pixel/pixelEditorExports.js +42 -35
  359. package/dist/esm/pixel/pixelEditorExports.js.map +1 -1
  360. package/dist/esm/pixel/pixelEditorTypes.js +67 -33
  361. package/dist/esm/pixel/pixelEditorTypes.js.map +1 -1
  362. package/dist/esm/pixel/pixelEditorUtils.js +62 -38
  363. package/dist/esm/pixel/pixelEditorUtils.js.map +1 -1
  364. package/dist/esm/pixel/spriteGeneratorCore.js +47 -24
  365. package/dist/esm/pixel/spriteGeneratorCore.js.map +1 -1
  366. package/dist/esm/pixel/usePixelEditor.js +475 -213
  367. package/dist/esm/pixel/usePixelEditor.js.map +1 -1
  368. package/dist/esm/texture/Nice3DTexturePainter.js +201 -71
  369. package/dist/esm/texture/Nice3DTexturePainter.js.map +1 -1
  370. package/dist/esm/ui/NiceUIDesigner.js +280 -91
  371. package/dist/esm/ui/NiceUIDesigner.js.map +1 -1
  372. package/dist/esm/vector/NiceSvgToCode.js +96 -34
  373. package/dist/esm/vector/NiceSvgToCode.js.map +1 -1
  374. package/dist/esm/vector/VectorEditor.js +14 -13
  375. package/dist/esm/vector/VectorEditor.js.map +1 -1
  376. package/dist/esm/vector/VectorEditorMenuBar.js +7 -6
  377. package/dist/esm/vector/VectorEditorMenuBar.js.map +1 -1
  378. package/dist/esm/vector/VectorEditorRightPanel.js +87 -32
  379. package/dist/esm/vector/VectorEditorRightPanel.js.map +1 -1
  380. package/dist/esm/vector/VectorEditorShapeRenderer.js +17 -15
  381. package/dist/esm/vector/VectorEditorShapeRenderer.js.map +1 -1
  382. package/dist/esm/vector/VectorEditorStatusBar.js.map +1 -1
  383. package/dist/esm/vector/useVectorEditor.js +312 -122
  384. package/dist/esm/vector/useVectorEditor.js.map +1 -1
  385. package/dist/esm/vector/vectorBooleanOps.js +60 -42
  386. package/dist/esm/vector/vectorBooleanOps.js.map +1 -1
  387. package/dist/esm/vector/vectorEditorExport.js +40 -34
  388. package/dist/esm/vector/vectorEditorExport.js.map +1 -1
  389. package/dist/esm/vector/vectorGradients.js +41 -40
  390. package/dist/esm/vector/vectorGradients.js.map +1 -1
  391. package/package.json +2 -2
@@ -15,15 +15,17 @@ const DEFAULT_BRUSH = {
15
15
  };
16
16
  /** Read a pixel from ImageData at (x,y). Returns [r,g,b,a]. */
17
17
  function getPixel(data, x, y) {
18
- if (x < 0 || y < 0 || x >= data.width || y >= data.height)
18
+ if (x < 0 || y < 0 || x >= data.width || y >= data.height) {
19
19
  return [0, 0, 0, 0];
20
+ }
20
21
  const i = (y * data.width + x) * 4;
21
22
  return [data.data[i], data.data[i + 1], data.data[i + 2], data.data[i + 3]];
22
23
  }
23
24
  /** Set a pixel in ImageData at (x,y). */
24
25
  function setPixel(data, x, y, color) {
25
- if (x < 0 || y < 0 || x >= data.width || y >= data.height)
26
+ if (x < 0 || y < 0 || x >= data.width || y >= data.height) {
26
27
  return;
28
+ }
27
29
  const i = (y * data.width + x) * 4;
28
30
  data.data[i] = color[0];
29
31
  data.data[i + 1] = color[1];
@@ -32,16 +34,19 @@ function setPixel(data, x, y, color) {
32
34
  }
33
35
  /** Blend a pixel onto ImageData at (x,y) with alpha compositing. */
34
36
  function blendPixel(data, x, y, color, strength = 1) {
35
- if (x < 0 || y < 0 || x >= data.width || y >= data.height)
37
+ if (x < 0 || y < 0 || x >= data.width || y >= data.height) {
36
38
  return;
39
+ }
37
40
  const i = (y * data.width + x) * 4;
38
41
  const sa = (color[3] / 255) * strength;
39
- if (sa <= 0)
42
+ if (sa <= 0) {
40
43
  return;
44
+ }
41
45
  const da = data.data[i + 3] / 255;
42
46
  const oa = sa + da * (1 - sa);
43
- if (oa <= 0)
47
+ if (oa <= 0) {
44
48
  return;
49
+ }
45
50
  data.data[i] = Math.round((color[0] * sa + data.data[i] * da * (1 - sa)) / oa);
46
51
  data.data[i + 1] = Math.round((color[1] * sa + data.data[i + 1] * da * (1 - sa)) / oa);
47
52
  data.data[i + 2] = Math.round((color[2] * sa + data.data[i + 2] * da * (1 - sa)) / oa);
@@ -78,8 +83,9 @@ function getBrushMask(cfg, pressure = 0.5) {
78
83
  dist = 0;
79
84
  break;
80
85
  }
81
- if (!inBrush)
86
+ if (!inBrush) {
82
87
  continue;
88
+ }
83
89
  // hardness: 100 = hard edge, 0 = soft falloff
84
90
  const hardFactor = cfg.hardness / 100;
85
91
  const edge = dist > hardFactor ? Math.max(0, 1 - (dist - hardFactor) / (1 - hardFactor + 0.001)) : 1;
@@ -93,8 +99,9 @@ function applyBrushStamp(data, x, y, color, cfg, pressure = 0.5, erase = false)
93
99
  const mask = getBrushMask(cfg, pressure);
94
100
  for (const { dx, dy, strength } of mask) {
95
101
  const gx = x + dx, gy = y + dy;
96
- if (gx < 0 || gy < 0 || gx >= data.width || gy >= data.height)
102
+ if (gx < 0 || gy < 0 || gx >= data.width || gy >= data.height) {
97
103
  continue;
104
+ }
98
105
  if (erase) {
99
106
  const cur = getPixel(data, gx, gy);
100
107
  const newA = Math.max(0, cur[3] - Math.round(255 * strength));
@@ -132,8 +139,9 @@ function drawGradient(data, x0, y0, x1, y1, color1, color2, sel) {
132
139
  var _a, _b, _c, _d;
133
140
  const dx = x1 - x0, dy = y1 - y0;
134
141
  const len = Math.sqrt(dx * dx + dy * dy);
135
- if (len === 0)
142
+ if (len === 0) {
136
143
  return;
144
+ }
137
145
  const sx = (_a = sel === null || sel === void 0 ? void 0 : sel.x) !== null && _a !== void 0 ? _a : 0, sy = (_b = sel === null || sel === void 0 ? void 0 : sel.y) !== null && _b !== void 0 ? _b : 0;
138
146
  const sw = (_c = sel === null || sel === void 0 ? void 0 : sel.w) !== null && _c !== void 0 ? _c : data.width, sh = (_d = sel === null || sel === void 0 ? void 0 : sel.h) !== null && _d !== void 0 ? _d : data.height;
139
147
  for (let py = sy; py < sy + sh; py++) {
@@ -163,8 +171,9 @@ function applyDitherStamp(data, x, y, color, size, pressure = 0.5) {
163
171
  for (let dy = -half; dy < size - half; dy++) {
164
172
  for (let dx = -half; dx < size - half; dx++) {
165
173
  const gx = x + dx, gy = y + dy;
166
- if (gx < 0 || gy < 0 || gx >= data.width || gy >= data.height)
174
+ if (gx < 0 || gy < 0 || gx >= data.width || gy >= data.height) {
167
175
  continue;
176
+ }
168
177
  const bayer = BAYER4[((gy % 4) + 4) % 4][((gx % 4) + 4) % 4];
169
178
  if (bayer < threshold) {
170
179
  setPixel(data, gx, gy, color);
@@ -188,8 +197,9 @@ function pasteAt(dst, src, ox, oy) {
188
197
  for (let y = 0; y < src.height; y++) {
189
198
  for (let x = 0; x < src.width; x++) {
190
199
  const px = getPixel(src, x, y);
191
- if (px[3] > 0)
200
+ if (px[3] > 0) {
192
201
  blendPixel(dst, ox + x, oy + y, px, 1);
202
+ }
193
203
  }
194
204
  }
195
205
  }
@@ -208,8 +218,9 @@ function bresenhamLine(x0, y0, x1, y1, cb) {
208
218
  let err = dx + dy;
209
219
  for (;;) {
210
220
  cb(x0, y0);
211
- if (x0 === x1 && y0 === y1)
221
+ if (x0 === x1 && y0 === y1) {
212
222
  break;
223
+ }
213
224
  const e2 = 2 * err;
214
225
  if (e2 >= dy) {
215
226
  err += dy;
@@ -224,35 +235,40 @@ function bresenhamLine(x0, y0, x1, y1, cb) {
224
235
  /** Flood fill — fills connected region of same color with new color. */
225
236
  function floodFill(data, startX, startY, fillColor) {
226
237
  const w = data.width, h = data.height;
227
- if (startX < 0 || startY < 0 || startX >= w || startY >= h)
238
+ if (startX < 0 || startY < 0 || startX >= w || startY >= h) {
228
239
  return;
240
+ }
229
241
  const target = getPixel(data, startX, startY);
230
- if (colorsEqual(target, fillColor))
242
+ if (colorsEqual(target, fillColor)) {
231
243
  return;
244
+ }
232
245
  const stack = [startX, startY];
233
246
  const visited = new Uint8Array(w * h);
234
247
  while (stack.length > 0) {
235
248
  const y = stack.pop();
236
249
  const x = stack.pop();
237
250
  const key = y * w + x;
238
- if (x < 0 || y < 0 || x >= w || y >= h)
251
+ if (x < 0 || y < 0 || x >= w || y >= h) {
239
252
  continue;
240
- if (visited[key])
253
+ }
254
+ if (visited[key]) {
241
255
  continue;
256
+ }
242
257
  visited[key] = 1;
243
258
  const current = getPixel(data, x, y);
244
- if (!colorsEqual(current, target))
259
+ if (!colorsEqual(current, target)) {
245
260
  continue;
261
+ }
246
262
  setPixel(data, x, y, fillColor);
247
263
  stack.push(x - 1, y, x + 1, y, x, y - 1, x, y + 1);
248
264
  }
249
265
  }
250
266
  /** Check if two RGBA colors are equal (with small tolerance for alpha). */
251
267
  function colorsEqual(a, b, tolerance = 0) {
252
- return Math.abs(a[0] - b[0]) <= tolerance &&
268
+ return (Math.abs(a[0] - b[0]) <= tolerance &&
253
269
  Math.abs(a[1] - b[1]) <= tolerance &&
254
270
  Math.abs(a[2] - b[2]) <= tolerance &&
255
- Math.abs(a[3] - b[3]) <= tolerance;
271
+ Math.abs(a[3] - b[3]) <= tolerance);
256
272
  }
257
273
  /** Parse hex color string to RGBA. */
258
274
  function hexToRGBA(hex, alpha = 255) {
@@ -266,7 +282,7 @@ function hexToRGBA(hex, alpha = 255) {
266
282
  }
267
283
  /** Convert RGBA to hex string. */
268
284
  function rgbaToHex(c) {
269
- return '#' + [c[0], c[1], c[2]].map(v => v.toString(16).padStart(2, '0')).join('');
285
+ return '#' + [c[0], c[1], c[2]].map((v) => v.toString(16).padStart(2, '0')).join('');
270
286
  }
271
287
  /** Create blank ImageData. */
272
288
  function createBlankImageData(width, height) {
@@ -281,7 +297,7 @@ function cloneImageData(src) {
281
297
  /** Flip ImageData horizontally. */
282
298
  function flipH(src) {
283
299
  const dst = new ImageData(src.width, src.height);
284
- for (let y = 0; y < src.height; y++)
300
+ for (let y = 0; y < src.height; y++) {
285
301
  for (let x = 0; x < src.width; x++) {
286
302
  const si = (y * src.width + x) * 4;
287
303
  const di = (y * src.width + (src.width - 1 - x)) * 4;
@@ -290,12 +306,13 @@ function flipH(src) {
290
306
  dst.data[di + 2] = src.data[si + 2];
291
307
  dst.data[di + 3] = src.data[si + 3];
292
308
  }
309
+ }
293
310
  return dst;
294
311
  }
295
312
  /** Flip ImageData vertically. */
296
313
  function flipV(src) {
297
314
  const dst = new ImageData(src.width, src.height);
298
- for (let y = 0; y < src.height; y++)
315
+ for (let y = 0; y < src.height; y++) {
299
316
  for (let x = 0; x < src.width; x++) {
300
317
  const si = (y * src.width + x) * 4;
301
318
  const di = ((src.height - 1 - y) * src.width + x) * 4;
@@ -304,12 +321,13 @@ function flipV(src) {
304
321
  dst.data[di + 2] = src.data[si + 2];
305
322
  dst.data[di + 3] = src.data[si + 3];
306
323
  }
324
+ }
307
325
  return dst;
308
326
  }
309
327
  /** Rotate ImageData 90° clockwise. Returns new ImageData with swapped dimensions. */
310
328
  function rotateCW(src) {
311
329
  const dst = new ImageData(src.height, src.width);
312
- for (let y = 0; y < src.height; y++)
330
+ for (let y = 0; y < src.height; y++) {
313
331
  for (let x = 0; x < src.width; x++) {
314
332
  const si = (y * src.width + x) * 4;
315
333
  const di = (x * dst.width + (dst.width - 1 - y)) * 4;
@@ -318,6 +336,7 @@ function rotateCW(src) {
318
336
  dst.data[di + 2] = src.data[si + 2];
319
337
  dst.data[di + 3] = src.data[si + 3];
320
338
  }
339
+ }
321
340
  return dst;
322
341
  }
323
342
  // Bayer matrices for ordered dithering
@@ -360,8 +379,9 @@ function ditherOrdered(data, palette, matrix = BAYER4, strength = 1.0) {
360
379
  for (let x = 0; x < data.width; x++) {
361
380
  const i = (y * data.width + x) * 4;
362
381
  const a = data.data[i + 3];
363
- if (a < 128)
364
- continue; // Skip transparent pixels
382
+ if (a < 128) {
383
+ continue;
384
+ } // Skip transparent pixels
365
385
  const threshold = (matrix[y % matrixSize][x % matrixSize] / maxMatrixValue - 0.5) * strength * 64;
366
386
  const r = Math.max(0, Math.min(255, data.data[i] + threshold));
367
387
  const g = Math.max(0, Math.min(255, data.data[i + 1] + threshold));
@@ -380,11 +400,12 @@ function ditherFloydSteinberg(data, palette) {
380
400
  const errors = new Float32Array(data.width * data.height * 3);
381
401
  for (let y = 0; y < data.height; y++) {
382
402
  for (let x = 0; x < data.width; x++) {
383
- const idx = (y * data.width + x);
403
+ const idx = y * data.width + x;
384
404
  const i = idx * 4;
385
405
  const ei = idx * 3;
386
- if (data.data[i + 3] < 128)
406
+ if (data.data[i + 3] < 128) {
387
407
  continue;
408
+ }
388
409
  const oldR = Math.max(0, Math.min(255, data.data[i] + errors[ei]));
389
410
  const oldG = Math.max(0, Math.min(255, data.data[i + 1] + errors[ei + 1]));
390
411
  const oldB = Math.max(0, Math.min(255, data.data[i + 2] + errors[ei + 2]));
@@ -419,11 +440,12 @@ function ditherJarvisJudiceNinke(data, palette) {
419
440
  const errors = new Float32Array(data.width * data.height * 3);
420
441
  for (let y = 0; y < data.height; y++) {
421
442
  for (let x = 0; x < data.width; x++) {
422
- const idx = (y * data.width + x);
443
+ const idx = y * data.width + x;
423
444
  const i = idx * 4;
424
445
  const ei = idx * 3;
425
- if (data.data[i + 3] < 128)
446
+ if (data.data[i + 3] < 128) {
426
447
  continue;
448
+ }
427
449
  const oldR = Math.max(0, Math.min(255, data.data[i] + errors[ei]));
428
450
  const oldG = Math.max(0, Math.min(255, data.data[i + 1] + errors[ei + 1]));
429
451
  const oldB = Math.max(0, Math.min(255, data.data[i + 2] + errors[ei + 2]));
@@ -466,11 +488,12 @@ function ditherAtkinson(data, palette) {
466
488
  const errors = new Float32Array(data.width * data.height * 3);
467
489
  for (let y = 0; y < data.height; y++) {
468
490
  for (let x = 0; x < data.width; x++) {
469
- const idx = (y * data.width + x);
491
+ const idx = y * data.width + x;
470
492
  const i = idx * 4;
471
493
  const ei = idx * 3;
472
- if (data.data[i + 3] < 128)
494
+ if (data.data[i + 3] < 128) {
473
495
  continue;
496
+ }
474
497
  const oldR = Math.max(0, Math.min(255, data.data[i] + errors[ei]));
475
498
  const oldG = Math.max(0, Math.min(255, data.data[i + 1] + errors[ei + 1]));
476
499
  const oldB = Math.max(0, Math.min(255, data.data[i + 2] + errors[ei + 2]));
@@ -507,8 +530,9 @@ function ditherRandom(data, palette, strength = 32) {
507
530
  for (let y = 0; y < data.height; y++) {
508
531
  for (let x = 0; x < data.width; x++) {
509
532
  const i = (y * data.width + x) * 4;
510
- if (data.data[i + 3] < 128)
533
+ if (data.data[i + 3] < 128) {
511
534
  continue;
535
+ }
512
536
  const noise = (Math.random() - 0.5) * strength * 2;
513
537
  const r = Math.max(0, Math.min(255, data.data[i] + noise));
514
538
  const g = Math.max(0, Math.min(255, data.data[i + 1] + noise));
@@ -554,8 +578,9 @@ function extractPalette(data, maxColors) {
554
578
  colors.push([data.data[i], data.data[i + 1], data.data[i + 2]]);
555
579
  }
556
580
  }
557
- if (colors.length === 0)
581
+ if (colors.length === 0) {
558
582
  return [[0, 0, 0, 255]];
583
+ }
559
584
  // Simple median cut
560
585
  function medianCut(colors, depth) {
561
586
  if (depth === 0 || colors.length <= 1) {
@@ -566,8 +591,8 @@ function extractPalette(data, maxColors) {
566
591
  return [[r, g, b]];
567
592
  }
568
593
  // Find channel with largest range
569
- const ranges = [0, 1, 2].map(ch => {
570
- const vals = colors.map(c => c[ch]);
594
+ const ranges = [0, 1, 2].map((ch) => {
595
+ const vals = colors.map((c) => c[ch]);
571
596
  return Math.max(...vals) - Math.min(...vals);
572
597
  });
573
598
  const channel = ranges.indexOf(Math.max(...ranges));
@@ -581,11 +606,11 @@ function extractPalette(data, maxColors) {
581
606
  }
582
607
  const depth = Math.ceil(Math.log2(maxColors));
583
608
  const palette = medianCut(colors, depth).slice(0, maxColors);
584
- return palette.map(c => [c[0], c[1], c[2], 255]);
609
+ return palette.map((c) => [c[0], c[1], c[2], 255]);
585
610
  }
586
611
  /** Convert hex palette to RGBA array */
587
612
  function hexPaletteToRGBA(hexColors) {
588
- return hexColors.map(hex => hexToRGBA(hex));
613
+ return hexColors.map((hex) => hexToRGBA(hex));
589
614
  }
590
615
  /** Create reference overlay from file */
591
616
  async function createReferenceOverlay(file, targetWidth, targetHeight) {
@@ -593,8 +618,7 @@ async function createReferenceOverlay(file, targetWidth, targetHeight) {
593
618
  const img = new Image();
594
619
  img.onload = () => {
595
620
  // Scale to fit within target dimensions
596
- const scale = Math.min(targetWidth / img.width, targetHeight / img.height, 1 // Don't scale up
597
- );
621
+ const scale = Math.min(targetWidth / img.width, targetHeight / img.height, 1);
598
622
  const canvas = document.createElement('canvas');
599
623
  canvas.width = Math.round(img.width * scale);
600
624
  canvas.height = Math.round(img.height * scale);
@@ -1 +1 @@
1
- {"version":3,"file":"pixelEditorUtils.js","sources":["../../../src/pixel/pixelEditorUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pixelEditorUtils.js","sources":["../../../src/pixel/pixelEditorUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -38,7 +38,9 @@ function mirrorPartH(part) {
38
38
  function generateMirroredDirections(pixels) {
39
39
  const result = { ...pixels };
40
40
  const mirrorPairs = [
41
- ['E', 'W'], ['NE', 'NW'], ['SE', 'SW'],
41
+ ['E', 'W'],
42
+ ['NE', 'NW'],
43
+ ['SE', 'SW'],
42
44
  ];
43
45
  for (const [from, to] of mirrorPairs) {
44
46
  if (result[from] && !result[to]) {
@@ -55,10 +57,13 @@ function generateMirroredDirections(pixels) {
55
57
  ════════════════════════════════════════════════════════════════ */
56
58
  function hexToRgba(hex) {
57
59
  const m = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i.exec(hex);
58
- if (!m)
60
+ if (!m) {
59
61
  return [0, 0, 0, 255];
62
+ }
60
63
  return [
61
- parseInt(m[1], 16), parseInt(m[2], 16), parseInt(m[3], 16),
64
+ parseInt(m[1], 16),
65
+ parseInt(m[2], 16),
66
+ parseInt(m[3], 16),
62
67
  m[4] ? parseInt(m[4], 16) : 255,
63
68
  ];
64
69
  }
@@ -66,19 +71,22 @@ function hexToRgba(hex) {
66
71
  function renderPart(target, part, direction, offsetX, offsetY, colorOverrides, flipH = false) {
67
72
  var _a;
68
73
  const pixelData = part.pixels[direction] || part.pixels.S;
69
- if (!pixelData)
74
+ if (!pixelData) {
70
75
  return;
76
+ }
71
77
  const { width, height, data, palette } = pixelData;
72
78
  for (let y = 0; y < height; y++) {
73
79
  for (let x = 0; x < width; x++) {
74
80
  const idx = data[y * width + x];
75
- if (idx < 0)
81
+ if (idx < 0) {
76
82
  continue;
83
+ }
77
84
  const colorHex = (_a = colorOverrides === null || colorOverrides === void 0 ? void 0 : colorOverrides[idx]) !== null && _a !== void 0 ? _a : palette[idx];
78
- if (!colorHex)
85
+ if (!colorHex) {
79
86
  continue;
87
+ }
80
88
  const color = hexToRgba(colorHex);
81
- const px = flipH ? (offsetX + width - 1 - x) : (offsetX + x);
89
+ const px = flipH ? offsetX + width - 1 - x : offsetX + x;
82
90
  const py = offsetY + y;
83
91
  if (px >= 0 && px < target.width && py >= 0 && py < target.height) {
84
92
  setPixel(target, px, py, color);
@@ -91,7 +99,7 @@ function assembleSprite(assembly, parts, direction = 'S') {
91
99
  const img = new ImageData(assembly.canvasWidth, assembly.canvasHeight);
92
100
  // Sort by z-order
93
101
  const sorted = [...assembly.parts]
94
- .filter(ap => ap.visible !== false)
102
+ .filter((ap) => ap.visible !== false)
95
103
  .sort((a, b) => {
96
104
  var _a, _b;
97
105
  const partA = parts.get(a.partId);
@@ -100,8 +108,9 @@ function assembleSprite(assembly, parts, direction = 'S') {
100
108
  });
101
109
  for (const ap of sorted) {
102
110
  const part = parts.get(ap.partId);
103
- if (!part)
111
+ if (!part) {
104
112
  continue;
113
+ }
105
114
  renderPart(img, part, direction, ap.offsetX, ap.offsetY, ap.colorOverrides, ap.flipH);
106
115
  }
107
116
  return img;
@@ -135,8 +144,9 @@ function applyIsometricProjection(source, tiltAngle = 30) {
135
144
  for (let sy = 0; sy < sh; sy++) {
136
145
  for (let sx = 0; sx < sw; sx++) {
137
146
  const si = (sy * sw + sx) * 4;
138
- if (source.data[si + 3] === 0)
147
+ if (source.data[si + 3] === 0) {
139
148
  continue;
149
+ }
140
150
  // Isometric transform
141
151
  const rx = sx - cx;
142
152
  const ry = sy - cy;
@@ -157,8 +167,9 @@ function applyIsometricProjection(source, tiltAngle = 30) {
157
167
  function render8DirSpriteSheet(frames, columns = 8) {
158
168
  const dirs = ALL_DIRECTIONS;
159
169
  const firstFrame = frames.get('S') || frames.values().next().value;
160
- if (!firstFrame)
170
+ if (!firstFrame) {
161
171
  return new ImageData(1, 1);
172
+ }
162
173
  const fw = firstFrame.width;
163
174
  const fh = firstFrame.height;
164
175
  const rows = Math.ceil(dirs.length / columns);
@@ -204,29 +215,38 @@ function shiftHue(hex, degrees) {
204
215
  if (max !== min) {
205
216
  const d = max - min;
206
217
  s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
207
- if (max === rf)
218
+ if (max === rf) {
208
219
  h = ((gf - bf) / d + (gf < bf ? 6 : 0)) / 6;
209
- else if (max === gf)
220
+ }
221
+ else if (max === gf) {
210
222
  h = ((bf - rf) / d + 2) / 6;
211
- else
223
+ }
224
+ else {
212
225
  h = ((rf - gf) / d + 4) / 6;
226
+ }
213
227
  }
214
228
  // Shift hue
215
229
  h = ((h * 360 + degrees) % 360) / 360;
216
- if (h < 0)
230
+ if (h < 0) {
217
231
  h += 1;
232
+ }
218
233
  // HSL → RGB
219
234
  const hue2rgb = (p, q, t) => {
220
- if (t < 0)
235
+ if (t < 0) {
221
236
  t += 1;
222
- if (t > 1)
237
+ }
238
+ if (t > 1) {
223
239
  t -= 1;
224
- if (t < 1 / 6)
240
+ }
241
+ if (t < 1 / 6) {
225
242
  return p + (q - p) * 6 * t;
226
- if (t < 1 / 2)
243
+ }
244
+ if (t < 1 / 2) {
227
245
  return q;
228
- if (t < 2 / 3)
246
+ }
247
+ if (t < 2 / 3) {
229
248
  return p + (q - p) * (2 / 3 - t) * 6;
249
+ }
230
250
  return p;
231
251
  };
232
252
  let nr, ng, nb;
@@ -240,7 +260,9 @@ function shiftHue(hex, degrees) {
240
260
  ng = hue2rgb(p, q, h);
241
261
  nb = hue2rgb(p, q, h - 1 / 3);
242
262
  }
243
- const toH = (n) => Math.round(n * 255).toString(16).padStart(2, '0');
263
+ const toH = (n) => Math.round(n * 255)
264
+ .toString(16)
265
+ .padStart(2, '0');
244
266
  return `#${toH(nr)}${toH(ng)}${toH(nb)}`;
245
267
  }
246
268
  /** Generate recolor map from a base palette */
@@ -262,17 +284,18 @@ function getPart(id) {
262
284
  return _partRegistry.get(id);
263
285
  }
264
286
  function getPartsByCategory(category) {
265
- return [..._partRegistry.values()].filter(p => p.category === category);
287
+ return [..._partRegistry.values()].filter((p) => p.category === category);
266
288
  }
267
289
  function getPartsBySlot(slot) {
268
- return [..._partRegistry.values()].filter(p => p.slot === slot);
290
+ return [..._partRegistry.values()].filter((p) => p.slot === slot);
269
291
  }
270
292
  function getAllParts() {
271
293
  return [..._partRegistry.values()];
272
294
  }
273
295
  function registerParts(parts) {
274
- for (const p of parts)
296
+ for (const p of parts) {
275
297
  registerPart(p);
298
+ }
276
299
  }
277
300
 
278
301
  export { ALL_DIRECTIONS, applyIsometricProjection, assembleSprite, createPartData, generateAllDirections, generateMirroredDirections, generateRecolorMap, getAllParts, getPart, getPartsByCategory, getPartsBySlot, mirrorPartH, registerPart, registerParts, render8DirSpriteSheet, renderPart, shiftHue };