@blakron/core 0.4.2 → 0.4.3
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/package.json +1 -1
- package/dist/blakron/player/CanvasRenderer.d.ts +0 -49
- package/dist/blakron/player/CanvasRenderer.d.ts.map +0 -1
- package/dist/blakron/player/CanvasRenderer.js +0 -792
- package/dist/blakron/player/CanvasRenderer.js.map +0 -1
- package/dist/blakron/player/DisplayList.d.ts +0 -32
- package/dist/blakron/player/DisplayList.d.ts.map +0 -1
- package/dist/blakron/player/DisplayList.js +0 -78
- package/dist/blakron/player/DisplayList.js.map +0 -1
- package/dist/blakron/player/InstructionSet.d.ts +0 -49
- package/dist/blakron/player/InstructionSet.d.ts.map +0 -1
- package/dist/blakron/player/InstructionSet.js +0 -45
- package/dist/blakron/player/InstructionSet.js.map +0 -1
- package/dist/blakron/player/RenderBuffer.d.ts +0 -35
- package/dist/blakron/player/RenderBuffer.d.ts.map +0 -1
- package/dist/blakron/player/RenderBuffer.js +0 -83
- package/dist/blakron/player/RenderBuffer.js.map +0 -1
- package/dist/blakron/player/pipes/BitmapPipe.d.ts +0 -35
- package/dist/blakron/player/pipes/BitmapPipe.d.ts.map +0 -1
- package/dist/blakron/player/pipes/BitmapPipe.js +0 -130
- package/dist/blakron/player/pipes/BitmapPipe.js.map +0 -1
- package/dist/blakron/player/pipes/FilterPipe.d.ts +0 -68
- package/dist/blakron/player/pipes/FilterPipe.d.ts.map +0 -1
- package/dist/blakron/player/pipes/FilterPipe.js +0 -169
- package/dist/blakron/player/pipes/FilterPipe.js.map +0 -1
- package/dist/blakron/player/pipes/GraphicsPipe.d.ts +0 -36
- package/dist/blakron/player/pipes/GraphicsPipe.d.ts.map +0 -1
- package/dist/blakron/player/pipes/GraphicsPipe.js +0 -126
- package/dist/blakron/player/pipes/GraphicsPipe.js.map +0 -1
- package/dist/blakron/player/pipes/MaskPipe.d.ts +0 -58
- package/dist/blakron/player/pipes/MaskPipe.d.ts.map +0 -1
- package/dist/blakron/player/pipes/MaskPipe.js +0 -190
- package/dist/blakron/player/pipes/MaskPipe.js.map +0 -1
- package/dist/blakron/player/pipes/MeshPipe.d.ts +0 -22
- package/dist/blakron/player/pipes/MeshPipe.d.ts.map +0 -1
- package/dist/blakron/player/pipes/MeshPipe.js +0 -50
- package/dist/blakron/player/pipes/MeshPipe.js.map +0 -1
- package/dist/blakron/player/pipes/TextPipe.d.ts +0 -52
- package/dist/blakron/player/pipes/TextPipe.d.ts.map +0 -1
- package/dist/blakron/player/pipes/TextPipe.js +0 -163
- package/dist/blakron/player/pipes/TextPipe.js.map +0 -1
- package/dist/blakron/player/webgl/ShaderLib.d.ts +0 -22
- package/dist/blakron/player/webgl/ShaderLib.d.ts.map +0 -1
- package/dist/blakron/player/webgl/ShaderLib.js +0 -246
- package/dist/blakron/player/webgl/ShaderLib.js.map +0 -1
- package/dist/blakron/player/webgl2/ShaderLib2.d.ts +0 -22
- package/dist/blakron/player/webgl2/ShaderLib2.d.ts.map +0 -1
- package/dist/blakron/player/webgl2/ShaderLib2.js +0 -261
- package/dist/blakron/player/webgl2/ShaderLib2.js.map +0 -1
- package/dist/heron/benchmark/BenchmarkRunner.d.ts +0 -60
- package/dist/heron/benchmark/BenchmarkRunner.d.ts.map +0 -1
- package/dist/heron/benchmark/BenchmarkRunner.js +0 -112
- package/dist/heron/benchmark/BenchmarkRunner.js.map +0 -1
- package/dist/heron/benchmark/MetricsCollector.d.ts +0 -34
- package/dist/heron/benchmark/MetricsCollector.d.ts.map +0 -1
- package/dist/heron/benchmark/MetricsCollector.js +0 -123
- package/dist/heron/benchmark/MetricsCollector.js.map +0 -1
- package/dist/heron/benchmark/PerfPanel.d.ts +0 -24
- package/dist/heron/benchmark/PerfPanel.d.ts.map +0 -1
- package/dist/heron/benchmark/PerfPanel.js +0 -131
- package/dist/heron/benchmark/PerfPanel.js.map +0 -1
- package/dist/heron/benchmark/ReportExporter.d.ts +0 -8
- package/dist/heron/benchmark/ReportExporter.d.ts.map +0 -1
- package/dist/heron/benchmark/ReportExporter.js +0 -54
- package/dist/heron/benchmark/ReportExporter.js.map +0 -1
- package/dist/heron/benchmark/SceneRegistry.d.ts +0 -16
- package/dist/heron/benchmark/SceneRegistry.d.ts.map +0 -1
- package/dist/heron/benchmark/SceneRegistry.js +0 -233
- package/dist/heron/benchmark/SceneRegistry.js.map +0 -1
- package/dist/heron/benchmark/types.d.ts +0 -47
- package/dist/heron/benchmark/types.d.ts.map +0 -1
- package/dist/heron/benchmark/types.js +0 -2
- package/dist/heron/benchmark/types.js.map +0 -1
- package/dist/heron/display/Bitmap.d.ts +0 -53
- package/dist/heron/display/Bitmap.d.ts.map +0 -1
- package/dist/heron/display/Bitmap.js +0 -176
- package/dist/heron/display/Bitmap.js.map +0 -1
- package/dist/heron/display/DisplayObject.d.ts +0 -206
- package/dist/heron/display/DisplayObject.d.ts.map +0 -1
- package/dist/heron/display/DisplayObject.js +0 -827
- package/dist/heron/display/DisplayObject.js.map +0 -1
- package/dist/heron/display/DisplayObjectContainer.d.ts +0 -57
- package/dist/heron/display/DisplayObjectContainer.d.ts.map +0 -1
- package/dist/heron/display/DisplayObjectContainer.js +0 -348
- package/dist/heron/display/DisplayObjectContainer.js.map +0 -1
- package/dist/heron/display/Graphics.d.ts +0 -49
- package/dist/heron/display/Graphics.d.ts.map +0 -1
- package/dist/heron/display/Graphics.js +0 -315
- package/dist/heron/display/Graphics.js.map +0 -1
- package/dist/heron/display/GraphicsPath.d.ts +0 -112
- package/dist/heron/display/GraphicsPath.d.ts.map +0 -1
- package/dist/heron/display/GraphicsPath.js +0 -2
- package/dist/heron/display/GraphicsPath.js.map +0 -1
- package/dist/heron/display/Mesh.d.ts +0 -21
- package/dist/heron/display/Mesh.d.ts.map +0 -1
- package/dist/heron/display/Mesh.js +0 -56
- package/dist/heron/display/Mesh.js.map +0 -1
- package/dist/heron/display/Shape.d.ts +0 -12
- package/dist/heron/display/Shape.d.ts.map +0 -1
- package/dist/heron/display/Shape.js +0 -35
- package/dist/heron/display/Shape.js.map +0 -1
- package/dist/heron/display/Sprite.d.ts +0 -13
- package/dist/heron/display/Sprite.d.ts.map +0 -1
- package/dist/heron/display/Sprite.js +0 -37
- package/dist/heron/display/Sprite.js.map +0 -1
- package/dist/heron/display/Stage.d.ts +0 -45
- package/dist/heron/display/Stage.d.ts.map +0 -1
- package/dist/heron/display/Stage.js +0 -107
- package/dist/heron/display/Stage.js.map +0 -1
- package/dist/heron/display/enums/BitmapFillMode.d.ts +0 -7
- package/dist/heron/display/enums/BitmapFillMode.d.ts.map +0 -1
- package/dist/heron/display/enums/BitmapFillMode.js +0 -6
- package/dist/heron/display/enums/BitmapFillMode.js.map +0 -1
- package/dist/heron/display/enums/BlendMode.d.ts +0 -24
- package/dist/heron/display/enums/BlendMode.d.ts.map +0 -1
- package/dist/heron/display/enums/BlendMode.js +0 -31
- package/dist/heron/display/enums/BlendMode.js.map +0 -1
- package/dist/heron/display/enums/CapsStyle.d.ts +0 -7
- package/dist/heron/display/enums/CapsStyle.d.ts.map +0 -1
- package/dist/heron/display/enums/CapsStyle.js +0 -6
- package/dist/heron/display/enums/CapsStyle.js.map +0 -1
- package/dist/heron/display/enums/GradientType.d.ts +0 -6
- package/dist/heron/display/enums/GradientType.d.ts.map +0 -1
- package/dist/heron/display/enums/GradientType.js +0 -5
- package/dist/heron/display/enums/GradientType.js.map +0 -1
- package/dist/heron/display/enums/JointStyle.d.ts +0 -7
- package/dist/heron/display/enums/JointStyle.d.ts.map +0 -1
- package/dist/heron/display/enums/JointStyle.js +0 -6
- package/dist/heron/display/enums/JointStyle.js.map +0 -1
- package/dist/heron/display/enums/OrientationMode.d.ts +0 -8
- package/dist/heron/display/enums/OrientationMode.d.ts.map +0 -1
- package/dist/heron/display/enums/OrientationMode.js +0 -7
- package/dist/heron/display/enums/OrientationMode.js.map +0 -1
- package/dist/heron/display/enums/StageScaleMode.d.ts +0 -12
- package/dist/heron/display/enums/StageScaleMode.d.ts.map +0 -1
- package/dist/heron/display/enums/StageScaleMode.js +0 -11
- package/dist/heron/display/enums/StageScaleMode.js.map +0 -1
- package/dist/heron/display/enums/index.d.ts +0 -8
- package/dist/heron/display/enums/index.d.ts.map +0 -1
- package/dist/heron/display/enums/index.js +0 -8
- package/dist/heron/display/enums/index.js.map +0 -1
- package/dist/heron/display/index.d.ts +0 -21
- package/dist/heron/display/index.d.ts.map +0 -1
- package/dist/heron/display/index.js +0 -20
- package/dist/heron/display/index.js.map +0 -1
- package/dist/heron/display/texture/BitmapData.d.ts +0 -37
- package/dist/heron/display/texture/BitmapData.d.ts.map +0 -1
- package/dist/heron/display/texture/BitmapData.js +0 -144
- package/dist/heron/display/texture/BitmapData.js.map +0 -1
- package/dist/heron/display/texture/RenderTexture.d.ts +0 -13
- package/dist/heron/display/texture/RenderTexture.d.ts.map +0 -1
- package/dist/heron/display/texture/RenderTexture.js +0 -51
- package/dist/heron/display/texture/RenderTexture.js.map +0 -1
- package/dist/heron/display/texture/SpriteSheet.d.ts +0 -13
- package/dist/heron/display/texture/SpriteSheet.d.ts.map +0 -1
- package/dist/heron/display/texture/SpriteSheet.js +0 -34
- package/dist/heron/display/texture/SpriteSheet.js.map +0 -1
- package/dist/heron/display/texture/Texture.d.ts +0 -33
- package/dist/heron/display/texture/Texture.d.ts.map +0 -1
- package/dist/heron/display/texture/Texture.js +0 -77
- package/dist/heron/display/texture/Texture.js.map +0 -1
- package/dist/heron/display/texture/index.d.ts +0 -5
- package/dist/heron/display/texture/index.d.ts.map +0 -1
- package/dist/heron/display/texture/index.js +0 -5
- package/dist/heron/display/texture/index.js.map +0 -1
- package/dist/heron/events/Event.d.ts +0 -57
- package/dist/heron/events/Event.d.ts.map +0 -1
- package/dist/heron/events/Event.js +0 -139
- package/dist/heron/events/Event.js.map +0 -1
- package/dist/heron/events/EventDispatcher.d.ts +0 -23
- package/dist/heron/events/EventDispatcher.d.ts.map +0 -1
- package/dist/heron/events/EventDispatcher.js +0 -123
- package/dist/heron/events/EventDispatcher.js.map +0 -1
- package/dist/heron/events/EventPhase.d.ts +0 -6
- package/dist/heron/events/EventPhase.d.ts.map +0 -1
- package/dist/heron/events/EventPhase.js +0 -2
- package/dist/heron/events/EventPhase.js.map +0 -1
- package/dist/heron/events/FocusEvent.d.ts +0 -7
- package/dist/heron/events/FocusEvent.d.ts.map +0 -1
- package/dist/heron/events/FocusEvent.js +0 -11
- package/dist/heron/events/FocusEvent.js.map +0 -1
- package/dist/heron/events/HTTPStatusEvent.d.ts +0 -10
- package/dist/heron/events/HTTPStatusEvent.d.ts.map +0 -1
- package/dist/heron/events/HTTPStatusEvent.js +0 -24
- package/dist/heron/events/HTTPStatusEvent.js.map +0 -1
- package/dist/heron/events/IEventDispatcher.d.ts +0 -11
- package/dist/heron/events/IEventDispatcher.d.ts.map +0 -1
- package/dist/heron/events/IEventDispatcher.js +0 -2
- package/dist/heron/events/IEventDispatcher.js.map +0 -1
- package/dist/heron/events/IOErrorEvent.d.ts +0 -8
- package/dist/heron/events/IOErrorEvent.d.ts.map +0 -1
- package/dist/heron/events/IOErrorEvent.js +0 -17
- package/dist/heron/events/IOErrorEvent.js.map +0 -1
- package/dist/heron/events/ProgressEvent.d.ts +0 -11
- package/dist/heron/events/ProgressEvent.d.ts.map +0 -1
- package/dist/heron/events/ProgressEvent.js +0 -25
- package/dist/heron/events/ProgressEvent.js.map +0 -1
- package/dist/heron/events/StageOrientationEvent.d.ts +0 -8
- package/dist/heron/events/StageOrientationEvent.d.ts.map +0 -1
- package/dist/heron/events/StageOrientationEvent.js +0 -17
- package/dist/heron/events/StageOrientationEvent.js.map +0 -1
- package/dist/heron/events/TextEvent.d.ts +0 -9
- package/dist/heron/events/TextEvent.d.ts.map +0 -1
- package/dist/heron/events/TextEvent.js +0 -21
- package/dist/heron/events/TextEvent.js.map +0 -1
- package/dist/heron/events/TimerEvent.d.ts +0 -14
- package/dist/heron/events/TimerEvent.d.ts.map +0 -1
- package/dist/heron/events/TimerEvent.js +0 -27
- package/dist/heron/events/TimerEvent.js.map +0 -1
- package/dist/heron/events/TouchEvent.d.ts +0 -32
- package/dist/heron/events/TouchEvent.d.ts.map +0 -1
- package/dist/heron/events/TouchEvent.js +0 -85
- package/dist/heron/events/TouchEvent.js.map +0 -1
- package/dist/heron/events/index.d.ts +0 -13
- package/dist/heron/events/index.d.ts.map +0 -1
- package/dist/heron/events/index.js +0 -11
- package/dist/heron/events/index.js.map +0 -1
- package/dist/heron/external/ExternalInterface.d.ts +0 -18
- package/dist/heron/external/ExternalInterface.d.ts.map +0 -1
- package/dist/heron/external/ExternalInterface.js +0 -23
- package/dist/heron/external/ExternalInterface.js.map +0 -1
- package/dist/heron/external/index.d.ts +0 -2
- package/dist/heron/external/index.d.ts.map +0 -1
- package/dist/heron/external/index.js +0 -2
- package/dist/heron/external/index.js.map +0 -1
- package/dist/heron/filters/BlurFilter.d.ts +0 -16
- package/dist/heron/filters/BlurFilter.d.ts.map +0 -1
- package/dist/heron/filters/BlurFilter.js +0 -56
- package/dist/heron/filters/BlurFilter.js.map +0 -1
- package/dist/heron/filters/ColorMatrixFilter.d.ts +0 -10
- package/dist/heron/filters/ColorMatrixFilter.d.ts.map +0 -1
- package/dist/heron/filters/ColorMatrixFilter.js +0 -51
- package/dist/heron/filters/ColorMatrixFilter.js.map +0 -1
- package/dist/heron/filters/CustomFilter.d.ts +0 -12
- package/dist/heron/filters/CustomFilter.d.ts.map +0 -1
- package/dist/heron/filters/CustomFilter.js +0 -43
- package/dist/heron/filters/CustomFilter.js.map +0 -1
- package/dist/heron/filters/DropShadowFilter.d.ts +0 -16
- package/dist/heron/filters/DropShadowFilter.d.ts.map +0 -1
- package/dist/heron/filters/DropShadowFilter.js +0 -76
- package/dist/heron/filters/DropShadowFilter.js.map +0 -1
- package/dist/heron/filters/Filter.d.ts +0 -20
- package/dist/heron/filters/Filter.d.ts.map +0 -1
- package/dist/heron/filters/Filter.js +0 -27
- package/dist/heron/filters/Filter.js.map +0 -1
- package/dist/heron/filters/GlowFilter.d.ts +0 -34
- package/dist/heron/filters/GlowFilter.d.ts.map +0 -1
- package/dist/heron/filters/GlowFilter.js +0 -131
- package/dist/heron/filters/GlowFilter.js.map +0 -1
- package/dist/heron/filters/index.d.ts +0 -7
- package/dist/heron/filters/index.d.ts.map +0 -1
- package/dist/heron/filters/index.js +0 -7
- package/dist/heron/filters/index.js.map +0 -1
- package/dist/heron/geom/Matrix.d.ts +0 -51
- package/dist/heron/geom/Matrix.d.ts.map +0 -1
- package/dist/heron/geom/Matrix.js +0 -312
- package/dist/heron/geom/Matrix.js.map +0 -1
- package/dist/heron/geom/Point.d.ts +0 -24
- package/dist/heron/geom/Point.d.ts.map +0 -1
- package/dist/heron/geom/Point.js +0 -75
- package/dist/heron/geom/Point.js.map +0 -1
- package/dist/heron/geom/Rectangle.d.ts +0 -48
- package/dist/heron/geom/Rectangle.d.ts.map +0 -1
- package/dist/heron/geom/Rectangle.js +0 -176
- package/dist/heron/geom/Rectangle.js.map +0 -1
- package/dist/heron/geom/index.d.ts +0 -4
- package/dist/heron/geom/index.d.ts.map +0 -1
- package/dist/heron/geom/index.js +0 -4
- package/dist/heron/geom/index.js.map +0 -1
- package/dist/heron/localStorage/index.d.ts +0 -2
- package/dist/heron/localStorage/index.d.ts.map +0 -1
- package/dist/heron/localStorage/index.js +0 -2
- package/dist/heron/localStorage/index.js.map +0 -1
- package/dist/heron/localStorage/localStorage.d.ts +0 -5
- package/dist/heron/localStorage/localStorage.d.ts.map +0 -1
- package/dist/heron/localStorage/localStorage.js +0 -19
- package/dist/heron/localStorage/localStorage.js.map +0 -1
- package/dist/heron/media/Sound.d.ts +0 -26
- package/dist/heron/media/Sound.d.ts.map +0 -1
- package/dist/heron/media/Sound.js +0 -145
- package/dist/heron/media/Sound.js.map +0 -1
- package/dist/heron/media/SoundChannel.d.ts +0 -28
- package/dist/heron/media/SoundChannel.d.ts.map +0 -1
- package/dist/heron/media/SoundChannel.js +0 -117
- package/dist/heron/media/SoundChannel.js.map +0 -1
- package/dist/heron/media/Video.d.ts +0 -50
- package/dist/heron/media/Video.d.ts.map +0 -1
- package/dist/heron/media/Video.js +0 -249
- package/dist/heron/media/Video.js.map +0 -1
- package/dist/heron/media/index.d.ts +0 -4
- package/dist/heron/media/index.d.ts.map +0 -1
- package/dist/heron/media/index.js +0 -4
- package/dist/heron/media/index.js.map +0 -1
- package/dist/heron/net/HttpMethod.d.ts +0 -6
- package/dist/heron/net/HttpMethod.d.ts.map +0 -1
- package/dist/heron/net/HttpMethod.js +0 -5
- package/dist/heron/net/HttpMethod.js.map +0 -1
- package/dist/heron/net/HttpRequest.d.ts +0 -19
- package/dist/heron/net/HttpRequest.d.ts.map +0 -1
- package/dist/heron/net/HttpRequest.js +0 -63
- package/dist/heron/net/HttpRequest.js.map +0 -1
- package/dist/heron/net/HttpResponseType.d.ts +0 -6
- package/dist/heron/net/HttpResponseType.d.ts.map +0 -1
- package/dist/heron/net/HttpResponseType.js +0 -5
- package/dist/heron/net/HttpResponseType.js.map +0 -1
- package/dist/heron/net/ImageLoader.d.ts +0 -10
- package/dist/heron/net/ImageLoader.d.ts.map +0 -1
- package/dist/heron/net/ImageLoader.js +0 -32
- package/dist/heron/net/ImageLoader.js.map +0 -1
- package/dist/heron/net/index.d.ts +0 -7
- package/dist/heron/net/index.d.ts.map +0 -1
- package/dist/heron/net/index.js +0 -5
- package/dist/heron/net/index.js.map +0 -1
- package/dist/heron/player/CanvasRenderer.d.ts +0 -49
- package/dist/heron/player/CanvasRenderer.d.ts.map +0 -1
- package/dist/heron/player/CanvasRenderer.js +0 -767
- package/dist/heron/player/CanvasRenderer.js.map +0 -1
- package/dist/heron/player/DisplayList.d.ts +0 -32
- package/dist/heron/player/DisplayList.d.ts.map +0 -1
- package/dist/heron/player/DisplayList.js +0 -78
- package/dist/heron/player/DisplayList.js.map +0 -1
- package/dist/heron/player/HeronOptions.d.ts +0 -25
- package/dist/heron/player/HeronOptions.d.ts.map +0 -1
- package/dist/heron/player/HeronOptions.js +0 -2
- package/dist/heron/player/HeronOptions.js.map +0 -1
- package/dist/heron/player/InstructionSet.d.ts +0 -49
- package/dist/heron/player/InstructionSet.d.ts.map +0 -1
- package/dist/heron/player/InstructionSet.js +0 -45
- package/dist/heron/player/InstructionSet.js.map +0 -1
- package/dist/heron/player/Player.d.ts +0 -45
- package/dist/heron/player/Player.d.ts.map +0 -1
- package/dist/heron/player/Player.js +0 -149
- package/dist/heron/player/Player.js.map +0 -1
- package/dist/heron/player/RenderBuffer.d.ts +0 -35
- package/dist/heron/player/RenderBuffer.d.ts.map +0 -1
- package/dist/heron/player/RenderBuffer.js +0 -81
- package/dist/heron/player/RenderBuffer.js.map +0 -1
- package/dist/heron/player/RenderPipe.d.ts +0 -33
- package/dist/heron/player/RenderPipe.d.ts.map +0 -1
- package/dist/heron/player/RenderPipe.js +0 -2
- package/dist/heron/player/RenderPipe.js.map +0 -1
- package/dist/heron/player/ScreenAdapter.d.ts +0 -29
- package/dist/heron/player/ScreenAdapter.d.ts.map +0 -1
- package/dist/heron/player/ScreenAdapter.js +0 -127
- package/dist/heron/player/ScreenAdapter.js.map +0 -1
- package/dist/heron/player/SystemTicker.d.ts +0 -63
- package/dist/heron/player/SystemTicker.d.ts.map +0 -1
- package/dist/heron/player/SystemTicker.js +0 -207
- package/dist/heron/player/SystemTicker.js.map +0 -1
- package/dist/heron/player/TouchHandler.d.ts +0 -39
- package/dist/heron/player/TouchHandler.d.ts.map +0 -1
- package/dist/heron/player/TouchHandler.js +0 -149
- package/dist/heron/player/TouchHandler.js.map +0 -1
- package/dist/heron/player/createPlayer.d.ts +0 -35
- package/dist/heron/player/createPlayer.d.ts.map +0 -1
- package/dist/heron/player/createPlayer.js +0 -74
- package/dist/heron/player/createPlayer.js.map +0 -1
- package/dist/heron/player/index.d.ts +0 -13
- package/dist/heron/player/index.d.ts.map +0 -1
- package/dist/heron/player/index.js +0 -16
- package/dist/heron/player/index.js.map +0 -1
- package/dist/heron/player/pipes/BitmapPipe.d.ts +0 -35
- package/dist/heron/player/pipes/BitmapPipe.d.ts.map +0 -1
- package/dist/heron/player/pipes/BitmapPipe.js +0 -130
- package/dist/heron/player/pipes/BitmapPipe.js.map +0 -1
- package/dist/heron/player/pipes/FilterPipe.d.ts +0 -68
- package/dist/heron/player/pipes/FilterPipe.d.ts.map +0 -1
- package/dist/heron/player/pipes/FilterPipe.js +0 -157
- package/dist/heron/player/pipes/FilterPipe.js.map +0 -1
- package/dist/heron/player/pipes/GraphicsPipe.d.ts +0 -36
- package/dist/heron/player/pipes/GraphicsPipe.d.ts.map +0 -1
- package/dist/heron/player/pipes/GraphicsPipe.js +0 -126
- package/dist/heron/player/pipes/GraphicsPipe.js.map +0 -1
- package/dist/heron/player/pipes/MaskPipe.d.ts +0 -58
- package/dist/heron/player/pipes/MaskPipe.d.ts.map +0 -1
- package/dist/heron/player/pipes/MaskPipe.js +0 -185
- package/dist/heron/player/pipes/MaskPipe.js.map +0 -1
- package/dist/heron/player/pipes/MeshPipe.d.ts +0 -22
- package/dist/heron/player/pipes/MeshPipe.d.ts.map +0 -1
- package/dist/heron/player/pipes/MeshPipe.js +0 -50
- package/dist/heron/player/pipes/MeshPipe.js.map +0 -1
- package/dist/heron/player/pipes/TextPipe.d.ts +0 -52
- package/dist/heron/player/pipes/TextPipe.d.ts.map +0 -1
- package/dist/heron/player/pipes/TextPipe.js +0 -163
- package/dist/heron/player/pipes/TextPipe.js.map +0 -1
- package/dist/heron/player/webgl/MultiTextureBatcher.d.ts +0 -37
- package/dist/heron/player/webgl/MultiTextureBatcher.d.ts.map +0 -1
- package/dist/heron/player/webgl/MultiTextureBatcher.js +0 -63
- package/dist/heron/player/webgl/MultiTextureBatcher.js.map +0 -1
- package/dist/heron/player/webgl/ShaderLib.d.ts +0 -34
- package/dist/heron/player/webgl/ShaderLib.d.ts.map +0 -1
- package/dist/heron/player/webgl/ShaderLib.js +0 -268
- package/dist/heron/player/webgl/ShaderLib.js.map +0 -1
- package/dist/heron/player/webgl/WebGLDrawCmdManager.d.ts +0 -58
- package/dist/heron/player/webgl/WebGLDrawCmdManager.d.ts.map +0 -1
- package/dist/heron/player/webgl/WebGLDrawCmdManager.js +0 -197
- package/dist/heron/player/webgl/WebGLDrawCmdManager.js.map +0 -1
- package/dist/heron/player/webgl/WebGLProgram.d.ts +0 -14
- package/dist/heron/player/webgl/WebGLProgram.d.ts.map +0 -1
- package/dist/heron/player/webgl/WebGLProgram.js +0 -32
- package/dist/heron/player/webgl/WebGLProgram.js.map +0 -1
- package/dist/heron/player/webgl/WebGLRenderBuffer.d.ts +0 -52
- package/dist/heron/player/webgl/WebGLRenderBuffer.d.ts.map +0 -1
- package/dist/heron/player/webgl/WebGLRenderBuffer.js +0 -227
- package/dist/heron/player/webgl/WebGLRenderBuffer.js.map +0 -1
- package/dist/heron/player/webgl/WebGLRenderContext.d.ts +0 -114
- package/dist/heron/player/webgl/WebGLRenderContext.d.ts.map +0 -1
- package/dist/heron/player/webgl/WebGLRenderContext.js +0 -852
- package/dist/heron/player/webgl/WebGLRenderContext.js.map +0 -1
- package/dist/heron/player/webgl/WebGLRenderTarget.d.ts +0 -19
- package/dist/heron/player/webgl/WebGLRenderTarget.d.ts.map +0 -1
- package/dist/heron/player/webgl/WebGLRenderTarget.js +0 -90
- package/dist/heron/player/webgl/WebGLRenderTarget.js.map +0 -1
- package/dist/heron/player/webgl/WebGLRenderer.d.ts +0 -91
- package/dist/heron/player/webgl/WebGLRenderer.d.ts.map +0 -1
- package/dist/heron/player/webgl/WebGLRenderer.js +0 -721
- package/dist/heron/player/webgl/WebGLRenderer.js.map +0 -1
- package/dist/heron/player/webgl/WebGLUtils.d.ts +0 -11
- package/dist/heron/player/webgl/WebGLUtils.d.ts.map +0 -1
- package/dist/heron/player/webgl/WebGLUtils.js +0 -57
- package/dist/heron/player/webgl/WebGLUtils.js.map +0 -1
- package/dist/heron/player/webgl/WebGLVertexArrayObject.d.ts +0 -39
- package/dist/heron/player/webgl/WebGLVertexArrayObject.d.ts.map +0 -1
- package/dist/heron/player/webgl/WebGLVertexArrayObject.js +0 -367
- package/dist/heron/player/webgl/WebGLVertexArrayObject.js.map +0 -1
- package/dist/heron/player/webgl/index.d.ts +0 -11
- package/dist/heron/player/webgl/index.d.ts.map +0 -1
- package/dist/heron/player/webgl/index.js +0 -11
- package/dist/heron/player/webgl/index.js.map +0 -1
- package/dist/heron/system/Capabilities.d.ts +0 -46
- package/dist/heron/system/Capabilities.d.ts.map +0 -1
- package/dist/heron/system/Capabilities.js +0 -100
- package/dist/heron/system/Capabilities.js.map +0 -1
- package/dist/heron/system/index.d.ts +0 -2
- package/dist/heron/system/index.d.ts.map +0 -1
- package/dist/heron/system/index.js +0 -2
- package/dist/heron/system/index.js.map +0 -1
- package/dist/heron/text/BitmapFont.d.ts +0 -31
- package/dist/heron/text/BitmapFont.d.ts.map +0 -1
- package/dist/heron/text/BitmapFont.js +0 -86
- package/dist/heron/text/BitmapFont.js.map +0 -1
- package/dist/heron/text/BitmapText.d.ts +0 -56
- package/dist/heron/text/BitmapText.d.ts.map +0 -1
- package/dist/heron/text/BitmapText.js +0 -230
- package/dist/heron/text/BitmapText.js.map +0 -1
- package/dist/heron/text/HtmlTextParser.d.ts +0 -14
- package/dist/heron/text/HtmlTextParser.d.ts.map +0 -1
- package/dist/heron/text/HtmlTextParser.js +0 -147
- package/dist/heron/text/HtmlTextParser.js.map +0 -1
- package/dist/heron/text/InputController.d.ts +0 -29
- package/dist/heron/text/InputController.d.ts.map +0 -1
- package/dist/heron/text/InputController.js +0 -131
- package/dist/heron/text/InputController.js.map +0 -1
- package/dist/heron/text/StageText.d.ts +0 -53
- package/dist/heron/text/StageText.d.ts.map +0 -1
- package/dist/heron/text/StageText.js +0 -392
- package/dist/heron/text/StageText.js.map +0 -1
- package/dist/heron/text/TextField.d.ts +0 -145
- package/dist/heron/text/TextField.d.ts.map +0 -1
- package/dist/heron/text/TextField.js +0 -716
- package/dist/heron/text/TextField.js.map +0 -1
- package/dist/heron/text/TextMeasurer.d.ts +0 -9
- package/dist/heron/text/TextMeasurer.d.ts.map +0 -1
- package/dist/heron/text/TextMeasurer.js +0 -36
- package/dist/heron/text/TextMeasurer.js.map +0 -1
- package/dist/heron/text/WordWrap.d.ts +0 -15
- package/dist/heron/text/WordWrap.d.ts.map +0 -1
- package/dist/heron/text/WordWrap.js +0 -50
- package/dist/heron/text/WordWrap.js.map +0 -1
- package/dist/heron/text/enums/HorizontalAlign.d.ts +0 -9
- package/dist/heron/text/enums/HorizontalAlign.d.ts.map +0 -1
- package/dist/heron/text/enums/HorizontalAlign.js +0 -8
- package/dist/heron/text/enums/HorizontalAlign.js.map +0 -1
- package/dist/heron/text/enums/TextFieldInputType.d.ts +0 -7
- package/dist/heron/text/enums/TextFieldInputType.d.ts.map +0 -1
- package/dist/heron/text/enums/TextFieldInputType.js +0 -6
- package/dist/heron/text/enums/TextFieldInputType.js.map +0 -1
- package/dist/heron/text/enums/TextFieldType.d.ts +0 -6
- package/dist/heron/text/enums/TextFieldType.d.ts.map +0 -1
- package/dist/heron/text/enums/TextFieldType.js +0 -5
- package/dist/heron/text/enums/TextFieldType.js.map +0 -1
- package/dist/heron/text/enums/VerticalAlign.d.ts +0 -9
- package/dist/heron/text/enums/VerticalAlign.d.ts.map +0 -1
- package/dist/heron/text/enums/VerticalAlign.js +0 -8
- package/dist/heron/text/enums/VerticalAlign.js.map +0 -1
- package/dist/heron/text/enums/index.d.ts +0 -5
- package/dist/heron/text/enums/index.d.ts.map +0 -1
- package/dist/heron/text/enums/index.js +0 -5
- package/dist/heron/text/enums/index.js.map +0 -1
- package/dist/heron/text/index.d.ts +0 -14
- package/dist/heron/text/index.d.ts.map +0 -1
- package/dist/heron/text/index.js +0 -13
- package/dist/heron/text/index.js.map +0 -1
- package/dist/heron/text/types/ITextElement.d.ts +0 -31
- package/dist/heron/text/types/ITextElement.d.ts.map +0 -1
- package/dist/heron/text/types/ITextElement.js +0 -2
- package/dist/heron/text/types/ITextElement.js.map +0 -1
- package/dist/heron/text/types/index.d.ts +0 -2
- package/dist/heron/text/types/index.d.ts.map +0 -1
- package/dist/heron/text/types/index.js +0 -2
- package/dist/heron/text/types/index.js.map +0 -1
- package/dist/heron/utils/Base64Util.d.ts +0 -5
- package/dist/heron/utils/Base64Util.d.ts.map +0 -1
- package/dist/heron/utils/Base64Util.js +0 -45
- package/dist/heron/utils/Base64Util.js.map +0 -1
- package/dist/heron/utils/ByteArray.d.ts +0 -66
- package/dist/heron/utils/ByteArray.d.ts.map +0 -1
- package/dist/heron/utils/ByteArray.js +0 -303
- package/dist/heron/utils/ByteArray.js.map +0 -1
- package/dist/heron/utils/DebugLog.d.ts +0 -9
- package/dist/heron/utils/DebugLog.d.ts.map +0 -1
- package/dist/heron/utils/DebugLog.js +0 -25
- package/dist/heron/utils/DebugLog.js.map +0 -1
- package/dist/heron/utils/FontManager.d.ts +0 -11
- package/dist/heron/utils/FontManager.d.ts.map +0 -1
- package/dist/heron/utils/FontManager.js +0 -39
- package/dist/heron/utils/FontManager.js.map +0 -1
- package/dist/heron/utils/HashObject.d.ts +0 -9
- package/dist/heron/utils/HashObject.d.ts.map +0 -1
- package/dist/heron/utils/HashObject.js +0 -11
- package/dist/heron/utils/HashObject.js.map +0 -1
- package/dist/heron/utils/Logger.d.ts +0 -16
- package/dist/heron/utils/Logger.d.ts.map +0 -1
- package/dist/heron/utils/Logger.js +0 -26
- package/dist/heron/utils/Logger.js.map +0 -1
- package/dist/heron/utils/NumberUtils.d.ts +0 -15
- package/dist/heron/utils/NumberUtils.d.ts.map +0 -1
- package/dist/heron/utils/NumberUtils.js +0 -60
- package/dist/heron/utils/NumberUtils.js.map +0 -1
- package/dist/heron/utils/Timer.d.ts +0 -22
- package/dist/heron/utils/Timer.d.ts.map +0 -1
- package/dist/heron/utils/Timer.js +0 -67
- package/dist/heron/utils/Timer.js.map +0 -1
- package/dist/heron/utils/index.d.ts +0 -11
- package/dist/heron/utils/index.d.ts.map +0 -1
- package/dist/heron/utils/index.js +0 -10
- package/dist/heron/utils/index.js.map +0 -1
- package/dist/heron/utils/toColorString.d.ts +0 -2
- package/dist/heron/utils/toColorString.d.ts.map +0 -1
- package/dist/heron/utils/toColorString.js +0 -5
- package/dist/heron/utils/toColorString.js.map +0 -1
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import type { DisplayObject } from '../../display/DisplayObject.js';
|
|
2
|
-
import type { Filter } from '../../filters/Filter.js';
|
|
3
|
-
import type { WebGLRenderBuffer } from '../webgl/WebGLRenderBuffer.js';
|
|
4
|
-
import type { Instruction } from '../InstructionSet.js';
|
|
5
|
-
import type { InstructionSet } from '../InstructionSet.js';
|
|
6
|
-
import type { RenderPipe } from '../RenderPipe.js';
|
|
7
|
-
/** Marks the start of a filtered subtree. */
|
|
8
|
-
export interface FilterPushInstruction extends Instruction {
|
|
9
|
-
readonly renderPipeId: 'filterPush';
|
|
10
|
-
renderable: DisplayObject;
|
|
11
|
-
filters: Filter[];
|
|
12
|
-
offsetX: number;
|
|
13
|
-
offsetY: number;
|
|
14
|
-
/**
|
|
15
|
-
* The blend mode that was active before this filter changed it.
|
|
16
|
-
* Set during executePush() so executePop() can restore it.
|
|
17
|
-
*/
|
|
18
|
-
savedBlendMode: string;
|
|
19
|
-
}
|
|
20
|
-
/** Marks the end of a filtered subtree — composites the offscreen result. */
|
|
21
|
-
export interface FilterPopInstruction extends Instruction {
|
|
22
|
-
readonly renderPipeId: 'filterPop';
|
|
23
|
-
renderable: DisplayObject;
|
|
24
|
-
/** Back-reference to the matching push instruction. */
|
|
25
|
-
push: FilterPushInstruction;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Handles filter rendering for WebGL.
|
|
29
|
-
*
|
|
30
|
-
* The renderer calls pushFilter() before traversing the filtered subtree and
|
|
31
|
-
* popFilter() after. The pop instruction composites the offscreen buffer back
|
|
32
|
-
* onto the main buffer with the filter applied.
|
|
33
|
-
*
|
|
34
|
-
* This mirrors the old WebGLRenderer._drawWithFilter() logic but expressed as
|
|
35
|
-
* a pair of instructions so the traversal and execution phases are separated.
|
|
36
|
-
*/
|
|
37
|
-
export declare class FilterPipe implements RenderPipe<DisplayObject> {
|
|
38
|
-
static readonly PUSH_ID = "filterPush";
|
|
39
|
-
static readonly POP_ID = "filterPop";
|
|
40
|
-
private static readonly _pushPool;
|
|
41
|
-
private static readonly _popPool;
|
|
42
|
-
addToInstructionSet(_renderable: DisplayObject, _set: InstructionSet): void;
|
|
43
|
-
updateRenderable(_renderable: DisplayObject): void;
|
|
44
|
-
static makePush(renderable: DisplayObject, filters: Filter[], offsetX: number, offsetY: number): FilterPushInstruction;
|
|
45
|
-
static makePop(renderable: DisplayObject, push: FilterPushInstruction): FilterPopInstruction;
|
|
46
|
-
static releasePush(inst: FilterPushInstruction): void;
|
|
47
|
-
static releasePop(inst: FilterPopInstruction): void;
|
|
48
|
-
/**
|
|
49
|
-
* Called by the renderer when it encounters a filterPush instruction.
|
|
50
|
-
*
|
|
51
|
-
* Two paths:
|
|
52
|
-
* - ColorMatrix inline: sets activeFilter on the main buffer, returns undefined.
|
|
53
|
-
* Subsequent leaf instructions draw directly to the main buffer with the
|
|
54
|
-
* filter applied per-draw-call.
|
|
55
|
-
* - All other filters: allocates an offscreen buffer and activates it via
|
|
56
|
-
* pushBuffer so that ALL subsequent draw calls (until filterPop) land in
|
|
57
|
-
* the offscreen buffer, not the main buffer.
|
|
58
|
-
*
|
|
59
|
-
* Returns the offscreen buffer (or undefined for inline path).
|
|
60
|
-
*/
|
|
61
|
-
executePush(inst: FilterPushInstruction, buffer: WebGLRenderBuffer): WebGLRenderBuffer | undefined;
|
|
62
|
-
/**
|
|
63
|
-
* Called by the renderer when it encounters a filterPop instruction.
|
|
64
|
-
* Deactivates the offscreen buffer and composites it back onto the main buffer.
|
|
65
|
-
*/
|
|
66
|
-
executePop(inst: FilterPopInstruction, buffer: WebGLRenderBuffer, offscreen: WebGLRenderBuffer | undefined): void;
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=FilterPipe.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPipe.d.ts","sourceRoot":"","sources":["../../../../src/blakron/player/pipes/FilterPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,6CAA6C;AAC7C,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACzD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,6EAA6E;AAC7E,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACxD,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC;IACnC,UAAU,EAAE,aAAa,CAAC;IAC1B,uDAAuD;IACvD,IAAI,EAAE,qBAAqB,CAAC;CAC5B;AAUD;;;;;;;;;GASG;AACH,qBAAa,UAAW,YAAW,UAAU,CAAC,aAAa,CAAC;IAE3D,gBAAuB,OAAO,gBAAgB;IAC9C,gBAAuB,MAAM,eAAe;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAA+B;IAChE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IAIvD,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAK3E,gBAAgB,CAAC,WAAW,EAAE,aAAa,GAAG,IAAI;WAI3C,QAAQ,CACrB,UAAU,EAAE,aAAa,EACzB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GACb,qBAAqB;WAaV,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,qBAAqB,GAAG,oBAAoB;WAUrF,WAAW,CAAC,IAAI,EAAE,qBAAqB,GAAG,IAAI;WAI9C,UAAU,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI;IAM1D;;;;;;;;;;;;OAYG;IACI,WAAW,CAAC,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS;IAuDzG;;;OAGG;IACI,UAAU,CAChB,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,iBAAiB,GAAG,SAAS,GACtC,IAAI;CA6CP"}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { ColorMatrixFilter } from '../../filters/ColorMatrixFilter.js';
|
|
2
|
-
import { WebGLRenderBuffer as WGLBuf } from '../webgl/WebGLRenderBuffer.js';
|
|
3
|
-
// ── Pipe ──────────────────────────────────────────────────────────────────────
|
|
4
|
-
const BLEND_MODES = {
|
|
5
|
-
0: 'source-over',
|
|
6
|
-
1: 'lighter',
|
|
7
|
-
2: 'destination-out',
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Handles filter rendering for WebGL.
|
|
11
|
-
*
|
|
12
|
-
* The renderer calls pushFilter() before traversing the filtered subtree and
|
|
13
|
-
* popFilter() after. The pop instruction composites the offscreen buffer back
|
|
14
|
-
* onto the main buffer with the filter applied.
|
|
15
|
-
*
|
|
16
|
-
* This mirrors the old WebGLRenderer._drawWithFilter() logic but expressed as
|
|
17
|
-
* a pair of instructions so the traversal and execution phases are separated.
|
|
18
|
-
*/
|
|
19
|
-
export class FilterPipe {
|
|
20
|
-
// ── Static fields ─────────────────────────────────────────────────────────
|
|
21
|
-
static PUSH_ID = 'filterPush';
|
|
22
|
-
static POP_ID = 'filterPop';
|
|
23
|
-
static _pushPool = [];
|
|
24
|
-
static _popPool = [];
|
|
25
|
-
// ── RenderPipe impl ───────────────────────────────────────────────────────
|
|
26
|
-
addToInstructionSet(_renderable, _set) {
|
|
27
|
-
// FilterPipe instructions are added by the renderer's traversal logic,
|
|
28
|
-
// not by this method — see WebGLRenderer._buildInstructions().
|
|
29
|
-
}
|
|
30
|
-
updateRenderable(_renderable) { }
|
|
31
|
-
// ── Factory helpers used by the renderer ─────────────────────────────────
|
|
32
|
-
static makePush(renderable, filters, offsetX, offsetY) {
|
|
33
|
-
const inst = FilterPipe._pushPool.pop();
|
|
34
|
-
if (inst) {
|
|
35
|
-
inst.renderable = renderable;
|
|
36
|
-
inst.filters = filters;
|
|
37
|
-
inst.offsetX = offsetX;
|
|
38
|
-
inst.offsetY = offsetY;
|
|
39
|
-
inst.savedBlendMode = 'source-over';
|
|
40
|
-
return inst;
|
|
41
|
-
}
|
|
42
|
-
return { renderPipeId: 'filterPush', renderable, filters, offsetX, offsetY, savedBlendMode: 'source-over' };
|
|
43
|
-
}
|
|
44
|
-
static makePop(renderable, push) {
|
|
45
|
-
const inst = FilterPipe._popPool.pop();
|
|
46
|
-
if (inst) {
|
|
47
|
-
inst.renderable = renderable;
|
|
48
|
-
inst.push = push;
|
|
49
|
-
return inst;
|
|
50
|
-
}
|
|
51
|
-
return { renderPipeId: 'filterPop', renderable, push };
|
|
52
|
-
}
|
|
53
|
-
static releasePush(inst) {
|
|
54
|
-
FilterPipe._pushPool.push(inst);
|
|
55
|
-
}
|
|
56
|
-
static releasePop(inst) {
|
|
57
|
-
FilterPipe._popPool.push(inst);
|
|
58
|
-
}
|
|
59
|
-
// ── Execute ───────────────────────────────────────────────────────────────
|
|
60
|
-
/**
|
|
61
|
-
* Called by the renderer when it encounters a filterPush instruction.
|
|
62
|
-
*
|
|
63
|
-
* Two paths:
|
|
64
|
-
* - ColorMatrix inline: sets activeFilter on the main buffer, returns undefined.
|
|
65
|
-
* Subsequent leaf instructions draw directly to the main buffer with the
|
|
66
|
-
* filter applied per-draw-call.
|
|
67
|
-
* - All other filters: allocates an offscreen buffer and activates it via
|
|
68
|
-
* pushBuffer so that ALL subsequent draw calls (until filterPop) land in
|
|
69
|
-
* the offscreen buffer, not the main buffer.
|
|
70
|
-
*
|
|
71
|
-
* Returns the offscreen buffer (or undefined for inline path).
|
|
72
|
-
*/
|
|
73
|
-
executePush(inst, buffer) {
|
|
74
|
-
const filters = inst.filters;
|
|
75
|
-
if (!filters.length)
|
|
76
|
-
return undefined;
|
|
77
|
-
const bounds = inst.renderable.getOriginalBounds();
|
|
78
|
-
if (bounds.width <= 0 || bounds.height <= 0)
|
|
79
|
-
return undefined;
|
|
80
|
-
// Inline ColorMatrix optimisation: no offscreen buffer needed.
|
|
81
|
-
// Flush any pending commands first, then re-activate the current buffer
|
|
82
|
-
// so the GL FBO + viewport/projection are in a known-good state before
|
|
83
|
-
// the leaf draw commands are queued. Without this, the colorTransform
|
|
84
|
-
// draw may execute against a stale FBO left by a previous filter pass.
|
|
85
|
-
if (!inst.renderable.internalMask && filters.length === 1 && filters[0] instanceof ColorMatrixFilter) {
|
|
86
|
-
const hasBlend = inst.renderable.internalBlendMode !== 0;
|
|
87
|
-
if (hasBlend) {
|
|
88
|
-
inst.savedBlendMode = buffer.context.currentBlendMode;
|
|
89
|
-
buffer.context.setGlobalCompositeOperation(BLEND_MODES[inst.renderable.internalBlendMode] ?? 'source-over');
|
|
90
|
-
}
|
|
91
|
-
// Flush pending batched commands so the GL state is clean, then
|
|
92
|
-
// re-push the current buffer to guarantee an ACT_BUFFER command
|
|
93
|
-
// precedes the upcoming leaf draw in the next flush.
|
|
94
|
-
buffer.context.flush();
|
|
95
|
-
buffer.context.pushBuffer(buffer);
|
|
96
|
-
buffer.context.activeFilter = filters[0];
|
|
97
|
-
return undefined; // signal: inline mode, no offscreen
|
|
98
|
-
}
|
|
99
|
-
// Offscreen path: redirect all subsequent draw calls into this buffer.
|
|
100
|
-
// Expand the buffer by the union of all filters' padding so blur/glow
|
|
101
|
-
// has room to bleed outside the content bounds.
|
|
102
|
-
let padL = 0, padR = 0, padT = 0, padB = 0;
|
|
103
|
-
for (const f of filters) {
|
|
104
|
-
const p = f.getPadding();
|
|
105
|
-
if (p.left > padL)
|
|
106
|
-
padL = p.left;
|
|
107
|
-
if (p.right > padR)
|
|
108
|
-
padR = p.right;
|
|
109
|
-
if (p.top > padT)
|
|
110
|
-
padT = p.top;
|
|
111
|
-
if (p.bottom > padB)
|
|
112
|
-
padB = p.bottom;
|
|
113
|
-
}
|
|
114
|
-
const offW = Math.ceil(bounds.width + padL + padR);
|
|
115
|
-
const offH = Math.ceil(bounds.height + padT + padB);
|
|
116
|
-
const offscreen = WGLBuf.create(buffer.context, offW, offH);
|
|
117
|
-
// Store padding offsets so the renderer can adjust the offscreen origin.
|
|
118
|
-
offscreen.filterPadX = padL;
|
|
119
|
-
offscreen.filterPadY = padT;
|
|
120
|
-
// pushBuffer activates the offscreen FBO so WebGL draws land there.
|
|
121
|
-
offscreen.context.pushBuffer(offscreen);
|
|
122
|
-
return offscreen;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Called by the renderer when it encounters a filterPop instruction.
|
|
126
|
-
* Deactivates the offscreen buffer and composites it back onto the main buffer.
|
|
127
|
-
*/
|
|
128
|
-
executePop(inst, buffer, offscreen) {
|
|
129
|
-
const { renderable, push } = inst;
|
|
130
|
-
const filters = push.filters;
|
|
131
|
-
const hasBlend = renderable.internalBlendMode !== 0;
|
|
132
|
-
const blendOp = BLEND_MODES[renderable.internalBlendMode] ?? 'source-over';
|
|
133
|
-
// Inline ColorMatrix path — clear the filter flag and pop the buffer
|
|
134
|
-
// that was pushed in executePush to balance the stack.
|
|
135
|
-
if (!offscreen) {
|
|
136
|
-
buffer.context.flush();
|
|
137
|
-
buffer.context.popBuffer();
|
|
138
|
-
buffer.context.activeFilter = undefined;
|
|
139
|
-
if (hasBlend)
|
|
140
|
-
buffer.context.setGlobalCompositeOperation(push.savedBlendMode);
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
// Deactivate the offscreen buffer, restoring the main buffer as active.
|
|
144
|
-
offscreen.context.popBuffer();
|
|
145
|
-
const bounds = renderable.getOriginalBounds();
|
|
146
|
-
const bx = bounds.x;
|
|
147
|
-
const by = bounds.y;
|
|
148
|
-
// Save the current blend mode before applying the filter's blend mode,
|
|
149
|
-
// so we can restore it after compositing.
|
|
150
|
-
const prevBlend = buffer.context.currentBlendMode;
|
|
151
|
-
if (hasBlend)
|
|
152
|
-
buffer.context.setGlobalCompositeOperation(blendOp);
|
|
153
|
-
// Position the offscreen result.
|
|
154
|
-
// The offscreen texture's top-left is (padL, padT) above/left of
|
|
155
|
-
// the content bounds origin, so we offset by (bx - padL, by - padT).
|
|
156
|
-
const padX = offscreen.filterPadX;
|
|
157
|
-
const padY = offscreen.filterPadY;
|
|
158
|
-
buffer.offsetX = bx - padX;
|
|
159
|
-
buffer.offsetY = by - padY;
|
|
160
|
-
buffer.saveTransform();
|
|
161
|
-
buffer.useOffset();
|
|
162
|
-
buffer.context.compositeFilterResult(filters, offscreen);
|
|
163
|
-
buffer.restoreTransform();
|
|
164
|
-
if (hasBlend)
|
|
165
|
-
buffer.context.setGlobalCompositeOperation(prevBlend);
|
|
166
|
-
WGLBuf.release(offscreen);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
//# sourceMappingURL=FilterPipe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterPipe.js","sourceRoot":"","sources":["../../../../src/blakron/player/pipes/FilterPipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { Graphics } from '../../display/Graphics.js';
|
|
2
|
-
import type { DisplayObject } from '../../display/DisplayObject.js';
|
|
3
|
-
import type { WebGLRenderBuffer } from '../webgl/WebGLRenderBuffer.js';
|
|
4
|
-
import type { Instruction } from '../InstructionSet.js';
|
|
5
|
-
import type { InstructionSet } from '../InstructionSet.js';
|
|
6
|
-
import type { RenderPipe } from '../RenderPipe.js';
|
|
7
|
-
import type { CanvasRenderer } from '../CanvasRenderer.js';
|
|
8
|
-
export interface GraphicsInstruction extends Instruction {
|
|
9
|
-
readonly renderPipeId: 'graphics';
|
|
10
|
-
renderable: DisplayObject;
|
|
11
|
-
/** The Graphics object attached to the renderable. */
|
|
12
|
-
graphics: Graphics;
|
|
13
|
-
offsetX: number;
|
|
14
|
-
offsetY: number;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Handles WebGL rendering of Shape / Sprite graphics.
|
|
18
|
-
*
|
|
19
|
-
* Rasterizes the Graphics commands to an offscreen Canvas, uploads as a
|
|
20
|
-
* WebGL texture, and caches it. The cache is invalidated when
|
|
21
|
-
* `graphics.canvasCacheDirty` is true (set by Graphics.dirty()).
|
|
22
|
-
*/
|
|
23
|
-
export declare class GraphicsPipe implements RenderPipe<DisplayObject> {
|
|
24
|
-
static readonly PIPE_ID = "graphics";
|
|
25
|
-
private static readonly _pool;
|
|
26
|
-
private readonly _canvasRenderer;
|
|
27
|
-
private readonly _cache;
|
|
28
|
-
constructor(canvasRenderer: CanvasRenderer);
|
|
29
|
-
private static _alloc;
|
|
30
|
-
static release(inst: GraphicsInstruction): void;
|
|
31
|
-
addToInstructionSet(renderable: DisplayObject, set: InstructionSet): void;
|
|
32
|
-
updateRenderable(_renderable: DisplayObject): void;
|
|
33
|
-
destroyRenderable(renderable: DisplayObject): void;
|
|
34
|
-
execute(inst: GraphicsInstruction, buffer: WebGLRenderBuffer): void;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=GraphicsPipe.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GraphicsPipe.d.ts","sourceRoot":"","sources":["../../../../src/blakron/player/pipes/GraphicsPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAQ3D,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACvD,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,UAAU,EAAE,aAAa,CAAC;IAC1B,sDAAsD;IACtD,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAChB;AAgBD;;;;;;GAMG;AACH,qBAAa,YAAa,YAAW,UAAU,CAAC,aAAa,CAAC;IAE7D,gBAAuB,OAAO,cAAc;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAG1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;gBAG9C,cAAc,EAAE,cAAc;IAIjD,OAAO,CAAC,MAAM,CAAC,MAAM;WAeP,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAM/C,mBAAmB,CAAC,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI;IAQzE,gBAAgB,CAAC,WAAW,EAAE,aAAa,GAAG,IAAI;IAKlD,iBAAiB,CAAC,UAAU,EAAE,aAAa,GAAG,IAAI;IAOlD,OAAO,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;CAiF1E"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { Rectangle } from '../../geom/Rectangle.js';
|
|
2
|
-
import { RenderBuffer } from '../RenderBuffer.js';
|
|
3
|
-
// Shared scratch rectangle — avoids per-execute allocation.
|
|
4
|
-
const _scratchBounds = new Rectangle();
|
|
5
|
-
// ── Pipe ──────────────────────────────────────────────────────────────────────
|
|
6
|
-
/**
|
|
7
|
-
* Handles WebGL rendering of Shape / Sprite graphics.
|
|
8
|
-
*
|
|
9
|
-
* Rasterizes the Graphics commands to an offscreen Canvas, uploads as a
|
|
10
|
-
* WebGL texture, and caches it. The cache is invalidated when
|
|
11
|
-
* `graphics.canvasCacheDirty` is true (set by Graphics.dirty()).
|
|
12
|
-
*/
|
|
13
|
-
export class GraphicsPipe {
|
|
14
|
-
// ── Static fields ─────────────────────────────────────────────────────────
|
|
15
|
-
static PIPE_ID = 'graphics';
|
|
16
|
-
static _pool = [];
|
|
17
|
-
// ── Instance fields ───────────────────────────────────────────────────────
|
|
18
|
-
_canvasRenderer;
|
|
19
|
-
_cache = new WeakMap();
|
|
20
|
-
// ── Constructor ───────────────────────────────────────────────────────────
|
|
21
|
-
constructor(canvasRenderer) {
|
|
22
|
-
this._canvasRenderer = canvasRenderer;
|
|
23
|
-
}
|
|
24
|
-
static _alloc(renderable, graphics, ox, oy) {
|
|
25
|
-
const inst = GraphicsPipe._pool.pop() ?? {
|
|
26
|
-
renderPipeId: 'graphics',
|
|
27
|
-
renderable,
|
|
28
|
-
graphics,
|
|
29
|
-
offsetX: ox,
|
|
30
|
-
offsetY: oy,
|
|
31
|
-
};
|
|
32
|
-
inst.renderable = renderable;
|
|
33
|
-
inst.graphics = graphics;
|
|
34
|
-
inst.offsetX = ox;
|
|
35
|
-
inst.offsetY = oy;
|
|
36
|
-
return inst;
|
|
37
|
-
}
|
|
38
|
-
static release(inst) {
|
|
39
|
-
GraphicsPipe._pool.push(inst);
|
|
40
|
-
}
|
|
41
|
-
// ── RenderPipe impl ───────────────────────────────────────────────────────
|
|
42
|
-
addToInstructionSet(renderable, set) {
|
|
43
|
-
const graphics = renderable.graphics;
|
|
44
|
-
if (!graphics || graphics.commands.length === 0) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
set.add(GraphicsPipe._alloc(renderable, graphics, 0, 0));
|
|
48
|
-
}
|
|
49
|
-
updateRenderable(_renderable) {
|
|
50
|
-
// Cache invalidation is driven by graphics.canvasCacheDirty,
|
|
51
|
-
// which is checked at execute time — nothing to pre-upload here.
|
|
52
|
-
}
|
|
53
|
-
destroyRenderable(renderable) {
|
|
54
|
-
const graphics = renderable.graphics;
|
|
55
|
-
if (graphics)
|
|
56
|
-
this._cache.delete(graphics);
|
|
57
|
-
}
|
|
58
|
-
// ── Execute ───────────────────────────────────────────────────────────────
|
|
59
|
-
execute(inst, buffer) {
|
|
60
|
-
const { graphics } = inst;
|
|
61
|
-
if (graphics.commands.length === 0) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
const bounds = _scratchBounds;
|
|
65
|
-
bounds.setEmpty();
|
|
66
|
-
graphics.measureContentBounds(bounds);
|
|
67
|
-
const w = Math.ceil(bounds.width);
|
|
68
|
-
const h = Math.ceil(bounds.height);
|
|
69
|
-
if (w <= 0 || h <= 0) {
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
const ox = inst.offsetX;
|
|
73
|
-
const oy = inst.offsetY;
|
|
74
|
-
buffer.offsetX = 0;
|
|
75
|
-
buffer.offsetY = 0;
|
|
76
|
-
// ── Cache lookup / rebuild ────────────────────────────────────────────
|
|
77
|
-
let cache = this._cache.get(graphics);
|
|
78
|
-
if (!cache) {
|
|
79
|
-
cache = {
|
|
80
|
-
renderBuffer: new RenderBuffer(w, h),
|
|
81
|
-
texture: undefined,
|
|
82
|
-
textureWidth: 0,
|
|
83
|
-
textureHeight: 0,
|
|
84
|
-
boundsX: bounds.x,
|
|
85
|
-
boundsY: bounds.y,
|
|
86
|
-
};
|
|
87
|
-
this._cache.set(graphics, cache);
|
|
88
|
-
}
|
|
89
|
-
const needsRebuild = graphics.canvasCacheDirty || cache.textureWidth !== w || cache.textureHeight !== h;
|
|
90
|
-
if (needsRebuild) {
|
|
91
|
-
if (cache.renderBuffer.width !== w || cache.renderBuffer.height !== h) {
|
|
92
|
-
cache.renderBuffer.resize(w, h);
|
|
93
|
-
}
|
|
94
|
-
cache.renderBuffer.clear();
|
|
95
|
-
// skipCache=true: we are the cache owner, bypass CanvasRenderer's own
|
|
96
|
-
// offscreen canvas layer to avoid a redundant intermediate rasterization.
|
|
97
|
-
this._canvasRenderer.renderGraphicsToContext(graphics, cache.renderBuffer.context, -bounds.x, -bounds.y, false, true);
|
|
98
|
-
const surface = cache.renderBuffer.surface;
|
|
99
|
-
if (!cache.texture) {
|
|
100
|
-
cache.texture = buffer.context.createTexture(surface);
|
|
101
|
-
}
|
|
102
|
-
else {
|
|
103
|
-
buffer.context.updateTexture(cache.texture, surface);
|
|
104
|
-
}
|
|
105
|
-
cache.textureWidth = w;
|
|
106
|
-
cache.textureHeight = h;
|
|
107
|
-
cache.boundsX = bounds.x;
|
|
108
|
-
cache.boundsY = bounds.y;
|
|
109
|
-
// Consume the dirty flag — Phase 1 set it, we've now rebuilt.
|
|
110
|
-
graphics.canvasCacheDirty = false;
|
|
111
|
-
}
|
|
112
|
-
if (!cache.texture) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
// ── Draw cached texture ───────────────────────────────────────────────
|
|
116
|
-
// ox/oy are already baked into globalMatrix via _applyTransform.
|
|
117
|
-
// Only add bounds origin (content may start at non-zero local coords).
|
|
118
|
-
buffer.saveTransform();
|
|
119
|
-
if (cache.boundsX !== 0 || cache.boundsY !== 0) {
|
|
120
|
-
buffer.globalMatrix.append(1, 0, 0, 1, cache.boundsX, cache.boundsY);
|
|
121
|
-
}
|
|
122
|
-
buffer.context.drawTexture(cache.texture, 0, 0, w, h, 0, 0, w, h, w, h);
|
|
123
|
-
buffer.restoreTransform();
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=GraphicsPipe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GraphicsPipe.js","sourceRoot":"","sources":["../../../../src/blakron/player/pipes/GraphicsPipe.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { DisplayObject } from '../../display/DisplayObject.js';
|
|
2
|
-
import type { WebGLRenderBuffer } from '../webgl/WebGLRenderBuffer.js';
|
|
3
|
-
import type { Instruction } from '../InstructionSet.js';
|
|
4
|
-
import type { InstructionSet } from '../InstructionSet.js';
|
|
5
|
-
import type { RenderPipe } from '../RenderPipe.js';
|
|
6
|
-
export interface MaskPushInstruction extends Instruction {
|
|
7
|
-
readonly renderPipeId: 'maskPush';
|
|
8
|
-
renderable: DisplayObject;
|
|
9
|
-
offsetX: number;
|
|
10
|
-
offsetY: number;
|
|
11
|
-
isScrollRect?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export interface MaskPopInstruction extends Instruction {
|
|
14
|
-
readonly renderPipeId: 'maskPop';
|
|
15
|
-
renderable: DisplayObject;
|
|
16
|
-
push: MaskPushInstruction;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Handles mask / clip / scrollRect rendering for WebGL.
|
|
20
|
-
*
|
|
21
|
-
* Mirrors the old WebGLRenderer._drawWithClip() and _drawWithScrollRect()
|
|
22
|
-
* logic as a push/pop instruction pair.
|
|
23
|
-
*/
|
|
24
|
-
export declare class MaskPipe implements RenderPipe<DisplayObject> {
|
|
25
|
-
static readonly PUSH_ID = "maskPush";
|
|
26
|
-
static readonly POP_ID = "maskPop";
|
|
27
|
-
private static readonly _pushPool;
|
|
28
|
-
private static readonly _popPool;
|
|
29
|
-
addToInstructionSet(_renderable: DisplayObject, _set: InstructionSet): void;
|
|
30
|
-
updateRenderable(_renderable: DisplayObject): void;
|
|
31
|
-
static makePush(renderable: DisplayObject, offsetX: number, offsetY: number): MaskPushInstruction;
|
|
32
|
-
static makePop(renderable: DisplayObject, push: MaskPushInstruction): MaskPopInstruction;
|
|
33
|
-
static releasePush(inst: MaskPushInstruction): void;
|
|
34
|
-
static releasePop(inst: MaskPopInstruction): void;
|
|
35
|
-
/**
|
|
36
|
-
* Handles scrollRect / maskRect via scissor or stencil.
|
|
37
|
-
* Returns true if a scissor was used (caller must call executePopScissor).
|
|
38
|
-
*/
|
|
39
|
-
executeScrollRectPush(inst: MaskPushInstruction, buffer: WebGLRenderBuffer): boolean;
|
|
40
|
-
executeScrollRectPop(buffer: WebGLRenderBuffer, usedScissor: boolean): void;
|
|
41
|
-
/**
|
|
42
|
-
* Handles DisplayObject mask (stencil-based compositing).
|
|
43
|
-
*
|
|
44
|
-
* Allocates an offscreen buffer and activates it via pushBuffer so that
|
|
45
|
-
* all subsequent leaf instructions (the masked subtree) draw into it.
|
|
46
|
-
* The mask object itself is rendered separately in executeClipPop because
|
|
47
|
-
* it is not part of the main InstructionSet.
|
|
48
|
-
*
|
|
49
|
-
* Returns the offscreen buffer, or undefined if the object has zero bounds.
|
|
50
|
-
*/
|
|
51
|
-
executeClipPush(inst: MaskPushInstruction, buffer: WebGLRenderBuffer, renderer: {
|
|
52
|
-
_drawDisplayObject(obj: DisplayObject, buf: WebGLRenderBuffer, ox: number, oy: number): number;
|
|
53
|
-
}): WebGLRenderBuffer | undefined;
|
|
54
|
-
executeClipPop(inst: MaskPopInstruction, buffer: WebGLRenderBuffer, displayBuffer: WebGLRenderBuffer | undefined, renderer: {
|
|
55
|
-
_drawDisplayObject(obj: DisplayObject, buf: WebGLRenderBuffer, ox: number, oy: number): number;
|
|
56
|
-
}): void;
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=MaskPipe.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MaskPipe.d.ts","sourceRoot":"","sources":["../../../../src/blakron/player/pipes/MaskPipe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACvD,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACtD,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC;IACjC,UAAU,EAAE,aAAa,CAAC;IAC1B,IAAI,EAAE,mBAAmB,CAAC;CAC1B;AAID;;;;;GAKG;AACH,qBAAa,QAAS,YAAW,UAAU,CAAC,aAAa,CAAC;IAEzD,gBAAuB,OAAO,cAAc;IAC5C,gBAAuB,MAAM,aAAa;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAA6B;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA4B;IAIrD,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,GAAG,IAAI;IAI3E,gBAAgB,CAAC,WAAW,EAAE,aAAa,GAAG,IAAI;WAI3C,QAAQ,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,mBAAmB;WAY1F,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,GAAG,kBAAkB;WAUjF,WAAW,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;WAI5C,UAAU,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAMxD;;;OAGG;IACI,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO;IAiCpF,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,GAAG,IAAI;IAQlF;;;;;;;;;OASG;IACI,eAAe,CACrB,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE;QAAE,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC1G,iBAAiB,GAAG,SAAS;IAgCzB,cAAc,CACpB,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,iBAAiB,EACzB,aAAa,EAAE,iBAAiB,GAAG,SAAS,EAC5C,QAAQ,EAAE;QAAE,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC1G,IAAI;CAsGP"}
|