@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.
- package/dist/cjs/animation/AnimatedPerson.js +69 -63
- package/dist/cjs/animation/AnimatedPerson.js.map +1 -1
- package/dist/cjs/animation/AnimationEditor.js +27 -20
- package/dist/cjs/animation/AnimationEditor.js.map +1 -1
- package/dist/cjs/animation/Audience.js +17 -11
- package/dist/cjs/animation/Audience.js.map +1 -1
- package/dist/cjs/animation/BodyRenderer.js +7 -7
- package/dist/cjs/animation/BodyRenderer.js.map +1 -1
- package/dist/cjs/animation/animationHelper.js +83 -52
- package/dist/cjs/animation/animationHelper.js.map +1 -1
- package/dist/cjs/animation/characterTypes.js +171 -30
- package/dist/cjs/animation/characterTypes.js.map +1 -1
- package/dist/cjs/animation/choreoDSL.js +114 -62
- package/dist/cjs/animation/choreoDSL.js.map +1 -1
- package/dist/cjs/animation/karaokeIntegration.js +10 -11
- package/dist/cjs/animation/karaokeIntegration.js.map +1 -1
- package/dist/cjs/animation/lottieExport.js +15 -9
- package/dist/cjs/animation/lottieExport.js.map +1 -1
- package/dist/cjs/animation/motionPath.js +125 -30
- package/dist/cjs/animation/motionPath.js.map +1 -1
- package/dist/cjs/animation/physics.js +157 -57
- package/dist/cjs/animation/physics.js.map +1 -1
- package/dist/cjs/animation/rig/RigPlayer.js +7 -6
- package/dist/cjs/animation/rig/RigPlayer.js.map +1 -1
- package/dist/cjs/animation/rig/RiggedBody.js +7 -7
- package/dist/cjs/animation/rig/RiggedBody.js.map +1 -1
- package/dist/cjs/animation/rig/choreoRigBridge.js +52 -29
- package/dist/cjs/animation/rig/choreoRigBridge.js.map +1 -1
- package/dist/cjs/animation/rig/poseOps.js +6 -3
- package/dist/cjs/animation/rig/poseOps.js.map +1 -1
- package/dist/cjs/animation/shapes/arms.js +7 -6
- package/dist/cjs/animation/shapes/arms.js.map +1 -1
- package/dist/cjs/animation/shapes/eyes.js +31 -18
- package/dist/cjs/animation/shapes/eyes.js.map +1 -1
- package/dist/cjs/animation/shapes/hair.js +39 -23
- package/dist/cjs/animation/shapes/hair.js.map +1 -1
- package/dist/cjs/animation/shapes/heads.js +47 -29
- package/dist/cjs/animation/shapes/heads.js.map +1 -1
- package/dist/cjs/animation/shapes/headwear.js +26 -14
- package/dist/cjs/animation/shapes/headwear.js.map +1 -1
- package/dist/cjs/animation/shapes/legs.js +7 -6
- package/dist/cjs/animation/shapes/legs.js.map +1 -1
- package/dist/cjs/animation/shapes/mouths.js +28 -18
- package/dist/cjs/animation/shapes/mouths.js.map +1 -1
- package/dist/cjs/animation/shapes/noses.js +18 -9
- package/dist/cjs/animation/shapes/noses.js.map +1 -1
- package/dist/cjs/animation/shapes/outfits.js +25 -14
- package/dist/cjs/animation/shapes/outfits.js.map +1 -1
- package/dist/cjs/animation/shapes/torsos.js +5 -4
- package/dist/cjs/animation/shapes/torsos.js.map +1 -1
- package/dist/cjs/animation/spineExport.js +33 -26
- package/dist/cjs/animation/spineExport.js.map +1 -1
- package/dist/cjs/core/LocalUI.js +16 -16
- package/dist/cjs/core/LocalUI.js.map +1 -1
- package/dist/cjs/core/NiceBrushEngine.js +205 -69
- package/dist/cjs/core/NiceBrushEngine.js.map +1 -1
- package/dist/cjs/core/collaboration.js +35 -21
- package/dist/cjs/core/collaboration.js.map +1 -1
- package/dist/cjs/core/colorBlindness.js +64 -24
- package/dist/cjs/core/colorBlindness.js.map +1 -1
- package/dist/cjs/core/dragDrop.js +34 -26
- package/dist/cjs/core/dragDrop.js.map +1 -1
- package/dist/cjs/core/fixes.js +26 -14
- package/dist/cjs/core/fixes.js.map +1 -1
- package/dist/cjs/core/gridGuides.js +24 -16
- package/dist/cjs/core/gridGuides.js.map +1 -1
- package/dist/cjs/core/historyVisual.js +42 -23
- package/dist/cjs/core/historyVisual.js.map +1 -1
- package/dist/cjs/core/integrations.js +65 -48
- package/dist/cjs/core/integrations.js.map +1 -1
- package/dist/cjs/core/minimap.js +40 -24
- package/dist/cjs/core/minimap.js.map +1 -1
- package/dist/cjs/core/plugins.js +10 -6
- package/dist/cjs/core/plugins.js.map +1 -1
- package/dist/cjs/core/rtl.js +32 -27
- package/dist/cjs/core/rtl.js.map +1 -1
- package/dist/cjs/core/shortcuts.js +77 -39
- package/dist/cjs/core/shortcuts.js.map +1 -1
- package/dist/cjs/core/theme.js +68 -61
- package/dist/cjs/core/theme.js.map +1 -1
- package/dist/cjs/core/yjsCollaboration.js +61 -28
- package/dist/cjs/core/yjsCollaboration.js.map +1 -1
- package/dist/cjs/font/NiceFontEditor.js +160 -57
- package/dist/cjs/font/NiceFontEditor.js.map +1 -1
- package/dist/cjs/font/fontFormatUtils.js +37 -24
- package/dist/cjs/font/fontFormatUtils.js.map +1 -1
- package/dist/cjs/game/GameAsset2dEditor.js +73 -60
- package/dist/cjs/game/GameAsset2dEditor.js.map +1 -1
- package/dist/cjs/game/gameAssetUtils.js +18 -13
- package/dist/cjs/game/gameAssetUtils.js.map +1 -1
- package/dist/cjs/game/useGameAssetEditor.js +160 -143
- package/dist/cjs/game/useGameAssetEditor.js.map +1 -1
- package/dist/cjs/icon/NiceIconEditor.js +329 -106
- package/dist/cjs/icon/NiceIconEditor.js.map +1 -1
- package/dist/cjs/packages/ui/dist/NiceErrorBoundary-D75yr_WE.js +572 -0
- package/dist/cjs/packages/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
- package/dist/cjs/packages/ui/dist/NiceForm-CKoJA6NG.js +4979 -0
- package/dist/cjs/packages/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
- package/dist/cjs/packages/ui/dist/NiceModal-1QX7NhyH.js +98 -0
- package/dist/cjs/packages/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
- package/dist/cjs/packages/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5244 -0
- package/dist/cjs/packages/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
- package/dist/cjs/packages/ui/dist/NicePagination-DbE-uOkl.js +174 -0
- package/dist/cjs/packages/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
- package/dist/cjs/packages/ui/dist/NicePinCodeInput-B8cI8zu8.js +10459 -0
- package/dist/cjs/packages/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
- package/dist/cjs/packages/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6313 -0
- package/dist/cjs/packages/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
- package/dist/cjs/packages/ui/dist/NiceTabs-DzLHzwuA.js +1639 -0
- package/dist/cjs/packages/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
- package/dist/cjs/packages/ui/dist/NiceWindow-DeC83yfE.js +807 -0
- package/dist/cjs/packages/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
- package/dist/cjs/packages/ui/dist/charts-BAS21jkC.js +3833 -0
- package/dist/cjs/packages/ui/dist/charts-BAS21jkC.js.map +1 -0
- package/dist/cjs/packages/ui/dist/core-Da43q-pO.js +11683 -0
- package/dist/cjs/packages/ui/dist/core-Da43q-pO.js.map +1 -0
- package/dist/cjs/packages/ui/dist/index-pAuGTbuB.js +28876 -0
- package/dist/cjs/packages/ui/dist/index-pAuGTbuB.js.map +1 -0
- package/dist/cjs/photo/FilterThumb.js +7 -5
- package/dist/cjs/photo/FilterThumb.js.map +1 -1
- package/dist/cjs/photo/NiceAITools.js +78 -32
- package/dist/cjs/photo/NiceAITools.js.map +1 -1
- package/dist/cjs/photo/PhotoEditor.js +4 -4
- package/dist/cjs/photo/PhotoEditor.js.map +1 -1
- package/dist/cjs/photo/PhotoEditorCanvas.js +56 -22
- package/dist/cjs/photo/PhotoEditorCanvas.js.map +1 -1
- package/dist/cjs/photo/PhotoEditorLeftPanel.js +106 -48
- package/dist/cjs/photo/PhotoEditorLeftPanel.js.map +1 -1
- package/dist/cjs/photo/PhotoEditorToolbar.js +2 -2
- package/dist/cjs/photo/PhotoEditorToolbar.js.map +1 -1
- package/dist/cjs/photo/photoEditorActions.js +27 -18
- package/dist/cjs/photo/photoEditorActions.js.map +1 -1
- package/dist/cjs/photo/photoFilters.js +316 -81
- package/dist/cjs/photo/photoFilters.js.map +1 -1
- package/dist/cjs/photo/photoOverlays.js +521 -165
- package/dist/cjs/photo/photoOverlays.js.map +1 -1
- package/dist/cjs/photo/photoSelection.js +69 -35
- package/dist/cjs/photo/photoSelection.js.map +1 -1
- package/dist/cjs/photo/usePhotoEditor.js +203 -97
- package/dist/cjs/photo/usePhotoEditor.js.map +1 -1
- package/dist/cjs/pixel/HSVPicker.js +32 -19
- package/dist/cjs/pixel/HSVPicker.js.map +1 -1
- package/dist/cjs/pixel/PixelEditor.js +25 -14
- package/dist/cjs/pixel/PixelEditor.js.map +1 -1
- package/dist/cjs/pixel/PixelEditorCanvas.js +2 -2
- package/dist/cjs/pixel/PixelEditorCanvas.js.map +1 -1
- package/dist/cjs/pixel/PixelEditorMenuBar.js +3 -3
- package/dist/cjs/pixel/PixelEditorMenuBar.js.map +1 -1
- package/dist/cjs/pixel/PixelEditorRightPanel.js +28 -8
- package/dist/cjs/pixel/PixelEditorRightPanel.js.map +1 -1
- package/dist/cjs/pixel/PixelEditorStatusBar.js +2 -2
- package/dist/cjs/pixel/PixelEditorStatusBar.js.map +1 -1
- package/dist/cjs/pixel/PixelEditorTimeline.js +3 -4
- package/dist/cjs/pixel/PixelEditorTimeline.js.map +1 -1
- package/dist/cjs/pixel/PixelEditorToolbar.js +3 -3
- package/dist/cjs/pixel/PixelEditorToolbar.js.map +1 -1
- package/dist/cjs/pixel/SpriteGeneratorPanel.js +136 -54
- package/dist/cjs/pixel/SpriteGeneratorPanel.js.map +1 -1
- package/dist/cjs/pixel/asepriteFormat.js +122 -38
- package/dist/cjs/pixel/asepriteFormat.js.map +1 -1
- package/dist/cjs/pixel/characterGeneratorPresets.js +208 -54
- package/dist/cjs/pixel/characterGeneratorPresets.js.map +1 -1
- package/dist/cjs/pixel/pixelEditorExports.js +42 -35
- package/dist/cjs/pixel/pixelEditorExports.js.map +1 -1
- package/dist/cjs/pixel/pixelEditorTypes.js +67 -33
- package/dist/cjs/pixel/pixelEditorTypes.js.map +1 -1
- package/dist/cjs/pixel/pixelEditorUtils.js +62 -38
- package/dist/cjs/pixel/pixelEditorUtils.js.map +1 -1
- package/dist/cjs/pixel/spriteGeneratorCore.js +47 -24
- package/dist/cjs/pixel/spriteGeneratorCore.js.map +1 -1
- package/dist/cjs/pixel/usePixelEditor.js +475 -213
- package/dist/cjs/pixel/usePixelEditor.js.map +1 -1
- package/dist/cjs/texture/Nice3DTexturePainter.js +201 -71
- package/dist/cjs/texture/Nice3DTexturePainter.js.map +1 -1
- package/dist/cjs/ui/NiceUIDesigner.js +280 -91
- package/dist/cjs/ui/NiceUIDesigner.js.map +1 -1
- package/dist/cjs/vector/NiceSvgToCode.js +96 -34
- package/dist/cjs/vector/NiceSvgToCode.js.map +1 -1
- package/dist/cjs/vector/VectorEditor.js +14 -13
- package/dist/cjs/vector/VectorEditor.js.map +1 -1
- package/dist/cjs/vector/VectorEditorMenuBar.js +7 -6
- package/dist/cjs/vector/VectorEditorMenuBar.js.map +1 -1
- package/dist/cjs/vector/VectorEditorRightPanel.js +87 -32
- package/dist/cjs/vector/VectorEditorRightPanel.js.map +1 -1
- package/dist/cjs/vector/VectorEditorShapeRenderer.js +17 -15
- package/dist/cjs/vector/VectorEditorShapeRenderer.js.map +1 -1
- package/dist/cjs/vector/VectorEditorStatusBar.js.map +1 -1
- package/dist/cjs/vector/useVectorEditor.js +312 -122
- package/dist/cjs/vector/useVectorEditor.js.map +1 -1
- package/dist/cjs/vector/vectorBooleanOps.js +60 -42
- package/dist/cjs/vector/vectorBooleanOps.js.map +1 -1
- package/dist/cjs/vector/vectorEditorExport.js +40 -34
- package/dist/cjs/vector/vectorEditorExport.js.map +1 -1
- package/dist/cjs/vector/vectorGradients.js +41 -40
- package/dist/cjs/vector/vectorGradients.js.map +1 -1
- package/dist/esm/animation/AnimatedPerson.js +69 -63
- package/dist/esm/animation/AnimatedPerson.js.map +1 -1
- package/dist/esm/animation/AnimationEditor.js +27 -20
- package/dist/esm/animation/AnimationEditor.js.map +1 -1
- package/dist/esm/animation/Audience.js +17 -11
- package/dist/esm/animation/Audience.js.map +1 -1
- package/dist/esm/animation/BodyRenderer.js +7 -7
- package/dist/esm/animation/BodyRenderer.js.map +1 -1
- package/dist/esm/animation/animationHelper.js +83 -52
- package/dist/esm/animation/animationHelper.js.map +1 -1
- package/dist/esm/animation/characterTypes.js +171 -30
- package/dist/esm/animation/characterTypes.js.map +1 -1
- package/dist/esm/animation/choreoDSL.js +114 -62
- package/dist/esm/animation/choreoDSL.js.map +1 -1
- package/dist/esm/animation/karaokeIntegration.js +10 -11
- package/dist/esm/animation/karaokeIntegration.js.map +1 -1
- package/dist/esm/animation/lottieExport.js +15 -9
- package/dist/esm/animation/lottieExport.js.map +1 -1
- package/dist/esm/animation/motionPath.js +125 -30
- package/dist/esm/animation/motionPath.js.map +1 -1
- package/dist/esm/animation/physics.js +157 -57
- package/dist/esm/animation/physics.js.map +1 -1
- package/dist/esm/animation/rig/RigPlayer.js +7 -6
- package/dist/esm/animation/rig/RigPlayer.js.map +1 -1
- package/dist/esm/animation/rig/RiggedBody.js +7 -7
- package/dist/esm/animation/rig/RiggedBody.js.map +1 -1
- package/dist/esm/animation/rig/choreoRigBridge.js +52 -29
- package/dist/esm/animation/rig/choreoRigBridge.js.map +1 -1
- package/dist/esm/animation/rig/poseOps.js +6 -3
- package/dist/esm/animation/rig/poseOps.js.map +1 -1
- package/dist/esm/animation/shapes/arms.js +7 -6
- package/dist/esm/animation/shapes/arms.js.map +1 -1
- package/dist/esm/animation/shapes/eyes.js +31 -18
- package/dist/esm/animation/shapes/eyes.js.map +1 -1
- package/dist/esm/animation/shapes/hair.js +39 -23
- package/dist/esm/animation/shapes/hair.js.map +1 -1
- package/dist/esm/animation/shapes/heads.js +47 -29
- package/dist/esm/animation/shapes/heads.js.map +1 -1
- package/dist/esm/animation/shapes/headwear.js +26 -14
- package/dist/esm/animation/shapes/headwear.js.map +1 -1
- package/dist/esm/animation/shapes/legs.js +7 -6
- package/dist/esm/animation/shapes/legs.js.map +1 -1
- package/dist/esm/animation/shapes/mouths.js +28 -18
- package/dist/esm/animation/shapes/mouths.js.map +1 -1
- package/dist/esm/animation/shapes/noses.js +18 -9
- package/dist/esm/animation/shapes/noses.js.map +1 -1
- package/dist/esm/animation/shapes/outfits.js +25 -14
- package/dist/esm/animation/shapes/outfits.js.map +1 -1
- package/dist/esm/animation/shapes/torsos.js +5 -4
- package/dist/esm/animation/shapes/torsos.js.map +1 -1
- package/dist/esm/animation/spineExport.js +33 -26
- package/dist/esm/animation/spineExport.js.map +1 -1
- package/dist/esm/core/LocalUI.js +16 -16
- package/dist/esm/core/LocalUI.js.map +1 -1
- package/dist/esm/core/NiceBrushEngine.js +205 -69
- package/dist/esm/core/NiceBrushEngine.js.map +1 -1
- package/dist/esm/core/collaboration.js +35 -21
- package/dist/esm/core/collaboration.js.map +1 -1
- package/dist/esm/core/colorBlindness.js +64 -24
- package/dist/esm/core/colorBlindness.js.map +1 -1
- package/dist/esm/core/dragDrop.js +34 -26
- package/dist/esm/core/dragDrop.js.map +1 -1
- package/dist/esm/core/fixes.js +26 -14
- package/dist/esm/core/fixes.js.map +1 -1
- package/dist/esm/core/gridGuides.js +24 -16
- package/dist/esm/core/gridGuides.js.map +1 -1
- package/dist/esm/core/historyVisual.js +42 -23
- package/dist/esm/core/historyVisual.js.map +1 -1
- package/dist/esm/core/integrations.js +65 -48
- package/dist/esm/core/integrations.js.map +1 -1
- package/dist/esm/core/minimap.js +40 -24
- package/dist/esm/core/minimap.js.map +1 -1
- package/dist/esm/core/plugins.js +10 -6
- package/dist/esm/core/plugins.js.map +1 -1
- package/dist/esm/core/rtl.js +32 -27
- package/dist/esm/core/rtl.js.map +1 -1
- package/dist/esm/core/shortcuts.js +77 -39
- package/dist/esm/core/shortcuts.js.map +1 -1
- package/dist/esm/core/theme.js +68 -61
- package/dist/esm/core/theme.js.map +1 -1
- package/dist/esm/core/yjsCollaboration.js +61 -28
- package/dist/esm/core/yjsCollaboration.js.map +1 -1
- package/dist/esm/font/NiceFontEditor.js +160 -57
- package/dist/esm/font/NiceFontEditor.js.map +1 -1
- package/dist/esm/font/fontFormatUtils.js +37 -24
- package/dist/esm/font/fontFormatUtils.js.map +1 -1
- package/dist/esm/game/GameAsset2dEditor.js +73 -60
- package/dist/esm/game/GameAsset2dEditor.js.map +1 -1
- package/dist/esm/game/gameAssetUtils.js +18 -13
- package/dist/esm/game/gameAssetUtils.js.map +1 -1
- package/dist/esm/game/useGameAssetEditor.js +160 -143
- package/dist/esm/game/useGameAssetEditor.js.map +1 -1
- package/dist/esm/icon/NiceIconEditor.js +329 -106
- package/dist/esm/icon/NiceIconEditor.js.map +1 -1
- package/dist/esm/packages/ui/dist/NiceErrorBoundary-D75yr_WE.js +563 -0
- package/dist/esm/packages/ui/dist/NiceErrorBoundary-D75yr_WE.js.map +1 -0
- package/dist/esm/packages/ui/dist/NiceForm-CKoJA6NG.js +4960 -0
- package/dist/esm/packages/ui/dist/NiceForm-CKoJA6NG.js.map +1 -0
- package/dist/esm/packages/ui/dist/NiceModal-1QX7NhyH.js +96 -0
- package/dist/esm/packages/ui/dist/NiceModal-1QX7NhyH.js.map +1 -0
- package/dist/esm/packages/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js +5201 -0
- package/dist/esm/packages/ui/dist/NiceModuleLifecyclePanel-CMrPbSw9.js.map +1 -0
- package/dist/esm/packages/ui/dist/NicePagination-DbE-uOkl.js +172 -0
- package/dist/esm/packages/ui/dist/NicePagination-DbE-uOkl.js.map +1 -0
- package/dist/esm/packages/ui/dist/NicePinCodeInput-B8cI8zu8.js +10408 -0
- package/dist/esm/packages/ui/dist/NicePinCodeInput-B8cI8zu8.js.map +1 -0
- package/dist/esm/packages/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js +6296 -0
- package/dist/esm/packages/ui/dist/NiceSavedQueryPanel-CZ5bYOe_.js.map +1 -0
- package/dist/esm/packages/ui/dist/NiceTabs-DzLHzwuA.js +1630 -0
- package/dist/esm/packages/ui/dist/NiceTabs-DzLHzwuA.js.map +1 -0
- package/dist/esm/packages/ui/dist/NiceWindow-DeC83yfE.js +796 -0
- package/dist/esm/packages/ui/dist/NiceWindow-DeC83yfE.js.map +1 -0
- package/dist/esm/packages/ui/dist/charts-BAS21jkC.js +3809 -0
- package/dist/esm/packages/ui/dist/charts-BAS21jkC.js.map +1 -0
- package/dist/esm/packages/ui/dist/core-Da43q-pO.js +11502 -0
- package/dist/esm/packages/ui/dist/core-Da43q-pO.js.map +1 -0
- package/dist/esm/packages/ui/dist/index-pAuGTbuB.js +28792 -0
- package/dist/esm/packages/ui/dist/index-pAuGTbuB.js.map +1 -0
- package/dist/esm/photo/FilterThumb.js +7 -5
- package/dist/esm/photo/FilterThumb.js.map +1 -1
- package/dist/esm/photo/NiceAITools.js +78 -32
- package/dist/esm/photo/NiceAITools.js.map +1 -1
- package/dist/esm/photo/PhotoEditor.js +4 -4
- package/dist/esm/photo/PhotoEditor.js.map +1 -1
- package/dist/esm/photo/PhotoEditorCanvas.js +56 -22
- package/dist/esm/photo/PhotoEditorCanvas.js.map +1 -1
- package/dist/esm/photo/PhotoEditorLeftPanel.js +106 -48
- package/dist/esm/photo/PhotoEditorLeftPanel.js.map +1 -1
- package/dist/esm/photo/PhotoEditorToolbar.js +2 -2
- package/dist/esm/photo/PhotoEditorToolbar.js.map +1 -1
- package/dist/esm/photo/photoEditorActions.js +27 -18
- package/dist/esm/photo/photoEditorActions.js.map +1 -1
- package/dist/esm/photo/photoFilters.js +316 -81
- package/dist/esm/photo/photoFilters.js.map +1 -1
- package/dist/esm/photo/photoOverlays.js +521 -165
- package/dist/esm/photo/photoOverlays.js.map +1 -1
- package/dist/esm/photo/photoSelection.js +69 -35
- package/dist/esm/photo/photoSelection.js.map +1 -1
- package/dist/esm/photo/usePhotoEditor.js +203 -97
- package/dist/esm/photo/usePhotoEditor.js.map +1 -1
- package/dist/esm/pixel/HSVPicker.js +32 -19
- package/dist/esm/pixel/HSVPicker.js.map +1 -1
- package/dist/esm/pixel/PixelEditor.js +25 -14
- package/dist/esm/pixel/PixelEditor.js.map +1 -1
- package/dist/esm/pixel/PixelEditorCanvas.js +2 -2
- package/dist/esm/pixel/PixelEditorCanvas.js.map +1 -1
- package/dist/esm/pixel/PixelEditorMenuBar.js +3 -3
- package/dist/esm/pixel/PixelEditorMenuBar.js.map +1 -1
- package/dist/esm/pixel/PixelEditorRightPanel.js +28 -8
- package/dist/esm/pixel/PixelEditorRightPanel.js.map +1 -1
- package/dist/esm/pixel/PixelEditorStatusBar.js +2 -2
- package/dist/esm/pixel/PixelEditorStatusBar.js.map +1 -1
- package/dist/esm/pixel/PixelEditorTimeline.js +3 -4
- package/dist/esm/pixel/PixelEditorTimeline.js.map +1 -1
- package/dist/esm/pixel/PixelEditorToolbar.js +3 -3
- package/dist/esm/pixel/PixelEditorToolbar.js.map +1 -1
- package/dist/esm/pixel/SpriteGeneratorPanel.js +136 -54
- package/dist/esm/pixel/SpriteGeneratorPanel.js.map +1 -1
- package/dist/esm/pixel/asepriteFormat.js +122 -38
- package/dist/esm/pixel/asepriteFormat.js.map +1 -1
- package/dist/esm/pixel/characterGeneratorPresets.js +208 -54
- package/dist/esm/pixel/characterGeneratorPresets.js.map +1 -1
- package/dist/esm/pixel/pixelEditorExports.js +42 -35
- package/dist/esm/pixel/pixelEditorExports.js.map +1 -1
- package/dist/esm/pixel/pixelEditorTypes.js +67 -33
- package/dist/esm/pixel/pixelEditorTypes.js.map +1 -1
- package/dist/esm/pixel/pixelEditorUtils.js +62 -38
- package/dist/esm/pixel/pixelEditorUtils.js.map +1 -1
- package/dist/esm/pixel/spriteGeneratorCore.js +47 -24
- package/dist/esm/pixel/spriteGeneratorCore.js.map +1 -1
- package/dist/esm/pixel/usePixelEditor.js +475 -213
- package/dist/esm/pixel/usePixelEditor.js.map +1 -1
- package/dist/esm/texture/Nice3DTexturePainter.js +201 -71
- package/dist/esm/texture/Nice3DTexturePainter.js.map +1 -1
- package/dist/esm/ui/NiceUIDesigner.js +280 -91
- package/dist/esm/ui/NiceUIDesigner.js.map +1 -1
- package/dist/esm/vector/NiceSvgToCode.js +96 -34
- package/dist/esm/vector/NiceSvgToCode.js.map +1 -1
- package/dist/esm/vector/VectorEditor.js +14 -13
- package/dist/esm/vector/VectorEditor.js.map +1 -1
- package/dist/esm/vector/VectorEditorMenuBar.js +7 -6
- package/dist/esm/vector/VectorEditorMenuBar.js.map +1 -1
- package/dist/esm/vector/VectorEditorRightPanel.js +87 -32
- package/dist/esm/vector/VectorEditorRightPanel.js.map +1 -1
- package/dist/esm/vector/VectorEditorShapeRenderer.js +17 -15
- package/dist/esm/vector/VectorEditorShapeRenderer.js.map +1 -1
- package/dist/esm/vector/VectorEditorStatusBar.js.map +1 -1
- package/dist/esm/vector/useVectorEditor.js +312 -122
- package/dist/esm/vector/useVectorEditor.js.map +1 -1
- package/dist/esm/vector/vectorBooleanOps.js +60 -42
- package/dist/esm/vector/vectorBooleanOps.js.map +1 -1
- package/dist/esm/vector/vectorEditorExport.js +40 -34
- package/dist/esm/vector/vectorEditorExport.js.map +1 -1
- package/dist/esm/vector/vectorGradients.js +41 -40
- package/dist/esm/vector/vectorGradients.js.map +1 -1
- 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
|
-
|
|
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;
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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":"AAAA;;;;AAIG;AAkBI,MAAM,aAAa,GAAgB;AACxC,IAAA,IAAI,EAAE,CAAC;AACP,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,OAAO,EAAE,GAAG;AACZ,IAAA,IAAI,EAAE,GAAG;AACT,IAAA,OAAO,EAAE,EAAE;AACX,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,eAAe,EAAE,KAAK;AACtB,IAAA,QAAQ,EAAE,GAAG;;AAGf;SACgB,QAAQ,CAAC,IAAe,EAAE,CAAS,EAAE,CAAS,EAAA;IAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;QACzD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrB;AACA,IAAA,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;AAClC,IAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7E;AAEA;AACM,SAAU,QAAQ,CAAC,IAAe,EAAE,CAAS,EAAE,CAAS,EAAE,KAAW,EAAA;IACzE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;QACzD;IACF;AACA,IAAA,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;IAClC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACvB,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC3B,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC3B,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC7B;AAEA;AACM,SAAU,UAAU,CAAC,IAAe,EAAE,CAAS,EAAE,CAAS,EAAE,KAAW,EAAE,QAAQ,GAAG,CAAC,EAAA;IACzF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE;QACzD;IACF;AACA,IAAA,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;AAClC,IAAA,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ;AACtC,IAAA,IAAI,EAAE,IAAI,CAAC,EAAE;QACX;IACF;AACA,IAAA,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG;IACjC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;AAC7B,IAAA,IAAI,EAAE,IAAI,CAAC,EAAE;QACX;IACF;AACA,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AAC9E,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AACtF,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;AACtF,IAAA,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;AACzC;AAEA;SACgB,YAAY,CAC1B,GAAgB,EAChB,QAAQ,GAAG,GAAG,EAAA;AAEd,IAAA,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI;IACrF,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/B,IAAA,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG;IAC9B,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,eAAe,GAAG,QAAQ,GAAG,CAAC,CAAC;IACzE,MAAM,IAAI,GAAmD,EAAE;AAE/D,IAAA,KAAK,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;AACzC,QAAA,KAAK,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;YACzC,IAAI,OAAO,GAAG,KAAK;YACnB,IAAI,IAAI,GAAG,CAAC;AACZ,YAAA,QAAQ,GAAG,CAAC,KAAK;AACf,gBAAA,KAAK,QAAQ;oBACX,OAAO,GAAG,IAAI;AACd,oBAAA,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;oBACjE;gBACF,KAAK,QAAQ,EAAE;AACb,oBAAA,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACtC,oBAAA,OAAO,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG;AACzB,oBAAA,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;oBAC9B;gBACF;AACA,gBAAA,KAAK,SAAS;AACZ,oBAAA,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI;AAC7C,oBAAA,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC;oBAC1D;AACF,gBAAA,KAAK,OAAO;oBACV,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,GAAG,GAAG;oBAC3E,IAAI,GAAG,CAAC;oBACR;;YAEJ,IAAI,CAAC,OAAO,EAAE;gBACZ;YACF;;AAEA,YAAA,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG;AACrC,YAAA,MAAM,IAAI,GACR,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,UAAU,KAAK,CAAC,GAAG,UAAU,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;AACzF,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;QAC1D;IACF;AACA,IAAA,OAAO,IAAI;AACb;AAEA;SACgB,eAAe,CAC7B,IAAe,EACf,CAAS,EACT,CAAS,EACT,KAAW,EACX,GAAgB,EAChB,QAAQ,GAAG,GAAG,EACd,KAAK,GAAG,KAAK,EAAA;IAEb,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC;IACxC,KAAK,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE;QACvC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACf,EAAE,GAAG,CAAC,GAAG,EAAE;QACb,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;YAC7D;QACF;QACA,IAAI,KAAK,EAAE;YACT,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;YAC7D,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxD;aAAO;YACL,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC;QAC3C;IACF;AACF;AAEA;AACM,SAAU,iBAAiB,CAC/B,CAAS,EACT,CAAS,EACT,CAAS,EACT,CAAS,EACT,IAAkB,EAAA;IAElB,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACtB,QAAQ,IAAI;AACV,QAAA,KAAK,GAAG;AACN,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B;AACF,QAAA,KAAK,GAAG;AACN,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B;AACF,QAAA,KAAK,MAAM;YACT,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAClF;QACF,KAAK,SAAS,EAAE;YACd,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,EACd,EAAE,GAAG,CAAC,GAAG,CAAC;YACZ,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACf,EAAE,GAAG,CAAC,GAAG,EAAE;AACb,YAAA,GAAG,CAAC,IAAI,CACN,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAClD,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAClD,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CACnD;YACD;QACF;;AAEF,IAAA,OAAO,GAAG;AACZ;AAEA;SACgB,YAAY,CAC1B,IAAe,EACf,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,MAAY,EACZ,MAAY,EACZ,GAA2D,EAAA;;IAE3D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,EAChB,EAAE,GAAG,EAAE,GAAG,EAAE;AACd,IAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACxC,IAAA,IAAI,GAAG,KAAK,CAAC,EAAE;QACb;IACF;IACA,MAAM,EAAE,GAAG,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC,EACpB,EAAE,GAAG,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,CAAC;AAClB,IAAA,MAAM,EAAE,GAAG,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,CAAC,KAAK,EAC7B,EAAE,GAAG,CAAA,EAAA,GAAA,GAAG,KAAA,IAAA,IAAH,GAAG,KAAA,MAAA,GAAA,MAAA,GAAH,GAAG,CAAE,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,CAAC,MAAM;AAC5B,IAAA,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;AACpC,QAAA,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE;AACpC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;AACnF,YAAA,MAAM,CAAC,GAAS;gBACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACpD;YACD,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3B;IACF;AACF;AAEA;AACA,MAAM,MAAM,GAAG;AACb,IAAA,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACb,IAAA,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACd,IAAA,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AACb,IAAA,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;CACf;AAED;AACM,SAAU,gBAAgB,CAC9B,IAAe,EACf,CAAS,EACT,CAAS,EACT,KAAW,EACX,IAAY,EACZ,QAAQ,GAAG,GAAG,EAAA;IAEd,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;AACjC,IAAA,MAAM,SAAS,GAAG,QAAQ,GAAG,EAAE;AAC/B,IAAA,KAAK,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;AAC3C,QAAA,KAAK,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;YAC3C,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACf,EAAE,GAAG,CAAC,GAAG,EAAE;YACb,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;gBAC7D;YACF;AACA,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5D,YAAA,IAAI,KAAK,GAAG,SAAS,EAAE;gBACrB,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC;YAC/B;QACF;IACF;AACF;AAEA;AACM,SAAU,aAAa,CAC3B,IAAe,EACf,GAAmD,EAAA;AAEnD,IAAA,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACvC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9B,YAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/C,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB;IACF;AACA,IAAA,OAAO,GAAG;AACZ;AAEA;AACM,SAAU,OAAO,CAAC,GAAc,EAAE,GAAc,EAAE,EAAU,EAAE,EAAU,EAAA;AAC5E,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,YAAA,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;AACb,gBAAA,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC;QACF;IACF;AACF;AAEA;AACM,SAAU,cAAc,CAC5B,IAAe,EACf,GAAmD,EAAA;IAEnD,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1C,YAAA,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC;IACF;AACF;AA0DA;AACM,SAAU,aAAa,CAC3B,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAkC,EAAA;IAElC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,EAC1B,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;AACzB,IAAA,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,EACzB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;AACvB,IAAA,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE;AACjB,IAAA,SAAS;AACP,QAAA,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;YAC1B;QACF;AACA,QAAA,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG;AAClB,QAAA,IAAI,EAAE,IAAI,EAAE,EAAE;YACZ,GAAG,IAAI,EAAE;YACT,EAAE,IAAI,EAAE;QACV;AACA,QAAA,IAAI,EAAE,IAAI,EAAE,EAAE;YACZ,GAAG,IAAI,EAAE;YACT,EAAE,IAAI,EAAE;QACV;IACF;AACF;AAwJA;AACM,SAAU,SAAS,CAAC,IAAe,EAAE,MAAc,EAAE,MAAc,EAAE,SAAe,EAAA;IACxF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAClB,CAAC,GAAG,IAAI,CAAC,MAAM;AACjB,IAAA,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE;QAC1D;IACF;IAEA,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;AAC7C,IAAA,IAAI,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;QAClC;IACF;AAEA,IAAA,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;AAErC,IAAA,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;AACvB,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,EAAG;AACtB,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,EAAG;AACtB,QAAA,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAErB,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACtC;QACF;AACA,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;YAChB;QACF;AACA,QAAA,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;QAEhB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;YACjC;QACF;QAEA,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACpD;AACF;AAEA;AACM,SAAU,WAAW,CAAC,CAAO,EAAE,CAAO,EAAE,SAAS,GAAG,CAAC,EAAA;AACzD,IAAA,QACE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;AAClC,QAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;AAClC,QAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;AAClC,QAAA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;AAEtC;AAEA;SACgB,SAAS,CAAC,GAAW,EAAE,KAAK,GAAG,GAAG,EAAA;IAChD,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG;IAClD,OAAO;AACL,QAAA,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;AAChC,QAAA,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;AAChC,QAAA,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC;QAChC,KAAK;KACN;AACH;AAEA;AACM,SAAU,SAAS,CAAC,CAAO,EAAA;IAC/B,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;AACtF;AAkDA;AACM,SAAU,oBAAoB,CAAC,KAAa,EAAE,MAAc,EAAA;AAChE,IAAA,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;AACrC;AAEA;AACM,SAAU,cAAc,CAAC,GAAc,EAAA;AAC3C,IAAA,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;IAChD,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,IAAA,OAAO,GAAG;AACZ;AAuCA;AACM,SAAU,KAAK,CAAC,GAAc,EAAA;AAClC,IAAA,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;AAChD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;AAClC,YAAA,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACpD,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3B,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACnC,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACnC,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC;IACF;AACA,IAAA,OAAO,GAAG;AACZ;AAEA;AACM,SAAU,KAAK,CAAC,GAAc,EAAA;AAClC,IAAA,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC;AAChD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;AAClC,YAAA,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;AACrD,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3B,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACnC,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACnC,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC;IACF;AACA,IAAA,OAAO,GAAG;AACZ;AAEA;AACM,SAAU,QAAQ,CAAC,GAAc,EAAA;AACrC,IAAA,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC;AAChD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACnC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;AAClC,YAAA,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;YAClC,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;AACpD,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3B,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACnC,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACnC,YAAA,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACrC;IACF;AACA,IAAA,OAAO,GAAG;AACZ;AAoBA;AACA,MAAM,SAAS,GAAG;IAChB,CAAC,CAAC,EAAE,CAAC,CAAC;IACN,CAAC,CAAC,EAAE,CAAC,CAAC;CACP;AAED,MAAM,SAAS,GAAG;AAChB,IAAA,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAC7B,IAAA,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAChC,IAAA,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAC9B,IAAA,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAChC,IAAA,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAC7B,IAAA,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAChC,IAAA,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;AAC9B,IAAA,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;CACjC;AAED;AACA,SAAS,uBAAuB,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,OAAe,EAAA;IAC/E,IAAI,OAAO,GAAG,QAAQ;AACtB,IAAA,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;AAExB,IAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;QAC3B,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACvB,QAAA,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACxC,QAAA,IAAI,IAAI,GAAG,OAAO,EAAE;YAClB,OAAO,GAAG,IAAI;YACd,OAAO,GAAG,KAAK;QACjB;IACF;AAEA,IAAA,OAAO,OAAO;AAChB;AAEA;AACM,SAAU,aAAa,CAC3B,IAAe,EACf,OAAe,EACf,MAAA,GAAqB,MAAM,EAC3B,QAAA,GAAmB,GAAG,EAAA;AAEtB,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC;AACnC,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM;AAChC,IAAA,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU;AAE9C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;AACnC,YAAA,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;YAClC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAE1B,YAAA,IAAI,CAAC,GAAG,GAAG,EAAE;gBACX;AACF,YAAA,CAAC;YAED,MAAM,SAAS,GACb,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,GAAG,cAAc,GAAG,GAAG,IAAI,QAAQ,GAAG,EAAE;YAEjF,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;YAClE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AAElE,YAAA,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAC3B,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAC/B,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QACjC;IACF;AAEA,IAAA,OAAO,MAAM;AACf;AAEA;AACM,SAAU,oBAAoB,CAAC,IAAe,EAAE,OAAe,EAAA;AACnE,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC;AACnC,IAAA,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAE7D,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;AAC9B,YAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AACjB,YAAA,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;YAElB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE;gBAC1B;YACF;YAEA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAClE,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1E,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1E,YAAA,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC5B,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAEhC,MAAM,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;;YAG/B,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAU,EAAE,MAAc,KAAI;gBAC5D,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACf,EAAE,GAAG,CAAC,GAAG,EAAE;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7D,oBAAA,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC;AACrC,oBAAA,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,MAAM;oBAC3B,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,MAAM;oBAC/B,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,MAAM;gBACjC;AACF,YAAA,CAAC;YAED,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACzB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC1B;IACF;AAEA,IAAA,OAAO,MAAM;AACf;AAEA;AACM,SAAU,uBAAuB,CAAC,IAAe,EAAE,OAAe,EAAA;AACtE,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC;AACnC,IAAA,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAE7D,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;AAC9B,YAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AACjB,YAAA,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;YAElB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE;gBAC1B;YACF;YAEA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAClE,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1E,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1E,YAAA,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC5B,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAEhC,MAAM,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;YAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC;YAE/B,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAU,EAAE,MAAc,KAAI;gBAC5D,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACf,EAAE,GAAG,CAAC,GAAG,EAAE;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7D,oBAAA,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC;AACrC,oBAAA,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,MAAM;oBAC3B,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,MAAM;oBAC/B,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,MAAM;gBACjC;AACF,YAAA,CAAC;;YAGD,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACzB,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACzB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACzB,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACzB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;YACxB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QAC1B;IACF;AAEA,IAAA,OAAO,MAAM;AACf;AAEA;AACM,SAAU,cAAc,CAAC,IAAe,EAAE,OAAe,EAAA;AAC7D,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC;AACnC,IAAA,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAE7D,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;AAC9B,YAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AACjB,YAAA,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;YAElB,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE;gBAC1B;YACF;YAEA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAClE,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC1E,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1E,YAAA,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAC5B,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAChC,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;;AAGhC,YAAA,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,YAAA,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACrC,YAAA,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAErC,YAAA,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,EAAU,KAAI;gBAC5C,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EACf,EAAE,GAAG,CAAC,GAAG,EAAE;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7D,oBAAA,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,CAAC;AACrC,oBAAA,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI;AAClB,oBAAA,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI;AACtB,oBAAA,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI;gBACxB;AACF,YAAA,CAAC;AAED,YAAA,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,YAAA,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,YAAA,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;AACjB,YAAA,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,YAAA,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;AAChB,YAAA,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;QAClB;IACF;AAEA,IAAA,OAAO,MAAM;AACf;AAEA;AACM,SAAU,YAAY,CAAC,IAAe,EAAE,OAAe,EAAE,WAAmB,EAAE,EAAA;AAClF,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC;AAEnC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;AACnC,YAAA,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC;YAClC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE;gBAC1B;YACF;AAEA,YAAA,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,QAAQ,GAAG,CAAC;YAClD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAC1D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;YAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AAE9D,YAAA,MAAM,OAAO,GAAG,uBAAuB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAC3B,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AAC/B,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QACjC;IACF;AAEA,IAAA,OAAO,MAAM;AACf;AAEA;SACgB,cAAc,CAC5B,IAAe,EACf,OAAe,EACf,SAA6B,EAAA;IAE7B,QAAQ,SAAS;AACf,QAAA,KAAK,MAAM;;AAET,YAAA,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC/C,QAAA,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC;AAChD,QAAA,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC;AAC7C,QAAA,KAAK,aAAa;YAChB,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC;AAChD,QAAA,KAAK,iBAAiB;AACpB,YAAA,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC;AAC5C,QAAA,KAAK,qBAAqB;AACxB,YAAA,OAAO,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC;AAC/C,QAAA,KAAK,UAAU;AACb,YAAA,OAAO,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;AACtC,QAAA,KAAK,QAAQ;AACX,YAAA,OAAO,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;AACpC,QAAA;AACE,YAAA,OAAO,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC;;AAEhD;AAEA;AACM,SAAU,cAAc,CAAC,IAAe,EAAE,SAAiB,EAAA;IAC/D,MAAM,MAAM,GAAoC,EAAE;;AAGlD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE;AAC3B,YAAA,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACjE;IACF;AAEA,IAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;QACvB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACzB;;AAGA,IAAA,SAAS,SAAS,CAChB,MAAuC,EACvC,KAAa,EAAA;QAEb,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;;AAErC,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;AAC1E,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;AAC1E,YAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1E,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpB;;AAGA,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAI;AAClC,YAAA,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACrC,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AAC9C,QAAA,CAAC,CAAC;AACF,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;;QAGnD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;AAC9C,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzC,OAAO;AACL,YAAA,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;AAC7C,YAAA,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;SAC3C;IACH;AAEA,IAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7C,IAAA,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;AAE5D,IAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAS,CAAC;AAC5D;AAEA;AACM,SAAU,gBAAgB,CAAC,SAAmB,EAAA;AAClD,IAAA,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC;AAC/C;AAeA;AACO,eAAe,sBAAsB,CAC1C,IAAU,EACV,WAAmB,EACnB,YAAoB,EAAA;IAEpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,QAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE;AACvB,QAAA,GAAG,CAAC,MAAM,GAAG,MAAK;;YAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,WAAW,GAAG,GAAG,CAAC,KAAK,EACvB,YAAY,GAAG,GAAG,CAAC,MAAM,EACzB,CAAC,CACF;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC/C,YAAA,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5C,YAAA,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;YAC9C,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAE;AACpC,YAAA,GAAG,CAAC,qBAAqB,GAAG,KAAK;AACjC,YAAA,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;AAErD,YAAA,OAAO,CAAC;AACN,gBAAA,KAAK,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;AAC1D,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,OAAO,EAAE,GAAG;AACZ,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,MAAM,EAAE,KAAK;AACd,aAAA,CAAC;AACJ,QAAA,CAAC;AACD,QAAA,GAAG,CAAC,OAAO,GAAG,MAAM;QACpB,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;AACrC,IAAA,CAAC,CAAC;AACJ;AAEA;AACM,SAAU,sBAAsB,CACpC,GAA6B,EAC7B,GAAqB,EACrB,IAAY,EACZ,IAAY,EACZ,IAAY,EAAA;IAEZ,GAAG,CAAC,IAAI,EAAE;AACV,IAAA,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,OAAO;IAE7B,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;IACnD,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK;IAClC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM;AACpC,IAAA,UAAU,CAAC,UAAU,CAAC,IAAI,CAAE,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAE1D,IAAA,GAAG,CAAC,qBAAqB,GAAG,KAAK;IACjC,GAAG,CAAC,SAAS,CACX,UAAU,EACV,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EACrB,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EACrB,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,EAClC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,IAAI,CACpC;IAED,GAAG,CAAC,OAAO,EAAE;AACf;;;;"}
|
|
@@ -38,7 +38,9 @@ function mirrorPartH(part) {
|
|
|
38
38
|
function generateMirroredDirections(pixels) {
|
|
39
39
|
const result = { ...pixels };
|
|
40
40
|
const mirrorPairs = [
|
|
41
|
-
['E', 'W'],
|
|
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),
|
|
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 ?
|
|
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
|
-
|
|
220
|
+
}
|
|
221
|
+
else if (max === gf) {
|
|
210
222
|
h = ((bf - rf) / d + 2) / 6;
|
|
211
|
-
|
|
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
|
-
|
|
237
|
+
}
|
|
238
|
+
if (t > 1) {
|
|
223
239
|
t -= 1;
|
|
224
|
-
|
|
240
|
+
}
|
|
241
|
+
if (t < 1 / 6) {
|
|
225
242
|
return p + (q - p) * 6 * t;
|
|
226
|
-
|
|
243
|
+
}
|
|
244
|
+
if (t < 1 / 2) {
|
|
227
245
|
return q;
|
|
228
|
-
|
|
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)
|
|
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 };
|