@lightningjs/renderer 3.0.0-beta14 → 3.0.0-beta15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/exports/index.d.ts +1 -0
- package/dist/exports/index.js.map +1 -1
- package/dist/src/core/CoreNode.d.ts +1 -1
- package/dist/src/core/CoreTextNode.d.ts +0 -2
- package/dist/src/core/CoreTextNode.js +4 -16
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/Stage.js +2 -3
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureError.d.ts +11 -0
- package/dist/src/core/TextureError.js +37 -0
- package/dist/src/core/TextureError.js.map +1 -0
- package/dist/src/core/animations/CoreAnimation.d.ts +3 -2
- package/dist/src/core/animations/CoreAnimation.js +3 -2
- package/dist/src/core/animations/CoreAnimation.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +5 -5
- package/dist/src/core/lib/textureCompression.js +1 -1
- package/dist/src/core/lib/textureCompression.js.map +1 -1
- package/dist/src/core/platform.d.ts +10 -0
- package/dist/src/core/platform.js +81 -0
- package/dist/src/core/platform.js.map +1 -0
- package/dist/src/core/renderers/CoreShader.d.ts +9 -0
- package/{src/core/text-rendering/sdf/index.ts → dist/src/core/renderers/CoreShader.js} +11 -3
- package/dist/src/core/renderers/CoreShader.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +33 -0
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +250 -0
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +17 -0
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +125 -0
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -0
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +14 -0
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +138 -0
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -0
- package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +19 -0
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js +58 -0
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -0
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +43 -0
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +12 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +58 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +9 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +38 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +65 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +269 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +34 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +114 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +133 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +616 -0
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +83 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +233 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.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 +87 -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 +29 -0
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +413 -0
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +28 -0
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +131 -0
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +47 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +160 -0
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +31 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +71 -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 +30 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +58 -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 +31 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +71 -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 +31 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +71 -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 +31 -0
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +71 -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 +9 -0
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +136 -0
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +36 -0
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +85 -0
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +45 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +104 -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 +22 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +45 -0
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +58 -0
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +80 -0
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +35 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +129 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +39 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +116 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +61 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +127 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +40 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +71 -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 +115 -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/shaders/canvas/RoundedWithBorder.js +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/webgl/LinearGradient.js +26 -3
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/RadialGradient.js +49 -27
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -2
- package/dist/src/core/shaders/webgl/SdfShader.js +1 -10
- package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
- package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +21 -3
- package/dist/src/core/text-rendering/CanvasFontHandler.js +94 -32
- package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -1
- package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +2 -7
- package/dist/src/core/text-rendering/CanvasTextRenderer.js +51 -260
- package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/SdfFontHandler.d.ts +35 -5
- package/dist/src/core/text-rendering/SdfFontHandler.js +76 -56
- package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -1
- package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +1 -1
- package/dist/src/core/text-rendering/SdfTextRenderer.js +38 -82
- package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +19 -0
- package/dist/src/core/text-rendering/{sdf/Utils.js → TextLayoutEngine.js} +125 -105
- package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
- package/dist/src/core/text-rendering/TextRenderer.d.ts +30 -13
- package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +12 -0
- package/dist/src/core/text-rendering/TextRenderingUtils.js +14 -0
- package/dist/src/core/text-rendering/TextRenderingUtils.js.map +1 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +72 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js +217 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -0
- package/dist/src/core/text-rendering/TrFontManager.d.ts +26 -0
- package/dist/src/core/text-rendering/TrFontManager.js +131 -0
- package/dist/src/core/text-rendering/TrFontManager.js.map +1 -0
- package/dist/src/core/text-rendering/Utils.d.ts +1 -42
- package/dist/src/core/text-rendering/Utils.js +4 -132
- package/dist/src/core/text-rendering/Utils.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +39 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +125 -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/{sdf/index.js → font-face-types/SdfTrFontFace/internal/FontShaper.js} +4 -3
- 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 +62 -0
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +88 -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 +118 -0
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +63 -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 +14 -0
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +66 -0
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -0
- package/dist/src/core/text-rendering/font-face-types/utils.d.ts +1 -0
- package/dist/src/core/text-rendering/font-face-types/utils.js +38 -0
- package/dist/src/core/text-rendering/font-face-types/utils.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +59 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +397 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +120 -0
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +551 -0
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +92 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +607 -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 +23 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +84 -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 +20 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +308 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.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 +40 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +26 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +70 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +16 -0
- package/dist/src/core/text-rendering/{canvas/Settings.js → renderers/SdfTextRenderer/internal/util.js} +22 -3
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +373 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js +178 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -0
- package/dist/src/core/utils.d.ts +2 -1
- package/dist/src/core/utils.js +1 -1
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/main-api/DynamicShaderController.d.ts +29 -0
- package/dist/src/main-api/DynamicShaderController.js +58 -0
- package/dist/src/main-api/DynamicShaderController.js.map +1 -0
- package/dist/src/main-api/Inspector.d.ts +124 -0
- package/dist/src/main-api/Inspector.js +283 -8
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +150 -26
- package/dist/src/main-api/Renderer.js +27 -25
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/main-api/ShaderController.d.ts +31 -0
- package/dist/src/main-api/ShaderController.js +37 -0
- package/dist/src/main-api/ShaderController.js.map +1 -0
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/exports/index.ts +1 -0
- package/package.json +14 -15
- package/src/core/CoreTextNode.ts +4 -22
- package/src/core/Stage.ts +2 -3
- package/src/core/animations/CoreAnimation.ts +8 -7
- package/src/core/lib/textureCompression.ts +4 -2
- package/src/core/shaders/canvas/RoundedWithBorder.ts +1 -1
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +1 -1
- package/src/core/shaders/webgl/LinearGradient.ts +26 -3
- package/src/core/shaders/webgl/RadialGradient.ts +50 -28
- package/src/core/shaders/webgl/SdfShader.ts +1 -12
- package/src/core/text-rendering/CanvasFontHandler.ts +136 -39
- package/src/core/text-rendering/CanvasTextRenderer.ts +75 -440
- package/src/core/text-rendering/SdfFontHandler.ts +94 -60
- package/src/core/text-rendering/SdfTextRenderer.ts +62 -116
- package/src/core/text-rendering/{sdf/Utils.ts → TextLayoutEngine.ts} +209 -143
- package/src/core/text-rendering/TextRenderer.ts +36 -13
- package/src/core/text-rendering/Utils.ts +5 -163
- package/src/core/text-rendering/{sdf/Utils.test.ts → tests/Canvas.test.ts} +98 -122
- package/src/core/text-rendering/tests/SdfTests.test.ts +414 -0
- package/src/core/utils.ts +9 -7
- package/src/main-api/Inspector.ts +502 -12
- package/src/main-api/Renderer.ts +158 -26
- package/dist/src/core/text-rendering/canvas/Settings.d.ts +0 -64
- package/dist/src/core/text-rendering/canvas/Settings.js.map +0 -1
- package/dist/src/core/text-rendering/canvas/Utils.d.ts +0 -20
- package/dist/src/core/text-rendering/canvas/Utils.js +0 -144
- package/dist/src/core/text-rendering/canvas/Utils.js.map +0 -1
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.d.ts +0 -60
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js +0 -183
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js.map +0 -1
- package/dist/src/core/text-rendering/canvas/draw.d.ts +0 -5
- package/dist/src/core/text-rendering/canvas/draw.js +0 -132
- package/dist/src/core/text-rendering/canvas/draw.js.map +0 -1
- package/dist/src/core/text-rendering/sdf/Utils.d.ts +0 -26
- package/dist/src/core/text-rendering/sdf/Utils.js.map +0 -1
- package/dist/src/core/text-rendering/sdf/index.d.ts +0 -1
- package/dist/src/core/text-rendering/sdf/index.js.map +0 -1
- package/src/core/text-rendering/canvas/Settings.ts +0 -99
- package/src/core/text-rendering/canvas/Utils.test.ts +0 -206
- package/src/core/text-rendering/canvas/Utils.ts +0 -178
- package/src/core/text-rendering/canvas/calculateRenderInfo.ts +0 -299
- package/src/core/text-rendering/canvas/draw.ts +0 -165
package/exports/index.ts
CHANGED
|
@@ -50,6 +50,7 @@ export {
|
|
|
50
50
|
} from '../src/core/CoreTextureManager.js';
|
|
51
51
|
export type { MemoryInfo } from '../src/core/TextureMemoryManager.js';
|
|
52
52
|
export type { AnimationSettings } from '../src/core/animations/CoreAnimation.js';
|
|
53
|
+
export type { TimingFunction } from '../src/core/utils.js';
|
|
53
54
|
export type { Inspector } from '../src/main-api/Inspector.js';
|
|
54
55
|
export type { CoreNodeRenderState } from '../src/core/CoreNode.js';
|
|
55
56
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lightningjs/renderer",
|
|
3
|
-
"version": "3.0.0-
|
|
3
|
+
"version": "3.0.0-beta15",
|
|
4
4
|
"description": "Lightning 3 Renderer",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/exports/index.js",
|
|
@@ -32,19 +32,19 @@
|
|
|
32
32
|
},
|
|
33
33
|
"homepage": "https://github.com/lightning-js/renderer#readme",
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@types/node": "^20.
|
|
36
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
37
|
-
"@typescript-eslint/parser": "^8.
|
|
38
|
-
"@vitest/coverage-v8": "^2.1.
|
|
39
|
-
"concurrently": "^8.
|
|
40
|
-
"eslint": "^9.
|
|
41
|
-
"eslint-config-prettier": "^8.
|
|
35
|
+
"@types/node": "^20.19.17",
|
|
36
|
+
"@typescript-eslint/eslint-plugin": "^8.44.0",
|
|
37
|
+
"@typescript-eslint/parser": "^8.44.0",
|
|
38
|
+
"@vitest/coverage-v8": "^2.1.9",
|
|
39
|
+
"concurrently": "^8.2.2",
|
|
40
|
+
"eslint": "^9.36.0",
|
|
41
|
+
"eslint-config-prettier": "^8.10.2",
|
|
42
42
|
"husky": "^8.0.3",
|
|
43
|
-
"lint-staged": "^13.
|
|
44
|
-
"prettier": "^2.8.
|
|
45
|
-
"typedoc": "^0.
|
|
46
|
-
"typescript": "~5.
|
|
47
|
-
"vitest": "^2.
|
|
43
|
+
"lint-staged": "^13.3.0",
|
|
44
|
+
"prettier": "^2.8.8",
|
|
45
|
+
"typedoc": "^0.28.13",
|
|
46
|
+
"typescript": "~5.9.2",
|
|
47
|
+
"vitest": "^2.1.9",
|
|
48
48
|
"vitest-mock-extended": "^2.0.2"
|
|
49
49
|
},
|
|
50
50
|
"lint-staged": {
|
|
@@ -63,10 +63,9 @@
|
|
|
63
63
|
"README.md",
|
|
64
64
|
"scripts"
|
|
65
65
|
],
|
|
66
|
-
"packageManager": "pnpm@8.9.2",
|
|
67
66
|
"engines": {
|
|
68
67
|
"npm": ">= 10.0.0",
|
|
69
|
-
"pnpm": ">=
|
|
68
|
+
"pnpm": ">= 10.17.0",
|
|
70
69
|
"node": ">= 18.0.0"
|
|
71
70
|
},
|
|
72
71
|
"scripts": {
|
package/src/core/CoreTextNode.ts
CHANGED
|
@@ -93,7 +93,6 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
93
93
|
if (this.parentHasRenderTexture) {
|
|
94
94
|
this.notifyParentRTTOfUpdate();
|
|
95
95
|
}
|
|
96
|
-
|
|
97
96
|
// ignore 1x1 pixel textures
|
|
98
97
|
if (dimensions.w > 1 && dimensions.h > 1) {
|
|
99
98
|
this.emit('loaded', {
|
|
@@ -101,13 +100,9 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
101
100
|
dimensions,
|
|
102
101
|
} satisfies NodeTextureLoadedPayload);
|
|
103
102
|
}
|
|
104
|
-
|
|
105
103
|
this.w = this._renderInfo.width;
|
|
106
104
|
this.h = this._renderInfo.height;
|
|
107
|
-
|
|
108
|
-
// Texture was loaded. In case the RAF loop has already stopped, we request
|
|
109
|
-
// a render to ensure the texture is rendered.
|
|
110
|
-
this.stage.requestRender();
|
|
105
|
+
this.setUpdateType(UpdateType.IsRenderable);
|
|
111
106
|
};
|
|
112
107
|
|
|
113
108
|
allowTextGeneration() {
|
|
@@ -134,7 +129,7 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
134
129
|
this._waitingForFont = false;
|
|
135
130
|
this._cachedLayout = null; // Invalidate cached layout
|
|
136
131
|
this._lastVertexBuffer = null; // Invalidate last vertex buffer
|
|
137
|
-
const resp = this.textRenderer.renderText(this.
|
|
132
|
+
const resp = this.textRenderer.renderText(this.textProps);
|
|
138
133
|
this.handleRenderResult(resp);
|
|
139
134
|
this._layoutGenerated = true;
|
|
140
135
|
} else if (this._waitingForFont === false) {
|
|
@@ -186,7 +181,6 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
186
181
|
premultiplyAlpha: true,
|
|
187
182
|
src: result.imageData as ImageData,
|
|
188
183
|
});
|
|
189
|
-
|
|
190
184
|
// It isn't renderable until the texture is loaded we have to set it to false here to avoid it
|
|
191
185
|
// being detected as a renderable default color node in the next frame
|
|
192
186
|
// it will be corrected once the texture is loaded
|
|
@@ -341,7 +335,7 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
341
335
|
this.fontHandler.stopWaitingForFont(this.textProps.fontFamily, this);
|
|
342
336
|
}
|
|
343
337
|
this.textProps.fontFamily = value;
|
|
344
|
-
this._layoutGenerated =
|
|
338
|
+
this._layoutGenerated = false;
|
|
345
339
|
this.setUpdateType(UpdateType.Local);
|
|
346
340
|
}
|
|
347
341
|
}
|
|
@@ -353,7 +347,7 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
353
347
|
set fontStyle(value: TrProps['fontStyle']) {
|
|
354
348
|
if (this.textProps.fontStyle !== value) {
|
|
355
349
|
this.textProps.fontStyle = value;
|
|
356
|
-
this._layoutGenerated =
|
|
350
|
+
this._layoutGenerated = false;
|
|
357
351
|
this.setUpdateType(UpdateType.Local);
|
|
358
352
|
}
|
|
359
353
|
}
|
|
@@ -406,18 +400,6 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
406
400
|
}
|
|
407
401
|
}
|
|
408
402
|
|
|
409
|
-
get textBaseline(): TrProps['textBaseline'] {
|
|
410
|
-
return this.textProps.textBaseline;
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
set textBaseline(value: TrProps['textBaseline']) {
|
|
414
|
-
if (this.textProps.textBaseline !== value) {
|
|
415
|
-
this.textProps.textBaseline = value;
|
|
416
|
-
this._layoutGenerated = false;
|
|
417
|
-
this.setUpdateType(UpdateType.Local);
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
|
|
421
403
|
get verticalAlign(): TrProps['verticalAlign'] {
|
|
422
404
|
return this.textProps.verticalAlign;
|
|
423
405
|
}
|
package/src/core/Stage.ts
CHANGED
|
@@ -678,10 +678,9 @@ export class Stage {
|
|
|
678
678
|
textAlign: props.textAlign || 'left',
|
|
679
679
|
offsetY: props.offsetY || 0,
|
|
680
680
|
letterSpacing: props.letterSpacing || 0,
|
|
681
|
-
lineHeight: props.lineHeight ||
|
|
681
|
+
lineHeight: props.lineHeight || 1.2,
|
|
682
682
|
maxLines: props.maxLines || 0,
|
|
683
|
-
|
|
684
|
-
verticalAlign: props.verticalAlign || 'middle',
|
|
683
|
+
verticalAlign: props.verticalAlign || 'top',
|
|
685
684
|
overflowSuffix: props.overflowSuffix || '...',
|
|
686
685
|
wordBreak: props.wordBreak || 'normal',
|
|
687
686
|
maxWidth: props.maxWidth || 0,
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import { type CoreNode, type CoreNodeAnimateProps } from '../CoreNode.js';
|
|
21
|
-
import { getTimingFunction } from '../utils.js';
|
|
21
|
+
import { getTimingFunction, type TimingFunction } from '../utils.js';
|
|
22
22
|
import { mergeColorProgress } from '../../utils.js';
|
|
23
23
|
import { EventEmitter } from '../../common/EventEmitter.js';
|
|
24
24
|
|
|
25
25
|
export interface AnimationSettings {
|
|
26
26
|
duration: number;
|
|
27
27
|
delay: number;
|
|
28
|
-
easing: string;
|
|
28
|
+
easing: string | TimingFunction;
|
|
29
29
|
loop: boolean;
|
|
30
30
|
repeat: number;
|
|
31
31
|
repeatDelay: number;
|
|
@@ -43,7 +43,7 @@ export class CoreAnimation extends EventEmitter {
|
|
|
43
43
|
private progress = 0;
|
|
44
44
|
private delayFor = 0;
|
|
45
45
|
private delay = 0;
|
|
46
|
-
private timingFunction:
|
|
46
|
+
private timingFunction: TimingFunction;
|
|
47
47
|
|
|
48
48
|
propValuesMap: PropValuesMap = {};
|
|
49
49
|
|
|
@@ -92,7 +92,8 @@ export class CoreAnimation extends EventEmitter {
|
|
|
92
92
|
repeatDelay: settings.repeatDelay ?? 0,
|
|
93
93
|
stopMethod: settings.stopMethod ?? false,
|
|
94
94
|
};
|
|
95
|
-
this.timingFunction =
|
|
95
|
+
this.timingFunction =
|
|
96
|
+
typeof easing === 'string' ? getTimingFunction(easing) : easing;
|
|
96
97
|
this.delayFor = delay;
|
|
97
98
|
this.delay = delay;
|
|
98
99
|
}
|
|
@@ -162,14 +163,14 @@ export class CoreAnimation extends EventEmitter {
|
|
|
162
163
|
}
|
|
163
164
|
|
|
164
165
|
private applyEasing(p: number, s: number, e: number): number {
|
|
165
|
-
return
|
|
166
|
+
return this.timingFunction(p) * (e - s) + s;
|
|
166
167
|
}
|
|
167
168
|
|
|
168
169
|
updateValue(
|
|
169
170
|
propName: string,
|
|
170
171
|
propValue: number,
|
|
171
172
|
startValue: number,
|
|
172
|
-
easing: string | undefined,
|
|
173
|
+
easing: string | TimingFunction | undefined,
|
|
173
174
|
): number {
|
|
174
175
|
if (this.progress === 1) {
|
|
175
176
|
return propValue;
|
|
@@ -201,7 +202,7 @@ export class CoreAnimation extends EventEmitter {
|
|
|
201
202
|
private updateValues(
|
|
202
203
|
target: Record<string, number>,
|
|
203
204
|
valueMap: Record<string, PropValues>,
|
|
204
|
-
easing: string | undefined,
|
|
205
|
+
easing: string | TimingFunction | undefined,
|
|
205
206
|
) {
|
|
206
207
|
const entries = Object.entries(valueMap);
|
|
207
208
|
const eLength = entries.length;
|
|
@@ -114,7 +114,7 @@ const loadPVRData = async (buffer: ArrayBuffer): Promise<TextureData> => {
|
|
|
114
114
|
|
|
115
115
|
const dataOffset = header[pvrMetadata] + 52;
|
|
116
116
|
const pvrtcData = new Uint8Array(arrayBuffer, dataOffset);
|
|
117
|
-
const mipmaps:
|
|
117
|
+
const mipmaps: ArrayBuffer[] = [];
|
|
118
118
|
const data = {
|
|
119
119
|
pixelWidth: header[pvrWidth],
|
|
120
120
|
pixelHeight: header[pvrHeight],
|
|
@@ -133,7 +133,9 @@ const loadPVRData = async (buffer: ArrayBuffer): Promise<TextureData> => {
|
|
|
133
133
|
level,
|
|
134
134
|
);
|
|
135
135
|
|
|
136
|
-
mipmaps.push(
|
|
136
|
+
mipmaps.push(
|
|
137
|
+
view.buffer.slice(view.byteOffset, view.byteOffset + view.byteLength),
|
|
138
|
+
);
|
|
137
139
|
offset += level;
|
|
138
140
|
width = width >> 1;
|
|
139
141
|
height = height >> 1;
|
|
@@ -78,7 +78,7 @@ export const RoundedWithBorderAndShadow: CanvasShaderType<
|
|
|
78
78
|
quad.width,
|
|
79
79
|
quad.height,
|
|
80
80
|
computed.radius,
|
|
81
|
-
this.props!['border-
|
|
81
|
+
this.props!['border-w'] as Vec4,
|
|
82
82
|
computed.borderRadius,
|
|
83
83
|
computed.borderColor,
|
|
84
84
|
computed.borderAsym,
|
|
@@ -49,6 +49,8 @@ export const LinearGradient: WebGlShaderType<LinearGradientProps> = {
|
|
|
49
49
|
# endif
|
|
50
50
|
|
|
51
51
|
#define PI 3.14159265359
|
|
52
|
+
#define MAX_STOPS ${props.colors.length}
|
|
53
|
+
#define LAST_STOP ${props.colors.length - 1}
|
|
52
54
|
|
|
53
55
|
uniform float u_alpha;
|
|
54
56
|
uniform vec2 u_dimensions;
|
|
@@ -56,8 +58,8 @@ export const LinearGradient: WebGlShaderType<LinearGradientProps> = {
|
|
|
56
58
|
uniform sampler2D u_texture;
|
|
57
59
|
|
|
58
60
|
uniform float u_angle;
|
|
59
|
-
uniform float u_stops[
|
|
60
|
-
uniform vec4 u_colors[
|
|
61
|
+
uniform float u_stops[MAX_STOPS];
|
|
62
|
+
uniform vec4 u_colors[MAX_STOPS];
|
|
61
63
|
|
|
62
64
|
varying vec4 v_color;
|
|
63
65
|
varying vec2 v_textureCoords;
|
|
@@ -66,6 +68,27 @@ export const LinearGradient: WebGlShaderType<LinearGradientProps> = {
|
|
|
66
68
|
return d * vec2(cos(angle), sin(angle)) + (u_dimensions * 0.5);
|
|
67
69
|
}
|
|
68
70
|
|
|
71
|
+
vec4 getGradientColor(float dist) {
|
|
72
|
+
dist = clamp(dist, 0.0, 1.0);
|
|
73
|
+
|
|
74
|
+
if(dist <= u_stops[0]) {
|
|
75
|
+
return u_colors[0];
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
if(dist >= u_stops[LAST_STOP]) {
|
|
79
|
+
return u_colors[LAST_STOP];
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
for(int i = 0; i < LAST_STOP; i++) {
|
|
83
|
+
float left = u_stops[i];
|
|
84
|
+
float right = u_stops[i + 1];
|
|
85
|
+
if(dist >= left && dist <= right) {
|
|
86
|
+
float lDist = smoothstep(left, right, dist);
|
|
87
|
+
return mix(u_colors[i], u_colors[i + 1], lDist);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
69
92
|
void main() {
|
|
70
93
|
vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
|
|
71
94
|
float a = u_angle;
|
|
@@ -74,7 +97,7 @@ export const LinearGradient: WebGlShaderType<LinearGradientProps> = {
|
|
|
74
97
|
vec2 t = calcPoint(lineDist * 0.5, a + PI);
|
|
75
98
|
vec2 gradVec = t - f;
|
|
76
99
|
float dist = dot(v_textureCoords.xy * u_dimensions - f, gradVec) / dot(gradVec, gradVec);
|
|
77
|
-
|
|
100
|
+
vec4 colorOut = getGradientColor(dist);
|
|
78
101
|
gl_FragColor = mix(color, colorOut, clamp(colorOut.a, 0.0, 1.0));
|
|
79
102
|
}
|
|
80
103
|
`;
|
|
@@ -21,9 +21,8 @@ import {
|
|
|
21
21
|
RadialGradientTemplate,
|
|
22
22
|
type RadialGradientProps,
|
|
23
23
|
} from '../templates/RadialGradientTemplate.js';
|
|
24
|
-
import { genGradientColors } from '../../renderers/webgl/internal/ShaderUtils.js';
|
|
25
|
-
import type { WebGlRenderer } from '../../renderers/webgl/WebGlRenderer.js';
|
|
26
24
|
import type { WebGlShaderType } from '../../renderers/webgl/WebGlShaderNode.js';
|
|
25
|
+
import type { WebGlRenderer } from '../../renderers/webgl/WebGlRenderer.js';
|
|
27
26
|
|
|
28
27
|
export const RadialGradient: WebGlShaderType<RadialGradientProps> = {
|
|
29
28
|
props: RadialGradientTemplate.props,
|
|
@@ -48,38 +47,61 @@ export const RadialGradient: WebGlShaderType<RadialGradientProps> = {
|
|
|
48
47
|
},
|
|
49
48
|
fragment(renderer: WebGlRenderer, props: RadialGradientProps) {
|
|
50
49
|
return `
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
# ifdef GL_FRAGMENT_PRECISION_HIGH
|
|
51
|
+
precision highp float;
|
|
52
|
+
# else
|
|
53
|
+
precision mediump float;
|
|
54
|
+
# endif
|
|
56
55
|
|
|
57
|
-
|
|
56
|
+
#define MAX_STOPS ${props.colors.length}
|
|
57
|
+
#define LAST_STOP ${props.colors.length - 1}
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
uniform float u_alpha;
|
|
60
|
+
uniform vec2 u_dimensions;
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
uniform sampler2D u_texture;
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
64
|
+
uniform vec2 u_projection;
|
|
65
|
+
uniform vec2 u_size;
|
|
66
|
+
uniform float u_stops[MAX_STOPS];
|
|
67
|
+
uniform vec4 u_colors[MAX_STOPS];
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
|
|
69
|
+
varying vec4 v_color;
|
|
70
|
+
varying vec2 v_textureCoords;
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
vec2 calcPoint(float d, float angle) {
|
|
73
|
+
return d * vec2(cos(angle), sin(angle)) + (u_dimensions * 0.5);
|
|
74
|
+
}
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
vec4 getGradientColor(float dist) {
|
|
77
|
+
dist = clamp(dist, 0.0, 1.0);
|
|
78
|
+
|
|
79
|
+
if(dist <= u_stops[0]) {
|
|
80
|
+
return u_colors[0];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if(dist >= u_stops[LAST_STOP]) {
|
|
84
|
+
return u_colors[LAST_STOP];
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
for(int i = 0; i < LAST_STOP; i++) {
|
|
88
|
+
float left = u_stops[i];
|
|
89
|
+
float right = u_stops[i + 1];
|
|
90
|
+
if(dist >= left && dist <= right) {
|
|
91
|
+
float lDist = smoothstep(left, right, dist);
|
|
92
|
+
return mix(u_colors[i], u_colors[i + 1], lDist);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
void main() {
|
|
98
|
+
vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
|
|
99
|
+
vec2 point = v_textureCoords.xy * u_dimensions;
|
|
100
|
+
float dist = length((point - u_projection) / u_size);
|
|
101
|
+
|
|
102
|
+
vec4 colorOut = getGradientColor(dist);
|
|
103
|
+
gl_FragColor = mix(color, colorOut, clamp(colorOut.a, 0.0, 1.0));
|
|
104
|
+
}
|
|
105
|
+
`;
|
|
84
106
|
},
|
|
85
107
|
};
|
|
@@ -25,7 +25,6 @@ const IDENTITY_MATRIX_3x3 = new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);
|
|
|
25
25
|
*/
|
|
26
26
|
export interface SdfShaderProps {
|
|
27
27
|
transform: Float32Array;
|
|
28
|
-
scrollY: number;
|
|
29
28
|
/**
|
|
30
29
|
* Color in RGBA format
|
|
31
30
|
*
|
|
@@ -35,7 +34,6 @@ export interface SdfShaderProps {
|
|
|
35
34
|
color: number;
|
|
36
35
|
size: number;
|
|
37
36
|
distanceRange: number;
|
|
38
|
-
debug: boolean;
|
|
39
37
|
}
|
|
40
38
|
/**
|
|
41
39
|
* SdfShader supports multi-channel and single-channel signed distance field textures.
|
|
@@ -53,19 +51,15 @@ export interface SdfShaderProps {
|
|
|
53
51
|
export const Sdf: WebGlShaderType<SdfShaderProps> = {
|
|
54
52
|
props: {
|
|
55
53
|
transform: IDENTITY_MATRIX_3x3,
|
|
56
|
-
scrollY: 0,
|
|
57
54
|
color: 0xffffffff,
|
|
58
55
|
size: 16,
|
|
59
56
|
distanceRange: 1.0,
|
|
60
|
-
debug: false,
|
|
61
57
|
},
|
|
62
58
|
onSdfBind(props) {
|
|
63
59
|
this.uniformMatrix3fv('u_transform', props.transform);
|
|
64
|
-
this.uniform1f('u_scrollY', props.scrollY);
|
|
65
60
|
this.uniform4fa('u_color', getNormalizedRgbaComponents(props.color));
|
|
66
61
|
this.uniform1f('u_size', props.size);
|
|
67
62
|
this.uniform1f('u_distanceRange', props.distanceRange);
|
|
68
|
-
this.uniform1i('u_debug', props.debug ? 1 : 0);
|
|
69
63
|
},
|
|
70
64
|
vertex: `
|
|
71
65
|
# ifdef GL_FRAGMENT_PRECISION_HIGH
|
|
@@ -80,14 +74,13 @@ export const Sdf: WebGlShaderType<SdfShaderProps> = {
|
|
|
80
74
|
|
|
81
75
|
uniform vec2 u_resolution;
|
|
82
76
|
uniform mat3 u_transform;
|
|
83
|
-
uniform float u_scrollY;
|
|
84
77
|
uniform float u_pixelRatio;
|
|
85
78
|
uniform float u_size;
|
|
86
79
|
|
|
87
80
|
varying vec2 v_texcoord;
|
|
88
81
|
|
|
89
82
|
void main() {
|
|
90
|
-
vec2 scrolledPosition = a_position * u_size
|
|
83
|
+
vec2 scrolledPosition = a_position * u_size;
|
|
91
84
|
vec2 transformedPosition = (u_transform * vec3(scrolledPosition, 1)).xy;
|
|
92
85
|
|
|
93
86
|
// Calculate screen space with pixel ratio
|
|
@@ -118,10 +111,6 @@ export const Sdf: WebGlShaderType<SdfShaderProps> = {
|
|
|
118
111
|
|
|
119
112
|
void main() {
|
|
120
113
|
vec3 sample = texture2D(u_texture, v_texcoord).rgb;
|
|
121
|
-
if (u_debug == 1) {
|
|
122
|
-
gl_FragColor = vec4(sample.r, sample.g, sample.b, 1.0);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
114
|
float scaledDistRange = u_distanceRange * u_pixelRatio;
|
|
126
115
|
float sigDist = scaledDistRange * (median(sample.r, sample.g, sample.b) - 0.5);
|
|
127
116
|
float opacity = clamp(sigDist + 0.5, 0.0, 1.0) * u_color.a;
|