@lightningjs/renderer 0.0.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/LICENSE +202 -0
- package/NOTICE +4 -0
- package/README.md +184 -0
- package/dist/exports/core-api.d.ts +73 -0
- package/dist/exports/core-api.js +95 -0
- package/dist/exports/core-api.js.map +1 -0
- package/dist/exports/main-api.d.ts +28 -0
- package/dist/exports/main-api.js +45 -0
- package/dist/exports/main-api.js.map +1 -0
- package/dist/exports/utils.d.ts +23 -0
- package/dist/exports/utils.js +42 -0
- package/dist/exports/utils.js.map +1 -0
- package/dist/src/common/CommonTypes.d.ts +38 -0
- package/dist/src/common/CommonTypes.js +20 -0
- package/dist/src/common/CommonTypes.js.map +1 -0
- package/dist/src/common/EventEmitter.d.ts +12 -0
- package/dist/src/common/EventEmitter.js +66 -0
- package/dist/src/common/EventEmitter.js.map +1 -0
- package/dist/src/common/IAnimationController.d.ts +9 -0
- package/dist/src/common/IAnimationController.js +20 -0
- package/dist/src/common/IAnimationController.js.map +1 -0
- package/dist/src/core/CoreExtension.d.ts +12 -0
- package/dist/src/core/CoreExtension.js +29 -0
- package/dist/src/core/CoreExtension.js.map +1 -0
- package/dist/src/core/CoreNode.d.ts +147 -0
- package/dist/src/core/CoreNode.js +498 -0
- package/dist/src/core/CoreNode.js.map +1 -0
- package/dist/src/core/CoreShaderManager.d.ts +29 -0
- package/dist/src/core/CoreShaderManager.js +58 -0
- package/dist/src/core/CoreShaderManager.js.map +1 -0
- package/dist/src/core/CoreTextNode.d.ts +64 -0
- package/dist/src/core/CoreTextNode.js +251 -0
- package/dist/src/core/CoreTextNode.js.map +1 -0
- package/dist/src/core/CoreTextureManager.d.ts +173 -0
- package/dist/src/core/CoreTextureManager.js +190 -0
- package/dist/src/core/CoreTextureManager.js.map +1 -0
- package/dist/src/core/Matrix2DContext.d.ts +15 -0
- package/dist/src/core/Matrix2DContext.js +45 -0
- package/dist/src/core/Matrix2DContext.js.map +1 -0
- package/dist/src/core/Stage.d.ts +53 -0
- package/dist/src/core/Stage.js +214 -0
- package/dist/src/core/Stage.js.map +1 -0
- package/dist/src/core/animations/AnimationManager.d.ts +7 -0
- package/dist/src/core/animations/AnimationManager.js +34 -0
- package/dist/src/core/animations/AnimationManager.js.map +1 -0
- package/dist/src/core/animations/CoreAnimation.d.ts +27 -0
- package/dist/src/core/animations/CoreAnimation.js +103 -0
- package/dist/src/core/animations/CoreAnimation.js.map +1 -0
- package/dist/src/core/animations/CoreAnimationController.d.ts +21 -0
- package/dist/src/core/animations/CoreAnimationController.js +96 -0
- package/dist/src/core/animations/CoreAnimationController.js.map +1 -0
- package/dist/src/core/lib/glm/common.d.ts +162 -0
- package/dist/src/core/lib/glm/common.js +81 -0
- package/dist/src/core/lib/glm/common.js.map +1 -0
- package/dist/src/core/lib/glm/index.d.ts +11 -0
- package/dist/src/core/lib/glm/index.js +30 -0
- package/dist/src/core/lib/glm/index.js.map +1 -0
- package/dist/src/core/lib/glm/mat2.d.ts +219 -0
- package/dist/src/core/lib/glm/mat2.js +396 -0
- package/dist/src/core/lib/glm/mat2.js.map +1 -0
- package/dist/src/core/lib/glm/mat2d.d.ts +237 -0
- package/dist/src/core/lib/glm/mat2d.js +442 -0
- package/dist/src/core/lib/glm/mat2d.js.map +1 -0
- package/dist/src/core/lib/glm/mat3.d.ts +283 -0
- package/dist/src/core/lib/glm/mat3.js +680 -0
- package/dist/src/core/lib/glm/mat3.js.map +1 -0
- package/dist/src/core/lib/glm/mat4.d.ts +550 -0
- package/dist/src/core/lib/glm/mat4.js +1802 -0
- package/dist/src/core/lib/glm/mat4.js.map +1 -0
- package/dist/src/core/lib/glm/quat.d.ts +363 -0
- package/dist/src/core/lib/glm/quat.js +693 -0
- package/dist/src/core/lib/glm/quat.js.map +1 -0
- package/dist/src/core/lib/glm/quat2.d.ts +356 -0
- package/dist/src/core/lib/glm/quat2.js +754 -0
- package/dist/src/core/lib/glm/quat2.js.map +1 -0
- package/dist/src/core/lib/glm/vec2.d.ts +365 -0
- package/dist/src/core/lib/glm/vec2.js +569 -0
- package/dist/src/core/lib/glm/vec2.js.map +1 -0
- package/dist/src/core/lib/glm/vec3.d.ts +406 -0
- package/dist/src/core/lib/glm/vec3.js +720 -0
- package/dist/src/core/lib/glm/vec3.js.map +1 -0
- package/dist/src/core/lib/glm/vec4.d.ts +330 -0
- package/dist/src/core/lib/glm/vec4.js +608 -0
- package/dist/src/core/lib/glm/vec4.js.map +1 -0
- package/dist/src/core/lib/utils.d.ts +27 -0
- package/dist/src/core/lib/utils.js +108 -0
- package/dist/src/core/lib/utils.js.map +1 -0
- package/dist/src/core/platform.d.ts +10 -0
- package/dist/src/core/platform.js +37 -0
- package/dist/src/core/platform.js.map +1 -0
- package/dist/src/core/renderers/CoreContextTexture.d.ts +6 -0
- package/dist/src/core/renderers/CoreContextTexture.js +25 -0
- package/dist/src/core/renderers/CoreContextTexture.js.map +1 -0
- package/dist/src/core/renderers/CoreRenderOp.d.ts +3 -0
- package/dist/src/core/renderers/CoreRenderOp.js +21 -0
- package/dist/src/core/renderers/CoreRenderOp.js.map +1 -0
- package/dist/src/core/renderers/CoreRenderer.d.ts +39 -0
- package/dist/src/core/renderers/CoreRenderer.js +26 -0
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -0
- package/dist/src/core/renderers/CoreShader.d.ts +9 -0
- package/dist/src/core/renderers/CoreShader.js +28 -0
- package/dist/src/core/renderers/CoreShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +7 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +32 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +46 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +163 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +27 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +82 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +100 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +372 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +39 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +187 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/internal/BufferCollection.d.ts +27 -0
- package/dist/src/core/renderers/webgl/internal/BufferCollection.js +48 -0
- package/dist/src/core/renderers/webgl/internal/BufferCollection.js.map +1 -0
- package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +39 -0
- package/dist/src/core/renderers/webgl/internal/RendererUtils.js +92 -0
- package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -0
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +46 -0
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +50 -0
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -0
- package/dist/src/core/renderers/webgl/internal/WebGlUtils.d.ts +10 -0
- package/dist/src/core/renderers/webgl/internal/WebGlUtils.js +31 -0
- package/dist/src/core/renderers/webgl/internal/WebGlUtils.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +9 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +89 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +10 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +119 -0
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +53 -0
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +299 -0
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +29 -0
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +135 -0
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +45 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +137 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +15 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +68 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +14 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +54 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +15 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +68 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +15 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +68 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +15 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +68 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +33 -0
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +17 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +98 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +6 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +32 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +16 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +140 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +14 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +82 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +44 -0
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +61 -0
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -0
- package/dist/src/core/scene/Scene.d.ts +59 -0
- package/dist/src/core/scene/Scene.js +106 -0
- package/dist/src/core/scene/Scene.js.map +1 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +53 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js +156 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -0
- package/dist/src/core/text-rendering/TrFontManager.d.ts +25 -0
- package/dist/src/core/text-rendering/TrFontManager.js +75 -0
- package/dist/src/core/text-rendering/TrFontManager.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +29 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +88 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.d.ts +103 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js +21 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +59 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +86 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +48 -0
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +54 -0
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +11 -0
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +54 -0
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +45 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +492 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +115 -0
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +493 -0
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +67 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +452 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.d.ts +12 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +61 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.d.ts +33 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +52 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.d.ts +13 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +32 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +21 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +53 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.d.ts +4 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +34 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +18 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +294 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +20 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +55 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.d.ts +10 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +39 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +254 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js +100 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -0
- package/dist/src/core/textures/ColorTexture.d.ts +35 -0
- package/dist/src/core/textures/ColorTexture.js +62 -0
- package/dist/src/core/textures/ColorTexture.js.map +1 -0
- package/dist/src/core/textures/ImageTexture.d.ts +51 -0
- package/dist/src/core/textures/ImageTexture.js +76 -0
- package/dist/src/core/textures/ImageTexture.js.map +1 -0
- package/dist/src/core/textures/NoiseTexture.d.ts +42 -0
- package/dist/src/core/textures/NoiseTexture.js +63 -0
- package/dist/src/core/textures/NoiseTexture.js.map +1 -0
- package/dist/src/core/textures/SubTexture.d.ts +57 -0
- package/dist/src/core/textures/SubTexture.js +82 -0
- package/dist/src/core/textures/SubTexture.js.map +1 -0
- package/dist/src/core/textures/Texture.d.ts +92 -0
- package/dist/src/core/textures/Texture.js +105 -0
- package/dist/src/core/textures/Texture.js.map +1 -0
- package/dist/src/core/utils.d.ts +15 -0
- package/dist/src/core/utils.js +183 -0
- package/dist/src/core/utils.js.map +1 -0
- package/dist/src/main-api/INode.d.ts +390 -0
- package/dist/src/main-api/INode.js +20 -0
- package/dist/src/main-api/INode.js.map +1 -0
- package/dist/src/main-api/IRenderDriver.d.ts +20 -0
- package/dist/src/main-api/IRenderDriver.js +20 -0
- package/dist/src/main-api/IRenderDriver.js.map +1 -0
- package/dist/src/main-api/RendererMain.d.ts +232 -0
- package/dist/src/main-api/RendererMain.js +303 -0
- package/dist/src/main-api/RendererMain.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +84 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js +324 -0
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +39 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +165 -0
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
- package/dist/src/render-drivers/main/MainRenderDriver.d.ts +17 -0
- package/dist/src/render-drivers/main/MainRenderDriver.js +88 -0
- package/dist/src/render-drivers/main/MainRenderDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +81 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js +254 -0
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +36 -0
- package/dist/src/render-drivers/threadx/SharedNode.js +57 -0
- package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +34 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +156 -0
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +20 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +84 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +37 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +121 -0
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +23 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +50 -0
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +21 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +194 -0
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +48 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +172 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +22 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +101 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
- package/dist/src/render-drivers/threadx/worker/renderer.d.ts +1 -0
- package/dist/src/render-drivers/threadx/worker/renderer.js +130 -0
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
- package/dist/src/render-drivers/utils.d.ts +10 -0
- package/dist/src/render-drivers/utils.js +41 -0
- package/dist/src/render-drivers/utils.js.map +1 -0
- package/dist/src/utils.d.ts +79 -0
- package/dist/src/utils.js +162 -0
- package/dist/src/utils.js.map +1 -0
- package/dist/tsconfig.dist.tsbuildinfo +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ShaderEffect, type DefaultEffectProps, type ShaderEffectUniforms } from './ShaderEffect.js';
|
|
2
|
+
export interface GlitchEffectProps extends DefaultEffectProps {
|
|
3
|
+
amplitude?: number;
|
|
4
|
+
narrowness?: number;
|
|
5
|
+
blockiness?: number;
|
|
6
|
+
minimizer?: number;
|
|
7
|
+
time?: number;
|
|
8
|
+
}
|
|
9
|
+
export declare class GlitchEffect extends ShaderEffect {
|
|
10
|
+
static z$__type__Props: GlitchEffectProps;
|
|
11
|
+
readonly name = "glitch";
|
|
12
|
+
static getEffectKey(props: GlitchEffectProps): string;
|
|
13
|
+
static resolveDefaults(props: GlitchEffectProps): Required<GlitchEffectProps>;
|
|
14
|
+
static uniforms: ShaderEffectUniforms;
|
|
15
|
+
static methods: Record<string, string>;
|
|
16
|
+
static onColorize: string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ShaderEffect, } from './ShaderEffect.js';
|
|
2
|
+
export class GlitchEffect extends ShaderEffect {
|
|
3
|
+
static z$__type__Props;
|
|
4
|
+
name = 'glitch';
|
|
5
|
+
static getEffectKey(props) {
|
|
6
|
+
return `glitch`;
|
|
7
|
+
}
|
|
8
|
+
static resolveDefaults(props) {
|
|
9
|
+
return {
|
|
10
|
+
amplitude: props.amplitude ?? 0.2,
|
|
11
|
+
narrowness: props.narrowness ?? 4.0,
|
|
12
|
+
blockiness: props.blockiness ?? 2.0,
|
|
13
|
+
minimizer: props.minimizer ?? 8.0,
|
|
14
|
+
time: props.time ?? Date.now(),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
static uniforms = {
|
|
18
|
+
amplitude: {
|
|
19
|
+
value: 0,
|
|
20
|
+
method: 'uniform1f',
|
|
21
|
+
type: 'float',
|
|
22
|
+
},
|
|
23
|
+
narrowness: {
|
|
24
|
+
value: 0,
|
|
25
|
+
method: 'uniform1f',
|
|
26
|
+
type: 'float',
|
|
27
|
+
},
|
|
28
|
+
blockiness: {
|
|
29
|
+
value: 0,
|
|
30
|
+
method: 'uniform1f',
|
|
31
|
+
type: 'float',
|
|
32
|
+
},
|
|
33
|
+
minimizer: {
|
|
34
|
+
value: 0,
|
|
35
|
+
method: 'uniform1f',
|
|
36
|
+
type: 'float',
|
|
37
|
+
},
|
|
38
|
+
time: {
|
|
39
|
+
value: 0,
|
|
40
|
+
method: 'uniform1f',
|
|
41
|
+
validator: (value) => {
|
|
42
|
+
return (Date.now() - value) % 1000;
|
|
43
|
+
},
|
|
44
|
+
type: 'float',
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
static methods = {
|
|
48
|
+
rand: `
|
|
49
|
+
float function(vec2 p, float time) {
|
|
50
|
+
float t = floor(time * 20.) / 10.;
|
|
51
|
+
return fract(sin(dot(p, vec2(t * 12.9898, t * 78.233))) * 43758.5453);
|
|
52
|
+
}
|
|
53
|
+
`,
|
|
54
|
+
noise: `
|
|
55
|
+
float function(vec2 uv, float blockiness, float time) {
|
|
56
|
+
vec2 lv = fract(uv);
|
|
57
|
+
vec2 id = floor(uv);
|
|
58
|
+
|
|
59
|
+
float n1 = rand(id, time);
|
|
60
|
+
float n2 = rand(id+vec2(1,0), time);
|
|
61
|
+
float n3 = rand(id+vec2(0,1), time);
|
|
62
|
+
float n4 = rand(id+vec2(1,1), time);
|
|
63
|
+
vec2 u = smoothstep(0.0, 1.0 + blockiness, lv);
|
|
64
|
+
return mix(mix(n1, n2, u.x), mix(n3, n4, u.x), u.y);
|
|
65
|
+
}
|
|
66
|
+
`,
|
|
67
|
+
fbm: `
|
|
68
|
+
float function(vec2 uv, int count, float blockiness, float complexity, float time) {
|
|
69
|
+
float val = 0.0;
|
|
70
|
+
float amp = 0.5;
|
|
71
|
+
const int MAX_ITERATIONS = 10;
|
|
72
|
+
|
|
73
|
+
for(int i = 0; i < MAX_ITERATIONS; i++) {
|
|
74
|
+
if(i >= count) {break;}
|
|
75
|
+
val += amp * noise(uv, blockiness, time);
|
|
76
|
+
amp *= 0.5;
|
|
77
|
+
uv *= complexity;
|
|
78
|
+
}
|
|
79
|
+
return val;
|
|
80
|
+
}
|
|
81
|
+
`,
|
|
82
|
+
};
|
|
83
|
+
static onColorize = `
|
|
84
|
+
vec2 uv = v_textureCoordinate.xy;
|
|
85
|
+
float aspect = u_dimensions.x / u_dimensions.y;
|
|
86
|
+
vec2 a = vec2(uv.x * aspect , uv.y);
|
|
87
|
+
vec2 uv2 = vec2(a.x / u_dimensions.x, exp(a.y));
|
|
88
|
+
|
|
89
|
+
float shift = amplitude * pow($fbm(uv2, 4, blockiness, narrowness, time), minimizer);
|
|
90
|
+
float colR = texture2D(u_texture, vec2(uv.x + shift, uv.y)).r * (1. - shift);
|
|
91
|
+
float colG = texture2D(u_texture, vec2(uv.x - shift, uv.y)).g * (1. - shift);
|
|
92
|
+
float colB = texture2D(u_texture, vec2(uv.x - shift, uv.y)).b * (1. - shift);
|
|
93
|
+
|
|
94
|
+
vec3 f = vec3(colR, colG, colB);
|
|
95
|
+
return vec4(f, texture2D(u_texture, vec2(uv.x - shift, uv.y)).a);
|
|
96
|
+
`;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=GlitchEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlitchEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/GlitchEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAU3B,MAAM,OAAO,YAAa,SAAQ,YAAY;IAC5C,MAAM,CAAC,eAAe,CAAoB;IACxB,IAAI,GAAG,QAAQ,CAAC;IAElC,MAAM,CAAU,YAAY,CAAC,KAAwB;QACnD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,GAAG;YACjC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,GAAG;YACnC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,GAAG;YACnC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,GAAG;YACjC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,QAAQ,GAAyB;QAC/C,SAAS,EAAE;YACT,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,UAAU,EAAE;YACV,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,UAAU,EAAE;YACV,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,SAAS,EAAE;YACT,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,IAAI,EAAE;YACJ,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC;YACrC,CAAC;YACD,IAAI,EAAE,OAAO;SACd;KACF,CAAC;IAEF,MAAM,CAAU,OAAO,GAA2B;QAChD,IAAI,EAAE;;;;;KAKL;QACD,KAAK,EAAE;;;;;;;;;;;;KAYN;QACD,GAAG,EAAE;;;;;;;;;;;;;;KAcJ;KACF,CAAC;IAEF,MAAM,CAAU,UAAU,GAAG;;;;;;;;;;;;;GAa5B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
+
* following copyright and licenses apply:
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2023 Comcast
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
import { ShaderEffect } from './ShaderEffect.js';
|
|
20
|
+
export class GrayscaleEffect extends ShaderEffect {
|
|
21
|
+
name = 'grayscale';
|
|
22
|
+
static getEffectKey() {
|
|
23
|
+
return `grayscale`;
|
|
24
|
+
}
|
|
25
|
+
static onColorize = `
|
|
26
|
+
vec3 color = pow(maskColor.rgb, vec3(2.0));
|
|
27
|
+
float gray = dot(color, vec3(0.2126, 0.7152, 0.0722));
|
|
28
|
+
float gammaGray = sqrt(gray);
|
|
29
|
+
return vec4(gammaGray, gammaGray, gammaGray, 1.0);
|
|
30
|
+
`;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=GrayscaleEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrayscaleEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,OAAO,eAAgB,SAAQ,YAAY;IAC7B,IAAI,GAAG,WAAW,CAAC;IAErC,MAAM,CAAU,YAAY;QAC1B,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,CAAU,UAAU,GAAG;;;;;GAK5B,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type DefaultEffectProps, ShaderEffect, type ShaderEffectUniforms } from './ShaderEffect.js';
|
|
2
|
+
export interface LinearGradientEffectProps extends DefaultEffectProps {
|
|
3
|
+
colors?: number[];
|
|
4
|
+
angle?: number;
|
|
5
|
+
stops?: number[];
|
|
6
|
+
}
|
|
7
|
+
export declare class LinearGradientEffect extends ShaderEffect {
|
|
8
|
+
static z$__type__Props: LinearGradientEffectProps;
|
|
9
|
+
readonly name = "linearGradient";
|
|
10
|
+
static getEffectKey(props: LinearGradientEffectProps): string;
|
|
11
|
+
static resolveDefaults(props: LinearGradientEffectProps): Required<LinearGradientEffectProps>;
|
|
12
|
+
static uniforms: ShaderEffectUniforms;
|
|
13
|
+
static methods: Record<string, string>;
|
|
14
|
+
static ColorLoop: (amount: number) => string;
|
|
15
|
+
static onColorize: (props: LinearGradientEffectProps) => string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
+
* following copyright and licenses apply:
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2023 Comcast
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
import { getNormalizedRgbaComponents } from '../../../../lib/utils.js';
|
|
20
|
+
import { ShaderEffect, } from './ShaderEffect.js';
|
|
21
|
+
export class LinearGradientEffect extends ShaderEffect {
|
|
22
|
+
static z$__type__Props;
|
|
23
|
+
name = 'linearGradient';
|
|
24
|
+
static getEffectKey(props) {
|
|
25
|
+
return `linearGradient${props.colors.length}`;
|
|
26
|
+
}
|
|
27
|
+
static resolveDefaults(props) {
|
|
28
|
+
const colors = props.colors ?? [0xff000000, 0xffffffff];
|
|
29
|
+
let stops = props.stops;
|
|
30
|
+
if (!stops) {
|
|
31
|
+
stops = [];
|
|
32
|
+
const calc = colors.length - 1;
|
|
33
|
+
for (let i = 0; i < colors.length; i++) {
|
|
34
|
+
stops.push(i * (1 / calc));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
colors,
|
|
39
|
+
stops,
|
|
40
|
+
angle: props.angle ?? 0,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
static uniforms = {
|
|
44
|
+
angle: {
|
|
45
|
+
value: 0,
|
|
46
|
+
method: 'uniform1f',
|
|
47
|
+
type: 'float',
|
|
48
|
+
},
|
|
49
|
+
colors: {
|
|
50
|
+
value: 0xffffffff,
|
|
51
|
+
validator: (rgbas) => {
|
|
52
|
+
const cols = rgbas.map((rgbas) => getNormalizedRgbaComponents(rgbas));
|
|
53
|
+
return cols.reduce((acc, val) => acc.concat(val), []);
|
|
54
|
+
},
|
|
55
|
+
size: (props) => props.colors.length,
|
|
56
|
+
method: 'uniform4fv',
|
|
57
|
+
type: 'vec4',
|
|
58
|
+
},
|
|
59
|
+
stops: {
|
|
60
|
+
value: [],
|
|
61
|
+
validator: (value, props) => {
|
|
62
|
+
const colors = props.colors ?? [];
|
|
63
|
+
let stops = value;
|
|
64
|
+
const tmp = value;
|
|
65
|
+
if (stops.length === 0 || (stops && stops.length !== colors.length)) {
|
|
66
|
+
for (let i = 0; i < colors.length; i++) {
|
|
67
|
+
if (stops[i]) {
|
|
68
|
+
tmp[i] = stops[i];
|
|
69
|
+
if (stops[i - 1] === undefined && tmp[i - 2] !== undefined) {
|
|
70
|
+
tmp[i - 1] = tmp[i - 2] + (stops[i] - tmp[i - 2]) / 2;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
tmp[i] = i * (1 / (colors.length - 1));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
stops = tmp;
|
|
78
|
+
}
|
|
79
|
+
return tmp;
|
|
80
|
+
},
|
|
81
|
+
size: (props) => props.colors.length,
|
|
82
|
+
method: 'uniform1fv',
|
|
83
|
+
type: 'float',
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
static methods = {
|
|
87
|
+
fromLinear: `
|
|
88
|
+
vec4 function(vec4 linearRGB) {
|
|
89
|
+
vec4 higher = vec4(1.055)*pow(linearRGB, vec4(1.0/2.4)) - vec4(0.055);
|
|
90
|
+
vec4 lower = linearRGB * vec4(12.92);
|
|
91
|
+
return mix(higher, lower, 1.0);
|
|
92
|
+
}
|
|
93
|
+
`,
|
|
94
|
+
toLinear: `
|
|
95
|
+
vec4 function(vec4 sRGB) {
|
|
96
|
+
vec4 higher = pow((sRGB + vec4(0.055))/vec4(1.055), vec4(2.4));
|
|
97
|
+
vec4 lower = sRGB/vec4(12.92);
|
|
98
|
+
return mix(higher, lower, 1.0);
|
|
99
|
+
}
|
|
100
|
+
`,
|
|
101
|
+
degToRad: `
|
|
102
|
+
float function(float d) {
|
|
103
|
+
return d * (PI / 180.0);
|
|
104
|
+
}
|
|
105
|
+
`,
|
|
106
|
+
calcPoint: `
|
|
107
|
+
vec2 function(float d, float angle) {
|
|
108
|
+
return d * vec2(cos(angle), sin(angle)) + (u_dimensions * 0.5);
|
|
109
|
+
}
|
|
110
|
+
`,
|
|
111
|
+
};
|
|
112
|
+
static ColorLoop = (amount) => {
|
|
113
|
+
let loop = '';
|
|
114
|
+
for (let i = 2; i < amount; i++) {
|
|
115
|
+
loop += `colorOut = mix(colorOut, colors[${i}], clamp((dist - stops[${i - 1}]) / (stops[${i}] - stops[${i - 1}]), 0.0, 1.0));`;
|
|
116
|
+
}
|
|
117
|
+
return loop;
|
|
118
|
+
};
|
|
119
|
+
static onColorize = (props) => {
|
|
120
|
+
const colors = props.colors.length || 1;
|
|
121
|
+
return `
|
|
122
|
+
float d = angle - 90.0;
|
|
123
|
+
float a = $degToRad(d);
|
|
124
|
+
float lineDist = abs(u_dimensions.x * cos(a)) + abs(u_dimensions.y * sin(a));
|
|
125
|
+
vec2 f = $calcPoint(lineDist * 0.5, a);
|
|
126
|
+
vec2 t = $calcPoint(lineDist * 0.5, $degToRad(d + 180.0));
|
|
127
|
+
vec2 gradVec = t - f;
|
|
128
|
+
float dist = dot((v_textureCoordinate.xy * u_dimensions) - f, gradVec) / dot(gradVec, gradVec);
|
|
129
|
+
|
|
130
|
+
float stopCalc = (dist - stops[0]) / (stops[1] - stops[0]);
|
|
131
|
+
vec4 colorOut = mix(colors[0], colors[1], stopCalc);
|
|
132
|
+
for(int i = 1; i < ${colors}-1; i++) {
|
|
133
|
+
stopCalc = (dist - stops[i]) / (stops[i + 1] - stops[i]);
|
|
134
|
+
colorOut = mix(colorOut, colors[i + 1], clamp(stopCalc, 0.0, 1.0));
|
|
135
|
+
}
|
|
136
|
+
return colorOut;
|
|
137
|
+
`;
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=LinearGradientEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinearGradientEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ShaderEffect, type DefaultEffectProps, type ShaderEffectUniforms } from './ShaderEffect.js';
|
|
2
|
+
export interface RadiusEffectProps extends DefaultEffectProps {
|
|
3
|
+
radius?: number | number[];
|
|
4
|
+
}
|
|
5
|
+
export declare class RadiusEffect extends ShaderEffect {
|
|
6
|
+
static z$__type__Props: RadiusEffectProps;
|
|
7
|
+
readonly name = "radius";
|
|
8
|
+
static getEffectKey(): string;
|
|
9
|
+
static uniforms: ShaderEffectUniforms;
|
|
10
|
+
static methods: Record<string, string>;
|
|
11
|
+
static resolveDefaults(props: RadiusEffectProps): Required<RadiusEffectProps>;
|
|
12
|
+
static onShaderMask: string;
|
|
13
|
+
static onEffectMask: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
+
* following copyright and licenses apply:
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2023 Comcast
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
import { ShaderEffect, } from './ShaderEffect.js';
|
|
20
|
+
export class RadiusEffect extends ShaderEffect {
|
|
21
|
+
static z$__type__Props;
|
|
22
|
+
name = 'radius';
|
|
23
|
+
static getEffectKey() {
|
|
24
|
+
return `radius`;
|
|
25
|
+
}
|
|
26
|
+
static uniforms = {
|
|
27
|
+
radius: {
|
|
28
|
+
value: 0,
|
|
29
|
+
method: 'uniform4fv',
|
|
30
|
+
type: 'vec4',
|
|
31
|
+
validator: (value) => {
|
|
32
|
+
let r = value;
|
|
33
|
+
if (Array.isArray(r)) {
|
|
34
|
+
if (r.length === 2) {
|
|
35
|
+
r = [r[0], r[1], r[0], r[1]];
|
|
36
|
+
}
|
|
37
|
+
else if (r.length === 3) {
|
|
38
|
+
r = [r[0], r[1], r[2], r[0]];
|
|
39
|
+
}
|
|
40
|
+
else if (r.length !== 4) {
|
|
41
|
+
r = [r[0], r[0], r[0], r[0]];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
else if (typeof r === 'number') {
|
|
45
|
+
r = [r, r, r, r];
|
|
46
|
+
}
|
|
47
|
+
return r;
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
static methods = {
|
|
52
|
+
fillMask: `
|
|
53
|
+
float function(float dist) {
|
|
54
|
+
return clamp(-dist, 0.0, 1.0);
|
|
55
|
+
}
|
|
56
|
+
`,
|
|
57
|
+
boxDist: `
|
|
58
|
+
float function(vec2 p, vec2 size, float radius) {
|
|
59
|
+
size -= vec2(radius);
|
|
60
|
+
vec2 d = abs(p) - size;
|
|
61
|
+
return min(max(d.x, d.y), 0.0) + length(max(d, 0.0)) - radius;
|
|
62
|
+
}
|
|
63
|
+
`,
|
|
64
|
+
};
|
|
65
|
+
static resolveDefaults(props) {
|
|
66
|
+
return {
|
|
67
|
+
radius: props.radius ?? 10,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
static onShaderMask = `
|
|
71
|
+
vec2 halfDimensions = u_dimensions * 0.5;
|
|
72
|
+
float r = radius[0] * step(v_textureCoordinate.x, 0.5) * step(v_textureCoordinate.y, 0.5);
|
|
73
|
+
r = r + radius[1] * step(0.5, v_textureCoordinate.x) * step(v_textureCoordinate.y, 0.5);
|
|
74
|
+
r = r + radius[2] * step(0.5, v_textureCoordinate.x) * step(0.5, v_textureCoordinate.y);
|
|
75
|
+
r = r + radius[3] * step(v_textureCoordinate.x, 0.5) * step(0.5, v_textureCoordinate.y);
|
|
76
|
+
return $boxDist(v_textureCoordinate.xy * u_dimensions - halfDimensions, halfDimensions, r);
|
|
77
|
+
`;
|
|
78
|
+
static onEffectMask = `
|
|
79
|
+
return mix(vec4(0.0), maskColor, $fillMask(shaderMask));
|
|
80
|
+
`;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=RadiusEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RadiusEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/RadiusEffect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAM3B,MAAM,OAAO,YAAa,SAAQ,YAAY;IAC5C,MAAM,CAAC,eAAe,CAAoB;IACxB,IAAI,GAAG,QAAQ,CAAC;IAElC,MAAM,CAAU,YAAY;QAC1B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,CAAU,QAAQ,GAAyB;QAC/C,MAAM,EAAE;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,CAAC,KAAwB,EAAE,EAAE;gBACtC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACd,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACpB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;wBAClB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;qBAC1C;yBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;wBACzB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;qBAC1C;yBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;wBACzB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAa,CAAC;qBAC1C;iBACF;qBAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;oBAChC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;iBAClB;gBACD,OAAO,CAAC,CAAC;YACX,CAAC;SACF;KACF,CAAC;IAEF,MAAM,CAAU,OAAO,GAA2B;QAChD,QAAQ,EAAE;;;;KAIT;QACD,OAAO,EAAE;;;;;;KAMR;KACF,CAAC;IAEF,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;SAC3B,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,YAAY,GAAG;;;;;;;GAO9B,CAAC;IAEF,MAAM,CAAU,YAAY,GAAG;;GAE9B,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { UniformInfo, UniformMethodMap } from '../../internal/ShaderUtils.js';
|
|
2
|
+
export interface ShaderEffectUniform {
|
|
3
|
+
value: number | number[] | boolean | string;
|
|
4
|
+
type: string;
|
|
5
|
+
method: keyof UniformMethodMap;
|
|
6
|
+
name?: string;
|
|
7
|
+
size?: (value: Record<string, unknown>) => number;
|
|
8
|
+
validator?: (value: any, props: Record<string, unknown>) => number | number[] | number[][];
|
|
9
|
+
}
|
|
10
|
+
export interface ShaderEffectUniforms {
|
|
11
|
+
[key: string]: ShaderEffectUniform;
|
|
12
|
+
}
|
|
13
|
+
export interface DefaultEffectProps {
|
|
14
|
+
[key: string]: unknown;
|
|
15
|
+
}
|
|
16
|
+
export interface ShaderEffectOptions {
|
|
17
|
+
ref: string;
|
|
18
|
+
target: string;
|
|
19
|
+
props?: Record<string, unknown>;
|
|
20
|
+
uniforms?: ShaderEffectUniforms;
|
|
21
|
+
methods?: Record<string, string>;
|
|
22
|
+
onShaderMask?: ((value: Record<string, unknown>) => string) | string;
|
|
23
|
+
onColorize?: ((value: Record<string, unknown>) => string) | string;
|
|
24
|
+
onEffectMask?: ((value: Record<string, unknown>) => string) | string;
|
|
25
|
+
}
|
|
26
|
+
export declare abstract class ShaderEffect {
|
|
27
|
+
readonly priority = 1;
|
|
28
|
+
readonly name: string;
|
|
29
|
+
ref: string;
|
|
30
|
+
target: string;
|
|
31
|
+
passParameters: string;
|
|
32
|
+
declaredUniforms: string;
|
|
33
|
+
uniformInfo: Record<string, UniformInfo>;
|
|
34
|
+
static uniforms: ShaderEffectUniforms;
|
|
35
|
+
static methods?: Record<string, string>;
|
|
36
|
+
static onShaderMask?: ((value: Record<string, unknown>) => string) | string;
|
|
37
|
+
static onColorize?: ((value: Record<string, unknown>) => string) | string;
|
|
38
|
+
static onEffectMask?: ((value: Record<string, unknown>) => string) | string;
|
|
39
|
+
static getEffectKey(props: Record<string, unknown>): string;
|
|
40
|
+
static getMethodParameters(uniforms: ShaderEffectUniforms, props: Record<string, unknown>): string;
|
|
41
|
+
constructor(options: ShaderEffectOptions);
|
|
42
|
+
static resolveDefaults(props: Record<string, unknown>): Record<string, unknown>;
|
|
43
|
+
static makeEffectKey(props: Record<string, unknown>): string | false;
|
|
44
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export class ShaderEffect {
|
|
2
|
+
priority = 1;
|
|
3
|
+
name = '';
|
|
4
|
+
ref;
|
|
5
|
+
target;
|
|
6
|
+
passParameters = '';
|
|
7
|
+
declaredUniforms = '';
|
|
8
|
+
uniformInfo = {};
|
|
9
|
+
static uniforms = {};
|
|
10
|
+
static methods;
|
|
11
|
+
static onShaderMask;
|
|
12
|
+
static onColorize;
|
|
13
|
+
static onEffectMask;
|
|
14
|
+
static getEffectKey(props) {
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
static getMethodParameters(uniforms, props) {
|
|
18
|
+
const res = [];
|
|
19
|
+
for (const u in uniforms) {
|
|
20
|
+
const uni = uniforms[u];
|
|
21
|
+
let define = '';
|
|
22
|
+
if (uni.size) {
|
|
23
|
+
define = `[${uni.size(props)}]`;
|
|
24
|
+
}
|
|
25
|
+
res.push(`${uni.type} ${u}${define}`);
|
|
26
|
+
}
|
|
27
|
+
return res.join(',');
|
|
28
|
+
}
|
|
29
|
+
constructor(options) {
|
|
30
|
+
const { ref, target, props = {} } = options;
|
|
31
|
+
this.ref = ref;
|
|
32
|
+
this.target = target;
|
|
33
|
+
const uniformInfo = {};
|
|
34
|
+
const passParameters = [];
|
|
35
|
+
let declaredUniforms = '';
|
|
36
|
+
const uniforms = this.constructor.uniforms || {};
|
|
37
|
+
for (const u in uniforms) {
|
|
38
|
+
const unif = uniforms[u];
|
|
39
|
+
const uniType = unif.type;
|
|
40
|
+
//make unique uniform name
|
|
41
|
+
const uniformName = `${ref}_${u}`;
|
|
42
|
+
let define = '';
|
|
43
|
+
if (unif.size) {
|
|
44
|
+
define = `[${unif.size(props)}]`;
|
|
45
|
+
}
|
|
46
|
+
passParameters.push(uniformName);
|
|
47
|
+
declaredUniforms += `uniform ${uniType} ${uniformName}${define};`;
|
|
48
|
+
uniformInfo[u] = { name: uniformName, uniform: uniforms[u].method };
|
|
49
|
+
}
|
|
50
|
+
this.passParameters = passParameters.join(',');
|
|
51
|
+
this.declaredUniforms = declaredUniforms;
|
|
52
|
+
this.uniformInfo = uniformInfo;
|
|
53
|
+
}
|
|
54
|
+
static resolveDefaults(props) {
|
|
55
|
+
return {};
|
|
56
|
+
}
|
|
57
|
+
static makeEffectKey(props) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=ShaderEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShaderEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/ShaderEffect.ts"],"names":[],"mappings":"AAoCA,MAAM,OAAgB,YAAY;IACvB,QAAQ,GAAG,CAAC,CAAC;IACb,IAAI,GAAW,EAAE,CAAC;IAE3B,GAAG,CAAS;IACZ,MAAM,CAAS;IAEf,cAAc,GAAG,EAAE,CAAC;IACpB,gBAAgB,GAAG,EAAE,CAAC;IACtB,WAAW,GAAgC,EAAE,CAAC;IAE9C,MAAM,CAAC,QAAQ,GAAyB,EAAE,CAAC;IAC3C,MAAM,CAAC,OAAO,CAA0B;IAExC,MAAM,CAAC,YAAY,CAAyD;IAE5E,MAAM,CAAC,UAAU,CAAyD;IAC1E,MAAM,CAAC,YAAY,CAAyD;IAE5E,MAAM,CAAC,YAAY,CAAC,KAA8B;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,mBAAmB,CACxB,QAA8B,EAC9B,KAA8B;QAE9B,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;YACxB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YACzB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,GAAG,CAAC,IAAI,EAAE;gBACZ,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;aACjC;YACD,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;SACvC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,YAAY,OAA4B;QACtC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,WAAW,GAAgC,EAAE,CAAC;QACpD,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAI,IAAI,CAAC,WAAmC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAE1E,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;YACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;YAC1B,0BAA0B;YAC1B,MAAM,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;YAClC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;aAClC;YACD,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjC,gBAAgB,IAAI,WAAW,OAAO,IAAI,WAAW,GAAG,MAAM,GAAG,CAAC;YAClE,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,CAAC;SACtE;QAED,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,eAAe,CACpB,KAA8B;QAE9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,KAA8B;QACjD,OAAO,KAAK,CAAC;IACf,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { CoreNode } from '../CoreNode.js';
|
|
2
|
+
export type NodeTypes = Node;
|
|
3
|
+
export declare class Scene {
|
|
4
|
+
/**
|
|
5
|
+
* Root node of the scene
|
|
6
|
+
*
|
|
7
|
+
* @type {Node}
|
|
8
|
+
* @memberof Scene
|
|
9
|
+
*/
|
|
10
|
+
root: CoreNode;
|
|
11
|
+
constructor(root: CoreNode);
|
|
12
|
+
/**
|
|
13
|
+
* Get all nodes of a specific type
|
|
14
|
+
* @param type
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
getNodeByType(type: string): Node[];
|
|
18
|
+
/**
|
|
19
|
+
* Find a node by id
|
|
20
|
+
* @param id
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
getNodeById(id: string): Node | null;
|
|
24
|
+
/**
|
|
25
|
+
* Create a new node
|
|
26
|
+
* @param parent
|
|
27
|
+
* @returns
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* create a new RectangleNode
|
|
31
|
+
* @param w
|
|
32
|
+
* @param h
|
|
33
|
+
* @param parent
|
|
34
|
+
* @returns
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* Create a new CircleNode
|
|
38
|
+
* @param r
|
|
39
|
+
* @param parent
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
/**
|
|
43
|
+
* Create a new TextNode
|
|
44
|
+
* @param text
|
|
45
|
+
* @param parent
|
|
46
|
+
* @returns
|
|
47
|
+
*/
|
|
48
|
+
/**
|
|
49
|
+
* Setup and attaching Node
|
|
50
|
+
* @param node
|
|
51
|
+
* @param parent
|
|
52
|
+
* @returns
|
|
53
|
+
*/
|
|
54
|
+
/**
|
|
55
|
+
* Update the scene
|
|
56
|
+
* @param delta
|
|
57
|
+
*/
|
|
58
|
+
update(delta: number): void;
|
|
59
|
+
}
|