@codexo/exojs 0.14.0 → 0.15.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/CHANGELOG.md +183 -0
- package/README.md +2 -4
- package/dist/esm/animation/Tween.d.ts.map +1 -1
- package/dist/esm/animation/Tween.js +0 -1
- package/dist/esm/animation/Tween.js.map +1 -1
- package/dist/esm/animation/TweenManager.d.ts +44 -5
- package/dist/esm/animation/TweenManager.d.ts.map +1 -1
- package/dist/esm/animation/TweenManager.js +57 -5
- package/dist/esm/animation/TweenManager.js.map +1 -1
- package/dist/esm/animation/TweenSequencer.d.ts +139 -0
- package/dist/esm/animation/TweenSequencer.d.ts.map +1 -0
- package/dist/esm/animation/TweenSequencer.js +305 -0
- package/dist/esm/animation/TweenSequencer.js.map +1 -0
- package/dist/esm/animation/index.d.ts +1 -0
- package/dist/esm/animation/index.d.ts.map +1 -1
- package/dist/esm/audio/Playable.d.ts +6 -1
- package/dist/esm/audio/Playable.d.ts.map +1 -1
- package/dist/esm/audio/WorkletEffect.d.ts +34 -20
- package/dist/esm/audio/WorkletEffect.d.ts.map +1 -1
- package/dist/esm/audio/WorkletEffect.js +92 -25
- package/dist/esm/audio/WorkletEffect.js.map +1 -1
- package/dist/esm/core/Application.d.ts +43 -5
- package/dist/esm/core/Application.d.ts.map +1 -1
- package/dist/esm/core/Application.js +83 -9
- package/dist/esm/core/Application.js.map +1 -1
- package/dist/esm/core/BuildInfo.js +2 -2
- package/dist/esm/core/Codec.d.ts +41 -0
- package/dist/esm/core/Codec.d.ts.map +1 -0
- package/dist/esm/core/Codec.js +79 -0
- package/dist/esm/core/Codec.js.map +1 -0
- package/dist/esm/core/FixedTimestep.d.ts +28 -0
- package/dist/esm/core/FixedTimestep.d.ts.map +1 -0
- package/dist/esm/core/FixedTimestep.js +62 -0
- package/dist/esm/core/FixedTimestep.js.map +1 -0
- package/dist/esm/core/Scene.d.ts +14 -0
- package/dist/esm/core/Scene.d.ts.map +1 -1
- package/dist/esm/core/Scene.js +18 -0
- package/dist/esm/core/Scene.js.map +1 -1
- package/dist/esm/core/SceneManager.d.ts +7 -0
- package/dist/esm/core/SceneManager.d.ts.map +1 -1
- package/dist/esm/core/SceneManager.js +20 -4
- package/dist/esm/core/SceneManager.js.map +1 -1
- package/dist/esm/core/SceneNode.d.ts +46 -7
- package/dist/esm/core/SceneNode.d.ts.map +1 -1
- package/dist/esm/core/SceneNode.js +73 -12
- package/dist/esm/core/SceneNode.js.map +1 -1
- package/dist/esm/core/Stage.d.ts +7 -0
- package/dist/esm/core/Stage.d.ts.map +1 -1
- package/dist/esm/core/SystemRegistry.d.ts +5 -0
- package/dist/esm/core/SystemRegistry.d.ts.map +1 -1
- package/dist/esm/core/SystemRegistry.js +10 -0
- package/dist/esm/core/SystemRegistry.js.map +1 -1
- package/dist/esm/core/index.d.ts +4 -0
- package/dist/esm/core/index.d.ts.map +1 -1
- package/dist/esm/core/logging.d.ts +34 -0
- package/dist/esm/core/logging.d.ts.map +1 -0
- package/dist/esm/core/logging.js +59 -0
- package/dist/esm/core/logging.js.map +1 -0
- package/dist/esm/core/serialization/commonFields.d.ts.map +1 -1
- package/dist/esm/core/serialization/commonFields.js +6 -0
- package/dist/esm/core/serialization/commonFields.js.map +1 -1
- package/dist/esm/core/serialization/renderingSerializers.d.ts.map +1 -1
- package/dist/esm/core/serialization/renderingSerializers.js +14 -5
- package/dist/esm/core/serialization/renderingSerializers.js.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.d.ts.map +1 -1
- package/dist/esm/debug/BoundingBoxesLayer.js +2 -1
- package/dist/esm/debug/BoundingBoxesLayer.js.map +1 -1
- package/dist/esm/debug/HitTestLayer.js +4 -4
- package/dist/esm/debug/HitTestLayer.js.map +1 -1
- package/dist/esm/debug/PerformanceLayer.js +1 -1
- package/dist/esm/debug/PerformanceLayer.js.map +1 -1
- package/dist/esm/debug/RenderPassInspectorLayer.js +2 -2
- package/dist/esm/debug/RenderPassInspectorLayer.js.map +1 -1
- package/dist/esm/index.js +7 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/input/Gamepad.d.ts +10 -0
- package/dist/esm/input/Gamepad.d.ts.map +1 -1
- package/dist/esm/input/Gamepad.js +12 -0
- package/dist/esm/input/Gamepad.js.map +1 -1
- package/dist/esm/input/InputManager.d.ts.map +1 -1
- package/dist/esm/input/InputManager.js +5 -0
- package/dist/esm/input/InputManager.js.map +1 -1
- package/dist/esm/input/InteractionManager.js +4 -4
- package/dist/esm/input/InteractionManager.js.map +1 -1
- package/dist/esm/math/AbstractVector.d.ts +4 -3
- package/dist/esm/math/AbstractVector.d.ts.map +1 -1
- package/dist/esm/math/AbstractVector.js +5 -4
- package/dist/esm/math/AbstractVector.js.map +1 -1
- package/dist/esm/math/ObservableVector.d.ts +2 -0
- package/dist/esm/math/ObservableVector.d.ts.map +1 -1
- package/dist/esm/math/ObservableVector.js +9 -0
- package/dist/esm/math/ObservableVector.js.map +1 -1
- package/dist/esm/math/Polygon.d.ts.map +1 -1
- package/dist/esm/math/Polygon.js +4 -1
- package/dist/esm/math/Polygon.js.map +1 -1
- package/dist/esm/math/collision-detection.d.ts.map +1 -1
- package/dist/esm/math/collision-detection.js +14 -14
- package/dist/esm/math/collision-detection.js.map +1 -1
- package/dist/esm/math/collision-primitives.d.ts +1 -1
- package/dist/esm/math/collision-primitives.d.ts.map +1 -1
- package/dist/esm/math/collision-primitives.js +4 -1
- package/dist/esm/math/collision-primitives.js.map +1 -1
- package/dist/esm/rendering/BackendTargetPass.d.ts +1 -1
- package/dist/esm/rendering/BackendTargetPass.d.ts.map +1 -1
- package/dist/esm/rendering/CallbackRenderPass.d.ts +14 -10
- package/dist/esm/rendering/CallbackRenderPass.d.ts.map +1 -1
- package/dist/esm/rendering/CallbackRenderPass.js +16 -11
- package/dist/esm/rendering/CallbackRenderPass.js.map +1 -1
- package/dist/esm/rendering/DrawContext.d.ts +48 -0
- package/dist/esm/rendering/DrawContext.d.ts.map +1 -0
- package/dist/esm/rendering/PassContext.d.ts +42 -0
- package/dist/esm/rendering/PassContext.d.ts.map +1 -0
- package/dist/esm/rendering/PassContext.js +48 -0
- package/dist/esm/rendering/PassContext.js.map +1 -0
- package/dist/esm/rendering/RenderBackend.d.ts +14 -0
- package/dist/esm/rendering/RenderBackend.d.ts.map +1 -1
- package/dist/esm/rendering/RenderNode.d.ts.map +1 -1
- package/dist/esm/rendering/RenderNode.js +2 -2
- package/dist/esm/rendering/RenderNode.js.map +1 -1
- package/dist/esm/rendering/RenderNodePass.d.ts +1 -1
- package/dist/esm/rendering/RenderNodePass.d.ts.map +1 -1
- package/dist/esm/rendering/RenderingContext.d.ts +47 -16
- package/dist/esm/rendering/RenderingContext.d.ts.map +1 -1
- package/dist/esm/rendering/RenderingContext.js +134 -36
- package/dist/esm/rendering/RenderingContext.js.map +1 -1
- package/dist/esm/rendering/TransformBuffer.d.ts +23 -0
- package/dist/esm/rendering/TransformBuffer.d.ts.map +1 -1
- package/dist/esm/rendering/TransformBuffer.js +58 -0
- package/dist/esm/rendering/TransformBuffer.js.map +1 -1
- package/dist/esm/rendering/View.d.ts +38 -0
- package/dist/esm/rendering/View.d.ts.map +1 -1
- package/dist/esm/rendering/View.js +37 -0
- package/dist/esm/rendering/View.js.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.d.ts.map +1 -1
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js +9 -2
- package/dist/esm/rendering/filters/WebGpuShaderFilter.js.map +1 -1
- package/dist/esm/rendering/material/MeshMaterial.d.ts +20 -1
- package/dist/esm/rendering/material/MeshMaterial.d.ts.map +1 -1
- package/dist/esm/rendering/material/MeshMaterial.js +17 -0
- package/dist/esm/rendering/material/MeshMaterial.js.map +1 -1
- package/dist/esm/rendering/material/SpriteMaterial.d.ts +20 -1
- package/dist/esm/rendering/material/SpriteMaterial.d.ts.map +1 -1
- package/dist/esm/rendering/material/SpriteMaterial.js +17 -0
- package/dist/esm/rendering/material/SpriteMaterial.js.map +1 -1
- package/dist/esm/rendering/plan/RenderEffectExecutor.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderEffectExecutor.js +7 -2
- package/dist/esm/rendering/plan/RenderEffectExecutor.js.map +1 -1
- package/dist/esm/rendering/plan/RenderInstruction.d.ts +5 -2
- package/dist/esm/rendering/plan/RenderInstruction.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanBuilder.d.ts.map +1 -1
- package/dist/esm/rendering/plan/RenderPlanBuilder.js +23 -5
- package/dist/esm/rendering/plan/RenderPlanBuilder.js.map +1 -1
- package/dist/esm/rendering/plan/RenderScope.d.ts +7 -0
- package/dist/esm/rendering/plan/RenderScope.d.ts.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts +17 -1
- package/dist/esm/rendering/primitives/Graphics.d.ts.map +1 -1
- package/dist/esm/rendering/primitives/Graphics.js +50 -15
- package/dist/esm/rendering/primitives/Graphics.js.map +1 -1
- package/dist/esm/rendering/public.d.ts +5 -5
- package/dist/esm/rendering/public.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts +57 -19
- package/dist/esm/rendering/sprite/AnimatedSprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/AnimatedSprite.js +138 -31
- package/dist/esm/rendering/sprite/AnimatedSprite.js.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.d.ts.map +1 -1
- package/dist/esm/rendering/sprite/Sprite.js +8 -0
- package/dist/esm/rendering/sprite/Sprite.js.map +1 -1
- package/dist/esm/rendering/text/BitmapText.d.ts.map +1 -1
- package/dist/esm/rendering/text/BitmapText.js +2 -0
- package/dist/esm/rendering/text/BitmapText.js.map +1 -1
- package/dist/esm/rendering/text/HTMLText.d.ts.map +1 -1
- package/dist/esm/rendering/text/HTMLText.js +2 -2
- package/dist/esm/rendering/text/HTMLText.js.map +1 -1
- package/dist/esm/rendering/text/Text.d.ts.map +1 -1
- package/dist/esm/rendering/text/Text.js +2 -0
- package/dist/esm/rendering/text/Text.js.map +1 -1
- package/dist/esm/rendering/text/TextLayout.d.ts.map +1 -1
- package/dist/esm/rendering/text/TextLayout.js +2 -3
- package/dist/esm/rendering/text/TextLayout.js.map +1 -1
- package/dist/esm/rendering/types.d.ts +37 -13
- package/dist/esm/rendering/types.d.ts.map +1 -1
- package/dist/esm/rendering/types.js +37 -13
- package/dist/esm/rendering/types.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts +41 -0
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.d.ts.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js +222 -0
- package/dist/esm/rendering/webgl2/WebGl2BackdropBlendCompositor.js.map +1 -0
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts +34 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2Backend.js +108 -60
- package/dist/esm/rendering/webgl2/WebGl2Backend.js.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js +50 -11
- package/dist/esm/rendering/webgl2/WebGl2TextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.frag.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js +4 -0
- package/dist/esm/rendering/webgl2/glsl/backdrop-blend.vert.js.map +1 -0
- package/dist/esm/rendering/webgl2/glsl/text.vert.js +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts +72 -0
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.d.ts.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js +494 -0
- package/dist/esm/rendering/webgpu/WebGpuBackdropBlendCompositor.js.map +1 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts +27 -0
- package/dist/esm/rendering/webgpu/WebGpuBackend.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBackend.js +157 -60
- package/dist/esm/rendering/webgpu/WebGpuBackend.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js +5 -29
- package/dist/esm/rendering/webgpu/WebGpuBlendState.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js +2 -1
- package/dist/esm/rendering/webgpu/WebGpuMaskCompositor.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts +4 -0
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js +3 -1
- package/dist/esm/rendering/webgpu/WebGpuMeshRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js +2 -1
- package/dist/esm/rendering/webgpu/WebGpuNineSliceSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts +8 -0
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js +20 -0
- package/dist/esm/rendering/webgpu/WebGpuPassCoordinator.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts +6 -0
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js +4 -1
- package/dist/esm/rendering/webgpu/WebGpuRepeatingSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js +2 -1
- package/dist/esm/rendering/webgpu/WebGpuSpriteRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js +2 -1
- package/dist/esm/rendering/webgpu/WebGpuStencilClipper.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts +2 -0
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js +3 -2
- package/dist/esm/rendering/webgpu/WebGpuTextRenderer.js.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts +3 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.d.ts.map +1 -1
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js +29 -5
- package/dist/esm/rendering/webgpu/WebGpuTransformStorage.js.map +1 -1
- package/dist/esm/resources/Loader.d.ts +13 -0
- package/dist/esm/resources/Loader.d.ts.map +1 -1
- package/dist/esm/resources/Loader.js +67 -7
- package/dist/esm/resources/Loader.js.map +1 -1
- package/dist/esm/resources/coreAssetBindings.d.ts +11 -0
- package/dist/esm/resources/coreAssetBindings.d.ts.map +1 -1
- package/dist/esm/resources/coreAssetBindings.js +10 -2
- package/dist/esm/resources/coreAssetBindings.js.map +1 -1
- package/dist/esm/ui/ScrollContainer.d.ts +63 -0
- package/dist/esm/ui/ScrollContainer.d.ts.map +1 -0
- package/dist/esm/ui/ScrollContainer.js +99 -0
- package/dist/esm/ui/ScrollContainer.js.map +1 -0
- package/dist/esm/ui/Tooltip.d.ts +67 -0
- package/dist/esm/ui/Tooltip.d.ts.map +1 -0
- package/dist/esm/ui/Tooltip.js +133 -0
- package/dist/esm/ui/Tooltip.js.map +1 -0
- package/dist/esm/ui/index.d.ts +4 -0
- package/dist/esm/ui/index.d.ts.map +1 -1
- package/dist/exo.debug.esm.js +1 -1
- package/dist/exo.debug.esm.js.map +1 -1
- package/dist/exo.esm.js +1 -1
- package/dist/exo.esm.js.map +1 -1
- package/dist/exo.iife.js +45273 -0
- package/dist/exo.iife.js.map +1 -0
- package/dist/exo.iife.min.js +2 -0
- package/dist/exo.iife.min.js.map +1 -0
- package/package.json +15 -3
- package/dist/esm/rendering/Camera.d.ts +0 -34
- package/dist/esm/rendering/Camera.d.ts.map +0 -1
- package/dist/esm/rendering/Camera.js +0 -38
- package/dist/esm/rendering/Camera.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGl2TextRenderer.js","sources":["../../../../../src/rendering/webgl2/WebGl2TextRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebGl2TextRenderer.js","sources":["../../../../../src/rendering/webgl2/WebGl2TextRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var fragmentSource = "#version 300 es\nprecision highp float;\n\n// Backdrop-aware blend compositor (advanced blend modes).\n//\n// Samples the premultiplied source (the drawable rendered to a texture) and the\n// captured premultiplied backdrop (the target contents behind it), computes the\n// W3C blend B(Cb, Cs) for the requested mode, and outputs the blended source\n// premultiplied by its own alpha. The caller draws this with normal\n// (premultiplied source-over) blending, so the GPU composites it over the\n// untouched backdrop already in the target — transparent source regions\n// (alpha 0) leave the backdrop showing through instead of going black.\n//\n// Mode values match the BlendModes enum (src/rendering/types.ts).\n\nuniform sampler2D u_source;\nuniform sampler2D u_backdrop;\nuniform int u_mode;\n// 1.0 when the target is opaque (the on-screen root canvas), whose captured\n// alpha is unreliable — an opaque framebuffer reports backdrop alpha 0, which\n// would make the blend ignore the backdrop. Forces backdrop coverage to full.\nuniform float u_opaqueBackdrop;\n\nin vec2 v_texcoord;\n\nlayout(location = 0) out vec4 fragColor;\n\nconst int MODE_MULTIPLY = 3;\nconst int MODE_SCREEN = 4;\nconst int MODE_DARKEN = 5;\nconst int MODE_LIGHTEN = 6;\nconst int MODE_OVERLAY = 7;\nconst int MODE_COLOR_DODGE = 8;\nconst int MODE_COLOR_BURN = 9;\nconst int MODE_HARD_LIGHT = 10;\nconst int MODE_SOFT_LIGHT = 11;\nconst int MODE_DIFFERENCE = 12;\nconst int MODE_EXCLUSION = 13;\nconst int MODE_HUE = 14;\nconst int MODE_SATURATION = 15;\nconst int MODE_COLOR = 16;\n\nvec3 unpremultiply(vec4 color) {\n return color.a > 0.0 ? color.rgb / color.a : vec3(0.0);\n}\n\n// W3C separable blend B(Cb, Cs) for one channel (straight color in [0, 1]).\nfloat blendChannel(int mode, float cb, float cs) {\n if (mode == MODE_MULTIPLY) {\n return cb * cs;\n }\n if (mode == MODE_SCREEN) {\n return cb + cs - cb * cs;\n }\n if (mode == MODE_DARKEN) {\n return min(cb, cs);\n }\n if (mode == MODE_LIGHTEN) {\n return max(cb, cs);\n }\n if (mode == MODE_OVERLAY) {\n return cb <= 0.5 ? (2.0 * cb * cs) : (1.0 - 2.0 * (1.0 - cb) * (1.0 - cs));\n }\n if (mode == MODE_HARD_LIGHT) {\n return cs <= 0.5 ? (2.0 * cb * cs) : (1.0 - 2.0 * (1.0 - cb) * (1.0 - cs));\n }\n if (mode == MODE_COLOR_DODGE) {\n if (cb <= 0.0) {\n return 0.0;\n }\n return cs >= 1.0 ? 1.0 : min(1.0, cb / (1.0 - cs));\n }\n if (mode == MODE_COLOR_BURN) {\n if (cb >= 1.0) {\n return 1.0;\n }\n return cs <= 0.0 ? 0.0 : 1.0 - min(1.0, (1.0 - cb) / cs);\n }\n if (mode == MODE_SOFT_LIGHT) {\n if (cs <= 0.5) {\n return cb - (1.0 - 2.0 * cs) * cb * (1.0 - cb);\n }\n float d = cb <= 0.25 ? (((16.0 * cb - 12.0) * cb + 4.0) * cb) : sqrt(cb);\n return cb + (2.0 * cs - 1.0) * (d - cb);\n }\n if (mode == MODE_DIFFERENCE) {\n return abs(cb - cs);\n }\n if (mode == MODE_EXCLUSION) {\n return cb + cs - 2.0 * cb * cs;\n }\n return min(cb, cs); // default: Darken\n}\n\nvec3 blendSeparable(int mode, vec3 cb, vec3 cs) {\n return vec3(blendChannel(mode, cb.r, cs.r), blendChannel(mode, cb.g, cs.g), blendChannel(mode, cb.b, cs.b));\n}\n\n// Non-separable helpers (W3C): operate on the whole color.\nfloat lum(vec3 c) {\n return dot(c, vec3(0.3, 0.59, 0.11));\n}\n\nvec3 clipColor(vec3 c) {\n float l = lum(c);\n float n = min(min(c.r, c.g), c.b);\n float x = max(max(c.r, c.g), c.b);\n\n if (n < 0.0) {\n c = l + ((c - l) * l) / (l - n);\n }\n if (x > 1.0) {\n c = l + ((c - l) * (1.0 - l)) / (x - l);\n }\n\n return c;\n}\n\nvec3 setLum(vec3 c, float l) {\n return clipColor(c + (l - lum(c)));\n}\n\nfloat sat(vec3 c) {\n return max(max(c.r, c.g), c.b) - min(min(c.r, c.g), c.b);\n}\n\n// Map the channels so min → 0, max → s, mid → proportional (W3C SetSat result).\nvec3 setSat(vec3 c, float s) {\n float mn = min(min(c.r, c.g), c.b);\n float mx = max(max(c.r, c.g), c.b);\n\n return mx > mn ? (c - mn) * (s / (mx - mn)) : vec3(0.0);\n}\n\nvec3 blendNonSeparable(int mode, vec3 cb, vec3 cs) {\n if (mode == MODE_HUE) {\n return setLum(setSat(cs, sat(cb)), lum(cb));\n }\n if (mode == MODE_SATURATION) {\n return setLum(setSat(cb, sat(cs)), lum(cb));\n }\n if (mode == MODE_COLOR) {\n return setLum(cs, lum(cb));\n }\n return setLum(cb, lum(cs)); // default: Luminosity\n}\n\nvec3 blendAdvanced(int mode, vec3 cb, vec3 cs) {\n return mode >= MODE_HUE ? blendNonSeparable(mode, cb, cs) : blendSeparable(mode, cb, cs);\n}\n\nvoid main(void) {\n vec4 src = texture(u_source, v_texcoord);\n // The backdrop is captured from the framebuffer (bottom-left origin), so its\n // V axis is flipped relative to the source/quad UVs.\n vec4 dst = texture(u_backdrop, vec2(v_texcoord.x, 1.0 - v_texcoord.y));\n\n float alphaSource = src.a;\n float alphaBackdrop = max(dst.a, u_opaqueBackdrop);\n vec3 colorSource = unpremultiply(src);\n vec3 colorBackdrop = unpremultiply(dst);\n\n vec3 blended = blendAdvanced(u_mode, colorBackdrop, colorSource);\n // Cs' = (1 - αb)·Cs + αb·B(Cb, Cs)\n vec3 mixedSource = mix(colorSource, blended, alphaBackdrop);\n\n // Premultiplied blended source; GPU source-over composites it over backdrop.\n fragColor = vec4(mixedSource * alphaSource, alphaSource);\n}\n";
|
|
2
|
+
|
|
3
|
+
export { fragmentSource as default };
|
|
4
|
+
//# sourceMappingURL=backdrop-blend.frag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backdrop-blend.frag.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var vertexSource = "#version 300 es\nprecision mediump float;\n\nlayout(location = 0) in vec2 a_position;\nlayout(location = 1) in vec2 a_texcoord;\n\nuniform mat3 u_projection;\n\nout vec2 v_texcoord;\n\nvoid main(void) {\n gl_Position = vec4((u_projection * vec3(a_position, 1.0)).xy, 0.0, 1.0);\n v_texcoord = a_texcoord;\n}\n";
|
|
2
|
+
|
|
3
|
+
export { vertexSource as default };
|
|
4
|
+
//# sourceMappingURL=backdrop-blend.vert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backdrop-blend.vert.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var textVertSource = "#version 300 es\nprecision highp float;\n\
|
|
1
|
+
var textVertSource = "#version 300 es\nprecision highp float;\n\n// a_position arrives already in WORLD space: the renderer applies each node's\n// world transform on the CPU while building the vertex buffer. This deliberately\n// avoids a vertex-stage texelFetch of the per-node data texture — on ANGLE/D3D11\n// a vertex texture fetch of the RGBA32F data texture returns garbage (RGB read as\n// 0) whenever an RGBA8 atlas is also bound, which collapsed all text glyphs to a\n// point and made colour/MSDF bitmap text invisible. The fragment still reads the\n// per-node style from the data texture (a fragment texture fetch is unaffected).\nlayout(location = 0) in vec2 a_position; // world-space quad corner\nlayout(location = 1) in vec2 a_texcoord;\nlayout(location = 2) in float a_nodeIndex; // row into the per-node data texture (style lookup)\nlayout(location = 3) in vec2 a_gradUV; // normalised gradient UV (CPU-computed)\n\nuniform mat3 u_projection;\n\nflat out int v_nodeIndex;\n out vec2 v_texcoord;\n out vec2 v_gradUV;\n\nvoid main(void) {\n gl_Position = vec4((u_projection * vec3(a_position, 1.0)).xy, 0.0, 1.0);\n v_texcoord = a_texcoord;\n v_nodeIndex = int(a_nodeIndex);\n v_gradUV = a_gradUV;\n}\n";
|
|
2
2
|
|
|
3
3
|
export { textVertSource as default };
|
|
4
4
|
//# sourceMappingURL=text.vert.js.map
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { RenderTexture } from '#rendering/texture/RenderTexture';
|
|
2
|
+
import type { Texture } from '#rendering/texture/Texture';
|
|
3
|
+
import { BlendModes } from '#rendering/types';
|
|
4
|
+
import type { WebGpuBackend } from './WebGpuBackend';
|
|
5
|
+
/** WGSL source for the backdrop-blend compositor pipeline. @internal */
|
|
6
|
+
export declare const compositorShaderSource = "\nstruct ProjectionUniforms {\n matrix: mat4x4<f32>,\n};\n\nstruct BlendUniforms {\n mode: u32,\n opaqueBackdrop: f32,\n};\n\n@group(0) @binding(0)\nvar<uniform> projection: ProjectionUniforms;\n\n@group(1) @binding(0)\nvar sourceTexture: texture_2d<f32>;\n@group(1) @binding(1)\nvar sourceSampler: sampler;\n@group(1) @binding(2)\nvar backdropTexture: texture_2d<f32>;\n@group(1) @binding(3)\nvar backdropSampler: sampler;\n\n@group(2) @binding(0)\nvar<uniform> blend: BlendUniforms;\n\nstruct VertexInput {\n @location(0) position: vec2<f32>,\n @location(1) texcoord: vec2<f32>,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) texcoord: vec2<f32>,\n};\n\n@vertex\nfn vertexMain(input: VertexInput) -> VertexOutput {\n var output: VertexOutput;\n\n output.position = projection.matrix * vec4<f32>(input.position, 0.0, 1.0);\n output.texcoord = input.texcoord;\n\n return output;\n}\n\nfn unpremultiply(color: vec4<f32>) -> vec3<f32> {\n if (color.a > 0.0) {\n return color.rgb / color.a;\n }\n\n return vec3<f32>(0.0);\n}\n\n// W3C separable blend B(Cb, Cs) for one channel (straight color in [0, 1]).\n// Mode values match the BlendModes enum (src/rendering/types.ts).\nfn blendChannel(mode: u32, cb: f32, cs: f32) -> f32 {\n switch mode {\n case 3u { return cb * cs; } // Multiply\n case 4u { return cb + cs - cb * cs; } // Screen\n case 5u { return min(cb, cs); } // Darken\n case 6u { return max(cb, cs); } // Lighten\n case 7u { return select(1.0 - 2.0 * (1.0 - cb) * (1.0 - cs), 2.0 * cb * cs, cb <= 0.5); } // Overlay\n case 8u { // ColorDodge\n if (cb <= 0.0) { return 0.0; }\n return select(min(1.0, cb / (1.0 - cs)), 1.0, cs >= 1.0);\n }\n case 9u { // ColorBurn\n if (cb >= 1.0) { return 1.0; }\n return select(1.0 - min(1.0, (1.0 - cb) / cs), 0.0, cs <= 0.0);\n }\n case 10u { return select(1.0 - 2.0 * (1.0 - cb) * (1.0 - cs), 2.0 * cb * cs, cs <= 0.5); } // HardLight\n case 11u { // SoftLight\n if (cs <= 0.5) { return cb - (1.0 - 2.0 * cs) * cb * (1.0 - cb); }\n let d = select(sqrt(cb), ((16.0 * cb - 12.0) * cb + 4.0) * cb, cb <= 0.25);\n return cb + (2.0 * cs - 1.0) * (d - cb);\n }\n case 12u { return abs(cb - cs); } // Difference\n case 13u { return cb + cs - 2.0 * cb * cs; } // Exclusion\n default { return min(cb, cs); } // Darken\n }\n}\n\nfn blendSeparable(mode: u32, cb: vec3<f32>, cs: vec3<f32>) -> vec3<f32> {\n return vec3<f32>(blendChannel(mode, cb.x, cs.x), blendChannel(mode, cb.y, cs.y), blendChannel(mode, cb.z, cs.z));\n}\n\n// Non-separable helpers (W3C): operate on the whole color.\nfn lum(c: vec3<f32>) -> f32 {\n return dot(c, vec3<f32>(0.3, 0.59, 0.11));\n}\n\nfn clipColor(input: vec3<f32>) -> vec3<f32> {\n var c = input;\n let l = lum(c);\n let n = min(min(c.x, c.y), c.z);\n let x = max(max(c.x, c.y), c.z);\n\n if (n < 0.0) { c = l + ((c - l) * l) / (l - n); }\n if (x > 1.0) { c = l + ((c - l) * (1.0 - l)) / (x - l); }\n\n return c;\n}\n\nfn setLum(c: vec3<f32>, l: f32) -> vec3<f32> {\n return clipColor(c + (l - lum(c)));\n}\n\nfn sat(c: vec3<f32>) -> f32 {\n return max(max(c.x, c.y), c.z) - min(min(c.x, c.y), c.z);\n}\n\n// Map the channels so min -> 0, max -> s, mid -> proportional (W3C SetSat result).\nfn setSat(c: vec3<f32>, s: f32) -> vec3<f32> {\n let mn = min(min(c.x, c.y), c.z);\n let mx = max(max(c.x, c.y), c.z);\n\n return select(vec3<f32>(0.0), (c - mn) * (s / (mx - mn)), mx > mn);\n}\n\nfn blendNonSeparable(mode: u32, cb: vec3<f32>, cs: vec3<f32>) -> vec3<f32> {\n switch mode {\n case 14u { return setLum(setSat(cs, sat(cb)), lum(cb)); } // Hue\n case 15u { return setLum(setSat(cb, sat(cs)), lum(cb)); } // Saturation\n case 16u { return setLum(cs, lum(cb)); } // Color\n default { return setLum(cb, lum(cs)); } // Luminosity\n }\n}\n\nfn blendAdvanced(mode: u32, cb: vec3<f32>, cs: vec3<f32>) -> vec3<f32> {\n if (mode >= 14u) { return blendNonSeparable(mode, cb, cs); }\n return blendSeparable(mode, cb, cs);\n}\n\n@fragment\nfn fragmentMain(input: VertexOutput) -> @location(0) vec4<f32> {\n let src = textureSample(sourceTexture, sourceSampler, input.texcoord);\n // copyTextureToTexture preserves the target's top-left orientation, so the\n // backdrop is sampled at the same UV as the quad \u2014 no V-flip (unlike the\n // WebGL2 framebuffer-blit path, which reads bottom-left order).\n let dst = textureSample(backdropTexture, backdropSampler, input.texcoord);\n\n let alphaSource = src.a;\n // An opaque target (the on-screen root canvas, alphaMode 'opaque') has an\n // unreliable captured alpha; force full backdrop coverage so the blend is\n // not skipped. Offscreen RenderTextures carry real alpha.\n let alphaBackdrop = max(dst.a, blend.opaqueBackdrop);\n let colorSource = unpremultiply(src);\n let colorBackdrop = unpremultiply(dst);\n\n let blended = blendAdvanced(blend.mode, colorBackdrop, colorSource);\n // Cs' = (1 - \u03B1b)\u00B7Cs + \u03B1b\u00B7B(Cb, Cs)\n let mixedSource = mix(colorSource, blended, alphaBackdrop);\n\n // Premultiplied blended source; the GPU source-over composites it over the\n // untouched backdrop already in the target (\u03B1s = 0 passes the backdrop through).\n return vec4<f32>(mixedSource * alphaSource, alphaSource);\n}\n";
|
|
7
|
+
/**
|
|
8
|
+
* Single-quad backdrop-aware blend compositor used by
|
|
9
|
+
* `WebGpuBackend.composeWithBackdropBlend` (spike: invoked directly). Captures
|
|
10
|
+
* the active target's `[x, y, width, height]` region into a compositor-owned
|
|
11
|
+
* texture via `copyTextureToTexture`, samples the premultiplied source (group 1,
|
|
12
|
+
* slot 0) and captured backdrop (slot 2), computes the W3C blend for the
|
|
13
|
+
* requested {@link BlendModes}, and draws the result over the target with normal
|
|
14
|
+
* (premultiplied source-over) blending — so the GPU composites the blended
|
|
15
|
+
* source over the backdrop already in the target.
|
|
16
|
+
*
|
|
17
|
+
* Mirrors {@link WebGpuMaskCompositor}'s structure. The backdrop texture is
|
|
18
|
+
* compositor-owned (not a pooled {@link RenderTexture}) because
|
|
19
|
+
* `copyTextureToTexture` requires the destination format to equal the source:
|
|
20
|
+
* the root canvas uses the preferred format (often `bgra8unorm`) while pooled
|
|
21
|
+
* render textures are `rgba8unorm`, so a pool RT cannot receive a root-target
|
|
22
|
+
* capture. The owned texture is allocated in the target's own format.
|
|
23
|
+
*
|
|
24
|
+
* Pipelines are cached per (target format, stencil). The compositor is not an
|
|
25
|
+
* {@link AbstractWebGpuRenderer} and never participates in renderer registry
|
|
26
|
+
* dispatch — the backend invokes it directly.
|
|
27
|
+
*/
|
|
28
|
+
export declare class WebGpuBackdropBlendCompositor {
|
|
29
|
+
private readonly _projectionData;
|
|
30
|
+
private readonly _vertexData;
|
|
31
|
+
private readonly _indexData;
|
|
32
|
+
private readonly _blendData;
|
|
33
|
+
private readonly _blendModeView;
|
|
34
|
+
private readonly _blendOpaqueView;
|
|
35
|
+
private readonly _projectionMatrix;
|
|
36
|
+
private readonly _pipelines;
|
|
37
|
+
private _device;
|
|
38
|
+
private _shaderModule;
|
|
39
|
+
private _projectionBindGroupLayout;
|
|
40
|
+
private _textureBindGroupLayout;
|
|
41
|
+
private _blendBindGroupLayout;
|
|
42
|
+
private _pipelineLayout;
|
|
43
|
+
private _vertexBuffer;
|
|
44
|
+
private _indexBuffer;
|
|
45
|
+
private _projectionBuffer;
|
|
46
|
+
private _blendBuffer;
|
|
47
|
+
private _projectionBindGroup;
|
|
48
|
+
private _blendBindGroup;
|
|
49
|
+
private _backdropSampler;
|
|
50
|
+
private _backdropTexture;
|
|
51
|
+
private _backdropView;
|
|
52
|
+
private _backdropWidth;
|
|
53
|
+
private _backdropHeight;
|
|
54
|
+
private _backdropFormat;
|
|
55
|
+
connect(device: GPUDevice): void;
|
|
56
|
+
disconnect(): void;
|
|
57
|
+
/**
|
|
58
|
+
* Composite `source` over the active target's current contents under an
|
|
59
|
+
* advanced (backdrop-aware) blend mode. Materializes any pending clear/draws,
|
|
60
|
+
* captures the target's `[x, y, width, height]` region (view units) into the
|
|
61
|
+
* compositor-owned backdrop texture, runs the blend in a shader, and draws the
|
|
62
|
+
* blended source over the untouched backdrop with normal premultiplied
|
|
63
|
+
* source-over.
|
|
64
|
+
*/
|
|
65
|
+
compose(manager: WebGpuBackend, source: Texture | RenderTexture, x: number, y: number, width: number, height: number, blendMode: BlendModes): void;
|
|
66
|
+
private _ensureBackdrop;
|
|
67
|
+
private _drawBlend;
|
|
68
|
+
private _getOrCreatePipeline;
|
|
69
|
+
private _writeQuadVertices;
|
|
70
|
+
private _writeProjectionMatrix;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=WebGpuBackdropBlendCompositor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebGpuBackdropBlendCompositor.d.ts","sourceRoot":"","sources":["../../../../src/rendering/webgpu/WebGpuBackdropBlendCompositor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIrD,wEAAwE;AACxE,eAAO,MAAM,sBAAsB,ipLA6JlC,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoD;IAC/E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmD;IAC9E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuD;IACtF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyD;IAC1F,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwB;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwE;IAEnG,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,0BAA0B,CAAmC;IACrE,OAAO,CAAC,uBAAuB,CAAmC;IAClE,OAAO,CAAC,qBAAqB,CAAmC;IAChE,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,gBAAgB,CAA2B;IAInD,OAAO,CAAC,gBAAgB,CAA2B;IACnD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,eAAe,CAAiC;IAEjD,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAqEhC,UAAU,IAAI,IAAI;IAgCzB;;;;;;;OAOG;IACI,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAAG,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI;IA8CzJ,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,UAAU;IA6DlB,OAAO,CAAC,oBAAoB;IAkD5B,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,sBAAsB;CA0B/B"}
|