@number10/jsx-phaser 5.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/LICENSE +667 -0
- package/README.md +44 -0
- package/dist/_virtual/_commonjsHelpers.cjs +7 -0
- package/dist/_virtual/_commonjsHelpers.cjs.map +1 -0
- package/dist/_virtual/_commonjsHelpers.js +7 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/index.cjs +7 -0
- package/dist/_virtual/index.cjs.map +1 -0
- package/dist/_virtual/index.js +8 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/animation/index.d.ts +7 -0
- package/dist/animation/index.d.ts.map +1 -0
- package/dist/camera/index.d.ts +5 -0
- package/dist/camera/index.d.ts.map +1 -0
- package/dist/camera/use-camera-fx.cjs +49 -0
- package/dist/camera/use-camera-fx.cjs.map +1 -0
- package/dist/camera/use-camera-fx.d.ts +25 -0
- package/dist/camera/use-camera-fx.d.ts.map +1 -0
- package/dist/camera/use-camera-fx.js +49 -0
- package/dist/camera/use-camera-fx.js.map +1 -0
- package/dist/clip/index.cjs +8 -0
- package/dist/clip/index.cjs.map +1 -0
- package/dist/clip/index.d.ts +3 -0
- package/dist/clip/index.d.ts.map +1 -0
- package/dist/clip/index.js +9 -0
- package/dist/clip/index.js.map +1 -0
- package/dist/clip/stencil-clip-depth.cjs +24 -0
- package/dist/clip/stencil-clip-depth.cjs.map +1 -0
- package/dist/clip/stencil-clip-depth.d.ts +10 -0
- package/dist/clip/stencil-clip-depth.d.ts.map +1 -0
- package/dist/clip/stencil-clip-depth.js +24 -0
- package/dist/clip/stencil-clip-depth.js.map +1 -0
- package/dist/clip/stencil-clip-extension.cjs +113 -0
- package/dist/clip/stencil-clip-extension.cjs.map +1 -0
- package/dist/clip/stencil-clip-extension.d.ts +18 -0
- package/dist/clip/stencil-clip-extension.d.ts.map +1 -0
- package/dist/clip/stencil-clip-extension.js +96 -0
- package/dist/clip/stencil-clip-extension.js.map +1 -0
- package/dist/clip/stencil-clip-fbo-bridge.cjs +46 -0
- package/dist/clip/stencil-clip-fbo-bridge.cjs.map +1 -0
- package/dist/clip/stencil-clip-fbo-bridge.d.ts +7 -0
- package/dist/clip/stencil-clip-fbo-bridge.d.ts.map +1 -0
- package/dist/clip/stencil-clip-fbo-bridge.js +46 -0
- package/dist/clip/stencil-clip-fbo-bridge.js.map +1 -0
- package/dist/clip/stencil-clip-renderer.cjs +300 -0
- package/dist/clip/stencil-clip-renderer.cjs.map +1 -0
- package/dist/clip/stencil-clip-renderer.d.ts +7 -0
- package/dist/clip/stencil-clip-renderer.d.ts.map +1 -0
- package/dist/clip/stencil-clip-renderer.js +300 -0
- package/dist/clip/stencil-clip-renderer.js.map +1 -0
- package/dist/clip/stencil-clip-state.cjs +84 -0
- package/dist/clip/stencil-clip-state.cjs.map +1 -0
- package/dist/clip/stencil-clip-state.d.ts +28 -0
- package/dist/clip/stencil-clip-state.d.ts.map +1 -0
- package/dist/clip/stencil-clip-state.js +84 -0
- package/dist/clip/stencil-clip-state.js.map +1 -0
- package/dist/clip/stencil-clip-types.d.ts +67 -0
- package/dist/clip/stencil-clip-types.d.ts.map +1 -0
- package/dist/clip/stencil-clip.cjs +138 -0
- package/dist/clip/stencil-clip.cjs.map +1 -0
- package/dist/clip/stencil-clip.d.ts +53 -0
- package/dist/clip/stencil-clip.d.ts.map +1 -0
- package/dist/clip/stencil-clip.js +122 -0
- package/dist/clip/stencil-clip.js.map +1 -0
- package/dist/colors/use-color-mode.cjs +28 -0
- package/dist/colors/use-color-mode.cjs.map +1 -0
- package/dist/colors/use-color-mode.d.ts +22 -0
- package/dist/colors/use-color-mode.d.ts.map +1 -0
- package/dist/colors/use-color-mode.js +28 -0
- package/dist/colors/use-color-mode.js.map +1 -0
- package/dist/colors/use-colors.cjs +45 -0
- package/dist/colors/use-colors.cjs.map +1 -0
- package/dist/colors/use-colors.d.ts +36 -0
- package/dist/colors/use-colors.d.ts.map +1 -0
- package/dist/colors/use-colors.js +45 -0
- package/dist/colors/use-colors.js.map +1 -0
- package/dist/components/DebugPanel.cjs +88 -0
- package/dist/components/DebugPanel.cjs.map +1 -0
- package/dist/components/DebugPanel.d.ts +45 -0
- package/dist/components/DebugPanel.d.ts.map +1 -0
- package/dist/components/DebugPanel.js +71 -0
- package/dist/components/DebugPanel.js.map +1 -0
- package/dist/components/appliers/applyBackground.cjs +89 -0
- package/dist/components/appliers/applyBackground.cjs.map +1 -0
- package/dist/components/appliers/applyBackground.d.ts +18 -0
- package/dist/components/appliers/applyBackground.d.ts.map +1 -0
- package/dist/components/appliers/applyBackground.js +89 -0
- package/dist/components/appliers/applyBackground.js.map +1 -0
- package/dist/components/appliers/applyGestures.cjs +85 -0
- package/dist/components/appliers/applyGestures.cjs.map +1 -0
- package/dist/components/appliers/applyGestures.d.ts +12 -0
- package/dist/components/appliers/applyGestures.d.ts.map +1 -0
- package/dist/components/appliers/applyGestures.js +68 -0
- package/dist/components/appliers/applyGestures.js.map +1 -0
- package/dist/components/appliers/applyGraphics.cjs +21 -0
- package/dist/components/appliers/applyGraphics.cjs.map +1 -0
- package/dist/components/appliers/applyGraphics.d.ts +13 -0
- package/dist/components/appliers/applyGraphics.d.ts.map +1 -0
- package/dist/components/appliers/applyGraphics.js +21 -0
- package/dist/components/appliers/applyGraphics.js.map +1 -0
- package/dist/components/appliers/applyGraphicsLayout.cjs +18 -0
- package/dist/components/appliers/applyGraphicsLayout.cjs.map +1 -0
- package/dist/components/appliers/applyGraphicsLayout.d.ts +13 -0
- package/dist/components/appliers/applyGraphicsLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyGraphicsLayout.js +18 -0
- package/dist/components/appliers/applyGraphicsLayout.js.map +1 -0
- package/dist/components/appliers/applyImage.cjs +92 -0
- package/dist/components/appliers/applyImage.cjs.map +1 -0
- package/dist/components/appliers/applyImage.d.ts +47 -0
- package/dist/components/appliers/applyImage.d.ts.map +1 -0
- package/dist/components/appliers/applyImage.js +92 -0
- package/dist/components/appliers/applyImage.js.map +1 -0
- package/dist/components/appliers/applyImageLayout.cjs +18 -0
- package/dist/components/appliers/applyImageLayout.cjs.map +1 -0
- package/dist/components/appliers/applyImageLayout.d.ts +18 -0
- package/dist/components/appliers/applyImageLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyImageLayout.js +18 -0
- package/dist/components/appliers/applyImageLayout.js.map +1 -0
- package/dist/components/appliers/applyLayout.cjs +108 -0
- package/dist/components/appliers/applyLayout.cjs.map +1 -0
- package/dist/components/appliers/applyLayout.d.ts +19 -0
- package/dist/components/appliers/applyLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyLayout.js +91 -0
- package/dist/components/appliers/applyLayout.js.map +1 -0
- package/dist/components/appliers/applyNineSlice.cjs +37 -0
- package/dist/components/appliers/applyNineSlice.cjs.map +1 -0
- package/dist/components/appliers/applyNineSlice.d.ts +14 -0
- package/dist/components/appliers/applyNineSlice.d.ts.map +1 -0
- package/dist/components/appliers/applyNineSlice.js +37 -0
- package/dist/components/appliers/applyNineSlice.js.map +1 -0
- package/dist/components/appliers/applyNineSliceLayout.cjs +18 -0
- package/dist/components/appliers/applyNineSliceLayout.cjs.map +1 -0
- package/dist/components/appliers/applyNineSliceLayout.d.ts +18 -0
- package/dist/components/appliers/applyNineSliceLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyNineSliceLayout.js +18 -0
- package/dist/components/appliers/applyNineSliceLayout.js.map +1 -0
- package/dist/components/appliers/applyParticles.cjs +46 -0
- package/dist/components/appliers/applyParticles.cjs.map +1 -0
- package/dist/components/appliers/applyParticles.d.ts +7 -0
- package/dist/components/appliers/applyParticles.d.ts.map +1 -0
- package/dist/components/appliers/applyParticles.js +46 -0
- package/dist/components/appliers/applyParticles.js.map +1 -0
- package/dist/components/appliers/applyParticlesLayout.cjs +7 -0
- package/dist/components/appliers/applyParticlesLayout.cjs.map +1 -0
- package/dist/components/appliers/applyParticlesLayout.d.ts +11 -0
- package/dist/components/appliers/applyParticlesLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyParticlesLayout.js +7 -0
- package/dist/components/appliers/applyParticlesLayout.js.map +1 -0
- package/dist/components/appliers/applyPhaser.cjs +40 -0
- package/dist/components/appliers/applyPhaser.cjs.map +1 -0
- package/dist/components/appliers/applyPhaser.d.ts +24 -0
- package/dist/components/appliers/applyPhaser.d.ts.map +1 -0
- package/dist/components/appliers/applyPhaser.js +40 -0
- package/dist/components/appliers/applyPhaser.js.map +1 -0
- package/dist/components/appliers/applySprite.cjs +124 -0
- package/dist/components/appliers/applySprite.cjs.map +1 -0
- package/dist/components/appliers/applySprite.d.ts +13 -0
- package/dist/components/appliers/applySprite.d.ts.map +1 -0
- package/dist/components/appliers/applySprite.js +124 -0
- package/dist/components/appliers/applySprite.js.map +1 -0
- package/dist/components/appliers/applySpriteLayout.cjs +7 -0
- package/dist/components/appliers/applySpriteLayout.cjs.map +1 -0
- package/dist/components/appliers/applySpriteLayout.d.ts +17 -0
- package/dist/components/appliers/applySpriteLayout.d.ts.map +1 -0
- package/dist/components/appliers/applySpriteLayout.js +7 -0
- package/dist/components/appliers/applySpriteLayout.js.map +1 -0
- package/dist/components/appliers/applyText.cjs +142 -0
- package/dist/components/appliers/applyText.cjs.map +1 -0
- package/dist/components/appliers/applyText.d.ts +32 -0
- package/dist/components/appliers/applyText.d.ts.map +1 -0
- package/dist/components/appliers/applyText.js +142 -0
- package/dist/components/appliers/applyText.js.map +1 -0
- package/dist/components/appliers/applyTextLayout.cjs +16 -0
- package/dist/components/appliers/applyTextLayout.cjs.map +1 -0
- package/dist/components/appliers/applyTextLayout.d.ts +18 -0
- package/dist/components/appliers/applyTextLayout.d.ts.map +1 -0
- package/dist/components/appliers/applyTextLayout.js +16 -0
- package/dist/components/appliers/applyTextLayout.js.map +1 -0
- package/dist/components/appliers/applyTooltip.cjs +247 -0
- package/dist/components/appliers/applyTooltip.cjs.map +1 -0
- package/dist/components/appliers/applyTooltip.d.ts +16 -0
- package/dist/components/appliers/applyTooltip.d.ts.map +1 -0
- package/dist/components/appliers/applyTooltip.js +247 -0
- package/dist/components/appliers/applyTooltip.js.map +1 -0
- package/dist/components/appliers/applyTransform.cjs +61 -0
- package/dist/components/appliers/applyTransform.cjs.map +1 -0
- package/dist/components/appliers/applyTransform.d.ts +24 -0
- package/dist/components/appliers/applyTransform.d.ts.map +1 -0
- package/dist/components/appliers/applyTransform.js +61 -0
- package/dist/components/appliers/applyTransform.js.map +1 -0
- package/dist/components/backgroundImage.cjs +411 -0
- package/dist/components/backgroundImage.cjs.map +1 -0
- package/dist/components/backgroundImage.d.ts +14 -0
- package/dist/components/backgroundImage.d.ts.map +1 -0
- package/dist/components/backgroundImage.js +411 -0
- package/dist/components/backgroundImage.js.map +1 -0
- package/dist/components/creators/createBackground.cjs +18 -0
- package/dist/components/creators/createBackground.cjs.map +1 -0
- package/dist/components/creators/createBackground.d.ts +20 -0
- package/dist/components/creators/createBackground.d.ts.map +1 -0
- package/dist/components/creators/createBackground.js +18 -0
- package/dist/components/creators/createBackground.js.map +1 -0
- package/dist/components/creators/createGestures.cjs +51 -0
- package/dist/components/creators/createGestures.cjs.map +1 -0
- package/dist/components/creators/createGestures.d.ts +11 -0
- package/dist/components/creators/createGestures.d.ts.map +1 -0
- package/dist/components/creators/createGestures.js +34 -0
- package/dist/components/creators/createGestures.js.map +1 -0
- package/dist/components/creators/createGraphicsLayout.cjs +24 -0
- package/dist/components/creators/createGraphicsLayout.cjs.map +1 -0
- package/dist/components/creators/createGraphicsLayout.d.ts +12 -0
- package/dist/components/creators/createGraphicsLayout.d.ts.map +1 -0
- package/dist/components/creators/createGraphicsLayout.js +24 -0
- package/dist/components/creators/createGraphicsLayout.js.map +1 -0
- package/dist/components/creators/createImageLayout.cjs +16 -0
- package/dist/components/creators/createImageLayout.cjs.map +1 -0
- package/dist/components/creators/createImageLayout.d.ts +17 -0
- package/dist/components/creators/createImageLayout.d.ts.map +1 -0
- package/dist/components/creators/createImageLayout.js +16 -0
- package/dist/components/creators/createImageLayout.js.map +1 -0
- package/dist/components/creators/createLayout.cjs +61 -0
- package/dist/components/creators/createLayout.cjs.map +1 -0
- package/dist/components/creators/createLayout.d.ts +15 -0
- package/dist/components/creators/createLayout.d.ts.map +1 -0
- package/dist/components/creators/createLayout.js +61 -0
- package/dist/components/creators/createLayout.js.map +1 -0
- package/dist/components/creators/createNineSliceLayout.cjs +16 -0
- package/dist/components/creators/createNineSliceLayout.cjs.map +1 -0
- package/dist/components/creators/createNineSliceLayout.d.ts +17 -0
- package/dist/components/creators/createNineSliceLayout.d.ts.map +1 -0
- package/dist/components/creators/createNineSliceLayout.js +16 -0
- package/dist/components/creators/createNineSliceLayout.js.map +1 -0
- package/dist/components/creators/createParticlesLayout.cjs +8 -0
- package/dist/components/creators/createParticlesLayout.cjs.map +1 -0
- package/dist/components/creators/createParticlesLayout.d.ts +14 -0
- package/dist/components/creators/createParticlesLayout.d.ts.map +1 -0
- package/dist/components/creators/createParticlesLayout.js +8 -0
- package/dist/components/creators/createParticlesLayout.js.map +1 -0
- package/dist/components/creators/createPhaser.cjs +36 -0
- package/dist/components/creators/createPhaser.cjs.map +1 -0
- package/dist/components/creators/createPhaser.d.ts +14 -0
- package/dist/components/creators/createPhaser.d.ts.map +1 -0
- package/dist/components/creators/createPhaser.js +36 -0
- package/dist/components/creators/createPhaser.js.map +1 -0
- package/dist/components/creators/createSpriteLayout.cjs +10 -0
- package/dist/components/creators/createSpriteLayout.cjs.map +1 -0
- package/dist/components/creators/createSpriteLayout.d.ts +18 -0
- package/dist/components/creators/createSpriteLayout.d.ts.map +1 -0
- package/dist/components/creators/createSpriteLayout.js +10 -0
- package/dist/components/creators/createSpriteLayout.js.map +1 -0
- package/dist/components/creators/createTextLayout.cjs +16 -0
- package/dist/components/creators/createTextLayout.cjs.map +1 -0
- package/dist/components/creators/createTextLayout.d.ts +17 -0
- package/dist/components/creators/createTextLayout.d.ts.map +1 -0
- package/dist/components/creators/createTextLayout.js +16 -0
- package/dist/components/creators/createTextLayout.js.map +1 -0
- package/dist/components/creators/createTransform.cjs +83 -0
- package/dist/components/creators/createTransform.cjs.map +1 -0
- package/dist/components/creators/createTransform.d.ts +26 -0
- package/dist/components/creators/createTransform.d.ts.map +1 -0
- package/dist/components/creators/createTransform.js +83 -0
- package/dist/components/creators/createTransform.js.map +1 -0
- package/dist/components/custom/Graphics.cjs +13 -0
- package/dist/components/custom/Graphics.cjs.map +1 -0
- package/dist/components/custom/Graphics.d.ts +50 -0
- package/dist/components/custom/Graphics.d.ts.map +1 -0
- package/dist/components/custom/Graphics.js +13 -0
- package/dist/components/custom/Graphics.js.map +1 -0
- package/dist/components/custom/NineSlice.cjs +13 -0
- package/dist/components/custom/NineSlice.cjs.map +1 -0
- package/dist/components/custom/NineSlice.d.ts +87 -0
- package/dist/components/custom/NineSlice.d.ts.map +1 -0
- package/dist/components/custom/NineSlice.js +13 -0
- package/dist/components/custom/NineSlice.js.map +1 -0
- package/dist/components/custom/Particles.cjs +8 -0
- package/dist/components/custom/Particles.cjs.map +1 -0
- package/dist/components/custom/Particles.d.ts +28 -0
- package/dist/components/custom/Particles.d.ts.map +1 -0
- package/dist/components/custom/Particles.js +8 -0
- package/dist/components/custom/Particles.js.map +1 -0
- package/dist/components/custom/RefOriginView.cjs +67 -0
- package/dist/components/custom/RefOriginView.cjs.map +1 -0
- package/dist/components/custom/RefOriginView.d.ts +49 -0
- package/dist/components/custom/RefOriginView.d.ts.map +1 -0
- package/dist/components/custom/RefOriginView.js +67 -0
- package/dist/components/custom/RefOriginView.js.map +1 -0
- package/dist/components/custom/Sprite.cjs +13 -0
- package/dist/components/custom/Sprite.cjs.map +1 -0
- package/dist/components/custom/Sprite.d.ts +79 -0
- package/dist/components/custom/Sprite.d.ts.map +1 -0
- package/dist/components/custom/Sprite.js +13 -0
- package/dist/components/custom/Sprite.js.map +1 -0
- package/dist/components/custom/TileSprite.cjs +13 -0
- package/dist/components/custom/TileSprite.cjs.map +1 -0
- package/dist/components/custom/TileSprite.d.ts +65 -0
- package/dist/components/custom/TileSprite.d.ts.map +1 -0
- package/dist/components/custom/TileSprite.js +13 -0
- package/dist/components/custom/TileSprite.js.map +1 -0
- package/dist/components/custom/index.d.ts +15 -0
- package/dist/components/custom/index.d.ts.map +1 -0
- package/dist/components/index.cjs +33 -0
- package/dist/components/index.cjs.map +1 -0
- package/dist/components/index.d.ts +11 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +33 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/internal/SceneWrapper.cjs +10 -0
- package/dist/components/internal/SceneWrapper.cjs.map +1 -0
- package/dist/components/internal/SceneWrapper.d.ts +20 -0
- package/dist/components/internal/SceneWrapper.d.ts.map +1 -0
- package/dist/components/internal/SceneWrapper.js +10 -0
- package/dist/components/internal/SceneWrapper.js.map +1 -0
- package/dist/components/primitives/graphics.cjs +29 -0
- package/dist/components/primitives/graphics.cjs.map +1 -0
- package/dist/components/primitives/graphics.d.ts +146 -0
- package/dist/components/primitives/graphics.d.ts.map +1 -0
- package/dist/components/primitives/graphics.js +29 -0
- package/dist/components/primitives/graphics.js.map +1 -0
- package/dist/components/primitives/image.cjs +110 -0
- package/dist/components/primitives/image.cjs.map +1 -0
- package/dist/components/primitives/image.d.ts +170 -0
- package/dist/components/primitives/image.d.ts.map +1 -0
- package/dist/components/primitives/image.js +110 -0
- package/dist/components/primitives/image.js.map +1 -0
- package/dist/components/primitives/nineslice.cjs +42 -0
- package/dist/components/primitives/nineslice.cjs.map +1 -0
- package/dist/components/primitives/nineslice.d.ts +271 -0
- package/dist/components/primitives/nineslice.d.ts.map +1 -0
- package/dist/components/primitives/nineslice.js +42 -0
- package/dist/components/primitives/nineslice.js.map +1 -0
- package/dist/components/primitives/particles.cjs +77 -0
- package/dist/components/primitives/particles.cjs.map +1 -0
- package/dist/components/primitives/particles.d.ts +47 -0
- package/dist/components/primitives/particles.d.ts.map +1 -0
- package/dist/components/primitives/particles.js +77 -0
- package/dist/components/primitives/particles.js.map +1 -0
- package/dist/components/primitives/sprite.cjs +100 -0
- package/dist/components/primitives/sprite.cjs.map +1 -0
- package/dist/components/primitives/sprite.d.ts +147 -0
- package/dist/components/primitives/sprite.d.ts.map +1 -0
- package/dist/components/primitives/sprite.js +100 -0
- package/dist/components/primitives/sprite.js.map +1 -0
- package/dist/components/primitives/text.cjs +73 -0
- package/dist/components/primitives/text.cjs.map +1 -0
- package/dist/components/primitives/text.d.ts +155 -0
- package/dist/components/primitives/text.d.ts.map +1 -0
- package/dist/components/primitives/text.js +73 -0
- package/dist/components/primitives/text.js.map +1 -0
- package/dist/components/primitives/tilesprite.cjs +77 -0
- package/dist/components/primitives/tilesprite.cjs.map +1 -0
- package/dist/components/primitives/tilesprite.d.ts +157 -0
- package/dist/components/primitives/tilesprite.d.ts.map +1 -0
- package/dist/components/primitives/tilesprite.js +77 -0
- package/dist/components/primitives/tilesprite.js.map +1 -0
- package/dist/components/primitives/vectorDraw.cjs +73 -0
- package/dist/components/primitives/vectorDraw.cjs.map +1 -0
- package/dist/components/primitives/vectorDraw.d.ts +4 -0
- package/dist/components/primitives/vectorDraw.d.ts.map +1 -0
- package/dist/components/primitives/vectorDraw.js +73 -0
- package/dist/components/primitives/vectorDraw.js.map +1 -0
- package/dist/components/primitives/view.cjs +105 -0
- package/dist/components/primitives/view.cjs.map +1 -0
- package/dist/components/primitives/view.d.ts +23 -0
- package/dist/components/primitives/view.d.ts.map +1 -0
- package/dist/components/primitives/view.js +105 -0
- package/dist/components/primitives/view.js.map +1 -0
- package/dist/core-props.d.ts +105 -0
- package/dist/core-props.d.ts.map +1 -0
- package/dist/core-types.d.ts +71 -0
- package/dist/core-types.d.ts.map +1 -0
- package/dist/design-tokens/resolve-theme-tokens.cjs +27 -0
- package/dist/design-tokens/resolve-theme-tokens.cjs.map +1 -0
- package/dist/design-tokens/resolve-theme-tokens.d.ts +9 -0
- package/dist/design-tokens/resolve-theme-tokens.d.ts.map +1 -0
- package/dist/design-tokens/resolve-theme-tokens.js +27 -0
- package/dist/design-tokens/resolve-theme-tokens.js.map +1 -0
- package/dist/design-tokens/use-theme-tokens.cjs +26 -0
- package/dist/design-tokens/use-theme-tokens.cjs.map +1 -0
- package/dist/design-tokens/use-theme-tokens.d.ts +28 -0
- package/dist/design-tokens/use-theme-tokens.d.ts.map +1 -0
- package/dist/design-tokens/use-theme-tokens.js +26 -0
- package/dist/design-tokens/use-theme-tokens.js.map +1 -0
- package/dist/effects/index.d.ts +2 -0
- package/dist/effects/index.d.ts.map +1 -0
- package/dist/effects/phaser-effects-bridge.cjs +48 -0
- package/dist/effects/phaser-effects-bridge.cjs.map +1 -0
- package/dist/effects/phaser-effects-bridge.d.ts +2 -0
- package/dist/effects/phaser-effects-bridge.d.ts.map +1 -0
- package/dist/effects/phaser-effects-bridge.js +30 -0
- package/dist/effects/phaser-effects-bridge.js.map +1 -0
- package/dist/effects/use-effect.cjs +155 -0
- package/dist/effects/use-effect.cjs.map +1 -0
- package/dist/effects/use-effect.d.ts +30 -0
- package/dist/effects/use-effect.d.ts.map +1 -0
- package/dist/effects/use-effect.js +155 -0
- package/dist/effects/use-effect.js.map +1 -0
- package/dist/fx/convenience-hooks/index.d.ts +7 -0
- package/dist/fx/convenience-hooks/index.d.ts.map +1 -0
- package/dist/fx/convenience-hooks/use-blur.cjs +18 -0
- package/dist/fx/convenience-hooks/use-blur.cjs.map +1 -0
- package/dist/fx/convenience-hooks/use-blur.d.ts +21 -0
- package/dist/fx/convenience-hooks/use-blur.d.ts.map +1 -0
- package/dist/fx/convenience-hooks/use-blur.js +18 -0
- package/dist/fx/convenience-hooks/use-blur.js.map +1 -0
- package/dist/fx/convenience-hooks/use-glow.cjs +18 -0
- package/dist/fx/convenience-hooks/use-glow.cjs.map +1 -0
- package/dist/fx/convenience-hooks/use-glow.d.ts +21 -0
- package/dist/fx/convenience-hooks/use-glow.d.ts.map +1 -0
- package/dist/fx/convenience-hooks/use-glow.js +18 -0
- package/dist/fx/convenience-hooks/use-glow.js.map +1 -0
- package/dist/fx/convenience-hooks/use-shadow.cjs +18 -0
- package/dist/fx/convenience-hooks/use-shadow.cjs.map +1 -0
- package/dist/fx/convenience-hooks/use-shadow.d.ts +21 -0
- package/dist/fx/convenience-hooks/use-shadow.d.ts.map +1 -0
- package/dist/fx/convenience-hooks/use-shadow.js +18 -0
- package/dist/fx/convenience-hooks/use-shadow.js.map +1 -0
- package/dist/fx/fx-creators/blur.cjs +20 -0
- package/dist/fx/fx-creators/blur.cjs.map +1 -0
- package/dist/fx/fx-creators/blur.d.ts +37 -0
- package/dist/fx/fx-creators/blur.d.ts.map +1 -0
- package/dist/fx/fx-creators/blur.js +20 -0
- package/dist/fx/fx-creators/blur.js.map +1 -0
- package/dist/fx/fx-creators/color-matrix.cjs +47 -0
- package/dist/fx/fx-creators/color-matrix.cjs.map +1 -0
- package/dist/fx/fx-creators/color-matrix.d.ts +31 -0
- package/dist/fx/fx-creators/color-matrix.d.ts.map +1 -0
- package/dist/fx/fx-creators/color-matrix.js +47 -0
- package/dist/fx/fx-creators/color-matrix.js.map +1 -0
- package/dist/fx/fx-creators/glow.cjs +27 -0
- package/dist/fx/fx-creators/glow.cjs.map +1 -0
- package/dist/fx/fx-creators/glow.d.ts +36 -0
- package/dist/fx/fx-creators/glow.d.ts.map +1 -0
- package/dist/fx/fx-creators/glow.js +27 -0
- package/dist/fx/fx-creators/glow.js.map +1 -0
- package/dist/fx/fx-creators/index.d.ts +10 -0
- package/dist/fx/fx-creators/index.d.ts.map +1 -0
- package/dist/fx/fx-creators/pixelate.cjs +20 -0
- package/dist/fx/fx-creators/pixelate.cjs.map +1 -0
- package/dist/fx/fx-creators/pixelate.d.ts +24 -0
- package/dist/fx/fx-creators/pixelate.d.ts.map +1 -0
- package/dist/fx/fx-creators/pixelate.js +20 -0
- package/dist/fx/fx-creators/pixelate.js.map +1 -0
- package/dist/fx/fx-creators/shadow.cjs +28 -0
- package/dist/fx/fx-creators/shadow.cjs.map +1 -0
- package/dist/fx/fx-creators/shadow.d.ts +43 -0
- package/dist/fx/fx-creators/shadow.d.ts.map +1 -0
- package/dist/fx/fx-creators/shadow.js +28 -0
- package/dist/fx/fx-creators/shadow.js.map +1 -0
- package/dist/fx/fx-creators/vignette.cjs +20 -0
- package/dist/fx/fx-creators/vignette.cjs.map +1 -0
- package/dist/fx/fx-creators/vignette.d.ts +33 -0
- package/dist/fx/fx-creators/vignette.d.ts.map +1 -0
- package/dist/fx/fx-creators/vignette.js +20 -0
- package/dist/fx/fx-creators/vignette.js.map +1 -0
- package/dist/fx/fx-registry.cjs +43 -0
- package/dist/fx/fx-registry.cjs.map +1 -0
- package/dist/fx/fx-registry.d.ts +59 -0
- package/dist/fx/fx-registry.d.ts.map +1 -0
- package/dist/fx/fx-registry.js +43 -0
- package/dist/fx/fx-registry.js.map +1 -0
- package/dist/fx/index.d.ts +51 -0
- package/dist/fx/index.d.ts.map +1 -0
- package/dist/fx/use-fx.cjs +54 -0
- package/dist/fx/use-fx.cjs.map +1 -0
- package/dist/fx/use-fx.d.ts +53 -0
- package/dist/fx/use-fx.d.ts.map +1 -0
- package/dist/fx/use-fx.js +54 -0
- package/dist/fx/use-fx.js.map +1 -0
- package/dist/gestures/gesture-manager.cjs +773 -0
- package/dist/gestures/gesture-manager.cjs.map +1 -0
- package/dist/gestures/gesture-manager.d.ts +158 -0
- package/dist/gestures/gesture-manager.d.ts.map +1 -0
- package/dist/gestures/gesture-manager.js +773 -0
- package/dist/gestures/gesture-manager.js.map +1 -0
- package/dist/gestures/gesture-types.cjs +9 -0
- package/dist/gestures/gesture-types.cjs.map +1 -0
- package/dist/gestures/gesture-types.d.ts +232 -0
- package/dist/gestures/gesture-types.d.ts.map +1 -0
- package/dist/gestures/gesture-types.js +9 -0
- package/dist/gestures/gesture-types.js.map +1 -0
- package/dist/hooks.cjs +193 -0
- package/dist/hooks.cjs.map +1 -0
- package/dist/hooks.d.ts +151 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +146 -0
- package/dist/hooks.js.map +1 -0
- package/dist/host.cjs +85 -0
- package/dist/host.cjs.map +1 -0
- package/dist/host.d.ts +78 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +85 -0
- package/dist/host.js.map +1 -0
- package/dist/index.cjs +614 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +61 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +273 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx-dev-runtime.cjs +20 -0
- package/dist/jsx-dev-runtime.cjs.map +1 -0
- package/dist/jsx-dev-runtime.d.ts +8 -0
- package/dist/jsx-dev-runtime.d.ts.map +1 -0
- package/dist/jsx-dev-runtime.js +8 -0
- package/dist/jsx-dev-runtime.js.map +1 -0
- package/dist/jsx-runtime.cjs +16 -0
- package/dist/jsx-runtime.cjs.map +1 -0
- package/dist/jsx-runtime.d.ts +9 -0
- package/dist/jsx-runtime.d.ts.map +1 -0
- package/dist/jsx-runtime.js +7 -0
- package/dist/jsx-runtime.js.map +1 -0
- package/dist/jsx-types.d.ts +40 -0
- package/dist/jsx-types.d.ts.map +1 -0
- package/dist/layout/appliers/background-applier.cjs +40 -0
- package/dist/layout/appliers/background-applier.cjs.map +1 -0
- package/dist/layout/appliers/background-applier.d.ts +16 -0
- package/dist/layout/appliers/background-applier.d.ts.map +1 -0
- package/dist/layout/appliers/background-applier.js +40 -0
- package/dist/layout/appliers/background-applier.js.map +1 -0
- package/dist/layout/index.d.ts +5 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/layout-engine-test-utils.d.ts +24 -0
- package/dist/layout/layout-engine-test-utils.d.ts.map +1 -0
- package/dist/layout/phaser-layout-bridge.cjs +41 -0
- package/dist/layout/phaser-layout-bridge.cjs.map +1 -0
- package/dist/layout/phaser-layout-bridge.d.ts +9 -0
- package/dist/layout/phaser-layout-bridge.d.ts.map +1 -0
- package/dist/layout/phaser-layout-bridge.js +40 -0
- package/dist/layout/phaser-layout-bridge.js.map +1 -0
- package/dist/layout/types.d.ts +14 -0
- package/dist/layout/types.d.ts.map +1 -0
- package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.cjs +39 -0
- package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.cjs.map +1 -0
- package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +39 -0
- package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js.map +1 -0
- package/dist/particles/emit-zone.cjs +205 -0
- package/dist/particles/emit-zone.cjs.map +1 -0
- package/dist/particles/emit-zone.d.ts +88 -0
- package/dist/particles/emit-zone.d.ts.map +1 -0
- package/dist/particles/emit-zone.js +205 -0
- package/dist/particles/emit-zone.js.map +1 -0
- package/dist/particles/index.d.ts +8 -0
- package/dist/particles/index.d.ts.map +1 -0
- package/dist/particles/particle-types.d.ts +25 -0
- package/dist/particles/particle-types.d.ts.map +1 -0
- package/dist/particles/preset-registry.cjs +57 -0
- package/dist/particles/preset-registry.cjs.map +1 -0
- package/dist/particles/preset-registry.d.ts +49 -0
- package/dist/particles/preset-registry.d.ts.map +1 -0
- package/dist/particles/preset-registry.js +57 -0
- package/dist/particles/preset-registry.js.map +1 -0
- package/dist/particles/use-particles.cjs +67 -0
- package/dist/particles/use-particles.cjs.map +1 -0
- package/dist/particles/use-particles.d.ts +19 -0
- package/dist/particles/use-particles.d.ts.map +1 -0
- package/dist/particles/use-particles.js +67 -0
- package/dist/particles/use-particles.js.map +1 -0
- package/dist/particles/utils.cjs +82 -0
- package/dist/particles/utils.cjs.map +1 -0
- package/dist/particles/utils.d.ts +10 -0
- package/dist/particles/utils.d.ts.map +1 -0
- package/dist/particles/utils.js +82 -0
- package/dist/particles/utils.js.map +1 -0
- package/dist/phaser-bridges.cjs +148 -0
- package/dist/phaser-bridges.cjs.map +1 -0
- package/dist/phaser-bridges.d.ts +78 -0
- package/dist/phaser-bridges.d.ts.map +1 -0
- package/dist/phaser-bridges.js +131 -0
- package/dist/phaser-bridges.js.map +1 -0
- package/dist/phaser-host-adapter.cjs +148 -0
- package/dist/phaser-host-adapter.cjs.map +1 -0
- package/dist/phaser-host-adapter.d.ts +30 -0
- package/dist/phaser-host-adapter.d.ts.map +1 -0
- package/dist/phaser-host-adapter.js +148 -0
- package/dist/phaser-host-adapter.js.map +1 -0
- package/dist/phaser-runtime-types.d.ts +89 -0
- package/dist/phaser-runtime-types.d.ts.map +1 -0
- package/dist/phaser-surface-adapter.cjs +488 -0
- package/dist/phaser-surface-adapter.cjs.map +1 -0
- package/dist/phaser-surface-adapter.d.ts +74 -0
- package/dist/phaser-surface-adapter.d.ts.map +1 -0
- package/dist/phaser-surface-adapter.js +471 -0
- package/dist/phaser-surface-adapter.js.map +1 -0
- package/dist/phaser-vdom-runtime.cjs +63 -0
- package/dist/phaser-vdom-runtime.cjs.map +1 -0
- package/dist/phaser-vdom-runtime.d.ts +2 -0
- package/dist/phaser-vdom-runtime.d.ts.map +1 -0
- package/dist/phaser-vdom-runtime.js +63 -0
- package/dist/phaser-vdom-runtime.js.map +1 -0
- package/dist/plugin.cjs +182 -0
- package/dist/plugin.cjs.map +1 -0
- package/dist/plugin.d.ts +161 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +165 -0
- package/dist/plugin.js.map +1 -0
- package/dist/render-context.cjs +106 -0
- package/dist/render-context.cjs.map +1 -0
- package/dist/render-context.d.ts +66 -0
- package/dist/render-context.d.ts.map +1 -0
- package/dist/render-context.js +106 -0
- package/dist/render-context.js.map +1 -0
- package/dist/scene-backgrounds.cjs +285 -0
- package/dist/scene-backgrounds.cjs.map +1 -0
- package/dist/scene-backgrounds.d.ts +69 -0
- package/dist/scene-backgrounds.d.ts.map +1 -0
- package/dist/scene-backgrounds.js +268 -0
- package/dist/scene-backgrounds.js.map +1 -0
- package/dist/theme-base.d.ts +133 -0
- package/dist/theme-base.d.ts.map +1 -0
- package/dist/theme-custom.d.ts +13 -0
- package/dist/theme-custom.d.ts.map +1 -0
- package/dist/theme-defaults.cjs +29 -0
- package/dist/theme-defaults.cjs.map +1 -0
- package/dist/theme-defaults.d.ts +1 -0
- package/dist/theme-defaults.d.ts.map +1 -0
- package/dist/theme-defaults.js +28 -0
- package/dist/theme-defaults.js.map +1 -0
- package/dist/theme.cjs +34 -0
- package/dist/theme.cjs.map +1 -0
- package/dist/theme.d.ts +36 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +32 -0
- package/dist/theme.js.map +1 -0
- package/dist/tooltip/tooltip-types.d.ts +6 -0
- package/dist/tooltip/tooltip-types.d.ts.map +1 -0
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/KeyboardInputManager.cjs +112 -0
- package/dist/utils/KeyboardInputManager.cjs.map +1 -0
- package/dist/utils/KeyboardInputManager.d.ts +48 -0
- package/dist/utils/KeyboardInputManager.d.ts.map +1 -0
- package/dist/utils/KeyboardInputManager.js +112 -0
- package/dist/utils/KeyboardInputManager.js.map +1 -0
- package/dist/utils/dom-input-manager.cjs +253 -0
- package/dist/utils/dom-input-manager.cjs.map +1 -0
- package/dist/utils/dom-input-manager.d.ts +113 -0
- package/dist/utils/dom-input-manager.d.ts.map +1 -0
- package/dist/utils/dom-input-manager.js +253 -0
- package/dist/utils/dom-input-manager.js.map +1 -0
- package/dist/utils/fast-deep-equal.cjs +7 -0
- package/dist/utils/fast-deep-equal.cjs.map +1 -0
- package/dist/utils/fast-deep-equal.d.ts +4 -0
- package/dist/utils/fast-deep-equal.d.ts.map +1 -0
- package/dist/utils/fast-deep-equal.js +7 -0
- package/dist/utils/fast-deep-equal.js.map +1 -0
- package/dist/utils/image-subtexture-registry.cjs +98 -0
- package/dist/utils/image-subtexture-registry.cjs.map +1 -0
- package/dist/utils/image-subtexture-registry.d.ts +17 -0
- package/dist/utils/image-subtexture-registry.d.ts.map +1 -0
- package/dist/utils/image-subtexture-registry.js +98 -0
- package/dist/utils/image-subtexture-registry.js.map +1 -0
- package/dist/utils/phaser-guards.cjs +15 -0
- package/dist/utils/phaser-guards.cjs.map +1 -0
- package/dist/utils/phaser-guards.d.ts +7 -0
- package/dist/utils/phaser-guards.d.ts.map +1 -0
- package/dist/utils/phaser-guards.js +15 -0
- package/dist/utils/phaser-guards.js.map +1 -0
- package/dist/utils/svg-texture.cjs +48 -0
- package/dist/utils/svg-texture.cjs.map +1 -0
- package/dist/utils/svg-texture.d.ts +34 -0
- package/dist/utils/svg-texture.d.ts.map +1 -0
- package/dist/utils/svg-texture.js +48 -0
- package/dist/utils/svg-texture.js.map +1 -0
- package/dist/utils/texture-registry.cjs +117 -0
- package/dist/utils/texture-registry.cjs.map +1 -0
- package/dist/utils/texture-registry.d.ts +53 -0
- package/dist/utils/texture-registry.d.ts.map +1 -0
- package/dist/utils/texture-registry.js +117 -0
- package/dist/utils/texture-registry.js.map +1 -0
- package/dist/vdom-host-types.d.ts +12 -0
- package/dist/vdom-host-types.d.ts.map +1 -0
- package/dist/vdom-registry.d.ts +27 -0
- package/dist/vdom-registry.d.ts.map +1 -0
- package/dist/vdom-utils.d.ts +16 -0
- package/dist/vdom-utils.d.ts.map +1 -0
- package/dist/vdom.cjs +36 -0
- package/dist/vdom.cjs.map +1 -0
- package/dist/vdom.d.ts +23 -0
- package/dist/vdom.d.ts.map +1 -0
- package/dist/vdom.js +36 -0
- package/dist/vdom.js.map +1 -0
- package/dist/vector/PhaserVectorDrawContext.cjs +97 -0
- package/dist/vector/PhaserVectorDrawContext.cjs.map +1 -0
- package/dist/vector/PhaserVectorDrawContext.d.ts +27 -0
- package/dist/vector/PhaserVectorDrawContext.d.ts.map +1 -0
- package/dist/vector/PhaserVectorDrawContext.js +97 -0
- package/dist/vector/PhaserVectorDrawContext.js.map +1 -0
- package/dist/vector/index.d.ts +2 -0
- package/dist/vector/index.d.ts.map +1 -0
- package/package.json +96 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { LayoutContainer } from '@number10/jsx-core';
|
|
2
|
+
export interface MockContainer extends LayoutContainer {
|
|
3
|
+
__getLayoutSize: () => {
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
};
|
|
7
|
+
displayWidth: number;
|
|
8
|
+
displayHeight: number;
|
|
9
|
+
displayOriginX: number;
|
|
10
|
+
displayOriginY: number;
|
|
11
|
+
parent?: LayoutContainer;
|
|
12
|
+
getChildren: () => LayoutContainer[];
|
|
13
|
+
add: (child: LayoutContainer) => LayoutContainer;
|
|
14
|
+
setStencilClip?: (shape: unknown) => MockContainer;
|
|
15
|
+
updateStencilClip?: (shape: unknown) => MockContainer;
|
|
16
|
+
clearStencilClip?: () => MockContainer;
|
|
17
|
+
getStencilClipHandle?: () => {
|
|
18
|
+
update: (shape: unknown) => void;
|
|
19
|
+
destroy: () => void;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export declare function mockContainer(width?: number, height?: number, isContainer?: boolean): MockContainer;
|
|
23
|
+
export declare function setupLayoutTests(): void;
|
|
24
|
+
//# sourceMappingURL=layout-engine-test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-engine-test-utils.d.ts","sourceRoot":"","sources":["../../src/layout/layout-engine-test-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIzD,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,eAAe,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACxD,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,WAAW,EAAE,MAAM,eAAe,EAAE,CAAA;IACpC,GAAG,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,eAAe,CAAA;IAChD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,aAAa,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,aAAa,CAAA;IACrD,gBAAgB,CAAC,EAAE,MAAM,aAAa,CAAA;IACtC,oBAAoB,CAAC,EAAE,MAAM;QAAE,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;CACvF;AAED,wBAAgB,aAAa,CAAC,KAAK,SAAI,EAAE,MAAM,SAAI,EAAE,WAAW,UAAO,GAAG,aAAa,CAqCtF;AAED,wBAAgB,gBAAgB,SAI/B"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const jsxCore = require("@number10/jsx-core");
|
|
3
|
+
require("phaser");
|
|
4
|
+
const backgroundApplier = require("./appliers/background-applier.cjs");
|
|
5
|
+
const phaserClip = (container, containerProps, width, height) => {
|
|
6
|
+
const phaserContainer = container;
|
|
7
|
+
if (typeof phaserContainer.setStencilClip !== "function")
|
|
8
|
+
return;
|
|
9
|
+
const ext = phaserContainer;
|
|
10
|
+
if (containerProps.overflow === "hidden") {
|
|
11
|
+
if (!ext.__overflowClip) {
|
|
12
|
+
const shapeBase = { width, height };
|
|
13
|
+
if (containerProps.cornerRadius !== void 0)
|
|
14
|
+
shapeBase.cornerRadius = containerProps.cornerRadius;
|
|
15
|
+
phaserContainer.setStencilClip(shapeBase);
|
|
16
|
+
const handle = phaserContainer.getStencilClipHandle();
|
|
17
|
+
if (!handle) return;
|
|
18
|
+
ext.__overflowClip = handle;
|
|
19
|
+
jsxCore.DebugLogger.log("overflowMask", "Created stencil clip");
|
|
20
|
+
} else {
|
|
21
|
+
const update = {
|
|
22
|
+
width,
|
|
23
|
+
height,
|
|
24
|
+
cornerRadius: containerProps.cornerRadius ?? 0
|
|
25
|
+
};
|
|
26
|
+
phaserContainer.updateStencilClip(update);
|
|
27
|
+
}
|
|
28
|
+
} else if (ext.__overflowClip) {
|
|
29
|
+
phaserContainer.clearStencilClip();
|
|
30
|
+
delete ext.__overflowClip;
|
|
31
|
+
jsxCore.DebugLogger.log("overflowMask", "Removed stencil clip");
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
jsxCore.registerApplyOverflowClip(phaserClip);
|
|
35
|
+
const phaserAfterLayout = (container, width, height) => {
|
|
36
|
+
const phaserContainer = container;
|
|
37
|
+
backgroundApplier.updateBackground(phaserContainer, width, height);
|
|
38
|
+
backgroundApplier.updateHitArea(phaserContainer, width, height);
|
|
39
|
+
};
|
|
40
|
+
jsxCore.setAfterLayout(phaserAfterLayout);
|
|
41
|
+
//# sourceMappingURL=phaser-layout-bridge.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phaser-layout-bridge.cjs","sources":["../../src/layout/phaser-layout-bridge.ts"],"sourcesContent":["/**\n * Phaser layout bridge — wires renderer-specific callbacks into the core layout engine.\n *\n * Must be imported before any layout operations (usually in the package index).\n *\n * @migration(audit:phase-5f+) Phase 5F+ — extracted from layout-engine.ts when it moved to core.\n */\n\nimport type {\n AfterLayoutCallback,\n ApplyOverflowClip,\n LayoutContainer,\n LayoutProps,\n} from '@number10/jsx-core'\nimport { DebugLogger, registerApplyOverflowClip, setAfterLayout } from '@number10/jsx-core'\nimport * as Phaser from 'phaser'\nimport type { StencilClipHandle, StencilClipShape } from '../clip'\nimport { updateBackground, updateHitArea } from '../layout/appliers/background-applier'\n\n// ---------------------------------------------------------------------------\n// Overflow clipping via Phaser stencil buffer\n// ---------------------------------------------------------------------------\n\nconst phaserClip: ApplyOverflowClip = (\n container: LayoutContainer,\n containerProps: LayoutProps & {\n cornerRadius?: number | { tl?: number; tr?: number; bl?: number; br?: number }\n },\n width: number,\n height: number\n): void => {\n // Skip containers without Phaser stencil clip API (e.g., Pixi containers in dual-renderer setups)\n const phaserContainer = container as unknown as Phaser.GameObjects.Container\n if (typeof (phaserContainer as unknown as Record<string, unknown>).setStencilClip !== 'function')\n return\n\n const ext = phaserContainer as typeof phaserContainer & { __overflowClip?: StencilClipHandle }\n\n if (containerProps.overflow === 'hidden') {\n if (!ext.__overflowClip) {\n const shapeBase: StencilClipShape = { width, height }\n if (containerProps.cornerRadius !== undefined)\n shapeBase.cornerRadius = containerProps.cornerRadius\n phaserContainer.setStencilClip(shapeBase)\n const handle = phaserContainer.getStencilClipHandle()\n if (!handle) return\n ext.__overflowClip = handle\n DebugLogger.log('overflowMask', 'Created stencil clip')\n } else {\n const update: Partial<StencilClipShape> = {\n width,\n height,\n cornerRadius: containerProps.cornerRadius ?? 0,\n }\n phaserContainer.updateStencilClip(update)\n }\n } else if (ext.__overflowClip) {\n phaserContainer.clearStencilClip()\n delete ext.__overflowClip\n DebugLogger.log('overflowMask', 'Removed stencil clip')\n }\n}\n\nregisterApplyOverflowClip(phaserClip)\n\n// ---------------------------------------------------------------------------\n// After-layout: background + hit area\n// ---------------------------------------------------------------------------\n\nconst phaserAfterLayout: AfterLayoutCallback = (\n container: LayoutContainer,\n width: number,\n height: number\n): void => {\n const phaserContainer = container as unknown as Phaser.GameObjects.Container\n updateBackground(phaserContainer, width, height)\n updateHitArea(phaserContainer, width, height)\n}\n\nsetAfterLayout(phaserAfterLayout)\n"],"names":["DebugLogger","registerApplyOverflowClip","updateBackground","updateHitArea","setAfterLayout"],"mappings":";;;;AAuBA,MAAM,aAAgC,CACpC,WACA,gBAGA,OACA,WACS;AAET,QAAM,kBAAkB;AACxB,MAAI,OAAQ,gBAAuD,mBAAmB;AACpF;AAEF,QAAM,MAAM;AAEZ,MAAI,eAAe,aAAa,UAAU;AACxC,QAAI,CAAC,IAAI,gBAAgB;AACvB,YAAM,YAA8B,EAAE,OAAO,OAAA;AAC7C,UAAI,eAAe,iBAAiB;AAClC,kBAAU,eAAe,eAAe;AAC1C,sBAAgB,eAAe,SAAS;AACxC,YAAM,SAAS,gBAAgB,qBAAA;AAC/B,UAAI,CAAC,OAAQ;AACb,UAAI,iBAAiB;AACrBA,0BAAY,IAAI,gBAAgB,sBAAsB;AAAA,IACxD,OAAO;AACL,YAAM,SAAoC;AAAA,QACxC;AAAA,QACA;AAAA,QACA,cAAc,eAAe,gBAAgB;AAAA,MAAA;AAE/C,sBAAgB,kBAAkB,MAAM;AAAA,IAC1C;AAAA,EACF,WAAW,IAAI,gBAAgB;AAC7B,oBAAgB,iBAAA;AAChB,WAAO,IAAI;AACXA,wBAAY,IAAI,gBAAgB,sBAAsB;AAAA,EACxD;AACF;AAEAC,QAAAA,0BAA0B,UAAU;AAMpC,MAAM,oBAAyC,CAC7C,WACA,OACA,WACS;AACT,QAAM,kBAAkB;AACxBC,qCAAiB,iBAAiB,OAAO,MAAM;AAC/CC,kCAAc,iBAAiB,OAAO,MAAM;AAC9C;AAEAC,QAAAA,eAAe,iBAAiB;"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phaser layout bridge — wires renderer-specific callbacks into the core layout engine.
|
|
3
|
+
*
|
|
4
|
+
* Must be imported before any layout operations (usually in the package index).
|
|
5
|
+
*
|
|
6
|
+
* @migration(audit:phase-5f+) Phase 5F+ — extracted from layout-engine.ts when it moved to core.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=phaser-layout-bridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phaser-layout-bridge.d.ts","sourceRoot":"","sources":["../../src/layout/phaser-layout-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { registerApplyOverflowClip, setAfterLayout, DebugLogger } from "@number10/jsx-core";
|
|
2
|
+
import "phaser";
|
|
3
|
+
import { updateBackground, updateHitArea } from "./appliers/background-applier.js";
|
|
4
|
+
const phaserClip = (container, containerProps, width, height) => {
|
|
5
|
+
const phaserContainer = container;
|
|
6
|
+
if (typeof phaserContainer.setStencilClip !== "function")
|
|
7
|
+
return;
|
|
8
|
+
const ext = phaserContainer;
|
|
9
|
+
if (containerProps.overflow === "hidden") {
|
|
10
|
+
if (!ext.__overflowClip) {
|
|
11
|
+
const shapeBase = { width, height };
|
|
12
|
+
if (containerProps.cornerRadius !== void 0)
|
|
13
|
+
shapeBase.cornerRadius = containerProps.cornerRadius;
|
|
14
|
+
phaserContainer.setStencilClip(shapeBase);
|
|
15
|
+
const handle = phaserContainer.getStencilClipHandle();
|
|
16
|
+
if (!handle) return;
|
|
17
|
+
ext.__overflowClip = handle;
|
|
18
|
+
DebugLogger.log("overflowMask", "Created stencil clip");
|
|
19
|
+
} else {
|
|
20
|
+
const update = {
|
|
21
|
+
width,
|
|
22
|
+
height,
|
|
23
|
+
cornerRadius: containerProps.cornerRadius ?? 0
|
|
24
|
+
};
|
|
25
|
+
phaserContainer.updateStencilClip(update);
|
|
26
|
+
}
|
|
27
|
+
} else if (ext.__overflowClip) {
|
|
28
|
+
phaserContainer.clearStencilClip();
|
|
29
|
+
delete ext.__overflowClip;
|
|
30
|
+
DebugLogger.log("overflowMask", "Removed stencil clip");
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
registerApplyOverflowClip(phaserClip);
|
|
34
|
+
const phaserAfterLayout = (container, width, height) => {
|
|
35
|
+
const phaserContainer = container;
|
|
36
|
+
updateBackground(phaserContainer, width, height);
|
|
37
|
+
updateHitArea(phaserContainer, width, height);
|
|
38
|
+
};
|
|
39
|
+
setAfterLayout(phaserAfterLayout);
|
|
40
|
+
//# sourceMappingURL=phaser-layout-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phaser-layout-bridge.js","sources":["../../src/layout/phaser-layout-bridge.ts"],"sourcesContent":["/**\n * Phaser layout bridge — wires renderer-specific callbacks into the core layout engine.\n *\n * Must be imported before any layout operations (usually in the package index).\n *\n * @migration(audit:phase-5f+) Phase 5F+ — extracted from layout-engine.ts when it moved to core.\n */\n\nimport type {\n AfterLayoutCallback,\n ApplyOverflowClip,\n LayoutContainer,\n LayoutProps,\n} from '@number10/jsx-core'\nimport { DebugLogger, registerApplyOverflowClip, setAfterLayout } from '@number10/jsx-core'\nimport * as Phaser from 'phaser'\nimport type { StencilClipHandle, StencilClipShape } from '../clip'\nimport { updateBackground, updateHitArea } from '../layout/appliers/background-applier'\n\n// ---------------------------------------------------------------------------\n// Overflow clipping via Phaser stencil buffer\n// ---------------------------------------------------------------------------\n\nconst phaserClip: ApplyOverflowClip = (\n container: LayoutContainer,\n containerProps: LayoutProps & {\n cornerRadius?: number | { tl?: number; tr?: number; bl?: number; br?: number }\n },\n width: number,\n height: number\n): void => {\n // Skip containers without Phaser stencil clip API (e.g., Pixi containers in dual-renderer setups)\n const phaserContainer = container as unknown as Phaser.GameObjects.Container\n if (typeof (phaserContainer as unknown as Record<string, unknown>).setStencilClip !== 'function')\n return\n\n const ext = phaserContainer as typeof phaserContainer & { __overflowClip?: StencilClipHandle }\n\n if (containerProps.overflow === 'hidden') {\n if (!ext.__overflowClip) {\n const shapeBase: StencilClipShape = { width, height }\n if (containerProps.cornerRadius !== undefined)\n shapeBase.cornerRadius = containerProps.cornerRadius\n phaserContainer.setStencilClip(shapeBase)\n const handle = phaserContainer.getStencilClipHandle()\n if (!handle) return\n ext.__overflowClip = handle\n DebugLogger.log('overflowMask', 'Created stencil clip')\n } else {\n const update: Partial<StencilClipShape> = {\n width,\n height,\n cornerRadius: containerProps.cornerRadius ?? 0,\n }\n phaserContainer.updateStencilClip(update)\n }\n } else if (ext.__overflowClip) {\n phaserContainer.clearStencilClip()\n delete ext.__overflowClip\n DebugLogger.log('overflowMask', 'Removed stencil clip')\n }\n}\n\nregisterApplyOverflowClip(phaserClip)\n\n// ---------------------------------------------------------------------------\n// After-layout: background + hit area\n// ---------------------------------------------------------------------------\n\nconst phaserAfterLayout: AfterLayoutCallback = (\n container: LayoutContainer,\n width: number,\n height: number\n): void => {\n const phaserContainer = container as unknown as Phaser.GameObjects.Container\n updateBackground(phaserContainer, width, height)\n updateHitArea(phaserContainer, width, height)\n}\n\nsetAfterLayout(phaserAfterLayout)\n"],"names":[],"mappings":";;;AAuBA,MAAM,aAAgC,CACpC,WACA,gBAGA,OACA,WACS;AAET,QAAM,kBAAkB;AACxB,MAAI,OAAQ,gBAAuD,mBAAmB;AACpF;AAEF,QAAM,MAAM;AAEZ,MAAI,eAAe,aAAa,UAAU;AACxC,QAAI,CAAC,IAAI,gBAAgB;AACvB,YAAM,YAA8B,EAAE,OAAO,OAAA;AAC7C,UAAI,eAAe,iBAAiB;AAClC,kBAAU,eAAe,eAAe;AAC1C,sBAAgB,eAAe,SAAS;AACxC,YAAM,SAAS,gBAAgB,qBAAA;AAC/B,UAAI,CAAC,OAAQ;AACb,UAAI,iBAAiB;AACrB,kBAAY,IAAI,gBAAgB,sBAAsB;AAAA,IACxD,OAAO;AACL,YAAM,SAAoC;AAAA,QACxC;AAAA,QACA;AAAA,QACA,cAAc,eAAe,gBAAgB;AAAA,MAAA;AAE/C,sBAAgB,kBAAkB,MAAM;AAAA,IAC1C;AAAA,EACF,WAAW,IAAI,gBAAgB;AAC7B,oBAAgB,iBAAA;AAChB,WAAO,IAAI;AACX,gBAAY,IAAI,gBAAgB,sBAAsB;AAAA,EACxD;AACF;AAEA,0BAA0B,UAAU;AAMpC,MAAM,oBAAyC,CAC7C,WACA,OACA,WACS;AACT,QAAM,kBAAkB;AACxB,mBAAiB,iBAAiB,OAAO,MAAM;AAC/C,gBAAc,iBAAiB,OAAO,MAAM;AAC9C;AAEA,eAAe,iBAAiB;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { LayoutContainer } from '@number10/jsx-core';
|
|
2
|
+
import { BackgroundImage } from '../components/backgroundImage';
|
|
3
|
+
import type * as Phaser from 'phaser';
|
|
4
|
+
/**
|
|
5
|
+
* Extended GameObject with layout metadata.
|
|
6
|
+
*
|
|
7
|
+
* @migration(audit:scene-portal-mount) Phase 3B — stays in Phaser package.
|
|
8
|
+
* Core uses LayoutContainer; this alias adds Phaser.GameObjects.GameObject.
|
|
9
|
+
*/
|
|
10
|
+
export type GameObjectWithLayout = Phaser.GameObjects.GameObject & LayoutContainer & {
|
|
11
|
+
/** Background image reference — Phaser-specific type override */
|
|
12
|
+
__background?: BackgroundImage;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/layout/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAA;AACrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,GAC9D,eAAe,GAAG;IAChB,iEAAiE;IACjE,YAAY,CAAC,EAAE,eAAe,CAAA;CAC/B,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
var fastDeepEqual;
|
|
4
|
+
var hasRequiredFastDeepEqual;
|
|
5
|
+
function requireFastDeepEqual() {
|
|
6
|
+
if (hasRequiredFastDeepEqual) return fastDeepEqual;
|
|
7
|
+
hasRequiredFastDeepEqual = 1;
|
|
8
|
+
fastDeepEqual = function equal(a, b) {
|
|
9
|
+
if (a === b) return true;
|
|
10
|
+
if (a && b && typeof a == "object" && typeof b == "object") {
|
|
11
|
+
if (a.constructor !== b.constructor) return false;
|
|
12
|
+
var length, i, keys;
|
|
13
|
+
if (Array.isArray(a)) {
|
|
14
|
+
length = a.length;
|
|
15
|
+
if (length != b.length) return false;
|
|
16
|
+
for (i = length; i-- !== 0; )
|
|
17
|
+
if (!equal(a[i], b[i])) return false;
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
|
|
21
|
+
if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
|
|
22
|
+
if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
|
|
23
|
+
keys = Object.keys(a);
|
|
24
|
+
length = keys.length;
|
|
25
|
+
if (length !== Object.keys(b).length) return false;
|
|
26
|
+
for (i = length; i-- !== 0; )
|
|
27
|
+
if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
|
|
28
|
+
for (i = length; i-- !== 0; ) {
|
|
29
|
+
var key = keys[i];
|
|
30
|
+
if (!equal(a[key], b[key])) return false;
|
|
31
|
+
}
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
return a !== a && b !== b;
|
|
35
|
+
};
|
|
36
|
+
return fastDeepEqual;
|
|
37
|
+
}
|
|
38
|
+
exports.__require = requireFastDeepEqual;
|
|
39
|
+
//# sourceMappingURL=index.cjs.map
|
package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../../../../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"],"sourcesContent":["'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n"],"names":[],"mappings":";;;;;;;AAMA,kBAAiB,SAAS,MAAM,GAAG,GAAG;AACpC,QAAI,MAAM,EAAG,QAAO;AAEpB,QAAI,KAAK,KAAK,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU;AAC1D,UAAI,EAAE,gBAAgB,EAAE,YAAa,QAAO;AAE5C,UAAI,QAAQ,GAAG;AACf,UAAI,MAAM,QAAQ,CAAC,GAAG;AACpB,iBAAS,EAAE;AACX,YAAI,UAAU,EAAE,OAAQ,QAAO;AAC/B,aAAK,IAAI,QAAQ,QAAQ;AACvB,cAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAG,QAAO;AACjC,eAAO;AAAA,MACb;AAII,UAAI,EAAE,gBAAgB,OAAQ,QAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE;AAC5E,UAAI,EAAE,YAAY,OAAO,UAAU,QAAS,QAAO,EAAE,QAAO,MAAO,EAAE,QAAO;AAC5E,UAAI,EAAE,aAAa,OAAO,UAAU,SAAU,QAAO,EAAE,SAAQ,MAAO,EAAE,SAAQ;AAEhF,aAAO,OAAO,KAAK,CAAC;AACpB,eAAS,KAAK;AACd,UAAI,WAAW,OAAO,KAAK,CAAC,EAAE,OAAQ,QAAO;AAE7C,WAAK,IAAI,QAAQ,QAAQ;AACvB,YAAI,CAAC,OAAO,UAAU,eAAe,KAAK,GAAG,KAAK,CAAC,CAAC,EAAG,QAAO;AAEhE,WAAK,IAAI,QAAQ,QAAQ,KAAI;AAC3B,YAAI,MAAM,KAAK,CAAC;AAEhB,YAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAAG,QAAO;AAAA,MACzC;AAEI,aAAO;AAAA,IACX;AAGE,WAAO,MAAI,KAAK,MAAI;AAAA,EACtB;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var fastDeepEqual;
|
|
2
|
+
var hasRequiredFastDeepEqual;
|
|
3
|
+
function requireFastDeepEqual() {
|
|
4
|
+
if (hasRequiredFastDeepEqual) return fastDeepEqual;
|
|
5
|
+
hasRequiredFastDeepEqual = 1;
|
|
6
|
+
fastDeepEqual = function equal(a, b) {
|
|
7
|
+
if (a === b) return true;
|
|
8
|
+
if (a && b && typeof a == "object" && typeof b == "object") {
|
|
9
|
+
if (a.constructor !== b.constructor) return false;
|
|
10
|
+
var length, i, keys;
|
|
11
|
+
if (Array.isArray(a)) {
|
|
12
|
+
length = a.length;
|
|
13
|
+
if (length != b.length) return false;
|
|
14
|
+
for (i = length; i-- !== 0; )
|
|
15
|
+
if (!equal(a[i], b[i])) return false;
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
|
|
19
|
+
if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
|
|
20
|
+
if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
|
|
21
|
+
keys = Object.keys(a);
|
|
22
|
+
length = keys.length;
|
|
23
|
+
if (length !== Object.keys(b).length) return false;
|
|
24
|
+
for (i = length; i-- !== 0; )
|
|
25
|
+
if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
|
|
26
|
+
for (i = length; i-- !== 0; ) {
|
|
27
|
+
var key = keys[i];
|
|
28
|
+
if (!equal(a[key], b[key])) return false;
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
return a !== a && b !== b;
|
|
33
|
+
};
|
|
34
|
+
return fastDeepEqual;
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
requireFastDeepEqual as __require
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"],"sourcesContent":["'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n"],"names":[],"mappings":";;;;;AAMA,kBAAiB,SAAS,MAAM,GAAG,GAAG;AACpC,QAAI,MAAM,EAAG,QAAO;AAEpB,QAAI,KAAK,KAAK,OAAO,KAAK,YAAY,OAAO,KAAK,UAAU;AAC1D,UAAI,EAAE,gBAAgB,EAAE,YAAa,QAAO;AAE5C,UAAI,QAAQ,GAAG;AACf,UAAI,MAAM,QAAQ,CAAC,GAAG;AACpB,iBAAS,EAAE;AACX,YAAI,UAAU,EAAE,OAAQ,QAAO;AAC/B,aAAK,IAAI,QAAQ,QAAQ;AACvB,cAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAG,QAAO;AACjC,eAAO;AAAA,MACb;AAII,UAAI,EAAE,gBAAgB,OAAQ,QAAO,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE;AAC5E,UAAI,EAAE,YAAY,OAAO,UAAU,QAAS,QAAO,EAAE,QAAO,MAAO,EAAE,QAAO;AAC5E,UAAI,EAAE,aAAa,OAAO,UAAU,SAAU,QAAO,EAAE,SAAQ,MAAO,EAAE,SAAQ;AAEhF,aAAO,OAAO,KAAK,CAAC;AACpB,eAAS,KAAK;AACd,UAAI,WAAW,OAAO,KAAK,CAAC,EAAE,OAAQ,QAAO;AAE7C,WAAK,IAAI,QAAQ,QAAQ;AACvB,YAAI,CAAC,OAAO,UAAU,eAAe,KAAK,GAAG,KAAK,CAAC,CAAC,EAAG,QAAO;AAEhE,WAAK,IAAI,QAAQ,QAAQ,KAAI;AAC3B,YAAI,MAAM,KAAK,CAAC;AAEhB,YAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAAG,QAAO;AAAA,MACzC;AAEI,aAAO;AAAA,IACX;AAGE,WAAO,MAAI,KAAK,MAAI;AAAA,EACtB;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
function resolveNumericSize(value) {
|
|
4
|
+
return typeof value === "number" ? value : void 0;
|
|
5
|
+
}
|
|
6
|
+
function resolveZoneSize(zone, fallback) {
|
|
7
|
+
const size = {};
|
|
8
|
+
const width = zone.width ?? fallback.width;
|
|
9
|
+
const height = zone.height ?? fallback.height;
|
|
10
|
+
if (width !== void 0) size.width = width;
|
|
11
|
+
if (height !== void 0) size.height = height;
|
|
12
|
+
return size;
|
|
13
|
+
}
|
|
14
|
+
function withPoint(point, x, y) {
|
|
15
|
+
if (point) {
|
|
16
|
+
point.x = x;
|
|
17
|
+
point.y = y;
|
|
18
|
+
return point;
|
|
19
|
+
}
|
|
20
|
+
return { x, y };
|
|
21
|
+
}
|
|
22
|
+
function createRectSource(x, y, width, height) {
|
|
23
|
+
return {
|
|
24
|
+
x,
|
|
25
|
+
y,
|
|
26
|
+
width,
|
|
27
|
+
height,
|
|
28
|
+
contains: (px, py) => px >= x && px <= x + width && py >= y && py <= y + height,
|
|
29
|
+
getRandomPoint: (point) => withPoint(point, x + Math.random() * width, y + Math.random() * height),
|
|
30
|
+
getPoints: (quantity = 1) => {
|
|
31
|
+
const count = Math.max(1, quantity);
|
|
32
|
+
return Array.from({ length: count }, (_, index) => {
|
|
33
|
+
const progress = count === 1 ? 0 : index / (count - 1);
|
|
34
|
+
const perimeter = 2 * (width + height);
|
|
35
|
+
const distance = progress * perimeter;
|
|
36
|
+
if (distance <= width) return { x: x + distance, y };
|
|
37
|
+
if (distance <= width + height) return { x: x + width, y: y + distance - width };
|
|
38
|
+
if (distance <= width * 2 + height) {
|
|
39
|
+
return { x: x + width - (distance - width - height), y: y + height };
|
|
40
|
+
}
|
|
41
|
+
return { x, y: y + height - (distance - width * 2 - height) };
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function createCircleSource(x, y, radius) {
|
|
47
|
+
return {
|
|
48
|
+
x,
|
|
49
|
+
y,
|
|
50
|
+
radius,
|
|
51
|
+
contains: (px, py) => {
|
|
52
|
+
const dx = px - x;
|
|
53
|
+
const dy = py - y;
|
|
54
|
+
return dx * dx + dy * dy <= radius * radius;
|
|
55
|
+
},
|
|
56
|
+
getRandomPoint: (point) => {
|
|
57
|
+
const angle = Math.random() * Math.PI * 2;
|
|
58
|
+
const distance = Math.sqrt(Math.random()) * radius;
|
|
59
|
+
return withPoint(point, x + Math.cos(angle) * distance, y + Math.sin(angle) * distance);
|
|
60
|
+
},
|
|
61
|
+
getPoints: (quantity = 1) => {
|
|
62
|
+
const count = Math.max(1, quantity);
|
|
63
|
+
return Array.from({ length: count }, (_, index) => {
|
|
64
|
+
const angle = index / count * Math.PI * 2;
|
|
65
|
+
return { x: x + Math.cos(angle) * radius, y: y + Math.sin(angle) * radius };
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
function createEllipseSource(x, y, width, height) {
|
|
71
|
+
const radiusX = width / 2;
|
|
72
|
+
const radiusY = height / 2;
|
|
73
|
+
return {
|
|
74
|
+
x,
|
|
75
|
+
y,
|
|
76
|
+
width,
|
|
77
|
+
height,
|
|
78
|
+
contains: (px, py) => {
|
|
79
|
+
const dx = (px - x) / radiusX;
|
|
80
|
+
const dy = (py - y) / radiusY;
|
|
81
|
+
return dx * dx + dy * dy <= 1;
|
|
82
|
+
},
|
|
83
|
+
getRandomPoint: (point) => {
|
|
84
|
+
const angle = Math.random() * Math.PI * 2;
|
|
85
|
+
const distance = Math.sqrt(Math.random());
|
|
86
|
+
return withPoint(
|
|
87
|
+
point,
|
|
88
|
+
x + Math.cos(angle) * radiusX * distance,
|
|
89
|
+
y + Math.sin(angle) * radiusY * distance
|
|
90
|
+
);
|
|
91
|
+
},
|
|
92
|
+
getPoints: (quantity = 1) => {
|
|
93
|
+
const count = Math.max(1, quantity);
|
|
94
|
+
return Array.from({ length: count }, (_, index) => {
|
|
95
|
+
const angle = index / count * Math.PI * 2;
|
|
96
|
+
return { x: x + Math.cos(angle) * radiusX, y: y + Math.sin(angle) * radiusY };
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
function createLineSource(x, y, endX, endY) {
|
|
102
|
+
return {
|
|
103
|
+
x,
|
|
104
|
+
y,
|
|
105
|
+
contains: (px, py) => {
|
|
106
|
+
const lengthSquared = (endX - x) ** 2 + (endY - y) ** 2;
|
|
107
|
+
if (lengthSquared === 0) return px === x && py === y;
|
|
108
|
+
const progress = Math.max(
|
|
109
|
+
0,
|
|
110
|
+
Math.min(1, ((px - x) * (endX - x) + (py - y) * (endY - y)) / lengthSquared)
|
|
111
|
+
);
|
|
112
|
+
const closestX = x + progress * (endX - x);
|
|
113
|
+
const closestY = y + progress * (endY - y);
|
|
114
|
+
return Math.hypot(px - closestX, py - closestY) <= 0.5;
|
|
115
|
+
},
|
|
116
|
+
getRandomPoint: (point) => {
|
|
117
|
+
const progress = Math.random();
|
|
118
|
+
return withPoint(point, x + (endX - x) * progress, y + (endY - y) * progress);
|
|
119
|
+
},
|
|
120
|
+
getPoints: (quantity = 1) => {
|
|
121
|
+
const count = Math.max(1, quantity);
|
|
122
|
+
return Array.from({ length: count }, (_, index) => {
|
|
123
|
+
const progress = count === 1 ? 0 : index / (count - 1);
|
|
124
|
+
return { x: x + (endX - x) * progress, y: y + (endY - y) * progress };
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
function buildZoneSource(zone, fallbackSize) {
|
|
130
|
+
const baseX = zone.x ?? 0;
|
|
131
|
+
const baseY = zone.y ?? 0;
|
|
132
|
+
const { width, height } = resolveZoneSize(zone, fallbackSize);
|
|
133
|
+
switch (zone.shape) {
|
|
134
|
+
case "rect":
|
|
135
|
+
return createRectSource(baseX, baseY, width ?? 1, height ?? 1);
|
|
136
|
+
case "circle":
|
|
137
|
+
return createCircleSource(baseX, baseY, zone.radius ?? 1);
|
|
138
|
+
case "ellipse":
|
|
139
|
+
return createEllipseSource(baseX, baseY, width ?? 1, height ?? 1);
|
|
140
|
+
case "line":
|
|
141
|
+
return createLineSource(
|
|
142
|
+
baseX,
|
|
143
|
+
baseY,
|
|
144
|
+
zone.endX ?? baseX + (width ?? 1),
|
|
145
|
+
zone.endY ?? baseY + (height ?? 1)
|
|
146
|
+
);
|
|
147
|
+
default:
|
|
148
|
+
return void 0;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
function getTransformOwner(value) {
|
|
152
|
+
if (!value || typeof value !== "object") return void 0;
|
|
153
|
+
if (typeof value.getWorldTransformMatrix !== "function") {
|
|
154
|
+
return void 0;
|
|
155
|
+
}
|
|
156
|
+
return value;
|
|
157
|
+
}
|
|
158
|
+
function createLocalDeathZoneSource(source, owner) {
|
|
159
|
+
const transformOwner = getTransformOwner(owner);
|
|
160
|
+
if (!transformOwner) return source;
|
|
161
|
+
return {
|
|
162
|
+
...source,
|
|
163
|
+
contains: (worldX, worldY) => {
|
|
164
|
+
const matrix = transformOwner.getWorldTransformMatrix?.();
|
|
165
|
+
if (!matrix) return source.contains(worldX, worldY);
|
|
166
|
+
const localPoint = matrix.applyInverse(worldX, worldY);
|
|
167
|
+
return source.contains(localPoint.x, localPoint.y);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
function buildEmitZone(zone, fallbackSize = {}) {
|
|
172
|
+
const type = zone.type ?? "random";
|
|
173
|
+
const source = buildZoneSource(zone, fallbackSize);
|
|
174
|
+
if (!source) return void 0;
|
|
175
|
+
return { type, source };
|
|
176
|
+
}
|
|
177
|
+
function buildEmitZoneFromLayout(zone, width, height) {
|
|
178
|
+
const fallback = {};
|
|
179
|
+
const resolvedWidth = resolveNumericSize(width);
|
|
180
|
+
const resolvedHeight = resolveNumericSize(height);
|
|
181
|
+
if (resolvedWidth !== void 0) fallback.width = resolvedWidth;
|
|
182
|
+
if (resolvedHeight !== void 0) fallback.height = resolvedHeight;
|
|
183
|
+
return buildEmitZone(zone, fallback);
|
|
184
|
+
}
|
|
185
|
+
function buildDeathZone(zone, fallbackSize = {}, owner) {
|
|
186
|
+
const type = zone.mode ?? "onEnter";
|
|
187
|
+
const source = buildZoneSource(zone, fallbackSize);
|
|
188
|
+
if (!source) return void 0;
|
|
189
|
+
return { type, source: createLocalDeathZoneSource(source, owner) };
|
|
190
|
+
}
|
|
191
|
+
function buildDeathZonesFromLayout(zones, width, height, owner) {
|
|
192
|
+
if (!zones) return void 0;
|
|
193
|
+
const list = Array.isArray(zones) ? zones : [zones];
|
|
194
|
+
const fallback = {};
|
|
195
|
+
const resolvedWidth = resolveNumericSize(width);
|
|
196
|
+
const resolvedHeight = resolveNumericSize(height);
|
|
197
|
+
if (resolvedWidth !== void 0) fallback.width = resolvedWidth;
|
|
198
|
+
if (resolvedHeight !== void 0) fallback.height = resolvedHeight;
|
|
199
|
+
const deathZones = list.map((zone) => buildDeathZone(zone, fallback, owner)).filter((zone) => Boolean(zone));
|
|
200
|
+
return deathZones.length > 0 ? deathZones : void 0;
|
|
201
|
+
}
|
|
202
|
+
exports.buildDeathZonesFromLayout = buildDeathZonesFromLayout;
|
|
203
|
+
exports.buildEmitZone = buildEmitZone;
|
|
204
|
+
exports.buildEmitZoneFromLayout = buildEmitZoneFromLayout;
|
|
205
|
+
//# sourceMappingURL=emit-zone.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-zone.cjs","sources":["../../src/particles/emit-zone.ts"],"sourcesContent":["/**\n * Emit zone helpers for particle emitters\n */\nimport type { SizeValue } from '../core-props'\n\n/**\n * Supported zone shapes\n */\nexport type ParticleZoneShape = 'rect' | 'circle' | 'ellipse' | 'line'\n\n/**\n * Supported death zone modes\n */\nexport type ParticleDeathZoneMode = 'onEnter' | 'onLeave'\n\ntype ZoneConfigBase = {\n shape: ParticleZoneShape\n width?: number\n height?: number\n radius?: number\n x?: number\n y?: number\n endX?: number\n endY?: number\n}\n\n/**\n * Emit zone config\n */\nexport interface ParticleZoneConfig extends ZoneConfigBase {\n type?: 'random' | 'edge'\n}\n\n/**\n * Death zone config\n * Death zones use particle world positions for evaluation,\n * but coordinates should be specified relative to the emitter position\n */\nexport interface ParticleDeathZoneConfig extends ZoneConfigBase {\n /**\n * Death zone mode - evaluated using particle world positions.\n * - onEnter: remove particles when they enter the zone.\n * - onLeave: remove particles when they leave the zone.\n */\n mode?: ParticleDeathZoneMode\n}\n\n/**\n * @deprecated Use ParticleDeathZoneConfig.\n */\nexport type ParticleExclusionZoneConfig = ParticleDeathZoneConfig\n\ntype PointLike = { x: number; y: number }\ntype TransformMatrixLike = {\n applyInverse: (x: number, y: number) => PointLike\n}\nexport type ParticleZoneTransformOwner = {\n getWorldTransformMatrix?: () => TransformMatrixLike\n}\n\nexport type ParticleZoneSource = {\n x?: number\n y?: number\n width?: number\n height?: number\n radius?: number\n contains: (x: number, y: number) => boolean\n getRandomPoint: (point?: PointLike) => PointLike\n getPoints: (quantity?: number, stepRate?: number) => PointLike[]\n}\n\nexport type EmitZoneConfig = {\n type: 'random' | 'edge'\n source: ParticleZoneSource\n}\n\nexport type DeathZoneConfig = {\n type: ParticleDeathZoneMode\n source: ParticleZoneSource\n}\n\ntype ZoneSize = { width?: number; height?: number }\n\nfunction resolveNumericSize(value?: SizeValue): number | undefined {\n return typeof value === 'number' ? value : undefined\n}\n\nfunction resolveZoneSize(zone: ZoneConfigBase, fallback: ZoneSize): ZoneSize {\n const size: ZoneSize = {}\n const width = zone.width ?? fallback.width\n const height = zone.height ?? fallback.height\n if (width !== undefined) size.width = width\n if (height !== undefined) size.height = height\n return size\n}\n\nfunction withPoint(point: PointLike | undefined, x: number, y: number): PointLike {\n if (point) {\n point.x = x\n point.y = y\n return point\n }\n\n return { x, y }\n}\n\nfunction createRectSource(x: number, y: number, width: number, height: number): ParticleZoneSource {\n return {\n x,\n y,\n width,\n height,\n contains: (px, py) => px >= x && px <= x + width && py >= y && py <= y + height,\n getRandomPoint: (point) =>\n withPoint(point, x + Math.random() * width, y + Math.random() * height),\n getPoints: (quantity = 1) => {\n const count = Math.max(1, quantity)\n return Array.from({ length: count }, (_, index) => {\n const progress = count === 1 ? 0 : index / (count - 1)\n const perimeter = 2 * (width + height)\n const distance = progress * perimeter\n\n if (distance <= width) return { x: x + distance, y }\n if (distance <= width + height) return { x: x + width, y: y + distance - width }\n if (distance <= width * 2 + height) {\n return { x: x + width - (distance - width - height), y: y + height }\n }\n return { x, y: y + height - (distance - width * 2 - height) }\n })\n },\n }\n}\n\nfunction createCircleSource(x: number, y: number, radius: number): ParticleZoneSource {\n return {\n x,\n y,\n radius,\n contains: (px, py) => {\n const dx = px - x\n const dy = py - y\n return dx * dx + dy * dy <= radius * radius\n },\n getRandomPoint: (point) => {\n const angle = Math.random() * Math.PI * 2\n const distance = Math.sqrt(Math.random()) * radius\n return withPoint(point, x + Math.cos(angle) * distance, y + Math.sin(angle) * distance)\n },\n getPoints: (quantity = 1) => {\n const count = Math.max(1, quantity)\n return Array.from({ length: count }, (_, index) => {\n const angle = (index / count) * Math.PI * 2\n return { x: x + Math.cos(angle) * radius, y: y + Math.sin(angle) * radius }\n })\n },\n }\n}\n\nfunction createEllipseSource(\n x: number,\n y: number,\n width: number,\n height: number\n): ParticleZoneSource {\n const radiusX = width / 2\n const radiusY = height / 2\n\n return {\n x,\n y,\n width,\n height,\n contains: (px, py) => {\n const dx = (px - x) / radiusX\n const dy = (py - y) / radiusY\n return dx * dx + dy * dy <= 1\n },\n getRandomPoint: (point) => {\n const angle = Math.random() * Math.PI * 2\n const distance = Math.sqrt(Math.random())\n return withPoint(\n point,\n x + Math.cos(angle) * radiusX * distance,\n y + Math.sin(angle) * radiusY * distance\n )\n },\n getPoints: (quantity = 1) => {\n const count = Math.max(1, quantity)\n return Array.from({ length: count }, (_, index) => {\n const angle = (index / count) * Math.PI * 2\n return { x: x + Math.cos(angle) * radiusX, y: y + Math.sin(angle) * radiusY }\n })\n },\n }\n}\n\nfunction createLineSource(x: number, y: number, endX: number, endY: number): ParticleZoneSource {\n return {\n x,\n y,\n contains: (px, py) => {\n const lengthSquared = (endX - x) ** 2 + (endY - y) ** 2\n if (lengthSquared === 0) return px === x && py === y\n\n const progress = Math.max(\n 0,\n Math.min(1, ((px - x) * (endX - x) + (py - y) * (endY - y)) / lengthSquared)\n )\n const closestX = x + progress * (endX - x)\n const closestY = y + progress * (endY - y)\n return Math.hypot(px - closestX, py - closestY) <= 0.5\n },\n getRandomPoint: (point) => {\n const progress = Math.random()\n return withPoint(point, x + (endX - x) * progress, y + (endY - y) * progress)\n },\n getPoints: (quantity = 1) => {\n const count = Math.max(1, quantity)\n return Array.from({ length: count }, (_, index) => {\n const progress = count === 1 ? 0 : index / (count - 1)\n return { x: x + (endX - x) * progress, y: y + (endY - y) * progress }\n })\n },\n }\n}\n\nfunction buildZoneSource(\n zone: ZoneConfigBase,\n fallbackSize: ZoneSize\n): ParticleZoneSource | undefined {\n const baseX = zone.x ?? 0\n const baseY = zone.y ?? 0\n const { width, height } = resolveZoneSize(zone, fallbackSize)\n\n switch (zone.shape) {\n case 'rect':\n return createRectSource(baseX, baseY, width ?? 1, height ?? 1)\n case 'circle':\n return createCircleSource(baseX, baseY, zone.radius ?? 1)\n case 'ellipse':\n return createEllipseSource(baseX, baseY, width ?? 1, height ?? 1)\n case 'line':\n return createLineSource(\n baseX,\n baseY,\n zone.endX ?? baseX + (width ?? 1),\n zone.endY ?? baseY + (height ?? 1)\n )\n default:\n return undefined\n }\n}\n\nfunction getTransformOwner(value: unknown): ParticleZoneTransformOwner | undefined {\n if (!value || typeof value !== 'object') return undefined\n if (typeof (value as ParticleZoneTransformOwner).getWorldTransformMatrix !== 'function') {\n return undefined\n }\n return value as ParticleZoneTransformOwner\n}\n\nfunction createLocalDeathZoneSource(\n source: ParticleZoneSource,\n owner?: unknown\n): ParticleZoneSource {\n const transformOwner = getTransformOwner(owner)\n if (!transformOwner) return source\n\n return {\n ...source,\n contains: (worldX, worldY) => {\n const matrix = transformOwner.getWorldTransformMatrix?.()\n if (!matrix) return source.contains(worldX, worldY)\n\n const localPoint = matrix.applyInverse(worldX, worldY)\n return source.contains(localPoint.x, localPoint.y)\n },\n }\n}\n\n/**\n * Build a Phaser emitZone config from a lightweight zone definition\n */\nexport function buildEmitZone(\n zone: ParticleZoneConfig,\n fallbackSize: ZoneSize = {}\n): EmitZoneConfig | undefined {\n const type = zone.type ?? 'random'\n const source = buildZoneSource(zone, fallbackSize)\n\n if (!source) return undefined\n\n return { type, source }\n}\n\n/**\n * Create an emit zone using layout size as a fallback\n */\nexport function buildEmitZoneFromLayout(\n zone: ParticleZoneConfig,\n width?: SizeValue,\n height?: SizeValue\n): EmitZoneConfig | undefined {\n const fallback: ZoneSize = {}\n const resolvedWidth = resolveNumericSize(width)\n const resolvedHeight = resolveNumericSize(height)\n if (resolvedWidth !== undefined) fallback.width = resolvedWidth\n if (resolvedHeight !== undefined) fallback.height = resolvedHeight\n return buildEmitZone(zone, fallback)\n}\n\n/**\n * Build a Phaser deathZone config from a lightweight death zone definition\n */\nfunction buildDeathZone(\n zone: ParticleDeathZoneConfig,\n fallbackSize: ZoneSize = {},\n owner?: unknown\n): DeathZoneConfig | undefined {\n const type = zone.mode ?? 'onEnter'\n const source = buildZoneSource(zone, fallbackSize)\n\n if (!source) return undefined\n\n return { type, source: createLocalDeathZoneSource(source, owner) }\n}\n\n/**\n * Create death zones using layout size as a fallback\n */\nexport function buildDeathZonesFromLayout(\n zones: ParticleDeathZoneConfig | ParticleDeathZoneConfig[] | undefined,\n width?: SizeValue,\n height?: SizeValue,\n owner?: unknown\n): DeathZoneConfig[] | undefined {\n if (!zones) return undefined\n const list = Array.isArray(zones) ? zones : [zones]\n const fallback: ZoneSize = {}\n const resolvedWidth = resolveNumericSize(width)\n const resolvedHeight = resolveNumericSize(height)\n if (resolvedWidth !== undefined) fallback.width = resolvedWidth\n if (resolvedHeight !== undefined) fallback.height = resolvedHeight\n\n const deathZones = list\n .map((zone) => buildDeathZone(zone, fallback, owner))\n .filter((zone): zone is DeathZoneConfig => Boolean(zone))\n\n return deathZones.length > 0 ? deathZones : undefined\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { SizeValue } from '../core-props';
|
|
2
|
+
/**
|
|
3
|
+
* Supported zone shapes
|
|
4
|
+
*/
|
|
5
|
+
export type ParticleZoneShape = 'rect' | 'circle' | 'ellipse' | 'line';
|
|
6
|
+
/**
|
|
7
|
+
* Supported death zone modes
|
|
8
|
+
*/
|
|
9
|
+
export type ParticleDeathZoneMode = 'onEnter' | 'onLeave';
|
|
10
|
+
type ZoneConfigBase = {
|
|
11
|
+
shape: ParticleZoneShape;
|
|
12
|
+
width?: number;
|
|
13
|
+
height?: number;
|
|
14
|
+
radius?: number;
|
|
15
|
+
x?: number;
|
|
16
|
+
y?: number;
|
|
17
|
+
endX?: number;
|
|
18
|
+
endY?: number;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Emit zone config
|
|
22
|
+
*/
|
|
23
|
+
export interface ParticleZoneConfig extends ZoneConfigBase {
|
|
24
|
+
type?: 'random' | 'edge';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Death zone config
|
|
28
|
+
* Death zones use particle world positions for evaluation,
|
|
29
|
+
* but coordinates should be specified relative to the emitter position
|
|
30
|
+
*/
|
|
31
|
+
export interface ParticleDeathZoneConfig extends ZoneConfigBase {
|
|
32
|
+
/**
|
|
33
|
+
* Death zone mode - evaluated using particle world positions.
|
|
34
|
+
* - onEnter: remove particles when they enter the zone.
|
|
35
|
+
* - onLeave: remove particles when they leave the zone.
|
|
36
|
+
*/
|
|
37
|
+
mode?: ParticleDeathZoneMode;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @deprecated Use ParticleDeathZoneConfig.
|
|
41
|
+
*/
|
|
42
|
+
export type ParticleExclusionZoneConfig = ParticleDeathZoneConfig;
|
|
43
|
+
type PointLike = {
|
|
44
|
+
x: number;
|
|
45
|
+
y: number;
|
|
46
|
+
};
|
|
47
|
+
type TransformMatrixLike = {
|
|
48
|
+
applyInverse: (x: number, y: number) => PointLike;
|
|
49
|
+
};
|
|
50
|
+
export type ParticleZoneTransformOwner = {
|
|
51
|
+
getWorldTransformMatrix?: () => TransformMatrixLike;
|
|
52
|
+
};
|
|
53
|
+
export type ParticleZoneSource = {
|
|
54
|
+
x?: number;
|
|
55
|
+
y?: number;
|
|
56
|
+
width?: number;
|
|
57
|
+
height?: number;
|
|
58
|
+
radius?: number;
|
|
59
|
+
contains: (x: number, y: number) => boolean;
|
|
60
|
+
getRandomPoint: (point?: PointLike) => PointLike;
|
|
61
|
+
getPoints: (quantity?: number, stepRate?: number) => PointLike[];
|
|
62
|
+
};
|
|
63
|
+
export type EmitZoneConfig = {
|
|
64
|
+
type: 'random' | 'edge';
|
|
65
|
+
source: ParticleZoneSource;
|
|
66
|
+
};
|
|
67
|
+
export type DeathZoneConfig = {
|
|
68
|
+
type: ParticleDeathZoneMode;
|
|
69
|
+
source: ParticleZoneSource;
|
|
70
|
+
};
|
|
71
|
+
type ZoneSize = {
|
|
72
|
+
width?: number;
|
|
73
|
+
height?: number;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Build a Phaser emitZone config from a lightweight zone definition
|
|
77
|
+
*/
|
|
78
|
+
export declare function buildEmitZone(zone: ParticleZoneConfig, fallbackSize?: ZoneSize): EmitZoneConfig | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* Create an emit zone using layout size as a fallback
|
|
81
|
+
*/
|
|
82
|
+
export declare function buildEmitZoneFromLayout(zone: ParticleZoneConfig, width?: SizeValue, height?: SizeValue): EmitZoneConfig | undefined;
|
|
83
|
+
/**
|
|
84
|
+
* Create death zones using layout size as a fallback
|
|
85
|
+
*/
|
|
86
|
+
export declare function buildDeathZonesFromLayout(zones: ParticleDeathZoneConfig | ParticleDeathZoneConfig[] | undefined, width?: SizeValue, height?: SizeValue, owner?: unknown): DeathZoneConfig[] | undefined;
|
|
87
|
+
export {};
|
|
88
|
+
//# sourceMappingURL=emit-zone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-zone.d.ts","sourceRoot":"","sources":["../../src/particles/emit-zone.ts"],"names":[],"mappings":"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"}
|