@nice2dev/ui-graphics 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +84 -0
- package/LICENSE +21 -0
- package/README.md +339 -0
- package/dist/cjs/animation/AnimatedPerson.js +153 -0
- package/dist/cjs/animation/AnimatedPerson.js.map +1 -0
- package/dist/cjs/animation/AnimationEditor.js +106 -0
- package/dist/cjs/animation/AnimationEditor.js.map +1 -0
- package/dist/cjs/animation/Audience.js +59 -0
- package/dist/cjs/animation/Audience.js.map +1 -0
- package/dist/cjs/animation/BodyRenderer.js +33 -0
- package/dist/cjs/animation/BodyRenderer.js.map +1 -0
- package/dist/cjs/animation/animationHelper.js +272 -0
- package/dist/cjs/animation/animationHelper.js.map +1 -0
- package/dist/cjs/animation/characterTypes.js +75 -0
- package/dist/cjs/animation/characterTypes.js.map +1 -0
- package/dist/cjs/animation/choreoDSL.js +190 -0
- package/dist/cjs/animation/choreoDSL.js.map +1 -0
- package/dist/cjs/animation/choreography.js +41 -0
- package/dist/cjs/animation/choreography.js.map +1 -0
- package/dist/cjs/animation/karaokeIntegration.js +98 -0
- package/dist/cjs/animation/karaokeIntegration.js.map +1 -0
- package/dist/cjs/animation/lottieExport.js +128 -0
- package/dist/cjs/animation/lottieExport.js.map +1 -0
- package/dist/cjs/animation/motionPath.js +196 -0
- package/dist/cjs/animation/motionPath.js.map +1 -0
- package/dist/cjs/animation/physics.js +201 -0
- package/dist/cjs/animation/physics.js.map +1 -0
- package/dist/cjs/animation/rig/RigPlayer.js +63 -0
- package/dist/cjs/animation/rig/RigPlayer.js.map +1 -0
- package/dist/cjs/animation/rig/RiggedBody.js +30 -0
- package/dist/cjs/animation/rig/RiggedBody.js.map +1 -0
- package/dist/cjs/animation/rig/choreoRigBridge.js +63 -0
- package/dist/cjs/animation/rig/choreoRigBridge.js.map +1 -0
- package/dist/cjs/animation/rig/ik.js +22 -0
- package/dist/cjs/animation/rig/ik.js.map +1 -0
- package/dist/cjs/animation/rig/poseOps.js +49 -0
- package/dist/cjs/animation/rig/poseOps.js.map +1 -0
- package/dist/cjs/animation/rig/presets.js +60 -0
- package/dist/cjs/animation/rig/presets.js.map +1 -0
- package/dist/cjs/animation/rig/rigMath.js +41 -0
- package/dist/cjs/animation/rig/rigMath.js.map +1 -0
- package/dist/cjs/animation/rig/rigTypes.js +44 -0
- package/dist/cjs/animation/rig/rigTypes.js.map +1 -0
- package/dist/cjs/animation/shapes/arms.js +15 -0
- package/dist/cjs/animation/shapes/arms.js.map +1 -0
- package/dist/cjs/animation/shapes/eyes.js +52 -0
- package/dist/cjs/animation/shapes/eyes.js.map +1 -0
- package/dist/cjs/animation/shapes/hair.js +55 -0
- package/dist/cjs/animation/shapes/hair.js.map +1 -0
- package/dist/cjs/animation/shapes/heads.js +62 -0
- package/dist/cjs/animation/shapes/heads.js.map +1 -0
- package/dist/cjs/animation/shapes/headwear.js +44 -0
- package/dist/cjs/animation/shapes/headwear.js.map +1 -0
- package/dist/cjs/animation/shapes/legs.js +15 -0
- package/dist/cjs/animation/shapes/legs.js.map +1 -0
- package/dist/cjs/animation/shapes/mouths.js +53 -0
- package/dist/cjs/animation/shapes/mouths.js.map +1 -0
- package/dist/cjs/animation/shapes/noses.js +31 -0
- package/dist/cjs/animation/shapes/noses.js.map +1 -0
- package/dist/cjs/animation/shapes/outfits.js +43 -0
- package/dist/cjs/animation/shapes/outfits.js.map +1 -0
- package/dist/cjs/animation/shapes/torsos.js +13 -0
- package/dist/cjs/animation/shapes/torsos.js.map +1 -0
- package/dist/cjs/animation/spineExport.js +132 -0
- package/dist/cjs/animation/spineExport.js.map +1 -0
- package/dist/cjs/core/LocalUI.js +54 -0
- package/dist/cjs/core/LocalUI.js.map +1 -0
- package/dist/cjs/core/collaboration.js +259 -0
- package/dist/cjs/core/collaboration.js.map +1 -0
- package/dist/cjs/core/colorBlindness.js +97 -0
- package/dist/cjs/core/colorBlindness.js.map +1 -0
- package/dist/cjs/core/dragDrop.js +168 -0
- package/dist/cjs/core/dragDrop.js.map +1 -0
- package/dist/cjs/core/fixes.js +185 -0
- package/dist/cjs/core/fixes.js.map +1 -0
- package/dist/cjs/core/gridGuides.js +245 -0
- package/dist/cjs/core/gridGuides.js.map +1 -0
- package/dist/cjs/core/historyVisual.js +124 -0
- package/dist/cjs/core/historyVisual.js.map +1 -0
- package/dist/cjs/core/i18n.js +16 -0
- package/dist/cjs/core/i18n.js.map +1 -0
- package/dist/cjs/core/integrations.js +261 -0
- package/dist/cjs/core/integrations.js.map +1 -0
- package/dist/cjs/core/minimap.js +142 -0
- package/dist/cjs/core/minimap.js.map +1 -0
- package/dist/cjs/core/plugins.js +129 -0
- package/dist/cjs/core/plugins.js.map +1 -0
- package/dist/cjs/core/rtl.js +102 -0
- package/dist/cjs/core/rtl.js.map +1 -0
- package/dist/cjs/core/shortcuts.js +205 -0
- package/dist/cjs/core/shortcuts.js.map +1 -0
- package/dist/cjs/core/theme.js +171 -0
- package/dist/cjs/core/theme.js.map +1 -0
- package/dist/cjs/font/NiceFontEditor.js +193 -0
- package/dist/cjs/font/NiceFontEditor.js.map +1 -0
- package/dist/cjs/game/GameAsset2dEditor.js +371 -0
- package/dist/cjs/game/GameAsset2dEditor.js.map +1 -0
- package/dist/cjs/game/GameAsset2dEditor.module.css.js +6 -0
- package/dist/cjs/game/GameAsset2dEditor.module.css.js.map +1 -0
- package/dist/cjs/game/gameAssetTypes.js +20 -0
- package/dist/cjs/game/gameAssetTypes.js.map +1 -0
- package/dist/cjs/game/gameAssetUtils.js +475 -0
- package/dist/cjs/game/gameAssetUtils.js.map +1 -0
- package/dist/cjs/game/useGameAssetEditor.js +761 -0
- package/dist/cjs/game/useGameAssetEditor.js.map +1 -0
- package/dist/cjs/icon/NiceIconEditor.js +249 -0
- package/dist/cjs/icon/NiceIconEditor.js.map +1 -0
- package/dist/cjs/index.js +264 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/nice2dev-ui/dist/index.js +32070 -0
- package/dist/cjs/nice2dev-ui/dist/index.js.map +1 -0
- package/dist/cjs/nice2dev-ui-graphics.css +1 -0
- package/dist/cjs/photo/FilterThumb.js +29 -0
- package/dist/cjs/photo/FilterThumb.js.map +1 -0
- package/dist/cjs/photo/PhotoEditor.js +20 -0
- package/dist/cjs/photo/PhotoEditor.js.map +1 -0
- package/dist/cjs/photo/PhotoEditor.module.css.js +6 -0
- package/dist/cjs/photo/PhotoEditor.module.css.js.map +1 -0
- package/dist/cjs/photo/PhotoEditorCanvas.js +59 -0
- package/dist/cjs/photo/PhotoEditorCanvas.js.map +1 -0
- package/dist/cjs/photo/PhotoEditorLeftPanel.js +174 -0
- package/dist/cjs/photo/PhotoEditorLeftPanel.js.map +1 -0
- package/dist/cjs/photo/PhotoEditorToolbar.js +15 -0
- package/dist/cjs/photo/PhotoEditorToolbar.js.map +1 -0
- package/dist/cjs/photo/photoEditorActions.js +80 -0
- package/dist/cjs/photo/photoEditorActions.js.map +1 -0
- package/dist/cjs/photo/photoEditorTypes.js +40 -0
- package/dist/cjs/photo/photoEditorTypes.js.map +1 -0
- package/dist/cjs/photo/photoFilters.js +880 -0
- package/dist/cjs/photo/photoFilters.js.map +1 -0
- package/dist/cjs/photo/photoOverlays.js +651 -0
- package/dist/cjs/photo/photoOverlays.js.map +1 -0
- package/dist/cjs/photo/photoSelection.js +547 -0
- package/dist/cjs/photo/photoSelection.js.map +1 -0
- package/dist/cjs/photo/usePhotoEditor.js +640 -0
- package/dist/cjs/photo/usePhotoEditor.js.map +1 -0
- package/dist/cjs/pixel/HSVPicker.js +173 -0
- package/dist/cjs/pixel/HSVPicker.js.map +1 -0
- package/dist/cjs/pixel/PixelEditor.js +28 -0
- package/dist/cjs/pixel/PixelEditor.js.map +1 -0
- package/dist/cjs/pixel/PixelEditor.module.css.js +6 -0
- package/dist/cjs/pixel/PixelEditor.module.css.js.map +1 -0
- package/dist/cjs/pixel/PixelEditorCanvas.js +15 -0
- package/dist/cjs/pixel/PixelEditorCanvas.js.map +1 -0
- package/dist/cjs/pixel/PixelEditorMenuBar.js +11 -0
- package/dist/cjs/pixel/PixelEditorMenuBar.js.map +1 -0
- package/dist/cjs/pixel/PixelEditorRightPanel.js +15 -0
- package/dist/cjs/pixel/PixelEditorRightPanel.js.map +1 -0
- package/dist/cjs/pixel/PixelEditorStatusBar.js +15 -0
- package/dist/cjs/pixel/PixelEditorStatusBar.js.map +1 -0
- package/dist/cjs/pixel/PixelEditorTimeline.js +11 -0
- package/dist/cjs/pixel/PixelEditorTimeline.js.map +1 -0
- package/dist/cjs/pixel/PixelEditorToolbar.js +16 -0
- package/dist/cjs/pixel/PixelEditorToolbar.js.map +1 -0
- package/dist/cjs/pixel/asepriteFormat.js +512 -0
- package/dist/cjs/pixel/asepriteFormat.js.map +1 -0
- package/dist/cjs/pixel/pixelEditorExports.js +471 -0
- package/dist/cjs/pixel/pixelEditorExports.js.map +1 -0
- package/dist/cjs/pixel/pixelEditorTypes.js +102 -0
- package/dist/cjs/pixel/pixelEditorTypes.js.map +1 -0
- package/dist/cjs/pixel/pixelEditorUtils.js +664 -0
- package/dist/cjs/pixel/pixelEditorUtils.js.map +1 -0
- package/dist/cjs/pixel/usePixelEditor.js +1112 -0
- package/dist/cjs/pixel/usePixelEditor.js.map +1 -0
- package/dist/cjs/texture/Nice3DTexturePainter.js +236 -0
- package/dist/cjs/texture/Nice3DTexturePainter.js.map +1 -0
- package/dist/cjs/ui/NiceUIDesigner.js +191 -0
- package/dist/cjs/ui/NiceUIDesigner.js.map +1 -0
- package/dist/cjs/vector/VectorEditor.js +31 -0
- package/dist/cjs/vector/VectorEditor.js.map +1 -0
- package/dist/cjs/vector/VectorEditor.module.css.js +6 -0
- package/dist/cjs/vector/VectorEditor.module.css.js.map +1 -0
- package/dist/cjs/vector/VectorEditorMenuBar.js +16 -0
- package/dist/cjs/vector/VectorEditorMenuBar.js.map +1 -0
- package/dist/cjs/vector/VectorEditorRightPanel.js +126 -0
- package/dist/cjs/vector/VectorEditorRightPanel.js.map +1 -0
- package/dist/cjs/vector/VectorEditorShapeRenderer.js +55 -0
- package/dist/cjs/vector/VectorEditorShapeRenderer.js.map +1 -0
- package/dist/cjs/vector/VectorEditorStatusBar.js +14 -0
- package/dist/cjs/vector/VectorEditorStatusBar.js.map +1 -0
- package/dist/cjs/vector/useVectorEditor.js +613 -0
- package/dist/cjs/vector/useVectorEditor.js.map +1 -0
- package/dist/cjs/vector/vectorBooleanOps.js +511 -0
- package/dist/cjs/vector/vectorBooleanOps.js.map +1 -0
- package/dist/cjs/vector/vectorEditorExport.js +159 -0
- package/dist/cjs/vector/vectorEditorExport.js.map +1 -0
- package/dist/cjs/vector/vectorEditorImport.js +150 -0
- package/dist/cjs/vector/vectorEditorImport.js.map +1 -0
- package/dist/cjs/vector/vectorEditorTypes.js +72 -0
- package/dist/cjs/vector/vectorEditorTypes.js.map +1 -0
- package/dist/cjs/vector/vectorGradients.js +201 -0
- package/dist/cjs/vector/vectorGradients.js.map +1 -0
- package/dist/esm/animation/AnimatedPerson.js +151 -0
- package/dist/esm/animation/AnimatedPerson.js.map +1 -0
- package/dist/esm/animation/AnimationEditor.js +104 -0
- package/dist/esm/animation/AnimationEditor.js.map +1 -0
- package/dist/esm/animation/Audience.js +57 -0
- package/dist/esm/animation/Audience.js.map +1 -0
- package/dist/esm/animation/BodyRenderer.js +28 -0
- package/dist/esm/animation/BodyRenderer.js.map +1 -0
- package/dist/esm/animation/animationHelper.js +268 -0
- package/dist/esm/animation/animationHelper.js.map +1 -0
- package/dist/esm/animation/characterTypes.js +70 -0
- package/dist/esm/animation/characterTypes.js.map +1 -0
- package/dist/esm/animation/choreoDSL.js +182 -0
- package/dist/esm/animation/choreoDSL.js.map +1 -0
- package/dist/esm/animation/choreography.js +36 -0
- package/dist/esm/animation/choreography.js.map +1 -0
- package/dist/esm/animation/karaokeIntegration.js +91 -0
- package/dist/esm/animation/karaokeIntegration.js.map +1 -0
- package/dist/esm/animation/lottieExport.js +123 -0
- package/dist/esm/animation/lottieExport.js.map +1 -0
- package/dist/esm/animation/motionPath.js +185 -0
- package/dist/esm/animation/motionPath.js.map +1 -0
- package/dist/esm/animation/physics.js +192 -0
- package/dist/esm/animation/physics.js.map +1 -0
- package/dist/esm/animation/rig/RigPlayer.js +61 -0
- package/dist/esm/animation/rig/RigPlayer.js.map +1 -0
- package/dist/esm/animation/rig/RiggedBody.js +28 -0
- package/dist/esm/animation/rig/RiggedBody.js.map +1 -0
- package/dist/esm/animation/rig/choreoRigBridge.js +60 -0
- package/dist/esm/animation/rig/choreoRigBridge.js.map +1 -0
- package/dist/esm/animation/rig/ik.js +20 -0
- package/dist/esm/animation/rig/ik.js.map +1 -0
- package/dist/esm/animation/rig/poseOps.js +45 -0
- package/dist/esm/animation/rig/poseOps.js.map +1 -0
- package/dist/esm/animation/rig/presets.js +53 -0
- package/dist/esm/animation/rig/presets.js.map +1 -0
- package/dist/esm/animation/rig/rigMath.js +37 -0
- package/dist/esm/animation/rig/rigMath.js.map +1 -0
- package/dist/esm/animation/rig/rigTypes.js +40 -0
- package/dist/esm/animation/rig/rigTypes.js.map +1 -0
- package/dist/esm/animation/shapes/arms.js +13 -0
- package/dist/esm/animation/shapes/arms.js.map +1 -0
- package/dist/esm/animation/shapes/eyes.js +45 -0
- package/dist/esm/animation/shapes/eyes.js.map +1 -0
- package/dist/esm/animation/shapes/hair.js +46 -0
- package/dist/esm/animation/shapes/hair.js.map +1 -0
- package/dist/esm/animation/shapes/heads.js +52 -0
- package/dist/esm/animation/shapes/heads.js.map +1 -0
- package/dist/esm/animation/shapes/headwear.js +36 -0
- package/dist/esm/animation/shapes/headwear.js.map +1 -0
- package/dist/esm/animation/shapes/legs.js +13 -0
- package/dist/esm/animation/shapes/legs.js.map +1 -0
- package/dist/esm/animation/shapes/mouths.js +45 -0
- package/dist/esm/animation/shapes/mouths.js.map +1 -0
- package/dist/esm/animation/shapes/noses.js +23 -0
- package/dist/esm/animation/shapes/noses.js.map +1 -0
- package/dist/esm/animation/shapes/outfits.js +37 -0
- package/dist/esm/animation/shapes/outfits.js.map +1 -0
- package/dist/esm/animation/shapes/torsos.js +11 -0
- package/dist/esm/animation/shapes/torsos.js.map +1 -0
- package/dist/esm/animation/spineExport.js +128 -0
- package/dist/esm/animation/spineExport.js.map +1 -0
- package/dist/esm/core/LocalUI.js +50 -0
- package/dist/esm/core/LocalUI.js.map +1 -0
- package/dist/esm/core/collaboration.js +252 -0
- package/dist/esm/core/collaboration.js.map +1 -0
- package/dist/esm/core/colorBlindness.js +90 -0
- package/dist/esm/core/colorBlindness.js.map +1 -0
- package/dist/esm/core/dragDrop.js +165 -0
- package/dist/esm/core/dragDrop.js.map +1 -0
- package/dist/esm/core/fixes.js +179 -0
- package/dist/esm/core/fixes.js.map +1 -0
- package/dist/esm/core/gridGuides.js +232 -0
- package/dist/esm/core/gridGuides.js.map +1 -0
- package/dist/esm/core/historyVisual.js +121 -0
- package/dist/esm/core/historyVisual.js.map +1 -0
- package/dist/esm/core/i18n.js +13 -0
- package/dist/esm/core/i18n.js.map +1 -0
- package/dist/esm/core/integrations.js +254 -0
- package/dist/esm/core/integrations.js.map +1 -0
- package/dist/esm/core/minimap.js +139 -0
- package/dist/esm/core/minimap.js.map +1 -0
- package/dist/esm/core/plugins.js +124 -0
- package/dist/esm/core/plugins.js.map +1 -0
- package/dist/esm/core/rtl.js +95 -0
- package/dist/esm/core/rtl.js.map +1 -0
- package/dist/esm/core/shortcuts.js +200 -0
- package/dist/esm/core/shortcuts.js.map +1 -0
- package/dist/esm/core/theme.js +162 -0
- package/dist/esm/core/theme.js.map +1 -0
- package/dist/esm/font/NiceFontEditor.js +189 -0
- package/dist/esm/font/NiceFontEditor.js.map +1 -0
- package/dist/esm/game/GameAsset2dEditor.js +369 -0
- package/dist/esm/game/GameAsset2dEditor.js.map +1 -0
- package/dist/esm/game/GameAsset2dEditor.module.css.js +4 -0
- package/dist/esm/game/GameAsset2dEditor.module.css.js.map +1 -0
- package/dist/esm/game/gameAssetTypes.js +18 -0
- package/dist/esm/game/gameAssetTypes.js.map +1 -0
- package/dist/esm/game/gameAssetUtils.js +456 -0
- package/dist/esm/game/gameAssetUtils.js.map +1 -0
- package/dist/esm/game/useGameAssetEditor.js +759 -0
- package/dist/esm/game/useGameAssetEditor.js.map +1 -0
- package/dist/esm/icon/NiceIconEditor.js +246 -0
- package/dist/esm/icon/NiceIconEditor.js.map +1 -0
- package/dist/esm/index.js +59 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/nice2dev-ui/dist/index.js +31720 -0
- package/dist/esm/nice2dev-ui/dist/index.js.map +1 -0
- package/dist/esm/nice2dev-ui-graphics.css +1 -0
- package/dist/esm/photo/FilterThumb.js +27 -0
- package/dist/esm/photo/FilterThumb.js.map +1 -0
- package/dist/esm/photo/PhotoEditor.js +18 -0
- package/dist/esm/photo/PhotoEditor.js.map +1 -0
- package/dist/esm/photo/PhotoEditor.module.css.js +4 -0
- package/dist/esm/photo/PhotoEditor.module.css.js.map +1 -0
- package/dist/esm/photo/PhotoEditorCanvas.js +57 -0
- package/dist/esm/photo/PhotoEditorCanvas.js.map +1 -0
- package/dist/esm/photo/PhotoEditorLeftPanel.js +172 -0
- package/dist/esm/photo/PhotoEditorLeftPanel.js.map +1 -0
- package/dist/esm/photo/PhotoEditorToolbar.js +13 -0
- package/dist/esm/photo/PhotoEditorToolbar.js.map +1 -0
- package/dist/esm/photo/photoEditorActions.js +75 -0
- package/dist/esm/photo/photoEditorActions.js.map +1 -0
- package/dist/esm/photo/photoEditorTypes.js +36 -0
- package/dist/esm/photo/photoEditorTypes.js.map +1 -0
- package/dist/esm/photo/photoFilters.js +871 -0
- package/dist/esm/photo/photoFilters.js.map +1 -0
- package/dist/esm/photo/photoOverlays.js +636 -0
- package/dist/esm/photo/photoOverlays.js.map +1 -0
- package/dist/esm/photo/photoSelection.js +535 -0
- package/dist/esm/photo/photoSelection.js.map +1 -0
- package/dist/esm/photo/usePhotoEditor.js +638 -0
- package/dist/esm/photo/usePhotoEditor.js.map +1 -0
- package/dist/esm/pixel/HSVPicker.js +171 -0
- package/dist/esm/pixel/HSVPicker.js.map +1 -0
- package/dist/esm/pixel/PixelEditor.js +26 -0
- package/dist/esm/pixel/PixelEditor.js.map +1 -0
- package/dist/esm/pixel/PixelEditor.module.css.js +4 -0
- package/dist/esm/pixel/PixelEditor.module.css.js.map +1 -0
- package/dist/esm/pixel/PixelEditorCanvas.js +13 -0
- package/dist/esm/pixel/PixelEditorCanvas.js.map +1 -0
- package/dist/esm/pixel/PixelEditorMenuBar.js +9 -0
- package/dist/esm/pixel/PixelEditorMenuBar.js.map +1 -0
- package/dist/esm/pixel/PixelEditorRightPanel.js +13 -0
- package/dist/esm/pixel/PixelEditorRightPanel.js.map +1 -0
- package/dist/esm/pixel/PixelEditorStatusBar.js +13 -0
- package/dist/esm/pixel/PixelEditorStatusBar.js.map +1 -0
- package/dist/esm/pixel/PixelEditorTimeline.js +9 -0
- package/dist/esm/pixel/PixelEditorTimeline.js.map +1 -0
- package/dist/esm/pixel/PixelEditorToolbar.js +14 -0
- package/dist/esm/pixel/PixelEditorToolbar.js.map +1 -0
- package/dist/esm/pixel/asepriteFormat.js +505 -0
- package/dist/esm/pixel/asepriteFormat.js.map +1 -0
- package/dist/esm/pixel/pixelEditorExports.js +461 -0
- package/dist/esm/pixel/pixelEditorExports.js.map +1 -0
- package/dist/esm/pixel/pixelEditorTypes.js +90 -0
- package/dist/esm/pixel/pixelEditorTypes.js.map +1 -0
- package/dist/esm/pixel/pixelEditorUtils.js +631 -0
- package/dist/esm/pixel/pixelEditorUtils.js.map +1 -0
- package/dist/esm/pixel/usePixelEditor.js +1110 -0
- package/dist/esm/pixel/usePixelEditor.js.map +1 -0
- package/dist/esm/texture/Nice3DTexturePainter.js +233 -0
- package/dist/esm/texture/Nice3DTexturePainter.js.map +1 -0
- package/dist/esm/ui/NiceUIDesigner.js +187 -0
- package/dist/esm/ui/NiceUIDesigner.js.map +1 -0
- package/dist/esm/vector/VectorEditor.js +29 -0
- package/dist/esm/vector/VectorEditor.js.map +1 -0
- package/dist/esm/vector/VectorEditor.module.css.js +4 -0
- package/dist/esm/vector/VectorEditor.module.css.js.map +1 -0
- package/dist/esm/vector/VectorEditorMenuBar.js +14 -0
- package/dist/esm/vector/VectorEditorMenuBar.js.map +1 -0
- package/dist/esm/vector/VectorEditorRightPanel.js +124 -0
- package/dist/esm/vector/VectorEditorRightPanel.js.map +1 -0
- package/dist/esm/vector/VectorEditorShapeRenderer.js +53 -0
- package/dist/esm/vector/VectorEditorShapeRenderer.js.map +1 -0
- package/dist/esm/vector/VectorEditorStatusBar.js +12 -0
- package/dist/esm/vector/VectorEditorStatusBar.js.map +1 -0
- package/dist/esm/vector/useVectorEditor.js +611 -0
- package/dist/esm/vector/useVectorEditor.js.map +1 -0
- package/dist/esm/vector/vectorBooleanOps.js +507 -0
- package/dist/esm/vector/vectorBooleanOps.js.map +1 -0
- package/dist/esm/vector/vectorEditorExport.js +152 -0
- package/dist/esm/vector/vectorEditorExport.js.map +1 -0
- package/dist/esm/vector/vectorEditorImport.js +148 -0
- package/dist/esm/vector/vectorEditorImport.js.map +1 -0
- package/dist/esm/vector/vectorEditorTypes.js +63 -0
- package/dist/esm/vector/vectorEditorTypes.js.map +1 -0
- package/dist/esm/vector/vectorGradients.js +193 -0
- package/dist/esm/vector/vectorGradients.js.map +1 -0
- package/dist/types/__benchmarks__/bench.d.ts +13 -0
- package/dist/types/__tests__/setup.d.ts +4 -0
- package/dist/types/animation/AnimatedPerson.d.ts +14 -0
- package/dist/types/animation/AnimationEditor.d.ts +20 -0
- package/dist/types/animation/Audience.d.ts +11 -0
- package/dist/types/animation/BodyRenderer.d.ts +12 -0
- package/dist/types/animation/animationHelper.d.ts +28 -0
- package/dist/types/animation/characterTypes.d.ts +37 -0
- package/dist/types/animation/choreoDSL.d.ts +88 -0
- package/dist/types/animation/choreography.d.ts +8 -0
- package/dist/types/animation/karaokeIntegration.d.ts +31 -0
- package/dist/types/animation/lottieExport.d.ts +77 -0
- package/dist/types/animation/motionPath.d.ts +60 -0
- package/dist/types/animation/physics.d.ts +73 -0
- package/dist/types/animation/rig/RigPlayer.d.ts +32 -0
- package/dist/types/animation/rig/RiggedBody.d.ts +19 -0
- package/dist/types/animation/rig/choreoRigBridge.d.ts +9 -0
- package/dist/types/animation/rig/ik.d.ts +8 -0
- package/dist/types/animation/rig/poseOps.d.ts +14 -0
- package/dist/types/animation/rig/presets.d.ts +13 -0
- package/dist/types/animation/rig/rigMath.d.ts +7 -0
- package/dist/types/animation/rig/rigTypes.d.ts +38 -0
- package/dist/types/animation/shapes/arms.d.ts +10 -0
- package/dist/types/animation/shapes/eyes.d.ts +17 -0
- package/dist/types/animation/shapes/hair.d.ts +17 -0
- package/dist/types/animation/shapes/heads.d.ts +18 -0
- package/dist/types/animation/shapes/headwear.d.ts +16 -0
- package/dist/types/animation/shapes/legs.d.ts +10 -0
- package/dist/types/animation/shapes/mouths.d.ts +17 -0
- package/dist/types/animation/shapes/noses.d.ts +17 -0
- package/dist/types/animation/shapes/outfits.d.ts +14 -0
- package/dist/types/animation/shapes/torsos.d.ts +9 -0
- package/dist/types/animation/spineExport.d.ts +66 -0
- package/dist/types/core/LocalUI.d.ts +21 -0
- package/dist/types/core/collaboration.d.ts +164 -0
- package/dist/types/core/colorBlindness.d.ts +24 -0
- package/dist/types/core/dragDrop.d.ts +46 -0
- package/dist/types/core/fixes.d.ts +80 -0
- package/dist/types/core/gridGuides.d.ts +70 -0
- package/dist/types/core/historyVisual.d.ts +915 -0
- package/dist/types/core/i18n.d.ts +27 -0
- package/dist/types/core/integrations.d.ts +103 -0
- package/dist/types/core/minimap.d.ts +49 -0
- package/dist/types/core/plugins.d.ts +111 -0
- package/dist/types/core/rtl.d.ts +32 -0
- package/dist/types/core/shortcuts.d.ts +150 -0
- package/dist/types/core/theme.d.ts +78 -0
- package/dist/types/core/useGamepad.d.ts +64 -0
- package/dist/types/core/usePointerPressure.d.ts +88 -0
- package/dist/types/font/NiceFontEditor.d.ts +62 -0
- package/dist/types/game/AnimationPreviewPlayer.d.ts +29 -0
- package/dist/types/game/CollisionEditor.d.ts +101 -0
- package/dist/types/game/GameAsset2dEditor.d.ts +17 -0
- package/dist/types/game/GameAssetExportPanel.d.ts +20 -0
- package/dist/types/game/IsometricEditor.d.ts +22 -0
- package/dist/types/game/IsometricTilePanel.d.ts +18 -0
- package/dist/types/game/gameAssetExport.d.ts +160 -0
- package/dist/types/game/gameAssetTypes.d.ts +238 -0
- package/dist/types/game/gameAssetUtils.d.ts +23 -0
- package/dist/types/game/index.d.ts +8 -0
- package/dist/types/game/isometricTiles.d.ts +250 -0
- package/dist/types/game/useAnimationPreview.d.ts +63 -0
- package/dist/types/game/useCollisionEditor.d.ts +96 -0
- package/dist/types/game/useGameAssetEditor.d.ts +79 -0
- package/dist/types/game/useGameAssetExport.d.ts +82 -0
- package/dist/types/icon/NiceIconEditor.d.ts +79 -0
- package/dist/types/index.d.ts +85 -0
- package/dist/types/photo/BatchProcessingPanel.d.ts +13 -0
- package/dist/types/photo/FaceDetectionPanel.d.ts +18 -0
- package/dist/types/photo/FilterThumb.d.ts +14 -0
- package/dist/types/photo/PerspectiveCorrectionPanel.d.ts +17 -0
- package/dist/types/photo/PhotoEditor.d.ts +2 -0
- package/dist/types/photo/PhotoEditorCanvas.d.ts +14 -0
- package/dist/types/photo/PhotoEditorLeftPanel.d.ts +13 -0
- package/dist/types/photo/PhotoEditorToolbar.d.ts +13 -0
- package/dist/types/photo/RawFilePanel.d.ts +14 -0
- package/dist/types/photo/StyleTransferPanel.d.ts +15 -0
- package/dist/types/photo/aiStyleTransfer.d.ts +58 -0
- package/dist/types/photo/batchProcessing.d.ts +95 -0
- package/dist/types/photo/faceDetection.d.ts +103 -0
- package/dist/types/photo/index.d.ts +17 -0
- package/dist/types/photo/perspectiveCorrection.d.ts +134 -0
- package/dist/types/photo/photoEditorActions.d.ts +40 -0
- package/dist/types/photo/photoEditorTypes.d.ts +34 -0
- package/dist/types/photo/photoFilters.d.ts +55 -0
- package/dist/types/photo/photoOverlays.d.ts +126 -0
- package/dist/types/photo/photoSelection.d.ts +56 -0
- package/dist/types/photo/rawFileSupport.d.ts +124 -0
- package/dist/types/photo/usePhotoEditor.d.ts +123 -0
- package/dist/types/pixel/HSVPicker.d.ts +11 -0
- package/dist/types/pixel/PaletteExtractorPanel.d.ts +16 -0
- package/dist/types/pixel/PixelEditor.d.ts +17 -0
- package/dist/types/pixel/PixelEditorCanvas.d.ts +10 -0
- package/dist/types/pixel/PixelEditorMenuBar.d.ts +11 -0
- package/dist/types/pixel/PixelEditorRightPanel.d.ts +11 -0
- package/dist/types/pixel/PixelEditorStatusBar.d.ts +11 -0
- package/dist/types/pixel/PixelEditorTimeline.d.ts +11 -0
- package/dist/types/pixel/PixelEditorToolbar.d.ts +11 -0
- package/dist/types/pixel/TileMapPanel.d.ts +14 -0
- package/dist/types/pixel/asepriteFormat.d.ts +62 -0
- package/dist/types/pixel/paletteExtractor.d.ts +73 -0
- package/dist/types/pixel/pixelEditorExports.d.ts +31 -0
- package/dist/types/pixel/pixelEditorTypes.d.ts +51 -0
- package/dist/types/pixel/pixelEditorUtils.d.ts +136 -0
- package/dist/types/pixel/tileMapMode.d.ts +122 -0
- package/dist/types/pixel/usePixelEditor.d.ts +114 -0
- package/dist/types/texture/Nice3DTexturePainter.d.ts +55 -0
- package/dist/types/ui/NiceUIDesigner.d.ts +43 -0
- package/dist/types/vector/PathSimplificationPanel.d.ts +15 -0
- package/dist/types/vector/PdfExportPanel.d.ts +20 -0
- package/dist/types/vector/TextOnPathPanel.d.ts +26 -0
- package/dist/types/vector/VectorEditor.d.ts +32 -0
- package/dist/types/vector/VectorEditorMenuBar.d.ts +8 -0
- package/dist/types/vector/VectorEditorRightPanel.d.ts +7 -0
- package/dist/types/vector/VectorEditorShapeRenderer.d.ts +9 -0
- package/dist/types/vector/VectorEditorStatusBar.d.ts +9 -0
- package/dist/types/vector/VectorFilterPanel.d.ts +19 -0
- package/dist/types/vector/VectorPatternPanel.d.ts +21 -0
- package/dist/types/vector/pathSimplification.d.ts +135 -0
- package/dist/types/vector/pdfExport.d.ts +65 -0
- package/dist/types/vector/textOnPath.d.ts +145 -0
- package/dist/types/vector/useVectorEditor.d.ts +90 -0
- package/dist/types/vector/vectorBooleanOps.d.ts +22 -0
- package/dist/types/vector/vectorEditorExport.d.ts +8 -0
- package/dist/types/vector/vectorEditorImport.d.ts +7 -0
- package/dist/types/vector/vectorEditorTypes.d.ts +47 -0
- package/dist/types/vector/vectorGradients.d.ts +64 -0
- package/dist/types/vector/vectorPatternFills.d.ts +101 -0
- package/dist/types/vector/vectorSvgFilters.d.ts +134 -0
- package/package.json +93 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* usePointerPressure — Hook for graphic tablet/stylus pressure sensitivity
|
|
3
|
+
*
|
|
4
|
+
* Provides pressure, tilt, and twist data from supported devices.
|
|
5
|
+
* Falls back gracefully for mouse input.
|
|
6
|
+
*/
|
|
7
|
+
export interface PointerPressureState {
|
|
8
|
+
/** Is a stylus/pen currently active? */
|
|
9
|
+
isStylus: boolean;
|
|
10
|
+
/** Pressure value from 0 to 1 (mouse always returns 0.5) */
|
|
11
|
+
pressure: number;
|
|
12
|
+
/** Tilt angle on X axis (-90 to 90 degrees) */
|
|
13
|
+
tiltX: number;
|
|
14
|
+
/** Tilt angle on Y axis (-90 to 90 degrees) */
|
|
15
|
+
tiltY: number;
|
|
16
|
+
/** Twist angle of the stylus (0 to 360 degrees) */
|
|
17
|
+
twist: number;
|
|
18
|
+
/** Tangential pressure (for airbrush styluses) */
|
|
19
|
+
tangentialPressure: number;
|
|
20
|
+
/** Width of contact point (for touch) */
|
|
21
|
+
width: number;
|
|
22
|
+
/** Height of contact point (for touch) */
|
|
23
|
+
height: number;
|
|
24
|
+
/** Current pointer type: 'mouse', 'pen', 'touch', 'eraser' */
|
|
25
|
+
pointerType: 'mouse' | 'pen' | 'touch' | 'eraser';
|
|
26
|
+
/** Current position */
|
|
27
|
+
x: number;
|
|
28
|
+
y: number;
|
|
29
|
+
/** Is button pressed? */
|
|
30
|
+
isPressed: boolean;
|
|
31
|
+
/** Which buttons are pressed (bitmask) */
|
|
32
|
+
buttons: number;
|
|
33
|
+
}
|
|
34
|
+
export interface UsePointerPressureOptions {
|
|
35
|
+
/** Target element ref */
|
|
36
|
+
elementRef: React.RefObject<HTMLElement>;
|
|
37
|
+
/** Enable pressure simulation for mouse (default: true) */
|
|
38
|
+
simulatePressure?: boolean;
|
|
39
|
+
/** Pressure curve for simulation: linear, ease-in, ease-out */
|
|
40
|
+
pressureCurve?: 'linear' | 'ease-in' | 'ease-out' | 'custom';
|
|
41
|
+
/** Custom pressure curve function (input: speed 0-1, output: pressure 0-1) */
|
|
42
|
+
customPressureCurve?: (speed: number) => number;
|
|
43
|
+
/** Enable pressure smoothing (default: true) */
|
|
44
|
+
smoothing?: boolean;
|
|
45
|
+
/** Smoothing factor 0-1 (default: 0.3) */
|
|
46
|
+
smoothingFactor?: number;
|
|
47
|
+
/** Callbacks */
|
|
48
|
+
onPressureChange?: (pressure: number) => void;
|
|
49
|
+
onDown?: (state: PointerPressureState) => void;
|
|
50
|
+
onMove?: (state: PointerPressureState) => void;
|
|
51
|
+
onUp?: (state: PointerPressureState) => void;
|
|
52
|
+
}
|
|
53
|
+
export declare function usePointerPressure(options: UsePointerPressureOptions): PointerPressureState;
|
|
54
|
+
export interface BrushSizeOptions {
|
|
55
|
+
minSize: number;
|
|
56
|
+
maxSize: number;
|
|
57
|
+
pressure: number;
|
|
58
|
+
/** How much pressure affects size (0-1, default 1) */
|
|
59
|
+
pressureSensitivity?: number;
|
|
60
|
+
/** Pressure curve: 'linear' | 'squared' | 'sqrt' */
|
|
61
|
+
curve?: 'linear' | 'squared' | 'sqrt';
|
|
62
|
+
}
|
|
63
|
+
/** Calculate brush size based on pressure */
|
|
64
|
+
export declare function calculateBrushSize(options: BrushSizeOptions): number;
|
|
65
|
+
/** Calculate brush opacity based on pressure */
|
|
66
|
+
export declare function calculateBrushOpacity(pressure: number, minOpacity?: number, maxOpacity?: number, sensitivity?: number): number;
|
|
67
|
+
/** Calculate brush rotation angle based on tilt */
|
|
68
|
+
export declare function calculateBrushAngle(tiltX: number, tiltY: number): number;
|
|
69
|
+
/** Calculate brush squash based on tilt (for calligraphy) */
|
|
70
|
+
export declare function calculateBrushSquash(tiltX: number, tiltY: number): number;
|
|
71
|
+
export interface PressureIndicatorProps {
|
|
72
|
+
pressure: number;
|
|
73
|
+
isStylus: boolean;
|
|
74
|
+
showValues?: boolean;
|
|
75
|
+
tiltX?: number;
|
|
76
|
+
tiltY?: number;
|
|
77
|
+
}
|
|
78
|
+
/** Visual indicator for current pressure */
|
|
79
|
+
export declare const PressureIndicator: ({ pressure, isStylus, showValues, tiltX, tiltY, }: PressureIndicatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
80
|
+
export interface SmoothPoint {
|
|
81
|
+
x: number;
|
|
82
|
+
y: number;
|
|
83
|
+
pressure: number;
|
|
84
|
+
}
|
|
85
|
+
/** Catmull-Rom spline smoothing for stroke points */
|
|
86
|
+
export declare function smoothStroke(points: SmoothPoint[], tension?: number, segments?: number): SmoothPoint[];
|
|
87
|
+
/** Moving average smoothing */
|
|
88
|
+
export declare function movingAverageSmooth(points: SmoothPoint[], windowSize?: number): SmoothPoint[];
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NiceFontEditor.tsx — Font creation and editing (glyph editor).
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - Glyph grid with unicode character mapping
|
|
6
|
+
* - Per-glyph vector path editor
|
|
7
|
+
* - Metrics editing (advance width, bearing, ascent/descent)
|
|
8
|
+
* - Font preview with sample text
|
|
9
|
+
* - Export to OTF/TTF metadata (SVG font), WOFF subset
|
|
10
|
+
* - Import from existing font files
|
|
11
|
+
*/
|
|
12
|
+
import React from "react";
|
|
13
|
+
export interface FontEditorProps {
|
|
14
|
+
/** Font family name. */
|
|
15
|
+
fontName?: string;
|
|
16
|
+
/** Called on font save. */
|
|
17
|
+
onSave?: (data: FontData) => void;
|
|
18
|
+
/** CSS class. */
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface GlyphData {
|
|
22
|
+
unicode: number;
|
|
23
|
+
char: string;
|
|
24
|
+
name: string;
|
|
25
|
+
path: string;
|
|
26
|
+
advanceWidth: number;
|
|
27
|
+
leftBearing: number;
|
|
28
|
+
}
|
|
29
|
+
export interface FontMetrics {
|
|
30
|
+
unitsPerEm: number;
|
|
31
|
+
ascent: number;
|
|
32
|
+
descent: number;
|
|
33
|
+
lineGap: number;
|
|
34
|
+
xHeight: number;
|
|
35
|
+
capHeight: number;
|
|
36
|
+
}
|
|
37
|
+
export interface FontData {
|
|
38
|
+
name: string;
|
|
39
|
+
family: string;
|
|
40
|
+
metrics: FontMetrics;
|
|
41
|
+
glyphs: GlyphData[];
|
|
42
|
+
}
|
|
43
|
+
export type FontGlyph = GlyphData;
|
|
44
|
+
export interface FontEditorApi {
|
|
45
|
+
fontName: string;
|
|
46
|
+
setFontName: React.Dispatch<React.SetStateAction<string>>;
|
|
47
|
+
metrics: FontMetrics;
|
|
48
|
+
setMetrics: React.Dispatch<React.SetStateAction<FontMetrics>>;
|
|
49
|
+
glyphs: GlyphData[];
|
|
50
|
+
selectedGlyph: number | null;
|
|
51
|
+
setSelectedGlyph: React.Dispatch<React.SetStateAction<number | null>>;
|
|
52
|
+
updateGlyph: (unicode: number, updates: Partial<GlyphData>) => void;
|
|
53
|
+
addGlyph: (char: string) => void;
|
|
54
|
+
previewText: string;
|
|
55
|
+
setPreviewText: React.Dispatch<React.SetStateAction<string>>;
|
|
56
|
+
toFontData: () => FontData;
|
|
57
|
+
}
|
|
58
|
+
export declare function exportToSvgFont(data: FontData): string;
|
|
59
|
+
export declare function useFontEditor(initialName: string): FontEditorApi;
|
|
60
|
+
/** Font glyph editor with metrics, path editing, and preview. */
|
|
61
|
+
export declare const NiceFontEditor: React.FC<FontEditorProps>;
|
|
62
|
+
export default NiceFontEditor;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AnimationPreviewPlayer — UI component for animation preview in GameAsset2dEditor
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - Canvas-based animation rendering with zoom
|
|
6
|
+
* - Playback controls (play/pause/stop/step)
|
|
7
|
+
* - Timeline scrubber with frame indicators
|
|
8
|
+
* - Speed control (0.25x - 4x)
|
|
9
|
+
* - Onion skinning toggle
|
|
10
|
+
* - State machine parameter controls
|
|
11
|
+
* - Transition visualization
|
|
12
|
+
*/
|
|
13
|
+
import type { SpriteSheet, AnimationStateMachine } from './gameAssetTypes';
|
|
14
|
+
export interface AnimationPreviewPlayerProps {
|
|
15
|
+
spriteSheets: SpriteSheet[];
|
|
16
|
+
stateMachines: AnimationStateMachine[];
|
|
17
|
+
selectedAnimationId?: string | null;
|
|
18
|
+
selectedStateMachineId?: string | null;
|
|
19
|
+
width?: number;
|
|
20
|
+
height?: number;
|
|
21
|
+
backgroundColor?: string;
|
|
22
|
+
showTimeline?: boolean;
|
|
23
|
+
showStateGraph?: boolean;
|
|
24
|
+
className?: string;
|
|
25
|
+
onFrameChange?: (frameIndex: number) => void;
|
|
26
|
+
onStateChange?: (stateId: string) => void;
|
|
27
|
+
}
|
|
28
|
+
export declare function AnimationPreviewPlayer({ spriteSheets, stateMachines, selectedAnimationId, selectedStateMachineId, width, height, backgroundColor, showTimeline, showStateGraph, className, onFrameChange, onStateChange, }: AnimationPreviewPlayerProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export default AnimationPreviewPlayer;
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CollisionEditor — Shape-based collision mask editor for GameAsset2dEditor
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - Multiple collision shape types: box, circle, polygon, capsule
|
|
6
|
+
* - Visual editing with drag handles
|
|
7
|
+
* - Collision layer assignment
|
|
8
|
+
* - Per-frame collision shapes for animations
|
|
9
|
+
* - Collision body types: static, dynamic, kinematic
|
|
10
|
+
* - Physics material properties
|
|
11
|
+
*/
|
|
12
|
+
export type CollisionShapeType = 'box' | 'circle' | 'polygon' | 'capsule' | 'edge';
|
|
13
|
+
export type CollisionBodyType = 'static' | 'dynamic' | 'kinematic' | 'trigger';
|
|
14
|
+
export interface CollisionShape {
|
|
15
|
+
id: string;
|
|
16
|
+
/** Display name */
|
|
17
|
+
name?: string;
|
|
18
|
+
type: CollisionShapeType;
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
x: number;
|
|
21
|
+
y: number;
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
rotation: number;
|
|
25
|
+
radius?: number;
|
|
26
|
+
vertices?: {
|
|
27
|
+
x: number;
|
|
28
|
+
y: number;
|
|
29
|
+
}[];
|
|
30
|
+
capsuleDirection?: 'horizontal' | 'vertical';
|
|
31
|
+
layer: number;
|
|
32
|
+
mask: number[];
|
|
33
|
+
isTrigger: boolean;
|
|
34
|
+
/** Frame index for animation (optional) */
|
|
35
|
+
frameIndex?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface CollisionBody {
|
|
38
|
+
id: string;
|
|
39
|
+
name: string;
|
|
40
|
+
bodyType: CollisionBodyType;
|
|
41
|
+
shapes: CollisionShape[];
|
|
42
|
+
density: number;
|
|
43
|
+
friction: number;
|
|
44
|
+
restitution: number;
|
|
45
|
+
linearDamping: number;
|
|
46
|
+
angularDamping: number;
|
|
47
|
+
fixedRotation: boolean;
|
|
48
|
+
gravityScale: number;
|
|
49
|
+
}
|
|
50
|
+
export interface CollisionEditorProps {
|
|
51
|
+
/** Collision body being edited */
|
|
52
|
+
body: CollisionBody | null;
|
|
53
|
+
/** Preview image (sprite/tile) */
|
|
54
|
+
previewImage: HTMLCanvasElement | HTMLImageElement | null;
|
|
55
|
+
/** Called when body changes */
|
|
56
|
+
onChange: (body: CollisionBody) => void;
|
|
57
|
+
/** Width of the preview area */
|
|
58
|
+
width?: number;
|
|
59
|
+
/** Height of the preview area */
|
|
60
|
+
height?: number;
|
|
61
|
+
/** Grid size for snapping */
|
|
62
|
+
gridSize?: number;
|
|
63
|
+
className?: string;
|
|
64
|
+
}
|
|
65
|
+
export declare function createDefaultShape(type: CollisionShapeType): CollisionShape;
|
|
66
|
+
export declare function createDefaultBody(): CollisionBody;
|
|
67
|
+
export declare const COLLISION_LAYERS: readonly [{
|
|
68
|
+
readonly id: 0;
|
|
69
|
+
readonly name: "Default";
|
|
70
|
+
readonly color: "#4a9fff";
|
|
71
|
+
}, {
|
|
72
|
+
readonly id: 1;
|
|
73
|
+
readonly name: "Player";
|
|
74
|
+
readonly color: "#4ade80";
|
|
75
|
+
}, {
|
|
76
|
+
readonly id: 2;
|
|
77
|
+
readonly name: "Enemy";
|
|
78
|
+
readonly color: "#ef4444";
|
|
79
|
+
}, {
|
|
80
|
+
readonly id: 3;
|
|
81
|
+
readonly name: "Ground";
|
|
82
|
+
readonly color: "#a16207";
|
|
83
|
+
}, {
|
|
84
|
+
readonly id: 4;
|
|
85
|
+
readonly name: "Platform";
|
|
86
|
+
readonly color: "#8b5cf6";
|
|
87
|
+
}, {
|
|
88
|
+
readonly id: 5;
|
|
89
|
+
readonly name: "Projectile";
|
|
90
|
+
readonly color: "#f59e0b";
|
|
91
|
+
}, {
|
|
92
|
+
readonly id: 6;
|
|
93
|
+
readonly name: "Pickup";
|
|
94
|
+
readonly color: "#22d3d8";
|
|
95
|
+
}, {
|
|
96
|
+
readonly id: 7;
|
|
97
|
+
readonly name: "Trigger";
|
|
98
|
+
readonly color: "#ec4899";
|
|
99
|
+
}];
|
|
100
|
+
export declare function CollisionEditor({ body, previewImage, onChange, width, height, gridSize, className, }: CollisionEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
101
|
+
export default CollisionEditor;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GameAsset2dEditor — Comprehensive 2D game asset editor
|
|
3
|
+
*
|
|
4
|
+
* Features:
|
|
5
|
+
* - Tile Map Editor: Build 2D and 2.5D (isometric/oblique) maps
|
|
6
|
+
* - Sprite Sheet Manager: Import, slice, and organize sprite sheets
|
|
7
|
+
* - Animation State Machine: Design character animation states and transitions
|
|
8
|
+
* - Effects Pipeline: Apply and preview image effects
|
|
9
|
+
*/
|
|
10
|
+
import React from 'react';
|
|
11
|
+
export interface GameAsset2dEditorProps {
|
|
12
|
+
className?: string;
|
|
13
|
+
onSave?: (project: any) => void;
|
|
14
|
+
onExport?: (data: string, format: string) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const GameAsset2dEditor: React.FC<GameAsset2dEditorProps>;
|
|
17
|
+
export default GameAsset2dEditor;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GameAssetExportPanel
|
|
3
|
+
* UI for exporting game assets to various formats
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { GameAssetExportOptions, ExportResult } from './gameAssetExport';
|
|
7
|
+
export interface GameAssetExportPanelProps {
|
|
8
|
+
/** Asset data to export */
|
|
9
|
+
asset: GameAssetExportOptions;
|
|
10
|
+
/** Called when export starts */
|
|
11
|
+
onExportStart?: () => void;
|
|
12
|
+
/** Called when export completes */
|
|
13
|
+
onExportComplete?: (results: ExportResult[]) => void;
|
|
14
|
+
/** Called on export error */
|
|
15
|
+
onExportError?: (error: Error) => void;
|
|
16
|
+
/** Custom class name */
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const GameAssetExportPanel: React.FC<GameAssetExportPanelProps>;
|
|
20
|
+
export default GameAssetExportPanel;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IsometricEditor
|
|
3
|
+
* Visual editor for 2.5D isometric tile maps
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { IsometricTileset, IsometricMap } from './isometricTiles';
|
|
7
|
+
export interface IsometricEditorProps {
|
|
8
|
+
/** Initial tileset */
|
|
9
|
+
tileset?: IsometricTileset;
|
|
10
|
+
/** Initial map */
|
|
11
|
+
initialMap?: IsometricMap;
|
|
12
|
+
/** Canvas width */
|
|
13
|
+
width?: number;
|
|
14
|
+
/** Canvas height */
|
|
15
|
+
height?: number;
|
|
16
|
+
/** Called when map changes */
|
|
17
|
+
onChange?: (map: IsometricMap) => void;
|
|
18
|
+
/** Custom class name */
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const IsometricEditor: React.FC<IsometricEditorProps>;
|
|
22
|
+
export default IsometricEditor;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IsometricTilePanel
|
|
3
|
+
* Settings panel for isometric tile configuration and export
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { IsometricConfig, IsometricMap } from './isometricTiles';
|
|
7
|
+
export interface IsometricTilePanelProps {
|
|
8
|
+
/** Current configuration */
|
|
9
|
+
config: IsometricConfig;
|
|
10
|
+
/** Called when config changes */
|
|
11
|
+
onConfigChange: (config: IsometricConfig) => void;
|
|
12
|
+
/** Current map (for export) */
|
|
13
|
+
map?: IsometricMap;
|
|
14
|
+
/** Custom class name */
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const IsometricTilePanel: React.FC<IsometricTilePanelProps>;
|
|
18
|
+
export default IsometricTilePanel;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GameAsset Export Formats
|
|
3
|
+
* Export utilities for Tiled, Godot, Unity, and other game engines
|
|
4
|
+
*/
|
|
5
|
+
import type { CollisionShape } from './CollisionEditor';
|
|
6
|
+
export interface GameAssetExportOptions {
|
|
7
|
+
/** Asset name */
|
|
8
|
+
name: string;
|
|
9
|
+
/** Image width */
|
|
10
|
+
width: number;
|
|
11
|
+
/** Image height */
|
|
12
|
+
height: number;
|
|
13
|
+
/** Image file path (relative) */
|
|
14
|
+
imagePath: string;
|
|
15
|
+
/** Collision shapes */
|
|
16
|
+
collisions?: CollisionShape[];
|
|
17
|
+
/** Animation frames */
|
|
18
|
+
frames?: AnimationFrameData[];
|
|
19
|
+
/** Sprite metadata */
|
|
20
|
+
sprite?: SpriteMetadata;
|
|
21
|
+
/** Tile size for tile-based export */
|
|
22
|
+
tileSize?: {
|
|
23
|
+
width: number;
|
|
24
|
+
height: number;
|
|
25
|
+
};
|
|
26
|
+
/** Custom properties */
|
|
27
|
+
properties?: Record<string, unknown>;
|
|
28
|
+
}
|
|
29
|
+
export interface AnimationFrameData {
|
|
30
|
+
/** Frame index */
|
|
31
|
+
index: number;
|
|
32
|
+
/** Frame duration in milliseconds */
|
|
33
|
+
duration: number;
|
|
34
|
+
/** Frame region in sprite sheet */
|
|
35
|
+
region: {
|
|
36
|
+
x: number;
|
|
37
|
+
y: number;
|
|
38
|
+
width: number;
|
|
39
|
+
height: number;
|
|
40
|
+
};
|
|
41
|
+
/** Frame collision shapes (overrides default) */
|
|
42
|
+
collisions?: CollisionShape[];
|
|
43
|
+
/** Frame anchor/pivot point */
|
|
44
|
+
anchor?: {
|
|
45
|
+
x: number;
|
|
46
|
+
y: number;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
export interface SpriteMetadata {
|
|
50
|
+
/** Pivot point (normalized 0-1) */
|
|
51
|
+
pivot: {
|
|
52
|
+
x: number;
|
|
53
|
+
y: number;
|
|
54
|
+
};
|
|
55
|
+
/** Pixels per unit */
|
|
56
|
+
pixelsPerUnit: number;
|
|
57
|
+
/** Border for 9-slice */
|
|
58
|
+
border?: {
|
|
59
|
+
left: number;
|
|
60
|
+
right: number;
|
|
61
|
+
top: number;
|
|
62
|
+
bottom: number;
|
|
63
|
+
};
|
|
64
|
+
/** Filter mode */
|
|
65
|
+
filterMode?: 'point' | 'bilinear' | 'trilinear';
|
|
66
|
+
/** Wrap mode */
|
|
67
|
+
wrapMode?: 'clamp' | 'repeat' | 'mirror';
|
|
68
|
+
}
|
|
69
|
+
export interface ExportResult {
|
|
70
|
+
/** File name */
|
|
71
|
+
fileName: string;
|
|
72
|
+
/** File content */
|
|
73
|
+
content: string;
|
|
74
|
+
/** MIME type */
|
|
75
|
+
mimeType: string;
|
|
76
|
+
}
|
|
77
|
+
export interface TiledExportOptions extends GameAssetExportOptions {
|
|
78
|
+
/** First global ID */
|
|
79
|
+
firstgid?: number;
|
|
80
|
+
/** Tile count */
|
|
81
|
+
tileCount?: number;
|
|
82
|
+
/** Columns in tileset */
|
|
83
|
+
columns?: number;
|
|
84
|
+
/** Spacing between tiles */
|
|
85
|
+
spacing?: number;
|
|
86
|
+
/** Margin around tileset */
|
|
87
|
+
margin?: number;
|
|
88
|
+
/** Object alignment */
|
|
89
|
+
objectAlignment?: 'unspecified' | 'topleft' | 'top' | 'topright' | 'left' | 'center' | 'right' | 'bottomleft' | 'bottom' | 'bottomright';
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Export as Tiled tileset (TSX format)
|
|
93
|
+
*/
|
|
94
|
+
export declare function exportToTiled(options: TiledExportOptions): ExportResult;
|
|
95
|
+
export interface GodotExportOptions extends GameAssetExportOptions {
|
|
96
|
+
/** Godot version (3 or 4) */
|
|
97
|
+
godotVersion?: 3 | 4;
|
|
98
|
+
/** Resource UID (Godot 4) */
|
|
99
|
+
uid?: string;
|
|
100
|
+
/** Atlas texture */
|
|
101
|
+
atlas?: boolean;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Export as Godot SpriteFrames resource
|
|
105
|
+
*/
|
|
106
|
+
export declare function exportToGodot(options: GodotExportOptions): ExportResult[];
|
|
107
|
+
export interface UnityExportOptions extends GameAssetExportOptions {
|
|
108
|
+
/** Generate .meta file */
|
|
109
|
+
generateMeta?: boolean;
|
|
110
|
+
/** Unity GUID */
|
|
111
|
+
guid?: string;
|
|
112
|
+
/** Sprite mode */
|
|
113
|
+
spriteMode?: 'single' | 'multiple';
|
|
114
|
+
/** Pixels per unit */
|
|
115
|
+
pixelsPerUnit?: number;
|
|
116
|
+
/** Filter mode */
|
|
117
|
+
filterMode?: 'point' | 'bilinear' | 'trilinear';
|
|
118
|
+
/** Sprite packing tag */
|
|
119
|
+
packingTag?: string;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Export for Unity (meta file + scriptable object data)
|
|
123
|
+
*/
|
|
124
|
+
export declare function exportToUnity(options: UnityExportOptions): ExportResult[];
|
|
125
|
+
/**
|
|
126
|
+
* Export as generic JSON (for custom importers)
|
|
127
|
+
*/
|
|
128
|
+
export declare function exportToJson(options: GameAssetExportOptions): ExportResult;
|
|
129
|
+
export interface PhaserExportOptions extends GameAssetExportOptions {
|
|
130
|
+
/** Phaser version (2 or 3) */
|
|
131
|
+
phaserVersion?: 2 | 3;
|
|
132
|
+
/** Physics system */
|
|
133
|
+
physics?: 'arcade' | 'matter' | 'p2';
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Export for Phaser (JSON Atlas format)
|
|
137
|
+
*/
|
|
138
|
+
export declare function exportToPhaser(options: PhaserExportOptions): ExportResult[];
|
|
139
|
+
/**
|
|
140
|
+
* Export for Construct 2/3 (c2addon/c3addon compatible JSON)
|
|
141
|
+
*/
|
|
142
|
+
export declare function exportToConstruct(options: GameAssetExportOptions): ExportResult;
|
|
143
|
+
export type ExportFormat = 'tiled' | 'godot' | 'unity' | 'phaser' | 'construct' | 'json';
|
|
144
|
+
export interface ExportManagerOptions {
|
|
145
|
+
format: ExportFormat;
|
|
146
|
+
options: GameAssetExportOptions;
|
|
147
|
+
formatOptions?: Partial<TiledExportOptions | GodotExportOptions | UnityExportOptions | PhaserExportOptions>;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Export game asset to specified format
|
|
151
|
+
*/
|
|
152
|
+
export declare function exportGameAsset(config: ExportManagerOptions): ExportResult[];
|
|
153
|
+
/**
|
|
154
|
+
* Download export results as files
|
|
155
|
+
*/
|
|
156
|
+
export declare function downloadExportResults(results: ExportResult[]): void;
|
|
157
|
+
/**
|
|
158
|
+
* Zip export results (requires JSZip)
|
|
159
|
+
*/
|
|
160
|
+
export declare function zipExportResults(results: ExportResult[], zipName: string): Promise<Blob>;
|