@shopify/react-native-skia 1.9.0 → 1.9.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/cpp/api/JsiSkCanvas.h +1 -1
 - package/lib/commonjs/sksg/Container.js +1 -2
 - package/lib/commonjs/sksg/Container.js.map +1 -1
 - package/lib/commonjs/sksg/Recorder/Core.d.ts +42 -37
 - package/lib/commonjs/sksg/Recorder/Core.js +45 -38
 - package/lib/commonjs/sksg/Recorder/Core.js.map +1 -1
 - package/lib/commonjs/sksg/Recorder/Player.js +4 -0
 - package/lib/commonjs/sksg/Recorder/Player.js.map +1 -1
 - package/lib/commonjs/sksg/Recorder/Recorder.d.ts +4 -0
 - package/lib/commonjs/sksg/Recorder/Recorder.js +14 -1
 - package/lib/commonjs/sksg/Recorder/Recorder.js.map +1 -1
 - package/lib/commonjs/sksg/Recorder/Visitor.js +6 -0
 - package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
 - package/lib/module/sksg/Container.js +1 -2
 - package/lib/module/sksg/Container.js.map +1 -1
 - package/lib/module/sksg/Recorder/Core.d.ts +42 -37
 - package/lib/module/sksg/Recorder/Core.js +43 -37
 - package/lib/module/sksg/Recorder/Core.js.map +1 -1
 - package/lib/module/sksg/Recorder/Player.js +5 -1
 - package/lib/module/sksg/Recorder/Player.js.map +1 -1
 - package/lib/module/sksg/Recorder/Recorder.d.ts +4 -0
 - package/lib/module/sksg/Recorder/Recorder.js +14 -1
 - package/lib/module/sksg/Recorder/Recorder.js.map +1 -1
 - package/lib/module/sksg/Recorder/Visitor.js +6 -0
 - package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
 - package/lib/typescript/lib/commonjs/sksg/Recorder/Core.d.ts +1 -0
 - package/lib/typescript/lib/commonjs/sksg/Recorder/Recorder.d.ts +2 -0
 - package/lib/typescript/lib/module/sksg/Recorder/Core.d.ts +1 -0
 - package/lib/typescript/lib/module/sksg/Recorder/Recorder.d.ts +2 -0
 - package/lib/typescript/src/sksg/Recorder/Core.d.ts +42 -37
 - package/lib/typescript/src/sksg/Recorder/Recorder.d.ts +4 -0
 - package/package.json +3 -2
 - package/src/sksg/Container.ts +1 -2
 - package/src/sksg/Recorder/Core.ts +10 -0
 - package/src/sksg/Recorder/Player.ts +5 -1
 - package/src/sksg/Recorder/Recorder.ts +16 -1
 - package/src/sksg/Recorder/Visitor.ts +6 -0
 
    
        package/cpp/api/JsiSkCanvas.h
    CHANGED
    
    | 
         @@ -548,7 +548,7 @@ public: 
     | 
|
| 
       548 
548 
     | 
    
         
             
                }
         
     | 
| 
       549 
549 
     | 
    
         
             
                SkSamplingOptions sampling(SkFilterMode::kLinear);
         
     | 
| 
       550 
550 
     | 
    
         
             
                if (count > 6) {
         
     | 
| 
       551 
     | 
    
         
            -
                  sampling = SamplingOptionsFromValue(runtime, arguments[ 
     | 
| 
      
 551 
     | 
    
         
            +
                  sampling = SamplingOptionsFromValue(runtime, arguments[6]);
         
     | 
| 
       552 
552 
     | 
    
         
             
                }
         
     | 
| 
       553 
553 
     | 
    
         
             
                _canvas->drawAtlas(atlas.get(), xforms.data(), skRects.data(),
         
     | 
| 
       554 
554 
     | 
    
         
             
                                   colors.data(), skRects.size(), blendMode, sampling,
         
     | 
| 
         @@ -22,7 +22,6 @@ const drawOnscreen = (Skia, nativeId, recording) => { 
     | 
|
| 
       22 
22 
     | 
    
         
             
              // const start = performance.now();
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
              const ctx = (0, _DrawingContext.createDrawingContext)(Skia, recording.paintPool, canvas);
         
     | 
| 
       25 
     | 
    
         
            -
              //console.log(recording.commands);
         
     | 
| 
       26 
25 
     | 
    
         
             
              (0, _Player.replay)(ctx, recording.commands);
         
     | 
| 
       27 
26 
     | 
    
         
             
              const picture = rec.finishRecordingAsPicture();
         
     | 
| 
       28 
27 
     | 
    
         
             
              //const end = performance.now();
         
     | 
| 
         @@ -43,7 +42,7 @@ class Container { 
     | 
|
| 
       43 
42 
     | 
    
         
             
                  throw new Error("No recording to draw");
         
     | 
| 
       44 
43 
     | 
    
         
             
                }
         
     | 
| 
       45 
44 
     | 
    
         
             
                const ctx = (0, _DrawingContext.createDrawingContext)(this.Skia, this.recording.paintPool, canvas);
         
     | 
| 
       46 
     | 
    
         
            -
                //console.log(this. 
     | 
| 
      
 45 
     | 
    
         
            +
                //console.log(this.recording.commands);
         
     | 
| 
       47 
46 
     | 
    
         
             
                (0, _Player.replay)(ctx, this.recording.commands);
         
     | 
| 
       48 
47 
     | 
    
         
             
              }
         
     | 
| 
       49 
48 
     | 
    
         
             
            }
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["_ReanimatedProxy","_interopRequireDefault","require","_renderHelpers","_Recorder","_Visitor","_Player","_DrawingContext","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","drawOnscreen","Skia","nativeId","recording","rec","PictureRecorder","canvas","beginRecording","ctx","createDrawingContext","paintPool","replay","commands","picture","finishRecordingAsPicture","SkiaViewApi","setJsiProperty","dispose","Container","constructor","drawOnCanvas","Error","exports","StaticContainer","redraw","recorder","Recorder","visit","root","getRecording","isOnScreen","ReanimatedContainer","mapperId","Rea","stopMapper","record","animationValues","size","startMapper","Array","from","createContainer","HAS_REANIMATED_3"],"sources":["Container.ts"],"sourcesContent":["import Rea from \"../external/reanimated/ReanimatedProxy\";\nimport type { Skia, SkCanvas } from \"../skia/types\";\nimport { HAS_REANIMATED_3 } from \"../external/reanimated/renderHelpers\";\n\nimport type { Node } from \"./Node\";\nimport type { Recording } from \"./Recorder/Recorder\";\nimport { Recorder } from \"./Recorder/Recorder\";\nimport { visit } from \"./Recorder/Visitor\";\nimport { replay } from \"./Recorder/Player\";\nimport { createDrawingContext } from \"./Recorder/DrawingContext\";\n\nconst drawOnscreen = (Skia: Skia, nativeId: number, recording: Recording) => {\n  \"worklet\";\n\n  const rec = Skia.PictureRecorder();\n  const canvas = rec.beginRecording();\n  // const start = performance.now();\n\n  const ctx = createDrawingContext(Skia, recording.paintPool, canvas);\n   
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"names":["_ReanimatedProxy","_interopRequireDefault","require","_renderHelpers","_Recorder","_Visitor","_Player","_DrawingContext","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","drawOnscreen","Skia","nativeId","recording","rec","PictureRecorder","canvas","beginRecording","ctx","createDrawingContext","paintPool","replay","commands","picture","finishRecordingAsPicture","SkiaViewApi","setJsiProperty","dispose","Container","constructor","drawOnCanvas","Error","exports","StaticContainer","redraw","recorder","Recorder","visit","root","getRecording","isOnScreen","ReanimatedContainer","mapperId","Rea","stopMapper","record","animationValues","size","startMapper","Array","from","createContainer","HAS_REANIMATED_3"],"sources":["Container.ts"],"sourcesContent":["import Rea from \"../external/reanimated/ReanimatedProxy\";\nimport type { Skia, SkCanvas } from \"../skia/types\";\nimport { HAS_REANIMATED_3 } from \"../external/reanimated/renderHelpers\";\n\nimport type { Node } from \"./Node\";\nimport type { Recording } from \"./Recorder/Recorder\";\nimport { Recorder } from \"./Recorder/Recorder\";\nimport { visit } from \"./Recorder/Visitor\";\nimport { replay } from \"./Recorder/Player\";\nimport { createDrawingContext } from \"./Recorder/DrawingContext\";\n\nconst drawOnscreen = (Skia: Skia, nativeId: number, recording: Recording) => {\n  \"worklet\";\n\n  const rec = Skia.PictureRecorder();\n  const canvas = rec.beginRecording();\n  // const start = performance.now();\n\n  const ctx = createDrawingContext(Skia, recording.paintPool, canvas);\n  replay(ctx, recording.commands);\n  const picture = rec.finishRecordingAsPicture();\n  //const end = performance.now();\n  //console.log(\"Recording time: \", end - start);\n  SkiaViewApi.setJsiProperty(nativeId, \"picture\", picture);\n  rec.dispose();\n  picture.dispose();\n};\n\nexport abstract class Container {\n  public root: Node[] = [];\n  protected recording: Recording | null = null;\n\n  constructor(protected Skia: Skia, protected nativeId: number) {}\n\n  drawOnCanvas(canvas: SkCanvas) {\n    if (!this.recording) {\n      throw new Error(\"No recording to draw\");\n    }\n    const ctx = createDrawingContext(\n      this.Skia,\n      this.recording.paintPool,\n      canvas\n    );\n    //console.log(this.recording.commands);\n    replay(ctx, this.recording.commands);\n  }\n\n  abstract redraw(): void;\n}\n\nclass StaticContainer extends Container {\n  constructor(Skia: Skia, nativeId: number) {\n    super(Skia, nativeId);\n  }\n\n  redraw() {\n    const recorder = new Recorder();\n    visit(recorder, this.root);\n    this.recording = recorder.getRecording();\n    const isOnScreen = this.nativeId !== -1;\n    if (isOnScreen) {\n      const rec = this.Skia.PictureRecorder();\n      const canvas = rec.beginRecording();\n      this.drawOnCanvas(canvas);\n      const picture = rec.finishRecordingAsPicture();\n      SkiaViewApi.setJsiProperty(this.nativeId, \"picture\", picture);\n    }\n  }\n}\n\nclass ReanimatedContainer extends Container {\n  private mapperId: number | null = null;\n\n  constructor(Skia: Skia, nativeId: number) {\n    super(Skia, nativeId);\n  }\n\n  redraw() {\n    if (this.mapperId !== null) {\n      Rea.stopMapper(this.mapperId);\n    }\n    const recorder = new Recorder();\n    visit(recorder, this.root);\n    const record = recorder.getRecording();\n    const { animationValues } = record;\n    this.recording = {\n      commands: record.commands,\n      paintPool: record.paintPool,\n    };\n    if (animationValues.size > 0) {\n      const { nativeId, Skia, recording } = this;\n      this.mapperId = Rea.startMapper(() => {\n        \"worklet\";\n        drawOnscreen(Skia, nativeId, recording!);\n      }, Array.from(animationValues));\n    }\n  }\n}\n\nexport const createContainer = (Skia: Skia, nativeId: number) => {\n  return HAS_REANIMATED_3 && nativeId !== -1\n    ? new ReanimatedContainer(Skia, nativeId)\n    : new StaticContainer(Skia, nativeId);\n};\n"],"mappings":"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","ignoreList":[]}
         
     | 
| 
         @@ -1,43 +1,44 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            import type { SharedValue } from "react-native-reanimated";
         
     | 
| 
       2 
2 
     | 
    
         
             
            import type { BlurMaskFilterProps, CircleProps, CTMProps, ImageProps, PointsProps, PathProps, RectProps, RoundedRectProps, OvalProps, LineProps, PatchProps, VerticesProps, DiffRectProps, TextProps, TextPathProps, TextBlobProps, GlyphsProps, PictureProps, ImageSVGProps, ParagraphProps, AtlasProps, DrawingNodeProps } from "../../dom/types";
         
     | 
| 
       3 
3 
     | 
    
         
             
            export declare enum CommandType {
         
     | 
| 
       4 
     | 
    
         
            -
                 
     | 
| 
       5 
     | 
    
         
            -
                 
     | 
| 
       6 
     | 
    
         
            -
                 
     | 
| 
       7 
     | 
    
         
            -
                 
     | 
| 
       8 
     | 
    
         
            -
                 
     | 
| 
       9 
     | 
    
         
            -
                 
     | 
| 
       10 
     | 
    
         
            -
                 
     | 
| 
       11 
     | 
    
         
            -
                 
     | 
| 
       12 
     | 
    
         
            -
                 
     | 
| 
       13 
     | 
    
         
            -
                 
     | 
| 
       14 
     | 
    
         
            -
                 
     | 
| 
       15 
     | 
    
         
            -
                 
     | 
| 
       16 
     | 
    
         
            -
                 
     | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
       18 
     | 
    
         
            -
                 
     | 
| 
       19 
     | 
    
         
            -
                 
     | 
| 
       20 
     | 
    
         
            -
                 
     | 
| 
       21 
     | 
    
         
            -
                 
     | 
| 
       22 
     | 
    
         
            -
                 
     | 
| 
       23 
     | 
    
         
            -
                 
     | 
| 
       24 
     | 
    
         
            -
                 
     | 
| 
       25 
     | 
    
         
            -
                 
     | 
| 
       26 
     | 
    
         
            -
                 
     | 
| 
       27 
     | 
    
         
            -
                 
     | 
| 
       28 
     | 
    
         
            -
                 
     | 
| 
       29 
     | 
    
         
            -
                 
     | 
| 
       30 
     | 
    
         
            -
                 
     | 
| 
       31 
     | 
    
         
            -
                 
     | 
| 
       32 
     | 
    
         
            -
                 
     | 
| 
       33 
     | 
    
         
            -
                 
     | 
| 
       34 
     | 
    
         
            -
                 
     | 
| 
       35 
     | 
    
         
            -
                 
     | 
| 
       36 
     | 
    
         
            -
                 
     | 
| 
       37 
     | 
    
         
            -
                 
     | 
| 
       38 
     | 
    
         
            -
                 
     | 
| 
       39 
     | 
    
         
            -
                 
     | 
| 
       40 
     | 
    
         
            -
                 
     | 
| 
      
 4 
     | 
    
         
            +
                Group = 0,
         
     | 
| 
      
 5 
     | 
    
         
            +
                SavePaint = 1,
         
     | 
| 
      
 6 
     | 
    
         
            +
                RestorePaint = 2,
         
     | 
| 
      
 7 
     | 
    
         
            +
                SaveCTM = 3,
         
     | 
| 
      
 8 
     | 
    
         
            +
                RestoreCTM = 4,
         
     | 
| 
      
 9 
     | 
    
         
            +
                PushColorFilter = 5,
         
     | 
| 
      
 10 
     | 
    
         
            +
                PushBlurMaskFilter = 6,
         
     | 
| 
      
 11 
     | 
    
         
            +
                PushImageFilter = 7,
         
     | 
| 
      
 12 
     | 
    
         
            +
                PushPathEffect = 8,
         
     | 
| 
      
 13 
     | 
    
         
            +
                PushShader = 9,
         
     | 
| 
      
 14 
     | 
    
         
            +
                ComposeColorFilter = 10,
         
     | 
| 
      
 15 
     | 
    
         
            +
                ComposeImageFilter = 11,
         
     | 
| 
      
 16 
     | 
    
         
            +
                ComposePathEffect = 12,
         
     | 
| 
      
 17 
     | 
    
         
            +
                MaterializePaint = 13,
         
     | 
| 
      
 18 
     | 
    
         
            +
                SaveBackdropFilter = 14,
         
     | 
| 
      
 19 
     | 
    
         
            +
                SaveLayer = 15,
         
     | 
| 
      
 20 
     | 
    
         
            +
                RestorePaintDeclaration = 16,
         
     | 
| 
      
 21 
     | 
    
         
            +
                DrawBox = 17,
         
     | 
| 
      
 22 
     | 
    
         
            +
                DrawImage = 18,
         
     | 
| 
      
 23 
     | 
    
         
            +
                DrawCircle = 19,
         
     | 
| 
      
 24 
     | 
    
         
            +
                DrawPaint = 20,
         
     | 
| 
      
 25 
     | 
    
         
            +
                DrawPoints = 21,
         
     | 
| 
      
 26 
     | 
    
         
            +
                DrawPath = 22,
         
     | 
| 
      
 27 
     | 
    
         
            +
                DrawRect = 23,
         
     | 
| 
      
 28 
     | 
    
         
            +
                DrawRRect = 24,
         
     | 
| 
      
 29 
     | 
    
         
            +
                DrawOval = 25,
         
     | 
| 
      
 30 
     | 
    
         
            +
                DrawLine = 26,
         
     | 
| 
      
 31 
     | 
    
         
            +
                DrawPatch = 27,
         
     | 
| 
      
 32 
     | 
    
         
            +
                DrawVertices = 28,
         
     | 
| 
      
 33 
     | 
    
         
            +
                DrawDiffRect = 29,
         
     | 
| 
      
 34 
     | 
    
         
            +
                DrawText = 30,
         
     | 
| 
      
 35 
     | 
    
         
            +
                DrawTextPath = 31,
         
     | 
| 
      
 36 
     | 
    
         
            +
                DrawTextBlob = 32,
         
     | 
| 
      
 37 
     | 
    
         
            +
                DrawGlyphs = 33,
         
     | 
| 
      
 38 
     | 
    
         
            +
                DrawPicture = 34,
         
     | 
| 
      
 39 
     | 
    
         
            +
                DrawImageSVG = 35,
         
     | 
| 
      
 40 
     | 
    
         
            +
                DrawParagraph = 36,
         
     | 
| 
      
 41 
     | 
    
         
            +
                DrawAtlas = 37
         
     | 
| 
       41 
42 
     | 
    
         
             
            }
         
     | 
| 
       42 
43 
     | 
    
         
             
            export type Command<T extends CommandType = CommandType> = {
         
     | 
| 
       43 
44 
     | 
    
         
             
                type: T;
         
     | 
| 
         @@ -48,6 +49,10 @@ export declare const materializeProps: (command: { 
     | 
|
| 
       48 
49 
     | 
    
         
             
                animatedProps?: Record<string, SharedValue<unknown>>;
         
     | 
| 
       49 
50 
     | 
    
         
             
            }) => void;
         
     | 
| 
       50 
51 
     | 
    
         
             
            export declare const isCommand: <T extends CommandType>(command: Command, type: T) => command is Command<T>;
         
     | 
| 
      
 52 
     | 
    
         
            +
            interface GroupCommand extends Command<CommandType.Group> {
         
     | 
| 
      
 53 
     | 
    
         
            +
                children: Command[];
         
     | 
| 
      
 54 
     | 
    
         
            +
            }
         
     | 
| 
      
 55 
     | 
    
         
            +
            export declare const isGroup: (command: Command) => command is GroupCommand;
         
     | 
| 
       51 
56 
     | 
    
         
             
            interface Props {
         
     | 
| 
       52 
57 
     | 
    
         
             
                [CommandType.DrawImage]: ImageProps;
         
     | 
| 
       53 
58 
     | 
    
         
             
                [CommandType.DrawCircle]: CircleProps;
         
     | 
| 
         @@ -3,7 +3,7 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            Object.defineProperty(exports, "__esModule", {
         
     | 
| 
       4 
4 
     | 
    
         
             
              value: true
         
     | 
| 
       5 
5 
     | 
    
         
             
            });
         
     | 
| 
       6 
     | 
    
         
            -
            exports.materializeProps = exports.isDrawCommand = exports.isCommand = exports.CommandType = void 0;
         
     | 
| 
      
 6 
     | 
    
         
            +
            exports.materializeProps = exports.isGroup = exports.isDrawCommand = exports.isCommand = exports.CommandType = void 0;
         
     | 
| 
       7 
7 
     | 
    
         
             
            // export enum CommandType {
         
     | 
| 
       8 
8 
     | 
    
         
             
            //   // Context
         
     | 
| 
       9 
9 
     | 
    
         
             
            //   SavePaint = "SavePaint",
         
     | 
| 
         @@ -46,43 +46,44 @@ exports.materializeProps = exports.isDrawCommand = exports.isCommand = exports.C 
     | 
|
| 
       46 
46 
     | 
    
         
             
            //   DrawAtlas = "DrawAtlas",
         
     | 
| 
       47 
47 
     | 
    
         
             
            // }
         
     | 
| 
       48 
48 
     | 
    
         
             
            let CommandType = exports.CommandType = /*#__PURE__*/function (CommandType) {
         
     | 
| 
       49 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       50 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       51 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       52 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       53 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       54 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       55 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       56 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       57 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       58 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       59 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       60 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       61 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       62 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       63 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       64 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       65 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       66 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       67 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       68 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       69 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       70 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       71 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       72 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       73 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       74 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       75 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       76 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       77 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       78 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       79 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       80 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       81 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       82 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       83 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       84 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
       85 
     | 
    
         
            -
              CommandType[CommandType[" 
     | 
| 
      
 49 
     | 
    
         
            +
              CommandType[CommandType["Group"] = 0] = "Group";
         
     | 
| 
      
 50 
     | 
    
         
            +
              CommandType[CommandType["SavePaint"] = 1] = "SavePaint";
         
     | 
| 
      
 51 
     | 
    
         
            +
              CommandType[CommandType["RestorePaint"] = 2] = "RestorePaint";
         
     | 
| 
      
 52 
     | 
    
         
            +
              CommandType[CommandType["SaveCTM"] = 3] = "SaveCTM";
         
     | 
| 
      
 53 
     | 
    
         
            +
              CommandType[CommandType["RestoreCTM"] = 4] = "RestoreCTM";
         
     | 
| 
      
 54 
     | 
    
         
            +
              CommandType[CommandType["PushColorFilter"] = 5] = "PushColorFilter";
         
     | 
| 
      
 55 
     | 
    
         
            +
              CommandType[CommandType["PushBlurMaskFilter"] = 6] = "PushBlurMaskFilter";
         
     | 
| 
      
 56 
     | 
    
         
            +
              CommandType[CommandType["PushImageFilter"] = 7] = "PushImageFilter";
         
     | 
| 
      
 57 
     | 
    
         
            +
              CommandType[CommandType["PushPathEffect"] = 8] = "PushPathEffect";
         
     | 
| 
      
 58 
     | 
    
         
            +
              CommandType[CommandType["PushShader"] = 9] = "PushShader";
         
     | 
| 
      
 59 
     | 
    
         
            +
              CommandType[CommandType["ComposeColorFilter"] = 10] = "ComposeColorFilter";
         
     | 
| 
      
 60 
     | 
    
         
            +
              CommandType[CommandType["ComposeImageFilter"] = 11] = "ComposeImageFilter";
         
     | 
| 
      
 61 
     | 
    
         
            +
              CommandType[CommandType["ComposePathEffect"] = 12] = "ComposePathEffect";
         
     | 
| 
      
 62 
     | 
    
         
            +
              CommandType[CommandType["MaterializePaint"] = 13] = "MaterializePaint";
         
     | 
| 
      
 63 
     | 
    
         
            +
              CommandType[CommandType["SaveBackdropFilter"] = 14] = "SaveBackdropFilter";
         
     | 
| 
      
 64 
     | 
    
         
            +
              CommandType[CommandType["SaveLayer"] = 15] = "SaveLayer";
         
     | 
| 
      
 65 
     | 
    
         
            +
              CommandType[CommandType["RestorePaintDeclaration"] = 16] = "RestorePaintDeclaration";
         
     | 
| 
      
 66 
     | 
    
         
            +
              CommandType[CommandType["DrawBox"] = 17] = "DrawBox";
         
     | 
| 
      
 67 
     | 
    
         
            +
              CommandType[CommandType["DrawImage"] = 18] = "DrawImage";
         
     | 
| 
      
 68 
     | 
    
         
            +
              CommandType[CommandType["DrawCircle"] = 19] = "DrawCircle";
         
     | 
| 
      
 69 
     | 
    
         
            +
              CommandType[CommandType["DrawPaint"] = 20] = "DrawPaint";
         
     | 
| 
      
 70 
     | 
    
         
            +
              CommandType[CommandType["DrawPoints"] = 21] = "DrawPoints";
         
     | 
| 
      
 71 
     | 
    
         
            +
              CommandType[CommandType["DrawPath"] = 22] = "DrawPath";
         
     | 
| 
      
 72 
     | 
    
         
            +
              CommandType[CommandType["DrawRect"] = 23] = "DrawRect";
         
     | 
| 
      
 73 
     | 
    
         
            +
              CommandType[CommandType["DrawRRect"] = 24] = "DrawRRect";
         
     | 
| 
      
 74 
     | 
    
         
            +
              CommandType[CommandType["DrawOval"] = 25] = "DrawOval";
         
     | 
| 
      
 75 
     | 
    
         
            +
              CommandType[CommandType["DrawLine"] = 26] = "DrawLine";
         
     | 
| 
      
 76 
     | 
    
         
            +
              CommandType[CommandType["DrawPatch"] = 27] = "DrawPatch";
         
     | 
| 
      
 77 
     | 
    
         
            +
              CommandType[CommandType["DrawVertices"] = 28] = "DrawVertices";
         
     | 
| 
      
 78 
     | 
    
         
            +
              CommandType[CommandType["DrawDiffRect"] = 29] = "DrawDiffRect";
         
     | 
| 
      
 79 
     | 
    
         
            +
              CommandType[CommandType["DrawText"] = 30] = "DrawText";
         
     | 
| 
      
 80 
     | 
    
         
            +
              CommandType[CommandType["DrawTextPath"] = 31] = "DrawTextPath";
         
     | 
| 
      
 81 
     | 
    
         
            +
              CommandType[CommandType["DrawTextBlob"] = 32] = "DrawTextBlob";
         
     | 
| 
      
 82 
     | 
    
         
            +
              CommandType[CommandType["DrawGlyphs"] = 33] = "DrawGlyphs";
         
     | 
| 
      
 83 
     | 
    
         
            +
              CommandType[CommandType["DrawPicture"] = 34] = "DrawPicture";
         
     | 
| 
      
 84 
     | 
    
         
            +
              CommandType[CommandType["DrawImageSVG"] = 35] = "DrawImageSVG";
         
     | 
| 
      
 85 
     | 
    
         
            +
              CommandType[CommandType["DrawParagraph"] = 36] = "DrawParagraph";
         
     | 
| 
      
 86 
     | 
    
         
            +
              CommandType[CommandType["DrawAtlas"] = 37] = "DrawAtlas";
         
     | 
| 
       86 
87 
     | 
    
         
             
              return CommandType;
         
     | 
| 
       87 
88 
     | 
    
         
             
            }({});
         
     | 
| 
       88 
89 
     | 
    
         
             
            const materializeProps = command => {
         
     | 
| 
         @@ -101,6 +102,12 @@ const isCommand = (command, type) => { 
     | 
|
| 
       101 
102 
     | 
    
         
             
              return command.type === type;
         
     | 
| 
       102 
103 
     | 
    
         
             
            };
         
     | 
| 
       103 
104 
     | 
    
         
             
            exports.isCommand = isCommand;
         
     | 
| 
      
 105 
     | 
    
         
            +
            const isGroup = command => {
         
     | 
| 
      
 106 
     | 
    
         
            +
              "worklet";
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
              return command.type === CommandType.Group;
         
     | 
| 
      
 109 
     | 
    
         
            +
            };
         
     | 
| 
      
 110 
     | 
    
         
            +
            exports.isGroup = isGroup;
         
     | 
| 
       104 
111 
     | 
    
         
             
            const isDrawCommand = (command, type) => {
         
     | 
| 
       105 
112 
     | 
    
         
             
              "worklet";
         
     | 
| 
       106 
113 
     | 
    
         | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["CommandType","exports","materializeProps","command","animatedProps","key","props","value","isCommand","type","isDrawCommand"],"sources":["Core.ts"],"sourcesContent":["import type { SharedValue } from \"react-native-reanimated\";\n\nimport type {\n  BlurMaskFilterProps,\n  CircleProps,\n  CTMProps,\n  ImageProps,\n  PointsProps,\n  PathProps,\n  RectProps,\n  RoundedRectProps,\n  OvalProps,\n  LineProps,\n  PatchProps,\n  VerticesProps,\n  DiffRectProps,\n  TextProps,\n  TextPathProps,\n  TextBlobProps,\n  GlyphsProps,\n  PictureProps,\n  ImageSVGProps,\n  ParagraphProps,\n  AtlasProps,\n  DrawingNodeProps,\n} from \"../../dom/types\";\n\n// export enum CommandType {\n//   // Context\n//   SavePaint = \"SavePaint\",\n//   RestorePaint = \"RestorePaint\",\n//   SaveCTM = \"SaveCTM\",\n//   RestoreCTM = \"RestoreCTM\",\n//   PushColorFilter = \"PushColorFilter\",\n//   PushBlurMaskFilter = \"PushBlurMaskFilter\",\n//   PushImageFilter = \"PushImageFilter\",\n//   PushPathEffect = \"PushPathEffect\",\n//   PushShader = \"PushShader\",\n//   ComposeColorFilter = \"ComposeColorFilter\",\n//   ComposeImageFilter = \"ComposeImageFilter\",\n//   ComposePathEffect = \"ComposePathEffect\",\n//   MaterializePaint = \"MaterializePaint\",\n//   SaveBackdropFilter = \"SaveBackdropFilter\",\n//   SaveLayer = \"SaveLayer\",\n//   RestorePaintDeclaration = \"RestorePaintDeclaration\",\n//   // Drawing\n//   DrawBox = \"DrawBox\",\n//   DrawImage = \"DrawImage\",\n//   DrawCircle = \"DrawCircle\",\n//   DrawPaint = \"DrawPaint\",\n//   DrawPoints = \"DrawPoints\",\n//   DrawPath = \"DrawPath\",\n//   DrawRect = \"DrawRect\",\n//   DrawRRect = \"DrawRRect\",\n//   DrawOval = \"DrawOval\",\n//   DrawLine = \"DrawLine\",\n//   DrawPatch = \"DrawPatch\",\n//   DrawVertices = \"DrawVertices\",\n//   DrawDiffRect = \"DrawDiffRect\",\n//   DrawText = \"DrawText\",\n//   DrawTextPath = \"DrawTextPath\",\n//   DrawTextBlob = \"DrawTextBlob\",\n//   DrawGlyphs = \"DrawGlyphs\",\n//   DrawPicture = \"DrawPicture\",\n//   DrawImageSVG = \"DrawImageSVG\",\n//   DrawParagraph = \"DrawParagraph\",\n//   DrawAtlas = \"DrawAtlas\",\n// }\nexport enum CommandType {\n  // Context\n  SavePaint,\n  RestorePaint,\n  SaveCTM,\n  RestoreCTM,\n  PushColorFilter,\n  PushBlurMaskFilter,\n  PushImageFilter,\n  PushPathEffect,\n  PushShader,\n  ComposeColorFilter,\n  ComposeImageFilter,\n  ComposePathEffect,\n  MaterializePaint,\n  SaveBackdropFilter,\n  SaveLayer,\n  RestorePaintDeclaration,\n  // Drawing\n  DrawBox,\n  DrawImage,\n  DrawCircle,\n  DrawPaint,\n  DrawPoints,\n  DrawPath,\n  DrawRect,\n  DrawRRect,\n  DrawOval,\n  DrawLine,\n  DrawPatch,\n  DrawVertices,\n  DrawDiffRect,\n  DrawText,\n  DrawTextPath,\n  DrawTextBlob,\n  DrawGlyphs,\n  DrawPicture,\n  DrawImageSVG,\n  DrawParagraph,\n  DrawAtlas,\n}\n\nexport type Command<T extends CommandType = CommandType> = {\n  type: T;\n  [key: string]: unknown;\n};\n\nexport const materializeProps = (command: {\n  props: Record<string, unknown>;\n  animatedProps?: Record<string, SharedValue<unknown>>;\n}) => {\n  \"worklet\";\n  if (command.animatedProps) {\n    for (const key in command.animatedProps) {\n      command.props[key] = command.animatedProps[key].value;\n    }\n  }\n};\n\nexport const isCommand = <T extends CommandType>(\n  command: Command,\n  type: T\n): command is Command<T> => {\n  \"worklet\";\n  return command.type === type;\n};\n\ninterface Props {\n  [CommandType.DrawImage]: ImageProps;\n  [CommandType.DrawCircle]: CircleProps;\n  [CommandType.SaveCTM]: CTMProps;\n  [CommandType.SavePaint]: DrawingNodeProps;\n  [CommandType.PushBlurMaskFilter]: BlurMaskFilterProps;\n  [CommandType.DrawPoints]: PointsProps;\n  [CommandType.DrawPath]: PathProps;\n  [CommandType.DrawRect]: RectProps;\n  [CommandType.DrawRRect]: RoundedRectProps;\n  [CommandType.DrawOval]: OvalProps;\n  [CommandType.DrawLine]: LineProps;\n  [CommandType.DrawPatch]: PatchProps;\n  [CommandType.DrawVertices]: VerticesProps;\n  [CommandType.DrawDiffRect]: DiffRectProps;\n  [CommandType.DrawText]: TextProps;\n  [CommandType.DrawTextPath]: TextPathProps;\n  [CommandType.DrawTextBlob]: TextBlobProps;\n  [CommandType.DrawGlyphs]: GlyphsProps;\n  [CommandType.DrawPicture]: PictureProps;\n  [CommandType.DrawImageSVG]: ImageSVGProps;\n  [CommandType.DrawParagraph]: ParagraphProps;\n  [CommandType.DrawAtlas]: AtlasProps;\n}\n\ninterface DrawCommand<T extends CommandType> extends Command<T> {\n  props: T extends keyof Props ? Props[T] : never;\n}\n\nexport const isDrawCommand = <T extends keyof Props>(\n  command: Command,\n  type: T\n): command is DrawCommand<T> => {\n  \"worklet\";\n  return command.type === type;\n};\n"],"mappings":";;;;;;AA2BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,IACYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA; 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"names":["CommandType","exports","materializeProps","command","animatedProps","key","props","value","isCommand","type","isGroup","Group","isDrawCommand"],"sources":["Core.ts"],"sourcesContent":["import type { SharedValue } from \"react-native-reanimated\";\n\nimport type {\n  BlurMaskFilterProps,\n  CircleProps,\n  CTMProps,\n  ImageProps,\n  PointsProps,\n  PathProps,\n  RectProps,\n  RoundedRectProps,\n  OvalProps,\n  LineProps,\n  PatchProps,\n  VerticesProps,\n  DiffRectProps,\n  TextProps,\n  TextPathProps,\n  TextBlobProps,\n  GlyphsProps,\n  PictureProps,\n  ImageSVGProps,\n  ParagraphProps,\n  AtlasProps,\n  DrawingNodeProps,\n} from \"../../dom/types\";\n\n// export enum CommandType {\n//   // Context\n//   SavePaint = \"SavePaint\",\n//   RestorePaint = \"RestorePaint\",\n//   SaveCTM = \"SaveCTM\",\n//   RestoreCTM = \"RestoreCTM\",\n//   PushColorFilter = \"PushColorFilter\",\n//   PushBlurMaskFilter = \"PushBlurMaskFilter\",\n//   PushImageFilter = \"PushImageFilter\",\n//   PushPathEffect = \"PushPathEffect\",\n//   PushShader = \"PushShader\",\n//   ComposeColorFilter = \"ComposeColorFilter\",\n//   ComposeImageFilter = \"ComposeImageFilter\",\n//   ComposePathEffect = \"ComposePathEffect\",\n//   MaterializePaint = \"MaterializePaint\",\n//   SaveBackdropFilter = \"SaveBackdropFilter\",\n//   SaveLayer = \"SaveLayer\",\n//   RestorePaintDeclaration = \"RestorePaintDeclaration\",\n//   // Drawing\n//   DrawBox = \"DrawBox\",\n//   DrawImage = \"DrawImage\",\n//   DrawCircle = \"DrawCircle\",\n//   DrawPaint = \"DrawPaint\",\n//   DrawPoints = \"DrawPoints\",\n//   DrawPath = \"DrawPath\",\n//   DrawRect = \"DrawRect\",\n//   DrawRRect = \"DrawRRect\",\n//   DrawOval = \"DrawOval\",\n//   DrawLine = \"DrawLine\",\n//   DrawPatch = \"DrawPatch\",\n//   DrawVertices = \"DrawVertices\",\n//   DrawDiffRect = \"DrawDiffRect\",\n//   DrawText = \"DrawText\",\n//   DrawTextPath = \"DrawTextPath\",\n//   DrawTextBlob = \"DrawTextBlob\",\n//   DrawGlyphs = \"DrawGlyphs\",\n//   DrawPicture = \"DrawPicture\",\n//   DrawImageSVG = \"DrawImageSVG\",\n//   DrawParagraph = \"DrawParagraph\",\n//   DrawAtlas = \"DrawAtlas\",\n// }\nexport enum CommandType {\n  // Context\n  Group,\n  SavePaint,\n  RestorePaint,\n  SaveCTM,\n  RestoreCTM,\n  PushColorFilter,\n  PushBlurMaskFilter,\n  PushImageFilter,\n  PushPathEffect,\n  PushShader,\n  ComposeColorFilter,\n  ComposeImageFilter,\n  ComposePathEffect,\n  MaterializePaint,\n  SaveBackdropFilter,\n  SaveLayer,\n  RestorePaintDeclaration,\n  // Drawing\n  DrawBox,\n  DrawImage,\n  DrawCircle,\n  DrawPaint,\n  DrawPoints,\n  DrawPath,\n  DrawRect,\n  DrawRRect,\n  DrawOval,\n  DrawLine,\n  DrawPatch,\n  DrawVertices,\n  DrawDiffRect,\n  DrawText,\n  DrawTextPath,\n  DrawTextBlob,\n  DrawGlyphs,\n  DrawPicture,\n  DrawImageSVG,\n  DrawParagraph,\n  DrawAtlas,\n}\n\nexport type Command<T extends CommandType = CommandType> = {\n  type: T;\n  [key: string]: unknown;\n};\n\nexport const materializeProps = (command: {\n  props: Record<string, unknown>;\n  animatedProps?: Record<string, SharedValue<unknown>>;\n}) => {\n  \"worklet\";\n  if (command.animatedProps) {\n    for (const key in command.animatedProps) {\n      command.props[key] = command.animatedProps[key].value;\n    }\n  }\n};\n\nexport const isCommand = <T extends CommandType>(\n  command: Command,\n  type: T\n): command is Command<T> => {\n  \"worklet\";\n  return command.type === type;\n};\n\ninterface GroupCommand extends Command<CommandType.Group> {\n  children: Command[];\n}\n\nexport const isGroup = (command: Command): command is GroupCommand => {\n  \"worklet\";\n  return command.type === CommandType.Group;\n};\n\ninterface Props {\n  [CommandType.DrawImage]: ImageProps;\n  [CommandType.DrawCircle]: CircleProps;\n  [CommandType.SaveCTM]: CTMProps;\n  [CommandType.SavePaint]: DrawingNodeProps;\n  [CommandType.PushBlurMaskFilter]: BlurMaskFilterProps;\n  [CommandType.DrawPoints]: PointsProps;\n  [CommandType.DrawPath]: PathProps;\n  [CommandType.DrawRect]: RectProps;\n  [CommandType.DrawRRect]: RoundedRectProps;\n  [CommandType.DrawOval]: OvalProps;\n  [CommandType.DrawLine]: LineProps;\n  [CommandType.DrawPatch]: PatchProps;\n  [CommandType.DrawVertices]: VerticesProps;\n  [CommandType.DrawDiffRect]: DiffRectProps;\n  [CommandType.DrawText]: TextProps;\n  [CommandType.DrawTextPath]: TextPathProps;\n  [CommandType.DrawTextBlob]: TextBlobProps;\n  [CommandType.DrawGlyphs]: GlyphsProps;\n  [CommandType.DrawPicture]: PictureProps;\n  [CommandType.DrawImageSVG]: ImageSVGProps;\n  [CommandType.DrawParagraph]: ParagraphProps;\n  [CommandType.DrawAtlas]: AtlasProps;\n}\n\ninterface DrawCommand<T extends CommandType> extends Command<T> {\n  props: T extends keyof Props ? Props[T] : never;\n}\n\nexport const isDrawCommand = <T extends keyof Props>(\n  command: Command,\n  type: T\n): command is DrawCommand<T> => {\n  \"worklet\";\n  return command.type === type;\n};\n"],"mappings":";;;;;;AA2BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,IACYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAXA,WAAW,CAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAgDhB,MAAME,gBAAgB,GAAIC,OAGhC,IAAK;EACJ,SAAS;;EACT,IAAIA,OAAO,CAACC,aAAa,EAAE;IACzB,KAAK,MAAMC,GAAG,IAAIF,OAAO,CAACC,aAAa,EAAE;MACvCD,OAAO,CAACG,KAAK,CAACD,GAAG,CAAC,GAAGF,OAAO,CAACC,aAAa,CAACC,GAAG,CAAC,CAACE,KAAK;IACvD;EACF;AACF,CAAC;AAACN,OAAA,CAAAC,gBAAA,GAAAA,gBAAA;AAEK,MAAMM,SAAS,GAAGA,CACvBL,OAAgB,EAChBM,IAAO,KACmB;EAC1B,SAAS;;EACT,OAAON,OAAO,CAACM,IAAI,KAAKA,IAAI;AAC9B,CAAC;AAACR,OAAA,CAAAO,SAAA,GAAAA,SAAA;AAMK,MAAME,OAAO,GAAIP,OAAgB,IAA8B;EACpE,SAAS;;EACT,OAAOA,OAAO,CAACM,IAAI,KAAKT,WAAW,CAACW,KAAK;AAC3C,CAAC;AAACV,OAAA,CAAAS,OAAA,GAAAA,OAAA;AA+BK,MAAME,aAAa,GAAGA,CAC3BT,OAAgB,EAChBM,IAAO,KACuB;EAC9B,SAAS;;EACT,OAAON,OAAO,CAACM,IAAI,KAAKA,IAAI;AAC9B,CAAC;AAACR,OAAA,CAAAW,aAAA,GAAAA,aAAA","ignoreList":[]}
         
     | 
| 
         @@ -16,6 +16,10 @@ var _Core = require("./Core"); 
     | 
|
| 
       16 
16 
     | 
    
         
             
            const play = (ctx, command) => {
         
     | 
| 
       17 
17 
     | 
    
         
             
              "worklet";
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
              if ((0, _Core.isGroup)(command)) {
         
     | 
| 
      
 20 
     | 
    
         
            +
                command.children.forEach(child => play(ctx, child));
         
     | 
| 
      
 21 
     | 
    
         
            +
                return;
         
     | 
| 
      
 22 
     | 
    
         
            +
              }
         
     | 
| 
       19 
23 
     | 
    
         
             
              // eslint-disable-next-line @typescript-eslint/no-explicit-any
         
     | 
| 
       20 
24 
     | 
    
         
             
              (0, _Core.materializeProps)(command);
         
     | 
| 
       21 
25 
     | 
    
         
             
              if ((0, _Core.isCommand)(command, _Core.CommandType.SaveBackdropFilter)) {
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["_Drawing","require","_Box","_ColorFilters","_CTM","_ImageFilters","_Paint","_PathEffects","_Shaders","_Core","play","ctx","command","materializeProps","isCommand","CommandType","SaveBackdropFilter","saveBackdropFilter","SaveLayer","materializePaint","paint","paintDeclarations","pop","canvas","saveLayer","isDrawCommand","SavePaint","props","paints","push","savePaint","setPaintProperties","Skia","RestorePaint","restorePaint","ComposeColorFilter","composeColorFilters","RestorePaintDeclaration","Error","MaterializePaint","isPushColorFilter","pushColorFilter","isPushShader","pushShader","isPushImageFilter","pushImageFilter","isPushPathEffect","pushPathEffect","ComposePathEffect","composePathEffects","ComposeImageFilter","composeImageFilters","PushBlurMaskFilter","setBlurMaskFilter","SaveCTM","saveCTM","RestoreCTM","restore","forEach","p","isBoxCommand","drawBox","DrawPaint","drawPaint","DrawImage","drawImage","DrawCircle","drawCircle","DrawPoints","drawPoints","DrawPath","drawPath","DrawRect","drawRect","DrawRRect","drawRRect","DrawOval","drawOval","DrawLine","drawLine","DrawPatch","drawPatch","DrawVertices","drawVertices","DrawDiffRect","drawDiffRect","DrawText","drawText","DrawTextPath","drawTextPath","DrawTextBlob","drawTextBlob","DrawGlyphs","drawGlyphs","DrawPicture","drawPicture","DrawImageSVG","drawImageSVG","DrawParagraph","drawParagraph","DrawAtlas","drawAtlas","console","warn","type","replay","commands","exports"],"sources":["Player.ts"],"sourcesContent":["import {\n  drawCircle,\n  drawImage,\n  drawOval,\n  drawPath,\n  drawPoints,\n  drawRect,\n  drawRRect,\n  drawLine,\n  drawAtlas,\n  drawParagraph,\n  drawImageSVG,\n  drawPicture,\n  drawGlyphs,\n  drawTextBlob,\n  drawTextPath,\n  drawText,\n  drawDiffRect,\n  drawVertices,\n  drawPatch,\n} from \"./commands/Drawing\";\nimport { drawBox, isBoxCommand } from \"./commands/Box\";\nimport {\n  composeColorFilters,\n  isPushColorFilter,\n  pushColorFilter,\n} from \"./commands/ColorFilters\";\nimport { saveCTM } from \"./commands/CTM\";\nimport {\n  setBlurMaskFilter,\n  isPushImageFilter,\n  pushImageFilter,\n  composeImageFilters,\n} from \"./commands/ImageFilters\";\nimport { setPaintProperties } from \"./commands/Paint\";\nimport {\n  composePathEffects,\n  isPushPathEffect,\n  pushPathEffect,\n} from \"./commands/PathEffects\";\nimport { isPushShader, pushShader } from \"./commands/Shaders\";\nimport {\n  CommandType,\n  isCommand,\n  isDrawCommand,\n  materializeProps,\n  type Command,\n} from \"./Core\";\nimport type { DrawingContext } from \"./DrawingContext\";\n\nconst play = (ctx: DrawingContext, command: Command) => {\n  \"worklet\";\n\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  materializeProps(command as any);\n  if (isCommand(command, CommandType.SaveBackdropFilter)) {\n    ctx.saveBackdropFilter();\n  } else if (isCommand(command, CommandType.SaveLayer)) {\n    ctx.materializePaint();\n    const paint = ctx.paintDeclarations.pop();\n    ctx.canvas.saveLayer(paint);\n  } else if (isDrawCommand(command, CommandType.SavePaint)) {\n    if (command.props.paint) {\n      ctx.paints.push(command.props.paint);\n    } else {\n      ctx.savePaint();\n      setPaintProperties(ctx.Skia, ctx.paint, command.props);\n    }\n  } else if (isCommand(command, CommandType.RestorePaint)) {\n    ctx.restorePaint();\n  } else if (isCommand(command, CommandType.ComposeColorFilter)) {\n    composeColorFilters(ctx);\n  } else if (isCommand(command, CommandType.RestorePaintDeclaration)) {\n    ctx.materializePaint();\n    const paint = ctx.restorePaint();\n    if (!paint) {\n      throw new Error(\"No paint declaration to push\");\n    }\n    ctx.paintDeclarations.push(paint);\n  } else if (isCommand(command, CommandType.MaterializePaint)) {\n    ctx.materializePaint();\n  } else if (isPushColorFilter(command)) {\n    pushColorFilter(ctx, command);\n  } else if (isPushShader(command)) {\n    pushShader(ctx, command);\n  } else if (isPushImageFilter(command)) {\n    pushImageFilter(ctx, command);\n  } else if (isPushPathEffect(command)) {\n    pushPathEffect(ctx, command);\n  } else if (isCommand(command, CommandType.ComposePathEffect)) {\n    composePathEffects(ctx);\n  } else if (isCommand(command, CommandType.ComposeImageFilter)) {\n    composeImageFilters(ctx);\n  } else if (isDrawCommand(command, CommandType.PushBlurMaskFilter)) {\n    setBlurMaskFilter(ctx, command.props);\n  } else if (isDrawCommand(command, CommandType.SaveCTM)) {\n    saveCTM(ctx, command.props);\n  } else if (isCommand(command, CommandType.RestoreCTM)) {\n    ctx.canvas.restore();\n  } else {\n    const paints = [ctx.paint, ...ctx.paintDeclarations];\n    ctx.paintDeclarations = [];\n    paints.forEach((p) => {\n      ctx.paints.push(p);\n      if (isBoxCommand(command)) {\n        drawBox(ctx, command);\n      } else if (isCommand(command, CommandType.DrawPaint)) {\n        ctx.canvas.drawPaint(ctx.paint);\n      } else if (isDrawCommand(command, CommandType.DrawImage)) {\n        drawImage(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawCircle)) {\n        drawCircle(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawPoints)) {\n        drawPoints(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawPath)) {\n        drawPath(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawRect)) {\n        drawRect(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawRRect)) {\n        drawRRect(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawOval)) {\n        drawOval(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawLine)) {\n        drawLine(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawPatch)) {\n        drawPatch(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawVertices)) {\n        drawVertices(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawDiffRect)) {\n        drawDiffRect(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawText)) {\n        drawText(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawTextPath)) {\n        drawTextPath(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawTextBlob)) {\n        drawTextBlob(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawGlyphs)) {\n        drawGlyphs(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawPicture)) {\n        drawPicture(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawImageSVG)) {\n        drawImageSVG(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawParagraph)) {\n        drawParagraph(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawAtlas)) {\n        drawAtlas(ctx, command.props);\n      } else {\n        console.warn(`Unknown command: ${command.type}`);\n      }\n      ctx.paints.pop();\n    });\n  }\n};\n\nexport const replay = (ctx: DrawingContext, commands: Command[]) => {\n  \"worklet\";\n  commands.forEach((command) => {\n    play(ctx, command);\n  });\n};\n"],"mappings":"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","ignoreList":[]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"names":["_Drawing","require","_Box","_ColorFilters","_CTM","_ImageFilters","_Paint","_PathEffects","_Shaders","_Core","play","ctx","command","isGroup","children","forEach","child","materializeProps","isCommand","CommandType","SaveBackdropFilter","saveBackdropFilter","SaveLayer","materializePaint","paint","paintDeclarations","pop","canvas","saveLayer","isDrawCommand","SavePaint","props","paints","push","savePaint","setPaintProperties","Skia","RestorePaint","restorePaint","ComposeColorFilter","composeColorFilters","RestorePaintDeclaration","Error","MaterializePaint","isPushColorFilter","pushColorFilter","isPushShader","pushShader","isPushImageFilter","pushImageFilter","isPushPathEffect","pushPathEffect","ComposePathEffect","composePathEffects","ComposeImageFilter","composeImageFilters","PushBlurMaskFilter","setBlurMaskFilter","SaveCTM","saveCTM","RestoreCTM","restore","p","isBoxCommand","drawBox","DrawPaint","drawPaint","DrawImage","drawImage","DrawCircle","drawCircle","DrawPoints","drawPoints","DrawPath","drawPath","DrawRect","drawRect","DrawRRect","drawRRect","DrawOval","drawOval","DrawLine","drawLine","DrawPatch","drawPatch","DrawVertices","drawVertices","DrawDiffRect","drawDiffRect","DrawText","drawText","DrawTextPath","drawTextPath","DrawTextBlob","drawTextBlob","DrawGlyphs","drawGlyphs","DrawPicture","drawPicture","DrawImageSVG","drawImageSVG","DrawParagraph","drawParagraph","DrawAtlas","drawAtlas","console","warn","type","replay","commands","exports"],"sources":["Player.ts"],"sourcesContent":["import {\n  drawCircle,\n  drawImage,\n  drawOval,\n  drawPath,\n  drawPoints,\n  drawRect,\n  drawRRect,\n  drawLine,\n  drawAtlas,\n  drawParagraph,\n  drawImageSVG,\n  drawPicture,\n  drawGlyphs,\n  drawTextBlob,\n  drawTextPath,\n  drawText,\n  drawDiffRect,\n  drawVertices,\n  drawPatch,\n} from \"./commands/Drawing\";\nimport { drawBox, isBoxCommand } from \"./commands/Box\";\nimport {\n  composeColorFilters,\n  isPushColorFilter,\n  pushColorFilter,\n} from \"./commands/ColorFilters\";\nimport { saveCTM } from \"./commands/CTM\";\nimport {\n  setBlurMaskFilter,\n  isPushImageFilter,\n  pushImageFilter,\n  composeImageFilters,\n} from \"./commands/ImageFilters\";\nimport { setPaintProperties } from \"./commands/Paint\";\nimport {\n  composePathEffects,\n  isPushPathEffect,\n  pushPathEffect,\n} from \"./commands/PathEffects\";\nimport { isPushShader, pushShader } from \"./commands/Shaders\";\nimport {\n  CommandType,\n  isCommand,\n  isDrawCommand,\n  isGroup,\n  materializeProps,\n  type Command,\n} from \"./Core\";\nimport type { DrawingContext } from \"./DrawingContext\";\n\nconst play = (ctx: DrawingContext, command: Command) => {\n  \"worklet\";\n  if (isGroup(command)) {\n    command.children.forEach((child) => play(ctx, child));\n    return;\n  }\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  materializeProps(command as any);\n  if (isCommand(command, CommandType.SaveBackdropFilter)) {\n    ctx.saveBackdropFilter();\n  } else if (isCommand(command, CommandType.SaveLayer)) {\n    ctx.materializePaint();\n    const paint = ctx.paintDeclarations.pop();\n    ctx.canvas.saveLayer(paint);\n  } else if (isDrawCommand(command, CommandType.SavePaint)) {\n    if (command.props.paint) {\n      ctx.paints.push(command.props.paint);\n    } else {\n      ctx.savePaint();\n      setPaintProperties(ctx.Skia, ctx.paint, command.props);\n    }\n  } else if (isCommand(command, CommandType.RestorePaint)) {\n    ctx.restorePaint();\n  } else if (isCommand(command, CommandType.ComposeColorFilter)) {\n    composeColorFilters(ctx);\n  } else if (isCommand(command, CommandType.RestorePaintDeclaration)) {\n    ctx.materializePaint();\n    const paint = ctx.restorePaint();\n    if (!paint) {\n      throw new Error(\"No paint declaration to push\");\n    }\n    ctx.paintDeclarations.push(paint);\n  } else if (isCommand(command, CommandType.MaterializePaint)) {\n    ctx.materializePaint();\n  } else if (isPushColorFilter(command)) {\n    pushColorFilter(ctx, command);\n  } else if (isPushShader(command)) {\n    pushShader(ctx, command);\n  } else if (isPushImageFilter(command)) {\n    pushImageFilter(ctx, command);\n  } else if (isPushPathEffect(command)) {\n    pushPathEffect(ctx, command);\n  } else if (isCommand(command, CommandType.ComposePathEffect)) {\n    composePathEffects(ctx);\n  } else if (isCommand(command, CommandType.ComposeImageFilter)) {\n    composeImageFilters(ctx);\n  } else if (isDrawCommand(command, CommandType.PushBlurMaskFilter)) {\n    setBlurMaskFilter(ctx, command.props);\n  } else if (isDrawCommand(command, CommandType.SaveCTM)) {\n    saveCTM(ctx, command.props);\n  } else if (isCommand(command, CommandType.RestoreCTM)) {\n    ctx.canvas.restore();\n  } else {\n    const paints = [ctx.paint, ...ctx.paintDeclarations];\n    ctx.paintDeclarations = [];\n    paints.forEach((p) => {\n      ctx.paints.push(p);\n      if (isBoxCommand(command)) {\n        drawBox(ctx, command);\n      } else if (isCommand(command, CommandType.DrawPaint)) {\n        ctx.canvas.drawPaint(ctx.paint);\n      } else if (isDrawCommand(command, CommandType.DrawImage)) {\n        drawImage(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawCircle)) {\n        drawCircle(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawPoints)) {\n        drawPoints(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawPath)) {\n        drawPath(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawRect)) {\n        drawRect(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawRRect)) {\n        drawRRect(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawOval)) {\n        drawOval(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawLine)) {\n        drawLine(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawPatch)) {\n        drawPatch(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawVertices)) {\n        drawVertices(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawDiffRect)) {\n        drawDiffRect(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawText)) {\n        drawText(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawTextPath)) {\n        drawTextPath(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawTextBlob)) {\n        drawTextBlob(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawGlyphs)) {\n        drawGlyphs(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawPicture)) {\n        drawPicture(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawImageSVG)) {\n        drawImageSVG(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawParagraph)) {\n        drawParagraph(ctx, command.props);\n      } else if (isDrawCommand(command, CommandType.DrawAtlas)) {\n        drawAtlas(ctx, command.props);\n      } else {\n        console.warn(`Unknown command: ${command.type}`);\n      }\n      ctx.paints.pop();\n    });\n  }\n};\n\nexport const replay = (ctx: DrawingContext, commands: Command[]) => {\n  \"worklet\";\n  commands.forEach((command) => {\n    play(ctx, command);\n  });\n};\n"],"mappings":"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","ignoreList":[]}
         
     | 
| 
         @@ -13,10 +13,14 @@ interface AnimationValues { 
     | 
|
| 
       13 
13 
     | 
    
         
             
            }
         
     | 
| 
       14 
14 
     | 
    
         
             
            export declare class Recorder {
         
     | 
| 
       15 
15 
     | 
    
         
             
                commands: Command[];
         
     | 
| 
      
 16 
     | 
    
         
            +
                cursors: Command[][];
         
     | 
| 
       16 
17 
     | 
    
         
             
                animationValues: Set<SharedValue<unknown>>;
         
     | 
| 
      
 18 
     | 
    
         
            +
                constructor();
         
     | 
| 
       17 
19 
     | 
    
         
             
                getRecording(): Recording & AnimationValues;
         
     | 
| 
       18 
20 
     | 
    
         
             
                private processProps;
         
     | 
| 
       19 
21 
     | 
    
         
             
                private add;
         
     | 
| 
      
 22 
     | 
    
         
            +
                saveGroup(): void;
         
     | 
| 
      
 23 
     | 
    
         
            +
                restoreGroup(): void;
         
     | 
| 
       20 
24 
     | 
    
         
             
                savePaint(props: AnimatedProps<PaintProps>): void;
         
     | 
| 
       21 
25 
     | 
    
         
             
                restorePaint(): void;
         
     | 
| 
       22 
26 
     | 
    
         
             
                restorePaintDeclaration(): void;
         
     | 
| 
         @@ -14,7 +14,9 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = 
     | 
|
| 
       14 
14 
     | 
    
         
             
            class Recorder {
         
     | 
| 
       15 
15 
     | 
    
         
             
              constructor() {
         
     | 
| 
       16 
16 
     | 
    
         
             
                _defineProperty(this, "commands", []);
         
     | 
| 
      
 17 
     | 
    
         
            +
                _defineProperty(this, "cursors", []);
         
     | 
| 
       17 
18 
     | 
    
         
             
                _defineProperty(this, "animationValues", new Set());
         
     | 
| 
      
 19 
     | 
    
         
            +
                this.cursors.push(this.commands);
         
     | 
| 
       18 
20 
     | 
    
         
             
              }
         
     | 
| 
       19 
21 
     | 
    
         
             
              getRecording() {
         
     | 
| 
       20 
22 
     | 
    
         
             
                return {
         
     | 
| 
         @@ -49,7 +51,18 @@ class Recorder { 
     | 
|
| 
       49 
51 
     | 
    
         
             
                    command.animatedProps = animatedProps;
         
     | 
| 
       50 
52 
     | 
    
         
             
                  }
         
     | 
| 
       51 
53 
     | 
    
         
             
                }
         
     | 
| 
       52 
     | 
    
         
            -
                this. 
     | 
| 
      
 54 
     | 
    
         
            +
                this.cursors[this.cursors.length - 1].push(command);
         
     | 
| 
      
 55 
     | 
    
         
            +
              }
         
     | 
| 
      
 56 
     | 
    
         
            +
              saveGroup() {
         
     | 
| 
      
 57 
     | 
    
         
            +
                const children = [];
         
     | 
| 
      
 58 
     | 
    
         
            +
                this.add({
         
     | 
| 
      
 59 
     | 
    
         
            +
                  type: _Core.CommandType.Group,
         
     | 
| 
      
 60 
     | 
    
         
            +
                  children
         
     | 
| 
      
 61 
     | 
    
         
            +
                });
         
     | 
| 
      
 62 
     | 
    
         
            +
                this.cursors.push(children);
         
     | 
| 
      
 63 
     | 
    
         
            +
              }
         
     | 
| 
      
 64 
     | 
    
         
            +
              restoreGroup() {
         
     | 
| 
      
 65 
     | 
    
         
            +
                this.cursors.pop();
         
     | 
| 
       53 
66 
     | 
    
         
             
              }
         
     | 
| 
       54 
67 
     | 
    
         
             
              savePaint(props) {
         
     | 
| 
       55 
68 
     | 
    
         
             
                this.add({
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"names":["_types","require","_utils","_Node","_Core","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","Recorder","constructor","Set","getRecording","commands","paintPool","animationValues","processProps","props","animatedProps","hasAnimatedProps","key","prop","isSharedValue","add","undefined","command","push","savePaint","type","CommandType","SavePaint","restorePaint","RestorePaint","restorePaintDeclaration","RestorePaintDeclaration","materializePaint","MaterializePaint","pushPathEffect","pathEffectType","isPathEffect","Error","PushPathEffect","pushImageFilter","imageFilterType","isImageFilter","PushImageFilter","pushColorFilter","colorFilterType","isColorFilter","PushColorFilter","pushShader","shaderType","isShader","NodeType","Blend","PushShader","pushBlurMaskFilter","PushBlurMaskFilter","composePathEffect","ComposePathEffect","composeColorFilter","ComposeColorFilter","composeImageFilter","ComposeImageFilter","saveCTM","SaveCTM","restoreCTM","RestoreCTM","drawPaint","DrawPaint","saveLayer","SaveLayer","saveBackdropFilter","SaveBackdropFilter","drawBox","boxProps","shadows","forEach","shadow","DrawBox","drawImage","DrawImage","drawCircle","DrawCircle","drawPoints","DrawPoints","drawPath","DrawPath","drawRect","DrawRect","drawRRect","DrawRRect","drawOval","DrawOval","drawLine","DrawLine","drawPatch","DrawPatch","drawVertices","DrawVertices","drawDiffRect","DrawDiffRect","drawText","DrawText","drawTextPath","DrawTextPath","drawTextBlob","DrawTextBlob","drawGlyphs","DrawGlyphs","drawPicture","DrawPicture","drawImageSVG","DrawImageSVG","drawParagraph","DrawParagraph","drawAtlas","DrawAtlas","exports"],"sources":["Recorder.ts"],"sourcesContent":["import type { SharedValue } from \"react-native-reanimated\";\n\nimport { NodeType } from \"../../dom/types\";\nimport type {\n  BlurMaskFilterProps,\n  CircleProps,\n  CTMProps,\n  ImageProps,\n  PaintProps,\n  PointsProps,\n  PathProps,\n  RectProps,\n  RoundedRectProps,\n  OvalProps,\n  LineProps,\n  PatchProps,\n  VerticesProps,\n  DiffRectProps,\n  TextProps,\n  TextPathProps,\n  TextBlobProps,\n  GlyphsProps,\n  PictureProps,\n  ImageSVGProps,\n  ParagraphProps,\n  AtlasProps,\n  BoxProps,\n  BoxShadowProps,\n} from \"../../dom/types\";\nimport type { AnimatedProps } from \"../../renderer\";\nimport { isSharedValue } from \"../utils\";\nimport { isColorFilter, isImageFilter, isPathEffect, isShader } from \"../Node\";\nimport type { SkPaint } from \"../../skia/types\";\n\nimport { CommandType } from \"./Core\";\nimport type { Command } from \"./Core\";\n\nexport interface Recording {\n  commands: Command[];\n  paintPool: SkPaint[];\n}\n\ninterface AnimationValues {\n  animationValues: Set<SharedValue<unknown>>;\n}\n\nexport class Recorder {\n  commands: Command[] = [];\n  animationValues: Set<SharedValue<unknown>> = new Set();\n\n  getRecording(): Recording & AnimationValues {\n    return {\n      commands: this.commands,\n      paintPool: [],\n      animationValues: this.animationValues,\n    };\n  }\n\n  private processProps(props: Record<string, unknown>) {\n    const animatedProps: Record<string, SharedValue<unknown>> = {};\n    let hasAnimatedProps = false;\n\n    for (const key in props) {\n      const prop = props[key];\n      if (isSharedValue(prop)) {\n        this.animationValues.add(prop);\n        props[key] = prop.value;\n        animatedProps[key] = prop;\n        hasAnimatedProps = true;\n      }\n    }\n\n    return {\n      props,\n      animatedProps: hasAnimatedProps ? animatedProps : undefined,\n    };\n  }\n\n  private add(command: Command) {\n    if (command.props) {\n      const { animatedProps } = this.processProps(\n        command.props as Record<string, unknown>\n      );\n      if (animatedProps) {\n        command.animatedProps = animatedProps;\n      }\n    }\n    this.commands.push(command);\n  }\n\n  savePaint(props: AnimatedProps<PaintProps>) {\n    this.add({ type: CommandType.SavePaint, props });\n  }\n\n  restorePaint() {\n    this.add({ type: CommandType.RestorePaint });\n  }\n\n  restorePaintDeclaration() {\n    this.add({ type: CommandType.RestorePaintDeclaration });\n  }\n\n  materializePaint() {\n    this.add({ type: CommandType.MaterializePaint });\n  }\n\n  pushPathEffect(pathEffectType: NodeType, props: AnimatedProps<unknown>) {\n    if (!isPathEffect(pathEffectType)) {\n      throw new Error(\"Invalid color filter type: \" + pathEffectType);\n    }\n    this.add({\n      type: CommandType.PushPathEffect,\n      pathEffectType,\n      props,\n    });\n  }\n\n  pushImageFilter(imageFilterType: NodeType, props: AnimatedProps<unknown>) {\n    if (!isImageFilter(imageFilterType)) {\n      throw new Error(\"Invalid color filter type: \" + imageFilterType);\n    }\n    this.add({\n      type: CommandType.PushImageFilter,\n      imageFilterType,\n      props,\n    });\n  }\n\n  pushColorFilter(colorFilterType: NodeType, props: AnimatedProps<unknown>) {\n    if (!isColorFilter(colorFilterType)) {\n      throw new Error(\"Invalid color filter type: \" + colorFilterType);\n    }\n    this.add({\n      type: CommandType.PushColorFilter,\n      colorFilterType,\n      props,\n    });\n  }\n\n  pushShader(shaderType: NodeType, props: AnimatedProps<unknown>) {\n    if (!isShader(shaderType) && !(shaderType === NodeType.Blend)) {\n      throw new Error(\"Invalid color filter type: \" + shaderType);\n    }\n    this.add({ type: CommandType.PushShader, shaderType, props });\n  }\n\n  pushBlurMaskFilter(props: AnimatedProps<BlurMaskFilterProps>) {\n    this.add({ type: CommandType.PushBlurMaskFilter, props });\n  }\n\n  composePathEffect() {\n    this.add({ type: CommandType.ComposePathEffect });\n  }\n\n  composeColorFilter() {\n    this.add({ type: CommandType.ComposeColorFilter });\n  }\n\n  composeImageFilter() {\n    this.add({ type: CommandType.ComposeImageFilter });\n  }\n\n  saveCTM(props: AnimatedProps<CTMProps>) {\n    this.add({ type: CommandType.SaveCTM, props });\n  }\n\n  restoreCTM() {\n    this.add({ type: CommandType.RestoreCTM });\n  }\n\n  drawPaint() {\n    this.add({ type: CommandType.DrawPaint });\n  }\n\n  saveLayer() {\n    this.add({ type: CommandType.SaveLayer });\n  }\n\n  saveBackdropFilter() {\n    this.add({ type: CommandType.SaveBackdropFilter });\n  }\n\n  drawBox(\n    boxProps: AnimatedProps<BoxProps>,\n    shadows: {\n      props: BoxShadowProps;\n      animatedProps?: Record<string, SharedValue<unknown>>;\n    }[]\n  ) {\n    shadows.forEach((shadow) => {\n      if (shadow.props) {\n        if (shadow.props) {\n          const { animatedProps } = this.processProps(\n            shadow.props as unknown as Record<string, unknown>\n          );\n          if (animatedProps) {\n            shadow.animatedProps = animatedProps;\n          }\n        }\n      }\n    });\n    this.add({ type: CommandType.DrawBox, props: boxProps, shadows });\n  }\n\n  drawImage(props: AnimatedProps<ImageProps>) {\n    this.add({ type: CommandType.DrawImage, props });\n  }\n\n  drawCircle(props: AnimatedProps<CircleProps>) {\n    this.add({ type: CommandType.DrawCircle, props });\n  }\n  drawPoints(props: AnimatedProps<PointsProps>) {\n    this.add({ type: CommandType.DrawPoints, props });\n  }\n\n  drawPath(props: AnimatedProps<PathProps>) {\n    this.add({ type: CommandType.DrawPath, props });\n  }\n\n  drawRect(props: AnimatedProps<RectProps>) {\n    this.add({ type: CommandType.DrawRect, props });\n  }\n\n  drawRRect(props: AnimatedProps<RoundedRectProps>) {\n    this.add({ type: CommandType.DrawRRect, props });\n  }\n\n  drawOval(props: AnimatedProps<OvalProps>) {\n    this.add({ type: CommandType.DrawOval, props });\n  }\n\n  drawLine(props: AnimatedProps<LineProps>) {\n    this.add({ type: CommandType.DrawLine, props });\n  }\n\n  drawPatch(props: AnimatedProps<PatchProps>) {\n    this.add({ type: CommandType.DrawPatch, props });\n  }\n\n  drawVertices(props: AnimatedProps<VerticesProps>) {\n    this.add({ type: CommandType.DrawVertices, props });\n  }\n\n  drawDiffRect(props: AnimatedProps<DiffRectProps>) {\n    this.add({ type: CommandType.DrawDiffRect, props });\n  }\n\n  drawText(props: AnimatedProps<TextProps>) {\n    this.add({ type: CommandType.DrawText, props });\n  }\n\n  drawTextPath(props: AnimatedProps<TextPathProps>) {\n    this.add({ type: CommandType.DrawTextPath, props });\n  }\n\n  drawTextBlob(props: AnimatedProps<TextBlobProps>) {\n    this.add({ type: CommandType.DrawTextBlob, props });\n  }\n\n  drawGlyphs(props: AnimatedProps<GlyphsProps>) {\n    this.add({ type: CommandType.DrawGlyphs, props });\n  }\n\n  drawPicture(props: AnimatedProps<PictureProps>) {\n    this.add({ type: CommandType.DrawPicture, props });\n  }\n\n  drawImageSVG(props: AnimatedProps<ImageSVGProps>) {\n    this.add({ type: CommandType.DrawImageSVG, props });\n  }\n\n  drawParagraph(props: AnimatedProps<ParagraphProps>) {\n    this.add({ type: CommandType.DrawParagraph, props });\n  }\n\n  drawAtlas(props: AnimatedProps<AtlasProps>) {\n    this.add({ type: CommandType.DrawAtlas, props });\n  }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AA4BA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAGA,IAAAG,KAAA,GAAAH,OAAA;AAAqC,SAAAI,gBAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAD,CAAA,GAAAI,MAAA,CAAAC,cAAA,CAAAL,CAAA,EAAAC,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAT,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAG,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAb,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAAc,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAY9B,MAAMgB,QAAQ,CAAC;EAAAC,YAAA;IAAApB,eAAA,mBACE,EAAE;IAAAA,eAAA,0BACqB,IAAIqB,GAAG,CAAC,CAAC;EAAA;EAEtDC,YAAYA,CAAA,EAAgC;IAC1C,OAAO;MACLC,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,SAAS,EAAE,EAAE;MACbC,eAAe,EAAE,IAAI,CAACA;IACxB,CAAC;EACH;EAEQC,YAAYA,CAACC,KAA8B,EAAE;IACnD,MAAMC,aAAmD,GAAG,CAAC,CAAC;IAC9D,IAAIC,gBAAgB,GAAG,KAAK;IAE5B,KAAK,MAAMC,GAAG,IAAIH,KAAK,EAAE;MACvB,MAAMI,IAAI,GAAGJ,KAAK,CAACG,GAAG,CAAC;MACvB,IAAI,IAAAE,oBAAa,EAACD,IAAI,CAAC,EAAE;QACvB,IAAI,CAACN,eAAe,CAACQ,GAAG,CAACF,IAAI,CAAC;QAC9BJ,KAAK,CAACG,GAAG,CAAC,GAAGC,IAAI,CAACxB,KAAK;QACvBqB,aAAa,CAACE,GAAG,CAAC,GAAGC,IAAI;QACzBF,gBAAgB,GAAG,IAAI;MACzB;IACF;IAEA,OAAO;MACLF,KAAK;MACLC,aAAa,EAAEC,gBAAgB,GAAGD,aAAa,GAAGM;IACpD,CAAC;EACH;EAEQD,GAAGA,CAACE,OAAgB,EAAE;IAC5B,IAAIA,OAAO,CAACR,KAAK,EAAE;MACjB,MAAM;QAAEC;MAAc,CAAC,GAAG,IAAI,CAACF,YAAY,CACzCS,OAAO,CAACR,KACV,CAAC;MACD,IAAIC,aAAa,EAAE;QACjBO,OAAO,CAACP,aAAa,GAAGA,aAAa;MACvC;IACF;IACA,IAAI,CAACL,QAAQ,CAACa,IAAI,CAACD,OAAO,CAAC;EAC7B;EAEAE,SAASA,CAACV,KAAgC,EAAE;IAC1C,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACC,SAAS;MAAEb;IAAM,CAAC,CAAC;EAClD;EAEAc,YAAYA,CAAA,EAAG;IACb,IAAI,CAACR,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACG;IAAa,CAAC,CAAC;EAC9C;EAEAC,uBAAuBA,CAAA,EAAG;IACxB,IAAI,CAACV,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACK;IAAwB,CAAC,CAAC;EACzD;EAEAC,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACZ,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACO;IAAiB,CAAC,CAAC;EAClD;EAEAC,cAAcA,CAACC,cAAwB,EAAErB,KAA6B,EAAE;IACtE,IAAI,CAAC,IAAAsB,kBAAY,EAACD,cAAc,CAAC,EAAE;MACjC,MAAM,IAAIE,KAAK,CAAC,6BAA6B,GAAGF,cAAc,CAAC;IACjE;IACA,IAAI,CAACf,GAAG,CAAC;MACPK,IAAI,EAAEC,iBAAW,CAACY,cAAc;MAChCH,cAAc;MACdrB;IACF,CAAC,CAAC;EACJ;EAEAyB,eAAeA,CAACC,eAAyB,EAAE1B,KAA6B,EAAE;IACxE,IAAI,CAAC,IAAA2B,mBAAa,EAACD,eAAe,CAAC,EAAE;MACnC,MAAM,IAAIH,KAAK,CAAC,6BAA6B,GAAGG,eAAe,CAAC;IAClE;IACA,IAAI,CAACpB,GAAG,CAAC;MACPK,IAAI,EAAEC,iBAAW,CAACgB,eAAe;MACjCF,eAAe;MACf1B;IACF,CAAC,CAAC;EACJ;EAEA6B,eAAeA,CAACC,eAAyB,EAAE9B,KAA6B,EAAE;IACxE,IAAI,CAAC,IAAA+B,mBAAa,EAACD,eAAe,CAAC,EAAE;MACnC,MAAM,IAAIP,KAAK,CAAC,6BAA6B,GAAGO,eAAe,CAAC;IAClE;IACA,IAAI,CAACxB,GAAG,CAAC;MACPK,IAAI,EAAEC,iBAAW,CAACoB,eAAe;MACjCF,eAAe;MACf9B;IACF,CAAC,CAAC;EACJ;EAEAiC,UAAUA,CAACC,UAAoB,EAAElC,KAA6B,EAAE;IAC9D,IAAI,CAAC,IAAAmC,cAAQ,EAACD,UAAU,CAAC,IAAI,EAAEA,UAAU,KAAKE,eAAQ,CAACC,KAAK,CAAC,EAAE;MAC7D,MAAM,IAAId,KAAK,CAAC,6BAA6B,GAAGW,UAAU,CAAC;IAC7D;IACA,IAAI,CAAC5B,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC0B,UAAU;MAAEJ,UAAU;MAAElC;IAAM,CAAC,CAAC;EAC/D;EAEAuC,kBAAkBA,CAACvC,KAAyC,EAAE;IAC5D,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC4B,kBAAkB;MAAExC;IAAM,CAAC,CAAC;EAC3D;EAEAyC,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACnC,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC8B;IAAkB,CAAC,CAAC;EACnD;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACrC,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACgC;IAAmB,CAAC,CAAC;EACpD;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACvC,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACkC;IAAmB,CAAC,CAAC;EACpD;EAEAC,OAAOA,CAAC/C,KAA8B,EAAE;IACtC,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACoC,OAAO;MAAEhD;IAAM,CAAC,CAAC;EAChD;EAEAiD,UAAUA,CAAA,EAAG;IACX,IAAI,CAAC3C,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACsC;IAAW,CAAC,CAAC;EAC5C;EAEAC,SAASA,CAAA,EAAG;IACV,IAAI,CAAC7C,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACwC;IAAU,CAAC,CAAC;EAC3C;EAEAC,SAASA,CAAA,EAAG;IACV,IAAI,CAAC/C,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC0C;IAAU,CAAC,CAAC;EAC3C;EAEAC,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACjD,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC4C;IAAmB,CAAC,CAAC;EACpD;EAEAC,OAAOA,CACLC,QAAiC,EACjCC,OAGG,EACH;IACAA,OAAO,CAACC,OAAO,CAAEC,MAAM,IAAK;MAC1B,IAAIA,MAAM,CAAC7D,KAAK,EAAE;QAChB,IAAI6D,MAAM,CAAC7D,KAAK,EAAE;UAChB,MAAM;YAAEC;UAAc,CAAC,GAAG,IAAI,CAACF,YAAY,CACzC8D,MAAM,CAAC7D,KACT,CAAC;UACD,IAAIC,aAAa,EAAE;YACjB4D,MAAM,CAAC5D,aAAa,GAAGA,aAAa;UACtC;QACF;MACF;IACF,CAAC,CAAC;IACF,IAAI,CAACK,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACkD,OAAO;MAAE9D,KAAK,EAAE0D,QAAQ;MAAEC;IAAQ,CAAC,CAAC;EACnE;EAEAI,SAASA,CAAC/D,KAAgC,EAAE;IAC1C,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACoD,SAAS;MAAEhE;IAAM,CAAC,CAAC;EAClD;EAEAiE,UAAUA,CAACjE,KAAiC,EAAE;IAC5C,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACsD,UAAU;MAAElE;IAAM,CAAC,CAAC;EACnD;EACAmE,UAAUA,CAACnE,KAAiC,EAAE;IAC5C,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACwD,UAAU;MAAEpE;IAAM,CAAC,CAAC;EACnD;EAEAqE,QAAQA,CAACrE,KAA+B,EAAE;IACxC,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC0D,QAAQ;MAAEtE;IAAM,CAAC,CAAC;EACjD;EAEAuE,QAAQA,CAACvE,KAA+B,EAAE;IACxC,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC4D,QAAQ;MAAExE;IAAM,CAAC,CAAC;EACjD;EAEAyE,SAASA,CAACzE,KAAsC,EAAE;IAChD,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC8D,SAAS;MAAE1E;IAAM,CAAC,CAAC;EAClD;EAEA2E,QAAQA,CAAC3E,KAA+B,EAAE;IACxC,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACgE,QAAQ;MAAE5E;IAAM,CAAC,CAAC;EACjD;EAEA6E,QAAQA,CAAC7E,KAA+B,EAAE;IACxC,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACkE,QAAQ;MAAE9E;IAAM,CAAC,CAAC;EACjD;EAEA+E,SAASA,CAAC/E,KAAgC,EAAE;IAC1C,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACoE,SAAS;MAAEhF;IAAM,CAAC,CAAC;EAClD;EAEAiF,YAAYA,CAACjF,KAAmC,EAAE;IAChD,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACsE,YAAY;MAAElF;IAAM,CAAC,CAAC;EACrD;EAEAmF,YAAYA,CAACnF,KAAmC,EAAE;IAChD,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACwE,YAAY;MAAEpF;IAAM,CAAC,CAAC;EACrD;EAEAqF,QAAQA,CAACrF,KAA+B,EAAE;IACxC,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC0E,QAAQ;MAAEtF;IAAM,CAAC,CAAC;EACjD;EAEAuF,YAAYA,CAACvF,KAAmC,EAAE;IAChD,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC4E,YAAY;MAAExF;IAAM,CAAC,CAAC;EACrD;EAEAyF,YAAYA,CAACzF,KAAmC,EAAE;IAChD,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAAC8E,YAAY;MAAE1F;IAAM,CAAC,CAAC;EACrD;EAEA2F,UAAUA,CAAC3F,KAAiC,EAAE;IAC5C,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACgF,UAAU;MAAE5F;IAAM,CAAC,CAAC;EACnD;EAEA6F,WAAWA,CAAC7F,KAAkC,EAAE;IAC9C,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACkF,WAAW;MAAE9F;IAAM,CAAC,CAAC;EACpD;EAEA+F,YAAYA,CAAC/F,KAAmC,EAAE;IAChD,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACoF,YAAY;MAAEhG;IAAM,CAAC,CAAC;EACrD;EAEAiG,aAAaA,CAACjG,KAAoC,EAAE;IAClD,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACsF,aAAa;MAAElG;IAAM,CAAC,CAAC;EACtD;EAEAmG,SAASA,CAACnG,KAAgC,EAAE;IAC1C,IAAI,CAACM,GAAG,CAAC;MAAEK,IAAI,EAAEC,iBAAW,CAACwF,SAAS;MAAEpG;IAAM,CAAC,CAAC;EAClD;AACF;AAACqG,OAAA,CAAA7G,QAAA,GAAAA,QAAA","ignoreList":[]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"names":["_types","require","_utils","_Node","_Core","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","Recorder","constructor","Set","cursors","push","commands","getRecording","paintPool","animationValues","processProps","props","animatedProps","hasAnimatedProps","key","prop","isSharedValue","add","undefined","command","length","saveGroup","children","type","CommandType","Group","restoreGroup","pop","savePaint","SavePaint","restorePaint","RestorePaint","restorePaintDeclaration","RestorePaintDeclaration","materializePaint","MaterializePaint","pushPathEffect","pathEffectType","isPathEffect","Error","PushPathEffect","pushImageFilter","imageFilterType","isImageFilter","PushImageFilter","pushColorFilter","colorFilterType","isColorFilter","PushColorFilter","pushShader","shaderType","isShader","NodeType","Blend","PushShader","pushBlurMaskFilter","PushBlurMaskFilter","composePathEffect","ComposePathEffect","composeColorFilter","ComposeColorFilter","composeImageFilter","ComposeImageFilter","saveCTM","SaveCTM","restoreCTM","RestoreCTM","drawPaint","DrawPaint","saveLayer","SaveLayer","saveBackdropFilter","SaveBackdropFilter","drawBox","boxProps","shadows","forEach","shadow","DrawBox","drawImage","DrawImage","drawCircle","DrawCircle","drawPoints","DrawPoints","drawPath","DrawPath","drawRect","DrawRect","drawRRect","DrawRRect","drawOval","DrawOval","drawLine","DrawLine","drawPatch","DrawPatch","drawVertices","DrawVertices","drawDiffRect","DrawDiffRect","drawText","DrawText","drawTextPath","DrawTextPath","drawTextBlob","DrawTextBlob","drawGlyphs","DrawGlyphs","drawPicture","DrawPicture","drawImageSVG","DrawImageSVG","drawParagraph","DrawParagraph","drawAtlas","DrawAtlas","exports"],"sources":["Recorder.ts"],"sourcesContent":["import type { SharedValue } from \"react-native-reanimated\";\n\nimport { NodeType } from \"../../dom/types\";\nimport type {\n  BlurMaskFilterProps,\n  CircleProps,\n  CTMProps,\n  ImageProps,\n  PaintProps,\n  PointsProps,\n  PathProps,\n  RectProps,\n  RoundedRectProps,\n  OvalProps,\n  LineProps,\n  PatchProps,\n  VerticesProps,\n  DiffRectProps,\n  TextProps,\n  TextPathProps,\n  TextBlobProps,\n  GlyphsProps,\n  PictureProps,\n  ImageSVGProps,\n  ParagraphProps,\n  AtlasProps,\n  BoxProps,\n  BoxShadowProps,\n} from \"../../dom/types\";\nimport type { AnimatedProps } from \"../../renderer\";\nimport { isSharedValue } from \"../utils\";\nimport { isColorFilter, isImageFilter, isPathEffect, isShader } from \"../Node\";\nimport type { SkPaint } from \"../../skia/types\";\n\nimport { CommandType } from \"./Core\";\nimport type { Command } from \"./Core\";\n\nexport interface Recording {\n  commands: Command[];\n  paintPool: SkPaint[];\n}\n\ninterface AnimationValues {\n  animationValues: Set<SharedValue<unknown>>;\n}\n\nexport class Recorder {\n  commands: Command[] = [];\n  cursors: Command[][] = [];\n  animationValues: Set<SharedValue<unknown>> = new Set();\n\n  constructor() {\n    this.cursors.push(this.commands);\n  }\n\n  getRecording(): Recording & AnimationValues {\n    return {\n      commands: this.commands,\n      paintPool: [],\n      animationValues: this.animationValues,\n    };\n  }\n\n  private processProps(props: Record<string, unknown>) {\n    const animatedProps: Record<string, SharedValue<unknown>> = {};\n    let hasAnimatedProps = false;\n\n    for (const key in props) {\n      const prop = props[key];\n      if (isSharedValue(prop)) {\n        this.animationValues.add(prop);\n        props[key] = prop.value;\n        animatedProps[key] = prop;\n        hasAnimatedProps = true;\n      }\n    }\n\n    return {\n      props,\n      animatedProps: hasAnimatedProps ? animatedProps : undefined,\n    };\n  }\n\n  private add(command: Command) {\n    if (command.props) {\n      const { animatedProps } = this.processProps(\n        command.props as Record<string, unknown>\n      );\n      if (animatedProps) {\n        command.animatedProps = animatedProps;\n      }\n    }\n    this.cursors[this.cursors.length - 1].push(command);\n  }\n\n  saveGroup() {\n    const children: Command[] = [];\n    this.add({ type: CommandType.Group, children });\n    this.cursors.push(children);\n  }\n\n  restoreGroup() {\n    this.cursors.pop();\n  }\n\n  savePaint(props: AnimatedProps<PaintProps>) {\n    this.add({ type: CommandType.SavePaint, props });\n  }\n\n  restorePaint() {\n    this.add({ type: CommandType.RestorePaint });\n  }\n\n  restorePaintDeclaration() {\n    this.add({ type: CommandType.RestorePaintDeclaration });\n  }\n\n  materializePaint() {\n    this.add({ type: CommandType.MaterializePaint });\n  }\n\n  pushPathEffect(pathEffectType: NodeType, props: AnimatedProps<unknown>) {\n    if (!isPathEffect(pathEffectType)) {\n      throw new Error(\"Invalid color filter type: \" + pathEffectType);\n    }\n    this.add({\n      type: CommandType.PushPathEffect,\n      pathEffectType,\n      props,\n    });\n  }\n\n  pushImageFilter(imageFilterType: NodeType, props: AnimatedProps<unknown>) {\n    if (!isImageFilter(imageFilterType)) {\n      throw new Error(\"Invalid color filter type: \" + imageFilterType);\n    }\n    this.add({\n      type: CommandType.PushImageFilter,\n      imageFilterType,\n      props,\n    });\n  }\n\n  pushColorFilter(colorFilterType: NodeType, props: AnimatedProps<unknown>) {\n    if (!isColorFilter(colorFilterType)) {\n      throw new Error(\"Invalid color filter type: \" + colorFilterType);\n    }\n    this.add({\n      type: CommandType.PushColorFilter,\n      colorFilterType,\n      props,\n    });\n  }\n\n  pushShader(shaderType: NodeType, props: AnimatedProps<unknown>) {\n    if (!isShader(shaderType) && !(shaderType === NodeType.Blend)) {\n      throw new Error(\"Invalid color filter type: \" + shaderType);\n    }\n    this.add({ type: CommandType.PushShader, shaderType, props });\n  }\n\n  pushBlurMaskFilter(props: AnimatedProps<BlurMaskFilterProps>) {\n    this.add({ type: CommandType.PushBlurMaskFilter, props });\n  }\n\n  composePathEffect() {\n    this.add({ type: CommandType.ComposePathEffect });\n  }\n\n  composeColorFilter() {\n    this.add({ type: CommandType.ComposeColorFilter });\n  }\n\n  composeImageFilter() {\n    this.add({ type: CommandType.ComposeImageFilter });\n  }\n\n  saveCTM(props: AnimatedProps<CTMProps>) {\n    this.add({ type: CommandType.SaveCTM, props });\n  }\n\n  restoreCTM() {\n    this.add({ type: CommandType.RestoreCTM });\n  }\n\n  drawPaint() {\n    this.add({ type: CommandType.DrawPaint });\n  }\n\n  saveLayer() {\n    this.add({ type: CommandType.SaveLayer });\n  }\n\n  saveBackdropFilter() {\n    this.add({ type: CommandType.SaveBackdropFilter });\n  }\n\n  drawBox(\n    boxProps: AnimatedProps<BoxProps>,\n    shadows: {\n      props: BoxShadowProps;\n      animatedProps?: Record<string, SharedValue<unknown>>;\n    }[]\n  ) {\n    shadows.forEach((shadow) => {\n      if (shadow.props) {\n        if (shadow.props) {\n          const { animatedProps } = this.processProps(\n            shadow.props as unknown as Record<string, unknown>\n          );\n          if (animatedProps) {\n            shadow.animatedProps = animatedProps;\n          }\n        }\n      }\n    });\n    this.add({ type: CommandType.DrawBox, props: boxProps, shadows });\n  }\n\n  drawImage(props: AnimatedProps<ImageProps>) {\n    this.add({ type: CommandType.DrawImage, props });\n  }\n\n  drawCircle(props: AnimatedProps<CircleProps>) {\n    this.add({ type: CommandType.DrawCircle, props });\n  }\n  drawPoints(props: AnimatedProps<PointsProps>) {\n    this.add({ type: CommandType.DrawPoints, props });\n  }\n\n  drawPath(props: AnimatedProps<PathProps>) {\n    this.add({ type: CommandType.DrawPath, props });\n  }\n\n  drawRect(props: AnimatedProps<RectProps>) {\n    this.add({ type: CommandType.DrawRect, props });\n  }\n\n  drawRRect(props: AnimatedProps<RoundedRectProps>) {\n    this.add({ type: CommandType.DrawRRect, props });\n  }\n\n  drawOval(props: AnimatedProps<OvalProps>) {\n    this.add({ type: CommandType.DrawOval, props });\n  }\n\n  drawLine(props: AnimatedProps<LineProps>) {\n    this.add({ type: CommandType.DrawLine, props });\n  }\n\n  drawPatch(props: AnimatedProps<PatchProps>) {\n    this.add({ type: CommandType.DrawPatch, props });\n  }\n\n  drawVertices(props: AnimatedProps<VerticesProps>) {\n    this.add({ type: CommandType.DrawVertices, props });\n  }\n\n  drawDiffRect(props: AnimatedProps<DiffRectProps>) {\n    this.add({ type: CommandType.DrawDiffRect, props });\n  }\n\n  drawText(props: AnimatedProps<TextProps>) {\n    this.add({ type: CommandType.DrawText, props });\n  }\n\n  drawTextPath(props: AnimatedProps<TextPathProps>) {\n    this.add({ type: CommandType.DrawTextPath, props });\n  }\n\n  drawTextBlob(props: AnimatedProps<TextBlobProps>) {\n    this.add({ type: CommandType.DrawTextBlob, props });\n  }\n\n  drawGlyphs(props: AnimatedProps<GlyphsProps>) {\n    this.add({ type: CommandType.DrawGlyphs, props });\n  }\n\n  drawPicture(props: AnimatedProps<PictureProps>) {\n    this.add({ type: CommandType.DrawPicture, props });\n  }\n\n  drawImageSVG(props: AnimatedProps<ImageSVGProps>) {\n    this.add({ type: CommandType.DrawImageSVG, props });\n  }\n\n  drawParagraph(props: AnimatedProps<ParagraphProps>) {\n    this.add({ type: CommandType.DrawParagraph, props });\n  }\n\n  drawAtlas(props: AnimatedProps<AtlasProps>) {\n    this.add({ type: CommandType.DrawAtlas, props });\n  }\n}\n"],"mappings":"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","ignoreList":[]}
         
     | 
| 
         @@ -165,6 +165,9 @@ const pushPaints = (recorder, paints) => { 
     | 
|
| 
       165 
165 
     | 
    
         
             
              });
         
     | 
| 
       166 
166 
     | 
    
         
             
            };
         
     | 
| 
       167 
167 
     | 
    
         
             
            const visitNode = (recorder, node) => {
         
     | 
| 
      
 168 
     | 
    
         
            +
              if (node.type === _types.NodeType.Group) {
         
     | 
| 
      
 169 
     | 
    
         
            +
                recorder.saveGroup();
         
     | 
| 
      
 170 
     | 
    
         
            +
              }
         
     | 
| 
       168 
171 
     | 
    
         
             
              const {
         
     | 
| 
       169 
172 
     | 
    
         
             
                props
         
     | 
| 
       170 
173 
     | 
    
         
             
              } = node;
         
     | 
| 
         @@ -283,6 +286,9 @@ const visitNode = (recorder, node) => { 
     | 
|
| 
       283 
286 
     | 
    
         
             
              if (shouldRestore) {
         
     | 
| 
       284 
287 
     | 
    
         
             
                recorder.restoreCTM();
         
     | 
| 
       285 
288 
     | 
    
         
             
              }
         
     | 
| 
      
 289 
     | 
    
         
            +
              if (node.type === _types.NodeType.Group) {
         
     | 
| 
      
 290 
     | 
    
         
            +
                recorder.restoreGroup();
         
     | 
| 
      
 291 
     | 
    
         
            +
              }
         
     | 
| 
       286 
292 
     | 
    
         
             
            };
         
     | 
| 
       287 
293 
     | 
    
         
             
            const visit = (recorder, root) => {
         
     | 
| 
       288 
294 
     | 
    
         
             
              root.forEach(node => {
         
     |