@shopify/react-native-skia 2.2.18 → 2.2.19
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/apple/SkiaCVPixelBufferUtils.mm +4 -8
- package/cpp/api/recorder/Drawings.h +21 -42
- package/cpp/jsi/JsiHostObject.cpp +16 -0
- package/jestSetup.js +1 -1
- package/lib/commonjs/Platform/Platform.js.map +1 -1
- package/lib/commonjs/Platform/Platform.web.js +0 -1
- package/lib/commonjs/Platform/Platform.web.js.map +1 -1
- package/lib/commonjs/animation/functions/interpolate.js +0 -1
- package/lib/commonjs/animation/functions/interpolate.js.map +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Fitting.js.map +1 -1
- package/lib/commonjs/dom/types/Drawings.js.map +1 -1
- package/lib/commonjs/external/reanimated/useVideo.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.js +1 -3
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
- package/lib/commonjs/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
- package/lib/commonjs/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/commonjs/skia/core/Image.js.map +1 -1
- package/lib/commonjs/skia/types/JsiInstance.d.ts +1 -1
- package/lib/commonjs/skia/types/JsiInstance.js.map +1 -1
- package/lib/commonjs/skia/types/Matrix4.js.map +1 -1
- package/lib/commonjs/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
- package/lib/commonjs/skia/types/Shader/Shader.js +1 -3
- package/lib/commonjs/skia/types/Shader/Shader.js.map +1 -1
- package/lib/commonjs/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
- package/lib/commonjs/skia/web/Host.d.ts +2 -1
- package/lib/commonjs/skia/web/Host.js +8 -0
- package/lib/commonjs/skia/web/Host.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkAnimatedImage.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkAnimatedImage.js +0 -6
- package/lib/commonjs/skia/web/JsiSkAnimatedImage.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkCanvas.js +0 -6
- package/lib/commonjs/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkColor.js +0 -1
- package/lib/commonjs/skia/web/JsiSkColor.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkColorFilter.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkColorFilter.js +0 -6
- package/lib/commonjs/skia/web/JsiSkColorFilter.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasure.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasure.js +0 -6
- package/lib/commonjs/skia/web/JsiSkContourMeasure.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js +0 -6
- package/lib/commonjs/skia/web/JsiSkContourMeasureIter.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkData.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkData.js +0 -6
- package/lib/commonjs/skia/web/JsiSkData.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkDataFactory.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkFont.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkFont.js +0 -6
- package/lib/commonjs/skia/web/JsiSkFont.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkFontMgr.js +1 -1
- package/lib/commonjs/skia/web/JsiSkFontMgr.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImage.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkImage.js +0 -6
- package/lib/commonjs/skia/web/JsiSkImage.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkImageFilter.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkImageFilter.js +0 -6
- package/lib/commonjs/skia/web/JsiSkImageFilter.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkMaskFilter.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkMaskFilter.js +0 -6
- package/lib/commonjs/skia/web/JsiSkMaskFilter.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkMatrix.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkMatrix.js +0 -6
- package/lib/commonjs/skia/web/JsiSkMatrix.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPaint.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkPaint.js +0 -6
- package/lib/commonjs/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkParagraph.js +0 -3
- package/lib/commonjs/skia/web/JsiSkParagraph.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js +0 -3
- package/lib/commonjs/skia/web/JsiSkParagraphBuilder.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPath.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkPath.js +0 -6
- package/lib/commonjs/skia/web/JsiSkPath.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPathEffect.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkPathEffect.js +0 -6
- package/lib/commonjs/skia/web/JsiSkPathEffect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPicture.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkPicture.js +2 -6
- package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPictureRecorder.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkPictureRecorder.js +0 -6
- package/lib/commonjs/skia/web/JsiSkPictureRecorder.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPoint.d.ts +1 -2
- package/lib/commonjs/skia/web/JsiSkPoint.js +0 -6
- package/lib/commonjs/skia/web/JsiSkPoint.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRRect.d.ts +2 -2
- package/lib/commonjs/skia/web/JsiSkRRect.js +3 -6
- package/lib/commonjs/skia/web/JsiSkRRect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRSXform.d.ts +1 -2
- package/lib/commonjs/skia/web/JsiSkRSXform.js +0 -6
- package/lib/commonjs/skia/web/JsiSkRSXform.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRect.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkRect.js +0 -6
- package/lib/commonjs/skia/web/JsiSkRect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js +0 -6
- package/lib/commonjs/skia/web/JsiSkRuntimeEffect.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkSVG.d.ts +1 -1
- package/lib/commonjs/skia/web/JsiSkSVG.js +5 -8
- package/lib/commonjs/skia/web/JsiSkSVG.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkShader.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkShader.js +0 -6
- package/lib/commonjs/skia/web/JsiSkShader.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkSurface.d.ts +1 -1
- package/lib/commonjs/skia/web/JsiSkSurface.js +3 -6
- package/lib/commonjs/skia/web/JsiSkSurface.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTextBlob.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkTextBlob.js +0 -6
- package/lib/commonjs/skia/web/JsiSkTextBlob.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTypeface.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkTypeface.js +0 -6
- package/lib/commonjs/skia/web/JsiSkTypeface.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
- package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js +0 -12
- package/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkVertices.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkVertices.js +0 -6
- package/lib/commonjs/skia/web/JsiSkVertices.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
- package/lib/commonjs/skia/web/JsiSkottieAnimation.js +0 -3
- package/lib/commonjs/skia/web/JsiSkottieAnimation.js.map +1 -1
- package/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
- package/lib/commonjs/skia/web/JsiVideo.js +4 -1
- package/lib/commonjs/skia/web/JsiVideo.js.map +1 -1
- package/lib/commonjs/sksg/Container.native.js.map +1 -1
- package/lib/commonjs/sksg/Container.web.js.map +1 -1
- package/lib/commonjs/sksg/Elements.js.map +1 -1
- package/lib/commonjs/sksg/Reconciler.js.map +1 -1
- package/lib/commonjs/sksg/Recorder/Visitor.js.map +1 -1
- package/lib/commonjs/sksg/StaticContainer.js.map +1 -1
- package/lib/commonjs/views/SkiaPictureView.web.js +3 -1
- package/lib/commonjs/views/SkiaPictureView.web.js.map +1 -1
- package/lib/module/Platform/Platform.js.map +1 -1
- package/lib/module/Platform/Platform.web.js +0 -1
- package/lib/module/Platform/Platform.web.js.map +1 -1
- package/lib/module/animation/functions/interpolate.js +0 -1
- package/lib/module/animation/functions/interpolate.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Fitting.js.map +1 -1
- package/lib/module/dom/types/Drawings.js.map +1 -1
- package/lib/module/external/reanimated/useVideo.js.map +1 -1
- package/lib/module/renderer/Canvas.js +1 -3
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
- package/lib/module/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
- package/lib/module/renderer/processors/Animations/Animations.js.map +1 -1
- package/lib/module/skia/core/Image.js.map +1 -1
- package/lib/module/skia/types/JsiInstance.d.ts +1 -1
- package/lib/module/skia/types/JsiInstance.js.map +1 -1
- package/lib/module/skia/types/Matrix4.js.map +1 -1
- package/lib/module/skia/types/NativeBuffer/NativeBufferFactory.js.map +1 -1
- package/lib/module/skia/types/Shader/Shader.js +1 -3
- package/lib/module/skia/types/Shader/Shader.js.map +1 -1
- package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
- package/lib/module/skia/web/Host.d.ts +2 -1
- package/lib/module/skia/web/Host.js +8 -0
- package/lib/module/skia/web/Host.js.map +1 -1
- package/lib/module/skia/web/JsiSkAnimatedImage.d.ts +0 -1
- package/lib/module/skia/web/JsiSkAnimatedImage.js +0 -6
- package/lib/module/skia/web/JsiSkAnimatedImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.d.ts +0 -1
- package/lib/module/skia/web/JsiSkCanvas.js +0 -6
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/skia/web/JsiSkColor.js +0 -1
- package/lib/module/skia/web/JsiSkColor.js.map +1 -1
- package/lib/module/skia/web/JsiSkColorFilter.d.ts +0 -1
- package/lib/module/skia/web/JsiSkColorFilter.js +0 -6
- package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
- package/lib/module/skia/web/JsiSkContourMeasure.d.ts +0 -1
- package/lib/module/skia/web/JsiSkContourMeasure.js +0 -6
- package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
- package/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
- package/lib/module/skia/web/JsiSkContourMeasureIter.js +0 -6
- package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
- package/lib/module/skia/web/JsiSkData.d.ts +0 -1
- package/lib/module/skia/web/JsiSkData.js +0 -6
- package/lib/module/skia/web/JsiSkData.js.map +1 -1
- package/lib/module/skia/web/JsiSkDataFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkFont.d.ts +0 -1
- package/lib/module/skia/web/JsiSkFont.js +0 -6
- package/lib/module/skia/web/JsiSkFont.js.map +1 -1
- package/lib/module/skia/web/JsiSkFontMgr.js +1 -1
- package/lib/module/skia/web/JsiSkFontMgr.js.map +1 -1
- package/lib/module/skia/web/JsiSkImage.d.ts +0 -1
- package/lib/module/skia/web/JsiSkImage.js +0 -6
- package/lib/module/skia/web/JsiSkImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkImageFilter.d.ts +0 -1
- package/lib/module/skia/web/JsiSkImageFilter.js +0 -6
- package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
- package/lib/module/skia/web/JsiSkMaskFilter.d.ts +0 -1
- package/lib/module/skia/web/JsiSkMaskFilter.js +0 -6
- package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
- package/lib/module/skia/web/JsiSkMatrix.d.ts +0 -1
- package/lib/module/skia/web/JsiSkMatrix.js +0 -6
- package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
- package/lib/module/skia/web/JsiSkPaint.d.ts +0 -1
- package/lib/module/skia/web/JsiSkPaint.js +0 -6
- package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
- package/lib/module/skia/web/JsiSkParagraph.js +0 -3
- package/lib/module/skia/web/JsiSkParagraph.js.map +1 -1
- package/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
- package/lib/module/skia/web/JsiSkParagraphBuilder.js +0 -3
- package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.d.ts +0 -1
- package/lib/module/skia/web/JsiSkPath.js +0 -6
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/skia/web/JsiSkPathEffect.d.ts +0 -1
- package/lib/module/skia/web/JsiSkPathEffect.js +0 -6
- package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
- package/lib/module/skia/web/JsiSkPicture.d.ts +0 -1
- package/lib/module/skia/web/JsiSkPicture.js +0 -6
- package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/module/skia/web/JsiSkPictureRecorder.d.ts +0 -1
- package/lib/module/skia/web/JsiSkPictureRecorder.js +0 -6
- package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
- package/lib/module/skia/web/JsiSkPoint.d.ts +1 -2
- package/lib/module/skia/web/JsiSkPoint.js +0 -6
- package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
- package/lib/module/skia/web/JsiSkRRect.d.ts +2 -2
- package/lib/module/skia/web/JsiSkRRect.js +3 -6
- package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
- package/lib/module/skia/web/JsiSkRSXform.d.ts +1 -2
- package/lib/module/skia/web/JsiSkRSXform.js +0 -6
- package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
- package/lib/module/skia/web/JsiSkRect.d.ts +0 -1
- package/lib/module/skia/web/JsiSkRect.js +0 -6
- package/lib/module/skia/web/JsiSkRect.js.map +1 -1
- package/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
- package/lib/module/skia/web/JsiSkRuntimeEffect.js +0 -6
- package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
- package/lib/module/skia/web/JsiSkSVG.d.ts +1 -1
- package/lib/module/skia/web/JsiSkSVG.js +5 -8
- package/lib/module/skia/web/JsiSkSVG.js.map +1 -1
- package/lib/module/skia/web/JsiSkShader.d.ts +0 -1
- package/lib/module/skia/web/JsiSkShader.js +0 -6
- package/lib/module/skia/web/JsiSkShader.js.map +1 -1
- package/lib/module/skia/web/JsiSkSurface.d.ts +1 -1
- package/lib/module/skia/web/JsiSkSurface.js +3 -6
- package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
- package/lib/module/skia/web/JsiSkTextBlob.d.ts +0 -1
- package/lib/module/skia/web/JsiSkTextBlob.js +0 -6
- package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
- package/lib/module/skia/web/JsiSkTypeface.d.ts +0 -1
- package/lib/module/skia/web/JsiSkTypeface.js +0 -6
- package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.js +0 -12
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
- package/lib/module/skia/web/JsiSkVertices.d.ts +0 -1
- package/lib/module/skia/web/JsiSkVertices.js +0 -6
- package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
- package/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
- package/lib/module/skia/web/JsiSkottieAnimation.js +0 -3
- package/lib/module/skia/web/JsiSkottieAnimation.js.map +1 -1
- package/lib/module/skia/web/JsiVideo.d.ts +1 -0
- package/lib/module/skia/web/JsiVideo.js +4 -1
- package/lib/module/skia/web/JsiVideo.js.map +1 -1
- package/lib/module/sksg/Container.native.js.map +1 -1
- package/lib/module/sksg/Container.web.js.map +1 -1
- package/lib/module/sksg/Elements.js.map +1 -1
- package/lib/module/sksg/Reconciler.js.map +1 -1
- package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
- package/lib/module/sksg/StaticContainer.js.map +1 -1
- package/lib/module/views/SkiaPictureView.web.js +3 -1
- package/lib/module/views/SkiaPictureView.web.js.map +1 -1
- package/lib/typescript/eslint.config.d.mts +2 -0
- package/lib/typescript/jest.config.d.ts +11 -2
- package/lib/typescript/lib/commonjs/skia/web/Host.d.ts +2 -0
- package/lib/typescript/lib/commonjs/skia/web/JsiSkFontMgr.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraph.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiSkottieAnimation.d.ts +0 -1
- package/lib/typescript/lib/commonjs/skia/web/JsiVideo.d.ts +1 -0
- package/lib/typescript/lib/module/skia/web/Host.d.ts +2 -0
- package/lib/typescript/lib/module/skia/web/JsiSkFontMgr.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkParagraph.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkottieAnimation.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiVideo.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/setup/Paragraph.d.ts +1 -0
- package/lib/typescript/src/renderer/__tests__/e2e/setup/SVG.d.ts +1 -0
- package/lib/typescript/src/skia/types/JsiInstance.d.ts +1 -1
- package/lib/typescript/src/skia/web/Host.d.ts +2 -1
- package/lib/typescript/src/skia/web/JsiSkAnimatedImage.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkCanvas.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkColorFilter.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkContourMeasure.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkData.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkFont.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkImage.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkImageFilter.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkMaskFilter.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkMatrix.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPaint.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkParagraph.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkParagraphBuilder.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPath.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPathEffect.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPicture.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPictureRecorder.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkPoint.d.ts +1 -2
- package/lib/typescript/src/skia/web/JsiSkRRect.d.ts +2 -2
- package/lib/typescript/src/skia/web/JsiSkRSXform.d.ts +1 -2
- package/lib/typescript/src/skia/web/JsiSkRect.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkSVG.d.ts +1 -1
- package/lib/typescript/src/skia/web/JsiSkShader.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkSurface.d.ts +1 -1
- package/lib/typescript/src/skia/web/JsiSkTextBlob.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkTypeface.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -2
- package/lib/typescript/src/skia/web/JsiSkVertices.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiSkottieAnimation.d.ts +0 -1
- package/lib/typescript/src/skia/web/JsiVideo.d.ts +1 -0
- package/package.json +14 -12
- package/scripts/setup-canvaskit.js +15 -9
- package/src/Platform/Platform.ts +2 -2
- package/src/Platform/Platform.web.tsx +0 -1
- package/src/__tests__/setup.ts +1 -4
- package/src/animation/functions/interpolate.ts +0 -1
- package/src/dom/nodes/datatypes/Fitting.ts +1 -1
- package/src/dom/types/Drawings.ts +1 -1
- package/src/external/reanimated/useVideo.ts +1 -1
- package/src/renderer/Canvas.tsx +1 -2
- package/src/renderer/__tests__/FitBox.spec.tsx +0 -1
- package/src/renderer/__tests__/Picture.spec.tsx +8 -5
- package/src/renderer/__tests__/Surfaces.spec.tsx +11 -16
- package/src/renderer/__tests__/documentation/Group.spec.tsx +0 -1
- package/src/renderer/__tests__/e2e/AnimatedImages.spec.tsx +0 -1
- package/src/renderer/__tests__/e2e/Drawings.spec.tsx +0 -4
- package/src/renderer/__tests__/e2e/Group.spec.tsx +0 -1
- package/src/renderer/__tests__/e2e/ImageFilters.spec.tsx +0 -2
- package/src/renderer/__tests__/e2e/Paint.spec.tsx +0 -1
- package/src/renderer/__tests__/e2e/Paths.spec.tsx +1 -6
- package/src/renderer/__tests__/e2e/RuntimeShader.spec.tsx +0 -1
- package/src/renderer/__tests__/e2e/Skottie.spec.tsx +6 -6
- package/src/renderer/__tests__/e2e/Surfaces.spec.tsx +2 -2
- package/src/renderer/__tests__/e2e/TextPath.spec.tsx +0 -2
- package/src/renderer/__tests__/e2e/Video.ts +0 -1
- package/src/renderer/__tests__/e2e/setup/Paragraph.ts +5 -1
- package/src/renderer/__tests__/e2e/setup/SVG.ts +5 -1
- package/src/renderer/__tests__/e2e/setup/SkiaObject.ts +1 -1
- package/src/renderer/__tests__/setup.tsx +0 -1
- package/src/renderer/processors/Animations/Animations.ts +4 -4
- package/src/skia/__tests__/Path.spec.ts +1 -3
- package/src/skia/core/Image.ts +1 -1
- package/src/skia/types/JsiInstance.ts +1 -1
- package/src/skia/types/Matrix4.ts +4 -4
- package/src/skia/types/NativeBuffer/NativeBufferFactory.ts +1 -1
- package/src/skia/types/Shader/Shader.ts +0 -1
- package/src/skia/web/CanvasKitWebGLBufferImpl.ts +4 -1
- package/src/skia/web/Host.ts +14 -1
- package/src/skia/web/JsiSkAnimatedImage.ts +0 -4
- package/src/skia/web/JsiSkCanvas.ts +0 -4
- package/src/skia/web/JsiSkColor.ts +1 -1
- package/src/skia/web/JsiSkColorFilter.ts +0 -4
- package/src/skia/web/JsiSkContourMeasure.ts +0 -4
- package/src/skia/web/JsiSkContourMeasureIter.ts +0 -4
- package/src/skia/web/JsiSkData.ts +0 -4
- package/src/skia/web/JsiSkDataFactory.ts +1 -1
- package/src/skia/web/JsiSkFont.ts +0 -4
- package/src/skia/web/JsiSkFontMgr.ts +2 -1
- package/src/skia/web/JsiSkImage.ts +0 -4
- package/src/skia/web/JsiSkImageFilter.ts +0 -4
- package/src/skia/web/JsiSkMaskFilter.ts +0 -4
- package/src/skia/web/JsiSkMatrix.ts +2 -6
- package/src/skia/web/JsiSkPaint.ts +0 -4
- package/src/skia/web/JsiSkParagraph.ts +0 -4
- package/src/skia/web/JsiSkParagraphBuilder.ts +0 -4
- package/src/skia/web/JsiSkPath.ts +0 -4
- package/src/skia/web/JsiSkPathEffect.ts +0 -4
- package/src/skia/web/JsiSkPicture.ts +0 -4
- package/src/skia/web/JsiSkPictureRecorder.ts +0 -4
- package/src/skia/web/JsiSkPoint.ts +0 -4
- package/src/skia/web/JsiSkRRect.ts +3 -3
- package/src/skia/web/JsiSkRSXform.ts +5 -3
- package/src/skia/web/JsiSkRect.ts +0 -4
- package/src/skia/web/JsiSkRuntimeEffect.ts +5 -5
- package/src/skia/web/JsiSkSVG.ts +2 -2
- package/src/skia/web/JsiSkShader.ts +0 -4
- package/src/skia/web/JsiSkSurface.ts +2 -2
- package/src/skia/web/JsiSkTextBlob.ts +0 -4
- package/src/skia/web/JsiSkTypeface.ts +0 -4
- package/src/skia/web/JsiSkTypefaceFontProvider.ts +0 -12
- package/src/skia/web/JsiSkVertices.ts +0 -4
- package/src/skia/web/JsiSkottieAnimation.ts +0 -3
- package/src/skia/web/JsiVideo.ts +5 -1
- package/src/sksg/Container.native.ts +4 -1
- package/src/sksg/Container.web.ts +4 -1
- package/src/sksg/Elements.tsx +0 -1
- package/src/sksg/Reconciler.ts +4 -1
- package/src/sksg/Recorder/Visitor.ts +1 -1
- package/src/sksg/StaticContainer.ts +4 -1
- package/src/views/SkiaPictureView.web.tsx +12 -3
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_ReanimatedProxy","_interopRequireDefault","_SkiaViewNativeId","_SkiaPictureViewNativeComponent","_Reconciler","_skia","_Platform","_external","_global","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","useCanvasRef","useRef","exports","useReanimatedFrame","HAS_REANIMATED_3","Rea","useFrameCallback","useCanvasSize","userRef","ourRef","ref","size","setSize","useState","width","height","useLayoutEffect","current","measure","_x","_y","isFabric","Boolean","global","nativeFabricUIManager","Canvas","debug","opaque","children","onSize","colorSpace","onLayout","viewProps","console","error","viewRef","nativeId","useMemo","SkiaViewNativeId","root","SkiaSGRoot","Skia","useEffect","runOnUI","undefined","render","unmount","useImperativeHandle","makeImageSnapshot","rect","SkiaViewApi","makeImageSnapshotAsync","redraw","requestRedraw","getNativeId","callback","_viewRef$current","measureInWindow","_viewRef$current2","onLayoutWeb","useCallback","Platform","OS","nativeEvent","layout","value","createElement","collapsable","nativeID"],"sources":["Canvas.tsx"],"sourcesContent":["import type { FC, RefObject } from \"react\";\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type {\n LayoutChangeEvent,\n MeasureInWindowOnSuccessCallback,\n MeasureOnSuccessCallback,\n View,\n ViewProps,\n} from \"react-native\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport Rea from \"../external/reanimated/ReanimatedProxy\";\nimport { SkiaViewNativeId } from \"../views/SkiaViewNativeId\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\nimport type { SkImage, SkRect, SkSize } from \"../skia/types\";\nimport { SkiaSGRoot } from \"../sksg/Reconciler\";\nimport { Skia } from \"../skia\";\nimport { Platform } from \"../Platform\";\nimport { HAS_REANIMATED_3 } from \"../external\";\n\nexport interface CanvasRef extends FC<CanvasProps> {\n makeImageSnapshot(rect?: SkRect): SkImage;\n makeImageSnapshotAsync(rect?: SkRect): Promise<SkImage>;\n redraw(): void;\n getNativeId(): number;\n measure(callback: MeasureOnSuccessCallback): void;\n measureInWindow(callback: MeasureInWindowOnSuccessCallback): void;\n}\n\nexport const useCanvasRef = () => useRef<CanvasRef>(null);\n\nconst useReanimatedFrame = !HAS_REANIMATED_3 ? () => {} : Rea.useFrameCallback;\n\nexport const useCanvasSize = (userRef?: RefObject<CanvasRef | null>) => {\n const ourRef = useCanvasRef();\n const ref = userRef ?? ourRef;\n const [size, setSize] = useState<SkSize>({ width: 0, height: 0 });\n useLayoutEffect(() => {\n if (ref.current) {\n ref.current.measure((_x, _y, width, height) => {\n setSize({ width, height });\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return { ref, size };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isFabric = Boolean((global as any)?.nativeFabricUIManager);\n\nexport interface CanvasProps extends Omit<ViewProps, \"onLayout\"> {\n debug?: boolean;\n opaque?: boolean;\n onSize?: SharedValue<SkSize>;\n colorSpace?: \"p3\" | \"srgb\";\n ref?: React.Ref<CanvasRef>;\n __destroyWebGLContextAfterRender?: boolean;\n}\n\nexport const Canvas = ({\n debug,\n opaque,\n children,\n onSize,\n colorSpace = \"p3\",\n ref,\n // Here know this is a type error but this is done on purpose to check it at runtime\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n onLayout,\n ...viewProps\n}: CanvasProps) => {\n if (onLayout && isFabric) {\n console.error(\n // eslint-disable-next-line max-len\n \"<Canvas onLayout={onLayout} /> is not supported on the new architecture, to fix the issue, see: https://shopify.github.io/react-native-skia/docs/canvas/overview/#getting-the-canvas-size\"\n );\n }\n const viewRef = useRef<View>(null);\n // Native ID\n const nativeId = useMemo(() => {\n return SkiaViewNativeId.current++;\n }, []);\n\n // Root\n const root = useMemo(() => new SkiaSGRoot(Skia, nativeId), [nativeId]);\n\n useReanimatedFrame(() => {\n \"worklet\";\n }, !!onSize);\n useEffect(() => {\n if (onSize) {\n Rea.runOnUI(() => {\n (global as Record<string, unknown>)[`__onSize_${nativeId}`] = onSize;\n })();\n return () => {\n Rea.runOnUI(() => {\n delete (global as Record<string, unknown>)[`__onSize_${nativeId}`];\n })();\n };\n }\n return undefined;\n }, [onSize, nativeId]);\n\n // Render effects\n useLayoutEffect(() => {\n root.render(children);\n }, [children, root, nativeId]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n // Component methods\n useImperativeHandle(\n ref,\n () =>\n ({\n makeImageSnapshot: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshot(nativeId, rect);\n },\n makeImageSnapshotAsync: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);\n },\n redraw: () => {\n SkiaViewApi.requestRedraw(nativeId);\n },\n getNativeId: () => {\n return nativeId;\n },\n measure: (callback) => {\n viewRef.current?.measure(callback);\n },\n measureInWindow: (callback) => {\n viewRef.current?.measureInWindow(callback);\n },\n } as CanvasRef)\n );\n\n const onLayoutWeb = useCallback(\n (e: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(e);\n }\n if (Platform.OS === \"web\" && onSize) {\n const { width, height } = e.nativeEvent.layout;\n onSize.value = { width, height };\n }\n },\n [onLayout, onSize]\n );\n\n return (\n <SkiaPictureViewNativeComponent\n ref={viewRef}\n collapsable={false}\n nativeID={`${nativeId}`}\n debug={debug}\n opaque={opaque}\n colorSpace={colorSpace}\n onLayout={onLayoutWeb}\n {...viewProps}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_ReanimatedProxy","_interopRequireDefault","_SkiaViewNativeId","_SkiaPictureViewNativeComponent","_Reconciler","_skia","_Platform","_external","_global","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","useCanvasRef","useRef","exports","useReanimatedFrame","HAS_REANIMATED_3","Rea","useFrameCallback","useCanvasSize","userRef","ourRef","ref","size","setSize","useState","width","height","useLayoutEffect","current","measure","_x","_y","isFabric","Boolean","global","nativeFabricUIManager","Canvas","debug","opaque","children","onSize","colorSpace","onLayout","viewProps","console","error","viewRef","nativeId","useMemo","SkiaViewNativeId","root","SkiaSGRoot","Skia","useEffect","runOnUI","undefined","render","unmount","useImperativeHandle","makeImageSnapshot","rect","SkiaViewApi","makeImageSnapshotAsync","redraw","requestRedraw","getNativeId","callback","_viewRef$current","measureInWindow","_viewRef$current2","onLayoutWeb","useCallback","Platform","OS","nativeEvent","layout","value","createElement","collapsable","nativeID"],"sources":["Canvas.tsx"],"sourcesContent":["import type { FC, RefObject } from \"react\";\nimport React, {\n useCallback,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type {\n LayoutChangeEvent,\n MeasureInWindowOnSuccessCallback,\n MeasureOnSuccessCallback,\n View,\n ViewProps,\n} from \"react-native\";\nimport type { SharedValue } from \"react-native-reanimated\";\n\nimport Rea from \"../external/reanimated/ReanimatedProxy\";\nimport { SkiaViewNativeId } from \"../views/SkiaViewNativeId\";\nimport SkiaPictureViewNativeComponent from \"../specs/SkiaPictureViewNativeComponent\";\nimport type { SkImage, SkRect, SkSize } from \"../skia/types\";\nimport { SkiaSGRoot } from \"../sksg/Reconciler\";\nimport { Skia } from \"../skia\";\nimport { Platform } from \"../Platform\";\nimport { HAS_REANIMATED_3 } from \"../external\";\n\nexport interface CanvasRef extends FC<CanvasProps> {\n makeImageSnapshot(rect?: SkRect): SkImage;\n makeImageSnapshotAsync(rect?: SkRect): Promise<SkImage>;\n redraw(): void;\n getNativeId(): number;\n measure(callback: MeasureOnSuccessCallback): void;\n measureInWindow(callback: MeasureInWindowOnSuccessCallback): void;\n}\n\nexport const useCanvasRef = () => useRef<CanvasRef>(null);\n\nconst useReanimatedFrame = !HAS_REANIMATED_3 ? () => {} : Rea.useFrameCallback;\n\nexport const useCanvasSize = (userRef?: RefObject<CanvasRef | null>) => {\n const ourRef = useCanvasRef();\n const ref = userRef ?? ourRef;\n const [size, setSize] = useState<SkSize>({ width: 0, height: 0 });\n useLayoutEffect(() => {\n if (ref.current) {\n ref.current.measure((_x, _y, width, height) => {\n setSize({ width, height });\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return { ref, size };\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const isFabric = Boolean((global as any)?.nativeFabricUIManager);\n\nexport interface CanvasProps extends Omit<ViewProps, \"onLayout\"> {\n debug?: boolean;\n opaque?: boolean;\n onSize?: SharedValue<SkSize>;\n colorSpace?: \"p3\" | \"srgb\";\n ref?: React.Ref<CanvasRef>;\n __destroyWebGLContextAfterRender?: boolean;\n}\n\nexport const Canvas = ({\n debug,\n opaque,\n children,\n onSize,\n colorSpace = \"p3\",\n ref,\n // Here know this is a type error but this is done on purpose to check it at runtime\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n onLayout,\n ...viewProps\n}: CanvasProps) => {\n if (onLayout && isFabric) {\n console.error(\n \"<Canvas onLayout={onLayout} /> is not supported on the new architecture, to fix the issue, see: https://shopify.github.io/react-native-skia/docs/canvas/overview/#getting-the-canvas-size\"\n );\n }\n const viewRef = useRef<View>(null);\n // Native ID\n const nativeId = useMemo(() => {\n return SkiaViewNativeId.current++;\n }, []);\n\n // Root\n const root = useMemo(() => new SkiaSGRoot(Skia, nativeId), [nativeId]);\n\n useReanimatedFrame(() => {\n \"worklet\";\n }, !!onSize);\n useEffect(() => {\n if (onSize) {\n Rea.runOnUI(() => {\n (global as Record<string, unknown>)[`__onSize_${nativeId}`] = onSize;\n })();\n return () => {\n Rea.runOnUI(() => {\n delete (global as Record<string, unknown>)[`__onSize_${nativeId}`];\n })();\n };\n }\n return undefined;\n }, [onSize, nativeId]);\n\n // Render effects\n useLayoutEffect(() => {\n root.render(children);\n }, [children, root, nativeId]);\n\n useEffect(() => {\n return () => {\n root.unmount();\n };\n }, [root]);\n\n // Component methods\n useImperativeHandle(\n ref,\n () =>\n ({\n makeImageSnapshot: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshot(nativeId, rect);\n },\n makeImageSnapshotAsync: (rect?: SkRect) => {\n return SkiaViewApi.makeImageSnapshotAsync(nativeId, rect);\n },\n redraw: () => {\n SkiaViewApi.requestRedraw(nativeId);\n },\n getNativeId: () => {\n return nativeId;\n },\n measure: (callback) => {\n viewRef.current?.measure(callback);\n },\n measureInWindow: (callback) => {\n viewRef.current?.measureInWindow(callback);\n },\n }) as CanvasRef\n );\n\n const onLayoutWeb = useCallback(\n (e: LayoutChangeEvent) => {\n if (onLayout) {\n onLayout(e);\n }\n if (Platform.OS === \"web\" && onSize) {\n const { width, height } = e.nativeEvent.layout;\n onSize.value = { width, height };\n }\n },\n [onLayout, onSize]\n );\n\n return (\n <SkiaPictureViewNativeComponent\n ref={viewRef}\n collapsable={false}\n nativeID={`${nativeId}`}\n debug={debug}\n opaque={opaque}\n colorSpace={colorSpace}\n onLayout={onLayoutWeb}\n {...viewProps}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -15,5 +15,6 @@ export declare class ParagraphAsset<Ctx extends EvalContext> extends SkiaObject<
|
|
15
15
|
getLineMetrics(): import("../../../../skia/types").LineMetrics[];
|
16
16
|
getRectsForPlaceholders(): import("../../../../skia/types").SkRectWithDirection[];
|
17
17
|
__typename__: "Paragraph";
|
18
|
+
[Symbol.dispose](): void;
|
18
19
|
dispose(): void;
|
19
20
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["Animations.ts"],"sourcesContent":["export type AnimatedProp<T> = T | { value: T };\n\nexport type AnimatedProps<T, O extends keyof T | never = never> = {\n [K in keyof T]: K extends \"children\"\n ? T[K]\n : K extends O\n
|
1
|
+
{"version":3,"names":[],"sources":["Animations.ts"],"sourcesContent":["export type AnimatedProp<T> = T | { value: T };\n\nexport type AnimatedProps<T, O extends keyof T | never = never> = {\n [K in keyof T]: K extends \"children\"\n ? T[K]\n : K extends O\n ? T[K]\n : AnimatedProp<T[K]>;\n};\n\nexport type SkiaProps<\n P = object,\n O extends keyof P | never = never,\n> = AnimatedProps<P, O>;\n\ntype WithOptional<T extends object, N extends keyof T> = Omit<T, N> & {\n [K in N]?: T[K];\n};\n\nexport type SkiaDefaultProps<\n T extends object,\n N extends keyof T,\n> = WithOptional<SkiaProps<T>, N>;\n"],"mappings":"","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_Platform","require","_Skia","_Data","imgFactory","Skia","Image","MakeImageFromEncoded","bind","useImage","source","onError","useRawData","exports","makeImageFromView","viewRef","callback","Platform","OS","Promise","reject","Error","viewTag","findNodeHandle","current","MakeImageFromViewTag"],"sources":["Image.ts"],"sourcesContent":["import { Platform } from \"../../Platform\";\nimport { Skia } from \"../Skia\";\nimport type { DataSourceParam, SkImage } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nconst imgFactory = Skia.Image.MakeImageFromEncoded.bind(Skia.Image);\n\n/**\n * Returns a Skia Image object\n * */\nexport const useImage = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, imgFactory, onError);\n\n/**\n * Creates an image from a given view reference. NOTE: This method has different implementations\n * on web/native. On web, the callback is called with the view ref and the callback is expected to\n * return a promise that resolves to a Skia Image object. On native, the view ref is used to\n * find the view tag and the Skia Image object is created from the view tag. This means that on web\n * you will need to implement the logic to create the image from the view ref yourself.\n * @param viewRef Ref to the view we're creating an image from\n * @returns A promise that resolves to a Skia Image object or rejects\n * with an error id the view tag is invalid.\n */\nexport const makeImageFromView = <\n T extends\n | number\n | React.Component<unknown, unknown>\n | React.ComponentClass<unknown>\n | null
|
1
|
+
{"version":3,"names":["_Platform","require","_Skia","_Data","imgFactory","Skia","Image","MakeImageFromEncoded","bind","useImage","source","onError","useRawData","exports","makeImageFromView","viewRef","callback","Platform","OS","Promise","reject","Error","viewTag","findNodeHandle","current","MakeImageFromViewTag"],"sources":["Image.ts"],"sourcesContent":["import { Platform } from \"../../Platform\";\nimport { Skia } from \"../Skia\";\nimport type { DataSourceParam, SkImage } from \"../types\";\n\nimport { useRawData } from \"./Data\";\n\nconst imgFactory = Skia.Image.MakeImageFromEncoded.bind(Skia.Image);\n\n/**\n * Returns a Skia Image object\n * */\nexport const useImage = (\n source: DataSourceParam,\n onError?: (err: Error) => void\n) => useRawData(source, imgFactory, onError);\n\n/**\n * Creates an image from a given view reference. NOTE: This method has different implementations\n * on web/native. On web, the callback is called with the view ref and the callback is expected to\n * return a promise that resolves to a Skia Image object. On native, the view ref is used to\n * find the view tag and the Skia Image object is created from the view tag. This means that on web\n * you will need to implement the logic to create the image from the view ref yourself.\n * @param viewRef Ref to the view we're creating an image from\n * @returns A promise that resolves to a Skia Image object or rejects\n * with an error id the view tag is invalid.\n */\nexport const makeImageFromView = <\n T extends\n | number\n | React.Component<unknown, unknown>\n | React.ComponentClass<unknown>\n | null,\n>(\n viewRef: React.RefObject<T>,\n callback:\n | null\n | ((viewRef: React.RefObject<T>) => Promise<SkImage | null>) = null\n) => {\n // In web implementation we just delegate the work to the provided callback\n if (Platform.OS === \"web\") {\n if (callback) {\n return callback(viewRef);\n } else {\n Promise.reject(\n new Error(\n \"Callback is required on web in the makeImageFromView function.\"\n )\n );\n }\n }\n const viewTag = Platform.findNodeHandle(viewRef.current);\n if (viewTag !== null && viewTag !== 0) {\n return Skia.Image.MakeImageFromViewTag(viewTag);\n }\n return Promise.reject(new Error(\"Invalid view tag\"));\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAGA,IAAAE,KAAA,GAAAF,OAAA;AAEA,MAAMG,UAAU,GAAGC,UAAI,CAACC,KAAK,CAACC,oBAAoB,CAACC,IAAI,CAACH,UAAI,CAACC,KAAK,CAAC;;AAEnE;AACA;AACA;AACO,MAAMG,QAAQ,GAAGA,CACtBC,MAAuB,EACvBC,OAA8B,KAC3B,IAAAC,gBAAU,EAACF,MAAM,EAAEN,UAAU,EAAEO,OAAO,CAAC;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATAE,OAAA,CAAAJ,QAAA,GAAAA,QAAA;AAUO,MAAMK,iBAAiB,GAAGA,CAO/BC,OAA2B,EAC3BC,QAE8D,GAAG,IAAI,KAClE;EACH;EACA,IAAIC,kBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,IAAIF,QAAQ,EAAE;MACZ,OAAOA,QAAQ,CAACD,OAAO,CAAC;IAC1B,CAAC,MAAM;MACLI,OAAO,CAACC,MAAM,CACZ,IAAIC,KAAK,CACP,gEACF,CACF,CAAC;IACH;EACF;EACA,MAAMC,OAAO,GAAGL,kBAAQ,CAACM,cAAc,CAACR,OAAO,CAACS,OAAO,CAAC;EACxD,IAAIF,OAAO,KAAK,IAAI,IAAIA,OAAO,KAAK,CAAC,EAAE;IACrC,OAAOjB,UAAI,CAACC,KAAK,CAACmB,oBAAoB,CAACH,OAAO,CAAC;EACjD;EACA,OAAOH,OAAO,CAACC,MAAM,CAAC,IAAIC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AACtD,CAAC;AAACR,OAAA,CAAAC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":[],"sources":["JsiInstance.ts"],"sourcesContent":["export interface SkJSIInstance<T extends string> {\n __typename__: T;\n dispose(): void;\n}\n"],"mappings":"","ignoreList":[]}
|
1
|
+
{"version":3,"names":[],"sources":["JsiInstance.ts"],"sourcesContent":["export interface SkJSIInstance<T extends string> extends Disposable {\n __typename__: T;\n dispose(): void;\n}\n"],"mappings":"","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["exhaustiveCheck","a","Error","Matrix4","exports","translate","x","y","z","perspective","p","normalizeVec","vec","length","Math","sqrt","rotatedUnitSinCos","axisVec","sinAngle","cosAngle","c","s","t","matrixVecMul4","m","v","mapPoint3d","r","multiply4","b","result","Array","fill","i","j","skewY","angle","tan","skewX","toMatrix3","rotate","axis","value","sin","cos","pivot","scale","sx","sy","sz","m4","rotateAxis","rotateZ","rotateX","rotateY","processTransform3d","transforms","reduce","acc","val","key","Object","keys","transform","convertToColumnMajor","rowMajorMatrix","colMajorMatrix","size","row","col","convertToColumnMajor3","convertToAffineMatrix","d","tx","ty","det3x3","a00","a01","a02","a10","a11","a12","a20","a21","a22","invert4","a03","a13","a23","a30","a31","a32","a33","b00","b01","b02","b03","b10","b11","b12","b13","b20","b21","b22","b23","b30","b31","b32","b33","det","abs","invDet","vecSub","vecCross","lookat","eyeVec","centerVec","upVec","f","u","uf","perspectiveMatrix","near","far","dInv","halfAngle","cot","setupCamera","area","zscale","cam","camera","eye","coa","up","center","viewScale","viewport"],"sources":["Matrix4.ts"],"sourcesContent":["type Point = { x: number; y: number };\ntype Vec2 = readonly [number, number];\nexport type Vec3 = readonly [number, number, number];\nexport type Vec4 = readonly [number, number, number, number];\n\nexport type Matrix3 = readonly [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number\n];\n\nexport type Matrix4 = readonly [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number\n];\n\ntype Transform3dName =\n | \"translateX\"\n | \"translateY\"\n | \"translateZ\"\n | \"translate\"\n | \"scale\"\n | \"scaleX\"\n | \"scaleY\"\n | \"skewX\"\n | \"skewY\"\n | \"rotateZ\"\n | \"rotate\"\n | \"perspective\"\n | \"rotateX\"\n | \"rotateY\"\n | \"matrix\";\n\ntype Transformations = {\n [Name in Transform3dName]: Name extends \"matrix\"\n ? Matrix4\n : Name extends \"translate\"\n ? Vec3 | Vec2\n : number;\n};\n\ntype Transform3d =\n | Pick<Transformations, \"translateX\">\n | Pick<Transformations, \"translateY\">\n | Pick<Transformations, \"translateZ\">\n | Pick<Transformations, \"translate\">\n | Pick<Transformations, \"scale\">\n | Pick<Transformations, \"scaleX\">\n | Pick<Transformations, \"scaleY\">\n | Pick<Transformations, \"skewX\">\n | Pick<Transformations, \"skewY\">\n | Pick<Transformations, \"perspective\">\n | Pick<Transformations, \"rotateX\">\n | Pick<Transformations, \"rotateY\">\n | Pick<Transformations, \"rotateZ\">\n | Pick<Transformations, \"rotate\">\n | Pick<Transformations, \"matrix\">;\n\nexport type Transforms3d = Transform3d[];\n\nconst exhaustiveCheck = (a: never): never => {\n \"worklet\";\n throw new Error(`Unexhaustive handling for ${a}`);\n};\n\n/**\n * @worklet\n */\nexport const Matrix4 = (): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const translate = (x: number, y: number, z = 0): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, x, 0, 1, 0, y, 0, 0, 1, z, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const perspective = (p: number): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, -1 / p, 1];\n};\n\nconst normalizeVec = (vec: Vec3): Vec3 => {\n \"worklet\";\n const [x, y, z] = vec;\n const length = Math.sqrt(x * x + y * y + z * z);\n // Check for zero length to avoid division by zero\n if (length === 0) {\n return [0, 0, 0];\n }\n return [x / length, y / length, z / length];\n};\n\nconst rotatedUnitSinCos = (\n axisVec: Vec3,\n sinAngle: number,\n cosAngle: number\n): Matrix4 => {\n \"worklet\";\n const x = axisVec[0];\n const y = axisVec[1];\n const z = axisVec[2];\n const c = cosAngle;\n const s = sinAngle;\n const t = 1 - c;\n return [\n t * x * x + c,\n t * x * y - s * z,\n t * x * z + s * y,\n 0,\n t * x * y + s * z,\n t * y * y + c,\n t * y * z - s * x,\n 0,\n t * x * z - s * y,\n t * y * z + s * x,\n t * z * z + c,\n 0,\n 0,\n 0,\n 0,\n 1,\n ];\n};\n\n/**\n * @worklet\n */\nexport const matrixVecMul4 = (m: Matrix4, v: Vec4): Vec4 => {\n \"worklet\";\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * v[3],\n m[4] * v[0] + m[5] * v[1] + m[6] * v[2] + m[7] * v[3],\n m[8] * v[0] + m[9] * v[1] + m[10] * v[2] + m[11] * v[3],\n m[12] * v[0] + m[13] * v[1] + m[14] * v[2] + m[15] * v[3],\n ];\n};\n\n/**\n * @worklet\n */\nexport const mapPoint3d = (m: Matrix4, v: Vec3) => {\n \"worklet\";\n const r = matrixVecMul4(m, [...v, 1]);\n return [r[0] / r[3], r[1] / r[3], r[2] / r[3]] as const;\n};\n\n/**\n * @worklet\n */\nexport const multiply4 = (a: Matrix4, b: Matrix4): Matrix4 => {\n \"worklet\";\n const result = new Array(16).fill(0);\n for (let i = 0; i < 4; i++) {\n for (let j = 0; j < 4; j++) {\n result[i * 4 + j] =\n a[i * 4] * b[j] +\n a[i * 4 + 1] * b[j + 4] +\n a[i * 4 + 2] * b[j + 8] +\n a[i * 4 + 3] * b[j + 12];\n }\n }\n return result as unknown as Matrix4;\n};\n\nconst skewY = (angle: number): Matrix4 => {\n \"worklet\";\n return [1, Math.tan(angle), 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\nconst skewX = (angle: number): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, Math.tan(angle), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const toMatrix3 = (m: Matrix4) => {\n \"worklet\";\n return [m[0], m[1], m[3], m[4], m[5], m[7], m[12], m[13], m[15]];\n};\n\nconst rotate = (axis: Vec3, value: number) => {\n \"worklet\";\n return rotatedUnitSinCos(\n normalizeVec(axis),\n Math.sin(value),\n Math.cos(value)\n );\n};\n\n/**\n * @worklet\n */\nexport const pivot = (m: Matrix4, p: Point) => {\n \"worklet\";\n return multiply4(translate(p.x, p.y), multiply4(m, translate(-p.x, -p.y)));\n};\n\n/**\n * @worklet\n */\nexport const scale = (sx: number, sy: number, sz = 1, p?: Point): Matrix4 => {\n \"worklet\";\n const m4: Matrix4 = [sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1];\n if (p) {\n return pivot(m4, p);\n }\n return m4;\n};\n\nconst rotateAxis = (axis: Vec3, angle: number, p?: Point) => {\n \"worklet\";\n const result = rotate(axis, angle);\n if (p) {\n return pivot(result, p);\n }\n return result;\n};\n\n/**\n * @worklet\n */\nexport const rotateZ = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([0, 0, 1], value, p);\n};\n\n/**\n * @worklet\n */\nexport const rotateX = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([1, 0, 0], value, p);\n};\n\n/**\n * @worklet\n */\nexport const rotateY = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([0, 1, 0], value, p);\n};\n\n/**\n * @worklet\n */\nexport const processTransform3d = (transforms: Transforms3d) => {\n \"worklet\";\n return transforms.reduce((acc, val) => {\n const key = Object.keys(val)[0] as Transform3dName;\n const transform = val as Pick<Transformations, typeof key>;\n if (key === \"translateX\") {\n const value = transform[key];\n return multiply4(acc, translate(value, 0, 0));\n }\n if (key === \"translate\") {\n const [x, y, z = 0] = transform[key];\n return multiply4(acc, translate(x, y, z));\n }\n if (key === \"translateY\") {\n const value = transform[key];\n return multiply4(acc, translate(0, value, 0));\n }\n if (key === \"translateZ\") {\n const value = transform[key];\n return multiply4(acc, translate(0, 0, value));\n }\n if (key === \"scale\") {\n const value = transform[key];\n return multiply4(acc, scale(value, value, 1));\n }\n if (key === \"scaleX\") {\n const value = transform[key];\n return multiply4(acc, scale(value, 1, 1));\n }\n if (key === \"scaleY\") {\n const value = transform[key];\n return multiply4(acc, scale(1, value, 1));\n }\n if (key === \"skewX\") {\n const value = transform[key];\n return multiply4(acc, skewX(value));\n }\n if (key === \"skewY\") {\n const value = transform[key];\n return multiply4(acc, skewY(value));\n }\n if (key === \"rotateX\") {\n const value = transform[key];\n return multiply4(acc, rotate([1, 0, 0], value));\n }\n if (key === \"rotateY\") {\n const value = transform[key];\n return multiply4(acc, rotate([0, 1, 0], value));\n }\n if (key === \"perspective\") {\n const value = transform[key];\n return multiply4(acc, perspective(value));\n }\n if (key === \"rotate\" || key === \"rotateZ\") {\n const value = transform[key];\n return multiply4(acc, rotate([0, 0, 1], value));\n }\n if (key === \"matrix\") {\n const value = transform[key];\n return multiply4(acc, value);\n }\n return exhaustiveCheck(key);\n }, Matrix4());\n};\n\n/**\n * @worklet\n */\nexport const convertToColumnMajor = (rowMajorMatrix: Matrix4) => {\n \"worklet\";\n\n const colMajorMatrix = new Array<number>(16);\n const size = 4;\n for (let row = 0; row < size; row++) {\n for (let col = 0; col < size; col++) {\n colMajorMatrix[col * size + row] = rowMajorMatrix[row * size + col];\n }\n }\n return colMajorMatrix as unknown as Matrix4;\n};\n\n/**\n * @worklet\n */\nexport const convertToColumnMajor3 = (rowMajorMatrix: Matrix3 | number[]) => {\n \"worklet\";\n\n const colMajorMatrix = new Array<number>(9);\n const size = 3;\n for (let row = 0; row < size; row++) {\n for (let col = 0; col < size; col++) {\n colMajorMatrix[col * size + row] = rowMajorMatrix[row * size + col];\n }\n }\n return colMajorMatrix as unknown as Matrix3;\n};\n\n/**\n * @worklet\n */\nexport const convertToAffineMatrix = (m4: Matrix4) => {\n \"worklet\";\n // Extracting the relevant components from the 4x4 matrix\n const a = m4[0]; // Scale X\n const b = m4[1]; // Skew Y\n const c = m4[4]; // Skew X\n const d = m4[5]; // Scale Y\n const tx = m4[12]; // Translate X\n const ty = m4[13]; // Translate Y\n\n // Returning the 6-element affine transformation matrix\n return [a, b, c, d, tx, ty];\n};\n\n/**\n * Calculates the determinant of a 3x3 matrix\n * @worklet\n */\nconst det3x3 = (\n a00: number,\n a01: number,\n a02: number,\n a10: number,\n a11: number,\n a12: number,\n a20: number,\n a21: number,\n a22: number\n): number => {\n \"worklet\";\n return (\n a00 * (a11 * a22 - a12 * a21) +\n a01 * (a12 * a20 - a10 * a22) +\n a02 * (a10 * a21 - a11 * a20)\n );\n};\n\n/**\n * Inverts a 4x4 matrix\n * @worklet\n * @returns The inverted matrix, or the identity matrix if the input is not invertible\n */\nexport const invert4 = (m: Matrix4): Matrix4 => {\n \"worklet\";\n\n const a00 = m[0],\n a01 = m[1],\n a02 = m[2],\n a03 = m[3];\n const a10 = m[4],\n a11 = m[5],\n a12 = m[6],\n a13 = m[7];\n const a20 = m[8],\n a21 = m[9],\n a22 = m[10],\n a23 = m[11];\n const a30 = m[12],\n a31 = m[13],\n a32 = m[14],\n a33 = m[15];\n\n // Calculate cofactors\n const b00 = det3x3(a11, a12, a13, a21, a22, a23, a31, a32, a33);\n const b01 = -det3x3(a10, a12, a13, a20, a22, a23, a30, a32, a33);\n const b02 = det3x3(a10, a11, a13, a20, a21, a23, a30, a31, a33);\n const b03 = -det3x3(a10, a11, a12, a20, a21, a22, a30, a31, a32);\n\n const b10 = -det3x3(a01, a02, a03, a21, a22, a23, a31, a32, a33);\n const b11 = det3x3(a00, a02, a03, a20, a22, a23, a30, a32, a33);\n const b12 = -det3x3(a00, a01, a03, a20, a21, a23, a30, a31, a33);\n const b13 = det3x3(a00, a01, a02, a20, a21, a22, a30, a31, a32);\n\n const b20 = det3x3(a01, a02, a03, a11, a12, a13, a31, a32, a33);\n const b21 = -det3x3(a00, a02, a03, a10, a12, a13, a30, a32, a33);\n const b22 = det3x3(a00, a01, a03, a10, a11, a13, a30, a31, a33);\n const b23 = -det3x3(a00, a01, a02, a10, a11, a12, a30, a31, a32);\n\n const b30 = -det3x3(a01, a02, a03, a11, a12, a13, a21, a22, a23);\n const b31 = det3x3(a00, a02, a03, a10, a12, a13, a20, a22, a23);\n const b32 = -det3x3(a00, a01, a03, a10, a11, a13, a20, a21, a23);\n const b33 = det3x3(a00, a01, a02, a10, a11, a12, a20, a21, a22);\n\n // Calculate determinant\n const det = a00 * b00 + a01 * b01 + a02 * b02 + a03 * b03;\n\n // Check if matrix is invertible\n if (Math.abs(det) < 1e-8) {\n // Return identity matrix if not invertible\n return Matrix4();\n }\n\n const invDet = 1.0 / det;\n\n // Calculate inverse matrix\n return [\n b00 * invDet,\n b10 * invDet,\n b20 * invDet,\n b30 * invDet,\n b01 * invDet,\n b11 * invDet,\n b21 * invDet,\n b31 * invDet,\n b02 * invDet,\n b12 * invDet,\n b22 * invDet,\n b32 * invDet,\n b03 * invDet,\n b13 * invDet,\n b23 * invDet,\n b33 * invDet,\n ] as Matrix4;\n};\n\nconst vecSub = (a: Vec3, b: Vec3): Vec3 => {\n \"worklet\";\n return [a[0] - b[0], a[1] - b[1], a[2] - b[2]];\n};\n\nconst vecCross = (a: Vec3, b: Vec3): Vec3 => {\n \"worklet\";\n return [\n a[1] * b[2] - a[2] * b[1],\n a[2] * b[0] - a[0] * b[2],\n a[0] * b[1] - a[1] * b[0],\n ];\n};\n\nconst lookat = (eyeVec: Vec3, centerVec: Vec3, upVec: Vec3): Matrix4 => {\n \"worklet\";\n const f = normalizeVec(vecSub(centerVec, eyeVec));\n const u = normalizeVec(upVec);\n const s = normalizeVec(vecCross(f, u));\n const uf = vecCross(s, f);\n\n // Build the look-at matrix directly\n const m: Matrix4 = [\n s[0],\n uf[0],\n -f[0],\n eyeVec[0],\n s[1],\n uf[1],\n -f[1],\n eyeVec[1],\n s[2],\n uf[2],\n -f[2],\n eyeVec[2],\n 0,\n 0,\n 0,\n 1,\n ];\n\n return invert4(m);\n};\n\nconst perspectiveMatrix = (\n near: number,\n far: number,\n angle: number\n): Matrix4 => {\n \"worklet\";\n const dInv = 1 / (far - near);\n const halfAngle = angle / 2;\n const cot = Math.cos(halfAngle) / Math.sin(halfAngle);\n return [\n cot,\n 0,\n 0,\n 0,\n 0,\n cot,\n 0,\n 0,\n 0,\n 0,\n (far + near) * dInv,\n 2 * far * near * dInv,\n 0,\n 0,\n -1,\n 1,\n ];\n};\n\nexport interface CameraConfig {\n eye: Vec3;\n coa: Vec3;\n up: Vec3;\n near: number;\n far: number;\n angle: number;\n}\n\nexport const setupCamera = (\n area: Vec4,\n zscale: number,\n cam: CameraConfig\n): Matrix4 => {\n \"worklet\";\n const camera = lookat(cam.eye, cam.coa, cam.up);\n const p = perspectiveMatrix(cam.near, cam.far, cam.angle);\n const center: Vec3 = [(area[0] + area[2]) / 2, (area[1] + area[3]) / 2, 0];\n const viewScale: Vec3 = [\n (area[2] - area[0]) / 2,\n (area[3] - area[1]) / 2,\n zscale,\n ];\n const viewport = multiply4(\n translate(center[0], center[1], center[2]),\n scale(viewScale[0], viewScale[1], viewScale[2])\n );\n return multiply4(\n multiply4(viewport, p),\n multiply4(camera, invert4(viewport))\n );\n};\n"],"mappings":";;;;;;AAgFA,MAAMA,eAAe,GAAIC,CAAQ,IAAY;EAC3C,SAAS;;EACT,MAAM,IAAIC,KAAK,CAAC,6BAA6BD,CAAC,EAAE,CAAC;AACnD,CAAC;;AAED;AACA;AACA;AACO,MAAME,OAAO,GAAGA,CAAA,KAAe;EACpC,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAGO,MAAME,SAAS,GAAGA,CAACC,CAAS,EAAEC,CAAS,EAAEC,CAAC,GAAG,CAAC,KAAc;EACjE,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;;AAED;AACA;AACA;AAFAJ,OAAA,CAAAC,SAAA,GAAAA,SAAA;AAGO,MAAMI,WAAW,GAAIC,CAAS,IAAc;EACjD,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAGA,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAACN,OAAA,CAAAK,WAAA,GAAAA,WAAA;AAEF,MAAME,YAAY,GAAIC,GAAS,IAAW;EACxC,SAAS;;EACT,MAAM,CAACN,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAGI,GAAG;EACrB,MAAMC,MAAM,GAAGC,IAAI,CAACC,IAAI,CAACT,CAAC,GAAGA,CAAC,GAAGC,CAAC,GAAGA,CAAC,GAAGC,CAAC,GAAGA,CAAC,CAAC;EAC/C;EACA,IAAIK,MAAM,KAAK,CAAC,EAAE;IAChB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAClB;EACA,OAAO,CAACP,CAAC,GAAGO,MAAM,EAAEN,CAAC,GAAGM,MAAM,EAAEL,CAAC,GAAGK,MAAM,CAAC;AAC7C,CAAC;AAED,MAAMG,iBAAiB,GAAGA,CACxBC,OAAa,EACbC,QAAgB,EAChBC,QAAgB,KACJ;EACZ,SAAS;;EACT,MAAMb,CAAC,GAAGW,OAAO,CAAC,CAAC,CAAC;EACpB,MAAMV,CAAC,GAAGU,OAAO,CAAC,CAAC,CAAC;EACpB,MAAMT,CAAC,GAAGS,OAAO,CAAC,CAAC,CAAC;EACpB,MAAMG,CAAC,GAAGD,QAAQ;EAClB,MAAME,CAAC,GAAGH,QAAQ;EAClB,MAAMI,CAAC,GAAG,CAAC,GAAGF,CAAC;EACf,OAAO,CACLE,CAAC,GAAGhB,CAAC,GAAGA,CAAC,GAAGc,CAAC,EACbE,CAAC,GAAGhB,CAAC,GAAGC,CAAC,GAAGc,CAAC,GAAGb,CAAC,EACjBc,CAAC,GAAGhB,CAAC,GAAGE,CAAC,GAAGa,CAAC,GAAGd,CAAC,EACjB,CAAC,EACDe,CAAC,GAAGhB,CAAC,GAAGC,CAAC,GAAGc,CAAC,GAAGb,CAAC,EACjBc,CAAC,GAAGf,CAAC,GAAGA,CAAC,GAAGa,CAAC,EACbE,CAAC,GAAGf,CAAC,GAAGC,CAAC,GAAGa,CAAC,GAAGf,CAAC,EACjB,CAAC,EACDgB,CAAC,GAAGhB,CAAC,GAAGE,CAAC,GAAGa,CAAC,GAAGd,CAAC,EACjBe,CAAC,GAAGf,CAAC,GAAGC,CAAC,GAAGa,CAAC,GAAGf,CAAC,EACjBgB,CAAC,GAAGd,CAAC,GAAGA,CAAC,GAAGY,CAAC,EACb,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACF;AACH,CAAC;;AAED;AACA;AACA;AACO,MAAMG,aAAa,GAAGA,CAACC,CAAU,EAAEC,CAAO,KAAW;EAC1D,SAAS;;EACT,OAAO,CACLD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,EACrDD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,EACrDD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,EACvDD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAGD,CAAC,CAAC,EAAE,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,CAC1D;AACH,CAAC;;AAED;AACA;AACA;AAFArB,OAAA,CAAAmB,aAAA,GAAAA,aAAA;AAGO,MAAMG,UAAU,GAAGA,CAACF,CAAU,EAAEC,CAAO,KAAK;EACjD,SAAS;;EACT,MAAME,CAAC,GAAGJ,aAAa,CAACC,CAAC,EAAE,CAAC,GAAGC,CAAC,EAAE,CAAC,CAAC,CAAC;EACrC,OAAO,CAACE,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,GAAGA,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;;AAED;AACA;AACA;AAFAvB,OAAA,CAAAsB,UAAA,GAAAA,UAAA;AAGO,MAAME,SAAS,GAAGA,CAAC3B,CAAU,EAAE4B,CAAU,KAAc;EAC5D,SAAS;;EACT,MAAMC,MAAM,GAAG,IAAIC,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC;EACpC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;IAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC1BJ,MAAM,CAACG,CAAC,GAAG,CAAC,GAAGC,CAAC,CAAC,GACfjC,CAAC,CAACgC,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,CAAC,GACfjC,CAAC,CAACgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,GAAG,CAAC,CAAC,GACvBjC,CAAC,CAACgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,GAAG,CAAC,CAAC,GACvBjC,CAAC,CAACgC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAGJ,CAAC,CAACK,CAAC,GAAG,EAAE,CAAC;IAC5B;EACF;EACA,OAAOJ,MAAM;AACf,CAAC;AAAC1B,OAAA,CAAAwB,SAAA,GAAAA,SAAA;AAEF,MAAMO,KAAK,GAAIC,KAAa,IAAc;EACxC,SAAS;;EACT,OAAO,CAAC,CAAC,EAAEtB,IAAI,CAACuB,GAAG,CAACD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAME,KAAK,GAAIF,KAAa,IAAc;EACxC,SAAS;;EACT,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEtB,IAAI,CAACuB,GAAG,CAACD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACvE,CAAC;;AAED;AACA;AACA;AACO,MAAMG,SAAS,GAAIf,CAAU,IAAK;EACvC,SAAS;;EACT,OAAO,CAACA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,EAAEA,CAAC,CAAC,EAAE,CAAC,CAAC;AAClE,CAAC;AAACpB,OAAA,CAAAmC,SAAA,GAAAA,SAAA;AAEF,MAAMC,MAAM,GAAGA,CAACC,IAAU,EAAEC,KAAa,KAAK;EAC5C,SAAS;;EACT,OAAO1B,iBAAiB,CACtBL,YAAY,CAAC8B,IAAI,CAAC,EAClB3B,IAAI,CAAC6B,GAAG,CAACD,KAAK,CAAC,EACf5B,IAAI,CAAC8B,GAAG,CAACF,KAAK,CAChB,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACO,MAAMG,KAAK,GAAGA,CAACrB,CAAU,EAAEd,CAAQ,KAAK;EAC7C,SAAS;;EACT,OAAOkB,SAAS,CAACvB,SAAS,CAACK,CAAC,CAACJ,CAAC,EAAEI,CAAC,CAACH,CAAC,CAAC,EAAEqB,SAAS,CAACJ,CAAC,EAAEnB,SAAS,CAAC,CAACK,CAAC,CAACJ,CAAC,EAAE,CAACI,CAAC,CAACH,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;;AAED;AACA;AACA;AAFAH,OAAA,CAAAyC,KAAA,GAAAA,KAAA;AAGO,MAAMC,KAAK,GAAGA,CAACC,EAAU,EAAEC,EAAU,EAAEC,EAAE,GAAG,CAAC,EAAEvC,CAAS,KAAc;EAC3E,SAAS;;EACT,MAAMwC,EAAW,GAAG,CAACH,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAEC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACvE,IAAIvC,CAAC,EAAE;IACL,OAAOmC,KAAK,CAACK,EAAE,EAAExC,CAAC,CAAC;EACrB;EACA,OAAOwC,EAAE;AACX,CAAC;AAAC9C,OAAA,CAAA0C,KAAA,GAAAA,KAAA;AAEF,MAAMK,UAAU,GAAGA,CAACV,IAAU,EAAEL,KAAa,EAAE1B,CAAS,KAAK;EAC3D,SAAS;;EACT,MAAMoB,MAAM,GAAGU,MAAM,CAACC,IAAI,EAAEL,KAAK,CAAC;EAClC,IAAI1B,CAAC,EAAE;IACL,OAAOmC,KAAK,CAACf,MAAM,EAAEpB,CAAC,CAAC;EACzB;EACA,OAAOoB,MAAM;AACf,CAAC;;AAED;AACA;AACA;AACO,MAAMsB,OAAO,GAAGA,CAACV,KAAa,EAAEhC,CAAS,KAAK;EACnD,SAAS;;EACT,OAAOyC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAET,KAAK,EAAEhC,CAAC,CAAC;AACxC,CAAC;;AAED;AACA;AACA;AAFAN,OAAA,CAAAgD,OAAA,GAAAA,OAAA;AAGO,MAAMC,OAAO,GAAGA,CAACX,KAAa,EAAEhC,CAAS,KAAK;EACnD,SAAS;;EACT,OAAOyC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAET,KAAK,EAAEhC,CAAC,CAAC;AACxC,CAAC;;AAED;AACA;AACA;AAFAN,OAAA,CAAAiD,OAAA,GAAAA,OAAA;AAGO,MAAMC,OAAO,GAAGA,CAACZ,KAAa,EAAEhC,CAAS,KAAK;EACnD,SAAS;;EACT,OAAOyC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAET,KAAK,EAAEhC,CAAC,CAAC;AACxC,CAAC;;AAED;AACA;AACA;AAFAN,OAAA,CAAAkD,OAAA,GAAAA,OAAA;AAGO,MAAMC,kBAAkB,GAAIC,UAAwB,IAAK;EAC9D,SAAS;;EACT,OAAOA,UAAU,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;IACrC,MAAMC,GAAG,GAAGC,MAAM,CAACC,IAAI,CAACH,GAAG,CAAC,CAAC,CAAC,CAAoB;IAClD,MAAMI,SAAS,GAAGJ,GAAwC;IAC1D,IAAIC,GAAG,KAAK,YAAY,EAAE;MACxB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAACqC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,WAAW,EAAE;MACvB,MAAM,CAACtD,CAAC,EAAEC,CAAC,EAAEC,CAAC,GAAG,CAAC,CAAC,GAAGuD,SAAS,CAACH,GAAG,CAAC;MACpC,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAACC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,CAAC;IAC3C;IACA,IAAIoD,GAAG,KAAK,YAAY,EAAE;MACxB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAAC,CAAC,EAAEqC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,YAAY,EAAE;MACxB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAErD,SAAS,CAAC,CAAC,EAAE,CAAC,EAAEqC,KAAK,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEZ,KAAK,CAACJ,KAAK,EAAEA,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/C;IACA,IAAIkB,GAAG,KAAK,QAAQ,EAAE;MACpB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEZ,KAAK,CAACJ,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C;IACA,IAAIkB,GAAG,KAAK,QAAQ,EAAE;MACpB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEZ,KAAK,CAAC,CAAC,EAAEJ,KAAK,EAAE,CAAC,CAAC,CAAC;IAC3C;IACA,IAAIkB,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEpB,KAAK,CAACI,KAAK,CAAC,CAAC;IACrC;IACA,IAAIkB,GAAG,KAAK,OAAO,EAAE;MACnB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEvB,KAAK,CAACO,KAAK,CAAC,CAAC;IACrC;IACA,IAAIkB,GAAG,KAAK,SAAS,EAAE;MACrB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAElB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;IACjD;IACA,IAAIkB,GAAG,KAAK,SAAS,EAAE;MACrB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAElB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;IACjD;IACA,IAAIkB,GAAG,KAAK,aAAa,EAAE;MACzB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEjD,WAAW,CAACiC,KAAK,CAAC,CAAC;IAC3C;IACA,IAAIkB,GAAG,KAAK,QAAQ,IAAIA,GAAG,KAAK,SAAS,EAAE;MACzC,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAElB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEE,KAAK,CAAC,CAAC;IACjD;IACA,IAAIkB,GAAG,KAAK,QAAQ,EAAE;MACpB,MAAMlB,KAAK,GAAGqB,SAAS,CAACH,GAAG,CAAC;MAC5B,OAAOhC,SAAS,CAAC8B,GAAG,EAAEhB,KAAK,CAAC;IAC9B;IACA,OAAO1C,eAAe,CAAC4D,GAAG,CAAC;EAC7B,CAAC,EAAEzD,OAAO,CAAC,CAAC,CAAC;AACf,CAAC;;AAED;AACA;AACA;AAFAC,OAAA,CAAAmD,kBAAA,GAAAA,kBAAA;AAGO,MAAMS,oBAAoB,GAAIC,cAAuB,IAAK;EAC/D,SAAS;;EAET,MAAMC,cAAc,GAAG,IAAInC,KAAK,CAAS,EAAE,CAAC;EAC5C,MAAMoC,IAAI,GAAG,CAAC;EACd,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGD,IAAI,EAAEC,GAAG,EAAE,EAAE;IACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGF,IAAI,EAAEE,GAAG,EAAE,EAAE;MACnCH,cAAc,CAACG,GAAG,GAAGF,IAAI,GAAGC,GAAG,CAAC,GAAGH,cAAc,CAACG,GAAG,GAAGD,IAAI,GAAGE,GAAG,CAAC;IACrE;EACF;EACA,OAAOH,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AAFA9D,OAAA,CAAA4D,oBAAA,GAAAA,oBAAA;AAGO,MAAMM,qBAAqB,GAAIL,cAAkC,IAAK;EAC3E,SAAS;;EAET,MAAMC,cAAc,GAAG,IAAInC,KAAK,CAAS,CAAC,CAAC;EAC3C,MAAMoC,IAAI,GAAG,CAAC;EACd,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGD,IAAI,EAAEC,GAAG,EAAE,EAAE;IACnC,KAAK,IAAIC,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGF,IAAI,EAAEE,GAAG,EAAE,EAAE;MACnCH,cAAc,CAACG,GAAG,GAAGF,IAAI,GAAGC,GAAG,CAAC,GAAGH,cAAc,CAACG,GAAG,GAAGD,IAAI,GAAGE,GAAG,CAAC;IACrE;EACF;EACA,OAAOH,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AAFA9D,OAAA,CAAAkE,qBAAA,GAAAA,qBAAA;AAGO,MAAMC,qBAAqB,GAAIrB,EAAW,IAAK;EACpD,SAAS;;EACT;EACA,MAAMjD,CAAC,GAAGiD,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAMrB,CAAC,GAAGqB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAM9B,CAAC,GAAG8B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAMsB,CAAC,GAAGtB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EACjB,MAAMuB,EAAE,GAAGvB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EACnB,MAAMwB,EAAE,GAAGxB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;EAEnB;EACA,OAAO,CAACjD,CAAC,EAAE4B,CAAC,EAAET,CAAC,EAAEoD,CAAC,EAAEC,EAAE,EAAEC,EAAE,CAAC;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AAHAtE,OAAA,CAAAmE,qBAAA,GAAAA,qBAAA;AAIA,MAAMI,MAAM,GAAGA,CACbC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,EACXC,GAAW,KACA;EACX,SAAS;;EACT,OACER,GAAG,IAAII,GAAG,GAAGI,GAAG,GAAGH,GAAG,GAAGE,GAAG,CAAC,GAC7BN,GAAG,IAAII,GAAG,GAAGC,GAAG,GAAGH,GAAG,GAAGK,GAAG,CAAC,GAC7BN,GAAG,IAAIC,GAAG,GAAGI,GAAG,GAAGH,GAAG,GAAGE,GAAG,CAAC;AAEjC,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMG,OAAO,GAAI7D,CAAU,IAAc;EAC9C,SAAS;;EAET,MAAMoD,GAAG,GAAGpD,CAAC,CAAC,CAAC,CAAC;IACdqD,GAAG,GAAGrD,CAAC,CAAC,CAAC,CAAC;IACVsD,GAAG,GAAGtD,CAAC,CAAC,CAAC,CAAC;IACV8D,GAAG,GAAG9D,CAAC,CAAC,CAAC,CAAC;EACZ,MAAMuD,GAAG,GAAGvD,CAAC,CAAC,CAAC,CAAC;IACdwD,GAAG,GAAGxD,CAAC,CAAC,CAAC,CAAC;IACVyD,GAAG,GAAGzD,CAAC,CAAC,CAAC,CAAC;IACV+D,GAAG,GAAG/D,CAAC,CAAC,CAAC,CAAC;EACZ,MAAM0D,GAAG,GAAG1D,CAAC,CAAC,CAAC,CAAC;IACd2D,GAAG,GAAG3D,CAAC,CAAC,CAAC,CAAC;IACV4D,GAAG,GAAG5D,CAAC,CAAC,EAAE,CAAC;IACXgE,GAAG,GAAGhE,CAAC,CAAC,EAAE,CAAC;EACb,MAAMiE,GAAG,GAAGjE,CAAC,CAAC,EAAE,CAAC;IACfkE,GAAG,GAAGlE,CAAC,CAAC,EAAE,CAAC;IACXmE,GAAG,GAAGnE,CAAC,CAAC,EAAE,CAAC;IACXoE,GAAG,GAAGpE,CAAC,CAAC,EAAE,CAAC;;EAEb;EACA,MAAMqE,GAAG,GAAGlB,MAAM,CAACK,GAAG,EAAEC,GAAG,EAAEM,GAAG,EAAEJ,GAAG,EAAEC,GAAG,EAAEI,GAAG,EAAEE,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAC/D,MAAME,GAAG,GAAG,CAACnB,MAAM,CAACI,GAAG,EAAEE,GAAG,EAAEM,GAAG,EAAEL,GAAG,EAAEE,GAAG,EAAEI,GAAG,EAAEC,GAAG,EAAEE,GAAG,EAAEC,GAAG,CAAC;EAChE,MAAMG,GAAG,GAAGpB,MAAM,CAACI,GAAG,EAAEC,GAAG,EAAEO,GAAG,EAAEL,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEE,GAAG,CAAC;EAC/D,MAAMI,GAAG,GAAG,CAACrB,MAAM,CAACI,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAEhE,MAAMM,GAAG,GAAG,CAACtB,MAAM,CAACE,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEH,GAAG,EAAEC,GAAG,EAAEI,GAAG,EAAEE,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAChE,MAAMM,GAAG,GAAGvB,MAAM,CAACC,GAAG,EAAEE,GAAG,EAAEQ,GAAG,EAAEJ,GAAG,EAAEE,GAAG,EAAEI,GAAG,EAAEC,GAAG,EAAEE,GAAG,EAAEC,GAAG,CAAC;EAC/D,MAAMO,GAAG,GAAG,CAACxB,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAES,GAAG,EAAEJ,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEE,GAAG,CAAC;EAChE,MAAMQ,GAAG,GAAGzB,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEI,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEK,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAE/D,MAAMU,GAAG,GAAG1B,MAAM,CAACE,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEN,GAAG,EAAEC,GAAG,EAAEM,GAAG,EAAEG,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAC/D,MAAMU,GAAG,GAAG,CAAC3B,MAAM,CAACC,GAAG,EAAEE,GAAG,EAAEQ,GAAG,EAAEP,GAAG,EAAEE,GAAG,EAAEM,GAAG,EAAEE,GAAG,EAAEE,GAAG,EAAEC,GAAG,CAAC;EAChE,MAAMW,GAAG,GAAG5B,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAES,GAAG,EAAEP,GAAG,EAAEC,GAAG,EAAEO,GAAG,EAAEE,GAAG,EAAEC,GAAG,EAAEE,GAAG,CAAC;EAC/D,MAAMY,GAAG,GAAG,CAAC7B,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;EAEhE,MAAMc,GAAG,GAAG,CAAC9B,MAAM,CAACE,GAAG,EAAEC,GAAG,EAAEQ,GAAG,EAAEN,GAAG,EAAEC,GAAG,EAAEM,GAAG,EAAEJ,GAAG,EAAEC,GAAG,EAAEI,GAAG,CAAC;EAChE,MAAMkB,GAAG,GAAG/B,MAAM,CAACC,GAAG,EAAEE,GAAG,EAAEQ,GAAG,EAAEP,GAAG,EAAEE,GAAG,EAAEM,GAAG,EAAEL,GAAG,EAAEE,GAAG,EAAEI,GAAG,CAAC;EAC/D,MAAMmB,GAAG,GAAG,CAAChC,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAES,GAAG,EAAEP,GAAG,EAAEC,GAAG,EAAEO,GAAG,EAAEL,GAAG,EAAEC,GAAG,EAAEK,GAAG,CAAC;EAChE,MAAMoB,GAAG,GAAGjC,MAAM,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,EAAEC,GAAG,CAAC;;EAE/D;EACA,MAAMyB,GAAG,GAAGjC,GAAG,GAAGiB,GAAG,GAAGhB,GAAG,GAAGiB,GAAG,GAAGhB,GAAG,GAAGiB,GAAG,GAAGT,GAAG,GAAGU,GAAG;;EAEzD;EACA,IAAIlF,IAAI,CAACgG,GAAG,CAACD,GAAG,CAAC,GAAG,IAAI,EAAE;IACxB;IACA,OAAO1G,OAAO,CAAC,CAAC;EAClB;EAEA,MAAM4G,MAAM,GAAG,GAAG,GAAGF,GAAG;;EAExB;EACA,OAAO,CACLhB,GAAG,GAAGkB,MAAM,EACZd,GAAG,GAAGc,MAAM,EACZV,GAAG,GAAGU,MAAM,EACZN,GAAG,GAAGM,MAAM,EACZjB,GAAG,GAAGiB,MAAM,EACZb,GAAG,GAAGa,MAAM,EACZT,GAAG,GAAGS,MAAM,EACZL,GAAG,GAAGK,MAAM,EACZhB,GAAG,GAAGgB,MAAM,EACZZ,GAAG,GAAGY,MAAM,EACZR,GAAG,GAAGQ,MAAM,EACZJ,GAAG,GAAGI,MAAM,EACZf,GAAG,GAAGe,MAAM,EACZX,GAAG,GAAGW,MAAM,EACZP,GAAG,GAAGO,MAAM,EACZH,GAAG,GAAGG,MAAM,CACb;AACH,CAAC;AAAC3G,OAAA,CAAAiF,OAAA,GAAAA,OAAA;AAEF,MAAM2B,MAAM,GAAGA,CAAC/G,CAAO,EAAE4B,CAAO,KAAW;EACzC,SAAS;;EACT,OAAO,CAAC5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EAAE5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EAAE5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAMoF,QAAQ,GAAGA,CAAChH,CAAO,EAAE4B,CAAO,KAAW;EAC3C,SAAS;;EACT,OAAO,CACL5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EACzB5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,EACzB5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAAC,CAAC,CAAC,GAAG4B,CAAC,CAAC,CAAC,CAAC,CAC1B;AACH,CAAC;AAED,MAAMqF,MAAM,GAAGA,CAACC,MAAY,EAAEC,SAAe,EAAEC,KAAW,KAAc;EACtE,SAAS;;EACT,MAAMC,CAAC,GAAG3G,YAAY,CAACqG,MAAM,CAACI,SAAS,EAAED,MAAM,CAAC,CAAC;EACjD,MAAMI,CAAC,GAAG5G,YAAY,CAAC0G,KAAK,CAAC;EAC7B,MAAMhG,CAAC,GAAGV,YAAY,CAACsG,QAAQ,CAACK,CAAC,EAAEC,CAAC,CAAC,CAAC;EACtC,MAAMC,EAAE,GAAGP,QAAQ,CAAC5F,CAAC,EAAEiG,CAAC,CAAC;;EAEzB;EACA,MAAM9F,CAAU,GAAG,CACjBH,CAAC,CAAC,CAAC,CAAC,EACJmG,EAAE,CAAC,CAAC,CAAC,EACL,CAACF,CAAC,CAAC,CAAC,CAAC,EACLH,MAAM,CAAC,CAAC,CAAC,EACT9F,CAAC,CAAC,CAAC,CAAC,EACJmG,EAAE,CAAC,CAAC,CAAC,EACL,CAACF,CAAC,CAAC,CAAC,CAAC,EACLH,MAAM,CAAC,CAAC,CAAC,EACT9F,CAAC,CAAC,CAAC,CAAC,EACJmG,EAAE,CAAC,CAAC,CAAC,EACL,CAACF,CAAC,CAAC,CAAC,CAAC,EACLH,MAAM,CAAC,CAAC,CAAC,EACT,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,CACF;EAED,OAAO9B,OAAO,CAAC7D,CAAC,CAAC;AACnB,CAAC;AAED,MAAMiG,iBAAiB,GAAGA,CACxBC,IAAY,EACZC,GAAW,EACXvF,KAAa,KACD;EACZ,SAAS;;EACT,MAAMwF,IAAI,GAAG,CAAC,IAAID,GAAG,GAAGD,IAAI,CAAC;EAC7B,MAAMG,SAAS,GAAGzF,KAAK,GAAG,CAAC;EAC3B,MAAM0F,GAAG,GAAGhH,IAAI,CAAC8B,GAAG,CAACiF,SAAS,CAAC,GAAG/G,IAAI,CAAC6B,GAAG,CAACkF,SAAS,CAAC;EACrD,OAAO,CACLC,GAAG,EACH,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACDA,GAAG,EACH,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAACH,GAAG,GAAGD,IAAI,IAAIE,IAAI,EACnB,CAAC,GAAGD,GAAG,GAAGD,IAAI,GAAGE,IAAI,EACrB,CAAC,EACD,CAAC,EACD,CAAC,CAAC,EACF,CAAC,CACF;AACH,CAAC;AAWM,MAAMG,WAAW,GAAGA,CACzBC,IAAU,EACVC,MAAc,EACdC,GAAiB,KACL;EACZ,SAAS;;EACT,MAAMC,MAAM,GAAGjB,MAAM,CAACgB,GAAG,CAACE,GAAG,EAAEF,GAAG,CAACG,GAAG,EAAEH,GAAG,CAACI,EAAE,CAAC;EAC/C,MAAM5H,CAAC,GAAG+G,iBAAiB,CAACS,GAAG,CAACR,IAAI,EAAEQ,GAAG,CAACP,GAAG,EAAEO,GAAG,CAAC9F,KAAK,CAAC;EACzD,MAAMmG,MAAY,GAAG,CAAC,CAACP,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;EAC1E,MAAMQ,SAAe,GAAG,CACtB,CAACR,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EACvB,CAACA,IAAI,CAAC,CAAC,CAAC,GAAGA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EACvBC,MAAM,CACP;EACD,MAAMQ,QAAQ,GAAG7G,SAAS,CACxBvB,SAAS,CAACkI,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC,CAAC,EAC1CzF,KAAK,CAAC0F,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAChD,CAAC;EACD,OAAO5G,SAAS,CACdA,SAAS,CAAC6G,QAAQ,EAAE/H,CAAC,CAAC,EACtBkB,SAAS,CAACuG,MAAM,EAAE9C,OAAO,CAACoD,QAAQ,CAAC,CACrC,CAAC;AACH,CAAC;AAACrI,OAAA,CAAA2H,WAAA,GAAAA,WAAA","ignoreList":[]}
|
1
|
+
{"version":3,"names":["exhaustiveCheck","a","Error","Matrix4","exports","translate","x","y","z","perspective","p","normalizeVec","vec","length","Math","sqrt","rotatedUnitSinCos","axisVec","sinAngle","cosAngle","c","s","t","matrixVecMul4","m","v","mapPoint3d","r","multiply4","b","result","Array","fill","i","j","skewY","angle","tan","skewX","toMatrix3","rotate","axis","value","sin","cos","pivot","scale","sx","sy","sz","m4","rotateAxis","rotateZ","rotateX","rotateY","processTransform3d","transforms","reduce","acc","val","key","Object","keys","transform","convertToColumnMajor","rowMajorMatrix","colMajorMatrix","size","row","col","convertToColumnMajor3","convertToAffineMatrix","d","tx","ty","det3x3","a00","a01","a02","a10","a11","a12","a20","a21","a22","invert4","a03","a13","a23","a30","a31","a32","a33","b00","b01","b02","b03","b10","b11","b12","b13","b20","b21","b22","b23","b30","b31","b32","b33","det","abs","invDet","vecSub","vecCross","lookat","eyeVec","centerVec","upVec","f","u","uf","perspectiveMatrix","near","far","dInv","halfAngle","cot","setupCamera","area","zscale","cam","camera","eye","coa","up","center","viewScale","viewport"],"sources":["Matrix4.ts"],"sourcesContent":["type Point = { x: number; y: number };\ntype Vec2 = readonly [number, number];\nexport type Vec3 = readonly [number, number, number];\nexport type Vec4 = readonly [number, number, number, number];\n\nexport type Matrix3 = readonly [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n];\n\nexport type Matrix4 = readonly [\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n number,\n];\n\ntype Transform3dName =\n | \"translateX\"\n | \"translateY\"\n | \"translateZ\"\n | \"translate\"\n | \"scale\"\n | \"scaleX\"\n | \"scaleY\"\n | \"skewX\"\n | \"skewY\"\n | \"rotateZ\"\n | \"rotate\"\n | \"perspective\"\n | \"rotateX\"\n | \"rotateY\"\n | \"matrix\";\n\ntype Transformations = {\n [Name in Transform3dName]: Name extends \"matrix\"\n ? Matrix4\n : Name extends \"translate\"\n ? Vec3 | Vec2\n : number;\n};\n\ntype Transform3d =\n | Pick<Transformations, \"translateX\">\n | Pick<Transformations, \"translateY\">\n | Pick<Transformations, \"translateZ\">\n | Pick<Transformations, \"translate\">\n | Pick<Transformations, \"scale\">\n | Pick<Transformations, \"scaleX\">\n | Pick<Transformations, \"scaleY\">\n | Pick<Transformations, \"skewX\">\n | Pick<Transformations, \"skewY\">\n | Pick<Transformations, \"perspective\">\n | Pick<Transformations, \"rotateX\">\n | Pick<Transformations, \"rotateY\">\n | Pick<Transformations, \"rotateZ\">\n | Pick<Transformations, \"rotate\">\n | Pick<Transformations, \"matrix\">;\n\nexport type Transforms3d = Transform3d[];\n\nconst exhaustiveCheck = (a: never): never => {\n \"worklet\";\n throw new Error(`Unexhaustive handling for ${a}`);\n};\n\n/**\n * @worklet\n */\nexport const Matrix4 = (): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const translate = (x: number, y: number, z = 0): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, x, 0, 1, 0, y, 0, 0, 1, z, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const perspective = (p: number): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, -1 / p, 1];\n};\n\nconst normalizeVec = (vec: Vec3): Vec3 => {\n \"worklet\";\n const [x, y, z] = vec;\n const length = Math.sqrt(x * x + y * y + z * z);\n // Check for zero length to avoid division by zero\n if (length === 0) {\n return [0, 0, 0];\n }\n return [x / length, y / length, z / length];\n};\n\nconst rotatedUnitSinCos = (\n axisVec: Vec3,\n sinAngle: number,\n cosAngle: number\n): Matrix4 => {\n \"worklet\";\n const x = axisVec[0];\n const y = axisVec[1];\n const z = axisVec[2];\n const c = cosAngle;\n const s = sinAngle;\n const t = 1 - c;\n return [\n t * x * x + c,\n t * x * y - s * z,\n t * x * z + s * y,\n 0,\n t * x * y + s * z,\n t * y * y + c,\n t * y * z - s * x,\n 0,\n t * x * z - s * y,\n t * y * z + s * x,\n t * z * z + c,\n 0,\n 0,\n 0,\n 0,\n 1,\n ];\n};\n\n/**\n * @worklet\n */\nexport const matrixVecMul4 = (m: Matrix4, v: Vec4): Vec4 => {\n \"worklet\";\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * v[3],\n m[4] * v[0] + m[5] * v[1] + m[6] * v[2] + m[7] * v[3],\n m[8] * v[0] + m[9] * v[1] + m[10] * v[2] + m[11] * v[3],\n m[12] * v[0] + m[13] * v[1] + m[14] * v[2] + m[15] * v[3],\n ];\n};\n\n/**\n * @worklet\n */\nexport const mapPoint3d = (m: Matrix4, v: Vec3) => {\n \"worklet\";\n const r = matrixVecMul4(m, [...v, 1]);\n return [r[0] / r[3], r[1] / r[3], r[2] / r[3]] as const;\n};\n\n/**\n * @worklet\n */\nexport const multiply4 = (a: Matrix4, b: Matrix4): Matrix4 => {\n \"worklet\";\n const result = new Array(16).fill(0);\n for (let i = 0; i < 4; i++) {\n for (let j = 0; j < 4; j++) {\n result[i * 4 + j] =\n a[i * 4] * b[j] +\n a[i * 4 + 1] * b[j + 4] +\n a[i * 4 + 2] * b[j + 8] +\n a[i * 4 + 3] * b[j + 12];\n }\n }\n return result as unknown as Matrix4;\n};\n\nconst skewY = (angle: number): Matrix4 => {\n \"worklet\";\n return [1, Math.tan(angle), 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\nconst skewX = (angle: number): Matrix4 => {\n \"worklet\";\n return [1, 0, 0, 0, Math.tan(angle), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1];\n};\n\n/**\n * @worklet\n */\nexport const toMatrix3 = (m: Matrix4) => {\n \"worklet\";\n return [m[0], m[1], m[3], m[4], m[5], m[7], m[12], m[13], m[15]];\n};\n\nconst rotate = (axis: Vec3, value: number) => {\n \"worklet\";\n return rotatedUnitSinCos(\n normalizeVec(axis),\n Math.sin(value),\n Math.cos(value)\n );\n};\n\n/**\n * @worklet\n */\nexport const pivot = (m: Matrix4, p: Point) => {\n \"worklet\";\n return multiply4(translate(p.x, p.y), multiply4(m, translate(-p.x, -p.y)));\n};\n\n/**\n * @worklet\n */\nexport const scale = (sx: number, sy: number, sz = 1, p?: Point): Matrix4 => {\n \"worklet\";\n const m4: Matrix4 = [sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1];\n if (p) {\n return pivot(m4, p);\n }\n return m4;\n};\n\nconst rotateAxis = (axis: Vec3, angle: number, p?: Point) => {\n \"worklet\";\n const result = rotate(axis, angle);\n if (p) {\n return pivot(result, p);\n }\n return result;\n};\n\n/**\n * @worklet\n */\nexport const rotateZ = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([0, 0, 1], value, p);\n};\n\n/**\n * @worklet\n */\nexport const rotateX = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([1, 0, 0], value, p);\n};\n\n/**\n * @worklet\n */\nexport const rotateY = (value: number, p?: Point) => {\n \"worklet\";\n return rotateAxis([0, 1, 0], value, p);\n};\n\n/**\n * @worklet\n */\nexport const processTransform3d = (transforms: Transforms3d) => {\n \"worklet\";\n return transforms.reduce((acc, val) => {\n const key = Object.keys(val)[0] as Transform3dName;\n const transform = val as Pick<Transformations, typeof key>;\n if (key === \"translateX\") {\n const value = transform[key];\n return multiply4(acc, translate(value, 0, 0));\n }\n if (key === \"translate\") {\n const [x, y, z = 0] = transform[key];\n return multiply4(acc, translate(x, y, z));\n }\n if (key === \"translateY\") {\n const value = transform[key];\n return multiply4(acc, translate(0, value, 0));\n }\n if (key === \"translateZ\") {\n const value = transform[key];\n return multiply4(acc, translate(0, 0, value));\n }\n if (key === \"scale\") {\n const value = transform[key];\n return multiply4(acc, scale(value, value, 1));\n }\n if (key === \"scaleX\") {\n const value = transform[key];\n return multiply4(acc, scale(value, 1, 1));\n }\n if (key === \"scaleY\") {\n const value = transform[key];\n return multiply4(acc, scale(1, value, 1));\n }\n if (key === \"skewX\") {\n const value = transform[key];\n return multiply4(acc, skewX(value));\n }\n if (key === \"skewY\") {\n const value = transform[key];\n return multiply4(acc, skewY(value));\n }\n if (key === \"rotateX\") {\n const value = transform[key];\n return multiply4(acc, rotate([1, 0, 0], value));\n }\n if (key === \"rotateY\") {\n const value = transform[key];\n return multiply4(acc, rotate([0, 1, 0], value));\n }\n if (key === \"perspective\") {\n const value = transform[key];\n return multiply4(acc, perspective(value));\n }\n if (key === \"rotate\" || key === \"rotateZ\") {\n const value = transform[key];\n return multiply4(acc, rotate([0, 0, 1], value));\n }\n if (key === \"matrix\") {\n const value = transform[key];\n return multiply4(acc, value);\n }\n return exhaustiveCheck(key);\n }, Matrix4());\n};\n\n/**\n * @worklet\n */\nexport const convertToColumnMajor = (rowMajorMatrix: Matrix4) => {\n \"worklet\";\n\n const colMajorMatrix = new Array<number>(16);\n const size = 4;\n for (let row = 0; row < size; row++) {\n for (let col = 0; col < size; col++) {\n colMajorMatrix[col * size + row] = rowMajorMatrix[row * size + col];\n }\n }\n return colMajorMatrix as unknown as Matrix4;\n};\n\n/**\n * @worklet\n */\nexport const convertToColumnMajor3 = (rowMajorMatrix: Matrix3 | number[]) => {\n \"worklet\";\n\n const colMajorMatrix = new Array<number>(9);\n const size = 3;\n for (let row = 0; row < size; row++) {\n for (let col = 0; col < size; col++) {\n colMajorMatrix[col * size + row] = rowMajorMatrix[row * size + col];\n }\n }\n return colMajorMatrix as unknown as Matrix3;\n};\n\n/**\n * @worklet\n */\nexport const convertToAffineMatrix = (m4: Matrix4) => {\n \"worklet\";\n // Extracting the relevant components from the 4x4 matrix\n const a = m4[0]; // Scale X\n const b = m4[1]; // Skew Y\n const c = m4[4]; // Skew X\n const d = m4[5]; // Scale Y\n const tx = m4[12]; // Translate X\n const ty = m4[13]; // Translate Y\n\n // Returning the 6-element affine transformation matrix\n return [a, b, c, d, tx, ty];\n};\n\n/**\n * Calculates the determinant of a 3x3 matrix\n * @worklet\n */\nconst det3x3 = (\n a00: number,\n a01: number,\n a02: number,\n a10: number,\n a11: number,\n a12: number,\n a20: number,\n a21: number,\n a22: number\n): number => {\n \"worklet\";\n return (\n a00 * (a11 * a22 - a12 * a21) +\n a01 * (a12 * a20 - a10 * a22) +\n a02 * (a10 * a21 - a11 * a20)\n );\n};\n\n/**\n * Inverts a 4x4 matrix\n * @worklet\n * @returns The inverted matrix, or the identity matrix if the input is not invertible\n */\nexport const invert4 = (m: Matrix4): Matrix4 => {\n \"worklet\";\n\n const a00 = m[0],\n a01 = m[1],\n a02 = m[2],\n a03 = m[3];\n const a10 = m[4],\n a11 = m[5],\n a12 = m[6],\n a13 = m[7];\n const a20 = m[8],\n a21 = m[9],\n a22 = m[10],\n a23 = m[11];\n const a30 = m[12],\n a31 = m[13],\n a32 = m[14],\n a33 = m[15];\n\n // Calculate cofactors\n const b00 = det3x3(a11, a12, a13, a21, a22, a23, a31, a32, a33);\n const b01 = -det3x3(a10, a12, a13, a20, a22, a23, a30, a32, a33);\n const b02 = det3x3(a10, a11, a13, a20, a21, a23, a30, a31, a33);\n const b03 = -det3x3(a10, a11, a12, a20, a21, a22, a30, a31, a32);\n\n const b10 = -det3x3(a01, a02, a03, a21, a22, a23, a31, a32, a33);\n const b11 = det3x3(a00, a02, a03, a20, a22, a23, a30, a32, a33);\n const b12 = -det3x3(a00, a01, a03, a20, a21, a23, a30, a31, a33);\n const b13 = det3x3(a00, a01, a02, a20, a21, a22, a30, a31, a32);\n\n const b20 = det3x3(a01, a02, a03, a11, a12, a13, a31, a32, a33);\n const b21 = -det3x3(a00, a02, a03, a10, a12, a13, a30, a32, a33);\n const b22 = det3x3(a00, a01, a03, a10, a11, a13, a30, a31, a33);\n const b23 = -det3x3(a00, a01, a02, a10, a11, a12, a30, a31, a32);\n\n const b30 = -det3x3(a01, a02, a03, a11, a12, a13, a21, a22, a23);\n const b31 = det3x3(a00, a02, a03, a10, a12, a13, a20, a22, a23);\n const b32 = -det3x3(a00, a01, a03, a10, a11, a13, a20, a21, a23);\n const b33 = det3x3(a00, a01, a02, a10, a11, a12, a20, a21, a22);\n\n // Calculate determinant\n const det = a00 * b00 + a01 * b01 + a02 * b02 + a03 * b03;\n\n // Check if matrix is invertible\n if (Math.abs(det) < 1e-8) {\n // Return identity matrix if not invertible\n return Matrix4();\n }\n\n const invDet = 1.0 / det;\n\n // Calculate inverse matrix\n return [\n b00 * invDet,\n b10 * invDet,\n b20 * invDet,\n b30 * invDet,\n b01 * invDet,\n b11 * invDet,\n b21 * invDet,\n b31 * invDet,\n b02 * invDet,\n b12 * invDet,\n b22 * invDet,\n b32 * invDet,\n b03 * invDet,\n b13 * invDet,\n b23 * invDet,\n b33 * invDet,\n ] as Matrix4;\n};\n\nconst vecSub = (a: Vec3, b: Vec3): Vec3 => {\n \"worklet\";\n return [a[0] - b[0], a[1] - b[1], a[2] - b[2]];\n};\n\nconst vecCross = (a: Vec3, b: Vec3): Vec3 => {\n \"worklet\";\n return [\n a[1] * b[2] - a[2] * b[1],\n a[2] * b[0] - a[0] * b[2],\n a[0] * b[1] - a[1] * b[0],\n ];\n};\n\nconst lookat = (eyeVec: Vec3, centerVec: Vec3, upVec: Vec3): Matrix4 => {\n \"worklet\";\n const f = normalizeVec(vecSub(centerVec, eyeVec));\n const u = normalizeVec(upVec);\n const s = normalizeVec(vecCross(f, u));\n const uf = vecCross(s, f);\n\n // Build the look-at matrix directly\n const m: Matrix4 = [\n s[0],\n uf[0],\n -f[0],\n eyeVec[0],\n s[1],\n uf[1],\n -f[1],\n eyeVec[1],\n s[2],\n uf[2],\n -f[2],\n eyeVec[2],\n 0,\n 0,\n 0,\n 1,\n ];\n\n return invert4(m);\n};\n\nconst perspectiveMatrix = (\n near: number,\n far: number,\n angle: number\n): Matrix4 => {\n \"worklet\";\n const dInv = 1 / (far - near);\n const halfAngle = angle / 2;\n const cot = Math.cos(halfAngle) / Math.sin(halfAngle);\n return [\n cot,\n 0,\n 0,\n 0,\n 0,\n cot,\n 0,\n 0,\n 0,\n 0,\n (far + near) * dInv,\n 2 * far * near * dInv,\n 0,\n 0,\n -1,\n 1,\n ];\n};\n\nexport interface CameraConfig {\n eye: Vec3;\n coa: Vec3;\n up: Vec3;\n near: number;\n far: number;\n angle: number;\n}\n\nexport const setupCamera = (\n area: Vec4,\n zscale: number,\n cam: CameraConfig\n): Matrix4 => {\n \"worklet\";\n const camera = lookat(cam.eye, cam.coa, cam.up);\n const p = perspectiveMatrix(cam.near, cam.far, cam.angle);\n const center: Vec3 = [(area[0] + area[2]) / 2, (area[1] + area[3]) / 2, 0];\n const viewScale: Vec3 = [\n (area[2] - area[0]) / 2,\n (area[3] - area[1]) / 2,\n zscale,\n ];\n const viewport = multiply4(\n translate(center[0], center[1], center[2]),\n scale(viewScale[0], viewScale[1], viewScale[2])\n );\n return multiply4(\n multiply4(viewport, p),\n multiply4(camera, invert4(viewport))\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["CanvasKitWebGLBuffer","exports","isNativeBufferAddr","buffer","BigInt","isNativeBufferWeb","HTMLVideoElement","HTMLCanvasElement","ImageBitmap","OffscreenCanvas","VideoFrame","HTMLImageElement","SVGImageElement","isNativeBufferNode","ArrayBuffer"],"sources":["NativeBufferFactory.ts"],"sourcesContent":["import type { SkImage } from \"../Image\";\n\nexport abstract class CanvasKitWebGLBuffer {}\n\nexport type NativeBuffer<\n T extends\n | bigint\n | ArrayBuffer\n | CanvasImageSource\n | CanvasKitWebGLBuffer\n | unknown = unknown
|
1
|
+
{"version":3,"names":["CanvasKitWebGLBuffer","exports","isNativeBufferAddr","buffer","BigInt","isNativeBufferWeb","HTMLVideoElement","HTMLCanvasElement","ImageBitmap","OffscreenCanvas","VideoFrame","HTMLImageElement","SVGImageElement","isNativeBufferNode","ArrayBuffer"],"sources":["NativeBufferFactory.ts"],"sourcesContent":["import type { SkImage } from \"../Image\";\n\nexport abstract class CanvasKitWebGLBuffer {}\n\nexport type NativeBuffer<\n T extends\n | bigint\n | ArrayBuffer\n | CanvasImageSource\n | CanvasKitWebGLBuffer\n | unknown = unknown,\n> = T;\n\nexport type NativeBufferAddr = NativeBuffer<bigint>;\nexport type NativeBufferWeb = NativeBuffer<CanvasImageSource>;\nexport type NativeBufferNode = NativeBuffer<ArrayBuffer>;\n\nexport const isNativeBufferAddr = (\n buffer: NativeBuffer\n): buffer is NativeBufferAddr => buffer instanceof BigInt;\nexport const isNativeBufferWeb = (\n buffer: NativeBuffer\n): buffer is NativeBufferWeb =>\n buffer instanceof HTMLVideoElement ||\n buffer instanceof HTMLCanvasElement ||\n buffer instanceof ImageBitmap ||\n buffer instanceof OffscreenCanvas ||\n (typeof VideoFrame !== \"undefined\" && buffer instanceof VideoFrame) ||\n buffer instanceof HTMLImageElement ||\n buffer instanceof SVGImageElement ||\n buffer instanceof CanvasKitWebGLBuffer;\n\nexport const isNativeBufferNode = (\n buffer: NativeBuffer\n): buffer is NativeBufferNode => buffer instanceof ArrayBuffer;\n\nexport interface NativeBufferFactory {\n /**\n * Copy pixels to a native buffer.\n */\n MakeFromImage: (image: SkImage) => NativeBuffer;\n /**\n * Release a native buffer that was created with `MakeFromImage`.\n */\n Release: (nativeBuffer: NativeBuffer) => void;\n}\n"],"mappings":";;;;;;AAEO,MAAeA,oBAAoB,CAAC;AAAEC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AAetC,MAAME,kBAAkB,GAC7BC,MAAoB,IACWA,MAAM,YAAYC,MAAM;AAACH,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AACnD,MAAMG,iBAAiB,GAC5BF,MAAoB,IAEpBA,MAAM,YAAYG,gBAAgB,IAClCH,MAAM,YAAYI,iBAAiB,IACnCJ,MAAM,YAAYK,WAAW,IAC7BL,MAAM,YAAYM,eAAe,IAChC,OAAOC,UAAU,KAAK,WAAW,IAAIP,MAAM,YAAYO,UAAW,IACnEP,MAAM,YAAYQ,gBAAgB,IAClCR,MAAM,YAAYS,eAAe,IACjCT,MAAM,YAAYH,oBAAoB;AAACC,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAElC,MAAMQ,kBAAkB,GAC7BV,MAAoB,IACWA,MAAM,YAAYW,WAAW;AAACb,OAAA,CAAAY,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
@@ -35,9 +35,7 @@ const processUniforms = (source, uniforms, builder) => {
|
|
35
35
|
const name = source.getUniformName(i);
|
36
36
|
const value = uniforms[name];
|
37
37
|
if (value === undefined) {
|
38
|
-
throw new Error(
|
39
|
-
// eslint-disable-next-line max-len
|
40
|
-
`The runtime effect has the uniform value "${name}" declared, but it is missing from the uniforms property of the Runtime effect.`);
|
38
|
+
throw new Error(`The runtime effect has the uniform value "${name}" declared, but it is missing from the uniforms property of the Runtime effect.`);
|
41
39
|
}
|
42
40
|
if (builder === undefined) {
|
43
41
|
processValue(result, value);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["isShader","obj","__typename__","exports","isVector","x","undefined","y","processValue","values","value","push","Array","isArray","forEach","v","Float32Array","processUniforms","source","uniforms","builder","result","uniformsCount","getUniformCount","i","name","getUniformName","Error","uniformValue","setUniform"],"sources":["Shader.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { Vector } from \"../Point\";\nimport type { SkRuntimeEffect, SkRuntimeShaderBuilder } from \"../RuntimeEffect\";\n\nexport const isShader = (obj: SkJSIInstance<string> | null): obj is SkShader =>\n obj !== null && obj.__typename__ === \"Shader\";\n\nexport type SkShader = SkJSIInstance<\"Shader\">;\n\nexport type Uniform =\n | number\n | Vector\n | Float32Array\n | readonly Uniform[]\n | Uniform[];\n\nexport interface Uniforms {\n [name: string]: Uniform;\n}\n\nconst isVector = (obj: unknown): obj is Vector => {\n \"worklet\";\n // We have an issue to check property existence on JSI backed instances\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (obj as any).x !== undefined && (obj as any).y !== undefined;\n};\n\nfunction processValue(values: number[], value: Uniform) {\n \"worklet\";\n if (typeof value === \"number\") {\n values.push(value);\n } else if (Array.isArray(value)) {\n value.forEach((v) => processValue(values, v));\n } else if (isVector(value)) {\n values.push(value.x, value.y);\n } else if (value instanceof Float32Array) {\n values.push(...value);\n }\n}\n\nexport const processUniforms = (\n source: SkRuntimeEffect,\n uniforms: Uniforms,\n builder?: SkRuntimeShaderBuilder\n) => {\n \"worklet\";\n const result: number[] = [];\n const uniformsCount = source.getUniformCount();\n for (let i = 0; i < uniformsCount; i++) {\n const name = source.getUniformName(i);\n const value = uniforms[name];\n if (value === undefined) {\n throw new Error(\n
|
1
|
+
{"version":3,"names":["isShader","obj","__typename__","exports","isVector","x","undefined","y","processValue","values","value","push","Array","isArray","forEach","v","Float32Array","processUniforms","source","uniforms","builder","result","uniformsCount","getUniformCount","i","name","getUniformName","Error","uniformValue","setUniform"],"sources":["Shader.ts"],"sourcesContent":["import type { SkJSIInstance } from \"../JsiInstance\";\nimport type { Vector } from \"../Point\";\nimport type { SkRuntimeEffect, SkRuntimeShaderBuilder } from \"../RuntimeEffect\";\n\nexport const isShader = (obj: SkJSIInstance<string> | null): obj is SkShader =>\n obj !== null && obj.__typename__ === \"Shader\";\n\nexport type SkShader = SkJSIInstance<\"Shader\">;\n\nexport type Uniform =\n | number\n | Vector\n | Float32Array\n | readonly Uniform[]\n | Uniform[];\n\nexport interface Uniforms {\n [name: string]: Uniform;\n}\n\nconst isVector = (obj: unknown): obj is Vector => {\n \"worklet\";\n // We have an issue to check property existence on JSI backed instances\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (obj as any).x !== undefined && (obj as any).y !== undefined;\n};\n\nfunction processValue(values: number[], value: Uniform) {\n \"worklet\";\n if (typeof value === \"number\") {\n values.push(value);\n } else if (Array.isArray(value)) {\n value.forEach((v) => processValue(values, v));\n } else if (isVector(value)) {\n values.push(value.x, value.y);\n } else if (value instanceof Float32Array) {\n values.push(...value);\n }\n}\n\nexport const processUniforms = (\n source: SkRuntimeEffect,\n uniforms: Uniforms,\n builder?: SkRuntimeShaderBuilder\n) => {\n \"worklet\";\n const result: number[] = [];\n const uniformsCount = source.getUniformCount();\n for (let i = 0; i < uniformsCount; i++) {\n const name = source.getUniformName(i);\n const value = uniforms[name];\n if (value === undefined) {\n throw new Error(\n `The runtime effect has the uniform value \"${name}\" declared, but it is missing from the uniforms property of the Runtime effect.`\n );\n }\n if (builder === undefined) {\n processValue(result, value);\n } else {\n const uniformValue: number[] = [];\n processValue(uniformValue, value);\n builder.setUniform(name, uniformValue);\n result.push(...uniformValue);\n }\n }\n return result;\n};\n"],"mappings":";;;;;;AAIO,MAAMA,QAAQ,GAAIC,GAAiC,IACxDA,GAAG,KAAK,IAAI,IAAIA,GAAG,CAACC,YAAY,KAAK,QAAQ;AAACC,OAAA,CAAAH,QAAA,GAAAA,QAAA;AAehD,MAAMI,QAAQ,GAAIH,GAAY,IAAoB;EAChD,SAAS;;EACT;EACA;EACA,OAAQA,GAAG,CAASI,CAAC,KAAKC,SAAS,IAAKL,GAAG,CAASM,CAAC,KAAKD,SAAS;AACrE,CAAC;AAED,SAASE,YAAYA,CAACC,MAAgB,EAAEC,KAAc,EAAE;EACtD,SAAS;;EACT,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7BD,MAAM,CAACE,IAAI,CAACD,KAAK,CAAC;EACpB,CAAC,MAAM,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;IAC/BA,KAAK,CAACI,OAAO,CAAEC,CAAC,IAAKP,YAAY,CAACC,MAAM,EAAEM,CAAC,CAAC,CAAC;EAC/C,CAAC,MAAM,IAAIX,QAAQ,CAACM,KAAK,CAAC,EAAE;IAC1BD,MAAM,CAACE,IAAI,CAACD,KAAK,CAACL,CAAC,EAAEK,KAAK,CAACH,CAAC,CAAC;EAC/B,CAAC,MAAM,IAAIG,KAAK,YAAYM,YAAY,EAAE;IACxCP,MAAM,CAACE,IAAI,CAAC,GAAGD,KAAK,CAAC;EACvB;AACF;AAEO,MAAMO,eAAe,GAAGA,CAC7BC,MAAuB,EACvBC,QAAkB,EAClBC,OAAgC,KAC7B;EACH,SAAS;;EACT,MAAMC,MAAgB,GAAG,EAAE;EAC3B,MAAMC,aAAa,GAAGJ,MAAM,CAACK,eAAe,CAAC,CAAC;EAC9C,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,aAAa,EAAEE,CAAC,EAAE,EAAE;IACtC,MAAMC,IAAI,GAAGP,MAAM,CAACQ,cAAc,CAACF,CAAC,CAAC;IACrC,MAAMd,KAAK,GAAGS,QAAQ,CAACM,IAAI,CAAC;IAC5B,IAAIf,KAAK,KAAKJ,SAAS,EAAE;MACvB,MAAM,IAAIqB,KAAK,CACb,6CAA6CF,IAAI,iFACnD,CAAC;IACH;IACA,IAAIL,OAAO,KAAKd,SAAS,EAAE;MACzBE,YAAY,CAACa,MAAM,EAAEX,KAAK,CAAC;IAC7B,CAAC,MAAM;MACL,MAAMkB,YAAsB,GAAG,EAAE;MACjCpB,YAAY,CAACoB,YAAY,EAAElB,KAAK,CAAC;MACjCU,OAAO,CAACS,UAAU,CAACJ,IAAI,EAAEG,YAAY,CAAC;MACtCP,MAAM,CAACV,IAAI,CAAC,GAAGiB,YAAY,CAAC;IAC9B;EACF;EACA,OAAOP,MAAM;AACf,CAAC;AAAClB,OAAA,CAAAc,eAAA,GAAAA,eAAA","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_types","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CanvasKitWebGLBufferImpl","CanvasKitWebGLBuffer","constructor","surface","source","toImage","image","makeImageFromTextureSource","Error","updateTextureFromSource","exports"],"sources":["CanvasKitWebGLBufferImpl.ts"],"sourcesContent":["import type { Surface, TextureSource, Image } from \"canvaskit-wasm\";\n\nimport { CanvasKitWebGLBuffer } from \"../types\";\n\nexport class CanvasKitWebGLBufferImpl extends CanvasKitWebGLBuffer {\n public image: Image | null = null;\n\n constructor(public surface: Surface
|
1
|
+
{"version":3,"names":["_types","require","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","CanvasKitWebGLBufferImpl","CanvasKitWebGLBuffer","constructor","surface","source","toImage","image","makeImageFromTextureSource","Error","updateTextureFromSource","exports"],"sources":["CanvasKitWebGLBufferImpl.ts"],"sourcesContent":["import type { Surface, TextureSource, Image } from \"canvaskit-wasm\";\n\nimport { CanvasKitWebGLBuffer } from \"../types\";\n\nexport class CanvasKitWebGLBufferImpl extends CanvasKitWebGLBuffer {\n public image: Image | null = null;\n\n constructor(\n public surface: Surface,\n private source: TextureSource\n ) {\n super();\n }\n\n toImage() {\n if (this.image === null) {\n this.image = this.surface.makeImageFromTextureSource(this.source);\n }\n if (this.image === null) {\n throw new Error(\"Failed to create image from texture source\");\n }\n this.surface.updateTextureFromSource(this.image, this.source);\n return this.image;\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAAgD,SAAAC,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;AAEzC,MAAMgB,wBAAwB,SAASC,2BAAoB,CAAC;EAGjEC,WAAWA,CACFC,OAAgB,EACfC,MAAqB,EAC7B;IACA,KAAK,CAAC,CAAC;IAAC,KAHDD,OAAgB,GAAhBA,OAAgB;IAAA,KACfC,MAAqB,GAArBA,MAAqB;IAAAvB,eAAA,gBAJF,IAAI;EAOjC;EAEAwB,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAACC,KAAK,KAAK,IAAI,EAAE;MACvB,IAAI,CAACA,KAAK,GAAG,IAAI,CAACH,OAAO,CAACI,0BAA0B,CAAC,IAAI,CAACH,MAAM,CAAC;IACnE;IACA,IAAI,IAAI,CAACE,KAAK,KAAK,IAAI,EAAE;MACvB,MAAM,IAAIE,KAAK,CAAC,4CAA4C,CAAC;IAC/D;IACA,IAAI,CAACL,OAAO,CAACM,uBAAuB,CAAC,IAAI,CAACH,KAAK,EAAE,IAAI,CAACF,MAAM,CAAC;IAC7D,OAAO,IAAI,CAACE,KAAK;EACnB;AACF;AAACI,OAAA,CAAAV,wBAAA,GAAAA,wBAAA","ignoreList":[]}
|
@@ -9,7 +9,8 @@ export declare abstract class BaseHostObject<T, N extends string> extends Host i
|
|
9
9
|
readonly __typename__: N;
|
10
10
|
ref: T;
|
11
11
|
constructor(CanvasKit: CanvasKit, ref: T, typename: N);
|
12
|
-
|
12
|
+
dispose(): void;
|
13
|
+
[Symbol.dispose](): void;
|
13
14
|
}
|
14
15
|
export declare abstract class HostObject<T, N extends string> extends BaseHostObject<T, N> {
|
15
16
|
static fromValue<T>(value: SkJSIInstance<string>): T;
|
@@ -29,6 +29,14 @@ class BaseHostObject extends Host {
|
|
29
29
|
this.ref = ref;
|
30
30
|
this.__typename__ = typename;
|
31
31
|
}
|
32
|
+
dispose() {
|
33
|
+
this[Symbol.dispose]();
|
34
|
+
}
|
35
|
+
[Symbol.dispose]() {
|
36
|
+
if (this.ref !== null && typeof this.ref === "object" && "delete" in this.ref && typeof this.ref.delete === "function") {
|
37
|
+
this.ref.delete();
|
38
|
+
}
|
39
|
+
}
|
32
40
|
}
|
33
41
|
exports.BaseHostObject = BaseHostObject;
|
34
42
|
class HostObject extends BaseHostObject {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["throwNotImplementedOnRNWeb","jest","fn","Error","exports","Host","constructor","CanvasKit","_defineProperty","BaseHostObject","ref","typename","__typename__","HostObject","fromValue","value","getEnum","name","v","e","result","Object","values","find","optEnum","undefined"],"sources":["Host.ts"],"sourcesContent":["import type { CanvasKit, EmbindEnumEntity } from \"canvaskit-wasm\";\n\nimport type { SkJSIInstance } from \"../types\";\n\nexport const throwNotImplementedOnRNWeb = <T>(): T => {\n if (typeof jest !== \"undefined\") {\n return jest.fn() as unknown as T;\n }\n throw new Error(\"Not implemented on React Native Web\");\n};\n\nexport abstract class Host {\n readonly CanvasKit: CanvasKit;\n\n constructor(CanvasKit: CanvasKit) {\n this.CanvasKit = CanvasKit;\n }\n}\n\nexport abstract class BaseHostObject<T, N extends string>\n extends Host\n implements SkJSIInstance<N>\n{\n readonly __typename__: N;\n ref: T;\n\n constructor(CanvasKit: CanvasKit, ref: T, typename: N) {\n super(CanvasKit);\n this.ref = ref;\n this.__typename__ = typename;\n }\n\n
|
1
|
+
{"version":3,"names":["throwNotImplementedOnRNWeb","jest","fn","Error","exports","Host","constructor","CanvasKit","_defineProperty","BaseHostObject","ref","typename","__typename__","dispose","Symbol","delete","HostObject","fromValue","value","getEnum","name","v","e","result","Object","values","find","optEnum","undefined"],"sources":["Host.ts"],"sourcesContent":["import type { CanvasKit, EmbindEnumEntity } from \"canvaskit-wasm\";\n\nimport type { SkJSIInstance } from \"../types\";\n\nexport const throwNotImplementedOnRNWeb = <T>(): T => {\n if (typeof jest !== \"undefined\") {\n return jest.fn() as unknown as T;\n }\n throw new Error(\"Not implemented on React Native Web\");\n};\n\nexport abstract class Host {\n readonly CanvasKit: CanvasKit;\n\n constructor(CanvasKit: CanvasKit) {\n this.CanvasKit = CanvasKit;\n }\n}\n\nexport abstract class BaseHostObject<T, N extends string>\n extends Host\n implements SkJSIInstance<N>\n{\n readonly __typename__: N;\n ref: T;\n\n constructor(CanvasKit: CanvasKit, ref: T, typename: N) {\n super(CanvasKit);\n this.ref = ref;\n this.__typename__ = typename;\n }\n\n dispose() {\n this[Symbol.dispose]();\n }\n\n [Symbol.dispose](): void {\n if (\n this.ref !== null &&\n typeof this.ref === \"object\" &&\n \"delete\" in this.ref &&\n typeof this.ref.delete === \"function\"\n ) {\n this.ref.delete();\n }\n }\n}\n\nexport abstract class HostObject<T, N extends string> extends BaseHostObject<\n T,\n N\n> {\n static fromValue<T>(value: SkJSIInstance<string>) {\n return (value as HostObject<T, string>).ref;\n }\n}\n\nexport const getEnum = (\n CanvasKit: CanvasKit,\n name: keyof CanvasKit,\n v: number\n): EmbindEnumEntity => {\n const e = CanvasKit[name];\n if (typeof e !== \"function\") {\n throw new Error(`${name} is not an number`);\n }\n const result = Object.values(e).find(({ value }) => value === v);\n if (!result) {\n throw new Error(\n `Enum ${name} does not have value ${v} on React Native Web`\n );\n }\n return result;\n};\n\nexport const optEnum = (\n CanvasKit: CanvasKit,\n name: keyof CanvasKit,\n v: number | undefined\n): EmbindEnumEntity | undefined => {\n return v === undefined ? undefined : getEnum(CanvasKit, name, v);\n};\n"],"mappings":";;;;;;;;;AAIO,MAAMA,0BAA0B,GAAGA,CAAA,KAAY;EACpD,IAAI,OAAOC,IAAI,KAAK,WAAW,EAAE;IAC/B,OAAOA,IAAI,CAACC,EAAE,CAAC,CAAC;EAClB;EACA,MAAM,IAAIC,KAAK,CAAC,qCAAqC,CAAC;AACxD,CAAC;AAACC,OAAA,CAAAJ,0BAAA,GAAAA,0BAAA;AAEK,MAAeK,IAAI,CAAC;EAGzBC,WAAWA,CAACC,SAAoB,EAAE;IAAAC,eAAA;IAChC,IAAI,CAACD,SAAS,GAAGA,SAAS;EAC5B;AACF;AAACH,OAAA,CAAAC,IAAA,GAAAA,IAAA;AAEM,MAAeI,cAAc,SAC1BJ,IAAI,CAEd;EAIEC,WAAWA,CAACC,SAAoB,EAAEG,GAAM,EAAEC,QAAW,EAAE;IACrD,KAAK,CAACJ,SAAS,CAAC;IAACC,eAAA;IAAAA,eAAA;IACjB,IAAI,CAACE,GAAG,GAAGA,GAAG;IACd,IAAI,CAACE,YAAY,GAAGD,QAAQ;EAC9B;EAEAE,OAAOA,CAAA,EAAG;IACR,IAAI,CAACC,MAAM,CAACD,OAAO,CAAC,CAAC,CAAC;EACxB;EAEA,CAACC,MAAM,CAACD,OAAO,IAAU;IACvB,IACE,IAAI,CAACH,GAAG,KAAK,IAAI,IACjB,OAAO,IAAI,CAACA,GAAG,KAAK,QAAQ,IAC5B,QAAQ,IAAI,IAAI,CAACA,GAAG,IACpB,OAAO,IAAI,CAACA,GAAG,CAACK,MAAM,KAAK,UAAU,EACrC;MACA,IAAI,CAACL,GAAG,CAACK,MAAM,CAAC,CAAC;IACnB;EACF;AACF;AAACX,OAAA,CAAAK,cAAA,GAAAA,cAAA;AAEM,MAAeO,UAAU,SAA8BP,cAAc,CAG1E;EACA,OAAOQ,SAASA,CAAIC,KAA4B,EAAE;IAChD,OAAQA,KAAK,CAA2BR,GAAG;EAC7C;AACF;AAACN,OAAA,CAAAY,UAAA,GAAAA,UAAA;AAEM,MAAMG,OAAO,GAAGA,CACrBZ,SAAoB,EACpBa,IAAqB,EACrBC,CAAS,KACY;EACrB,MAAMC,CAAC,GAAGf,SAAS,CAACa,IAAI,CAAC;EACzB,IAAI,OAAOE,CAAC,KAAK,UAAU,EAAE;IAC3B,MAAM,IAAInB,KAAK,CAAC,GAAGiB,IAAI,mBAAmB,CAAC;EAC7C;EACA,MAAMG,MAAM,GAAGC,MAAM,CAACC,MAAM,CAACH,CAAC,CAAC,CAACI,IAAI,CAAC,CAAC;IAAER;EAAM,CAAC,KAAKA,KAAK,KAAKG,CAAC,CAAC;EAChE,IAAI,CAACE,MAAM,EAAE;IACX,MAAM,IAAIpB,KAAK,CACb,QAAQiB,IAAI,wBAAwBC,CAAC,sBACvC,CAAC;EACH;EACA,OAAOE,MAAM;AACf,CAAC;AAACnB,OAAA,CAAAe,OAAA,GAAAA,OAAA;AAEK,MAAMQ,OAAO,GAAGA,CACrBpB,SAAoB,EACpBa,IAAqB,EACrBC,CAAqB,KACY;EACjC,OAAOA,CAAC,KAAKO,SAAS,GAAGA,SAAS,GAAGT,OAAO,CAACZ,SAAS,EAAEa,IAAI,EAAEC,CAAC,CAAC;AAClE,CAAC;AAACjB,OAAA,CAAAuB,OAAA,GAAAA,OAAA","ignoreList":[]}
|
@@ -6,15 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
exports.JsiSkAnimatedImage = void 0;
|
7
7
|
var _Host = require("./Host");
|
8
8
|
var _JsiSkImage = require("./JsiSkImage");
|
9
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
10
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
11
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
12
9
|
class JsiSkAnimatedImage extends _Host.HostObject {
|
13
10
|
constructor(CanvasKit, ref) {
|
14
11
|
super(CanvasKit, ref, "AnimatedImage");
|
15
|
-
_defineProperty(this, "dispose", () => {
|
16
|
-
this.ref.delete();
|
17
|
-
});
|
18
12
|
}
|
19
13
|
decodeNextFrame() {
|
20
14
|
return this.ref.decodeNextFrame();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_Host","require","_JsiSkImage","
|
1
|
+
{"version":3,"names":["_Host","require","_JsiSkImage","JsiSkAnimatedImage","HostObject","constructor","CanvasKit","ref","decodeNextFrame","currentFrameDuration","getFrameCount","getCurrentFrame","image","makeImageAtCurrentFrame","JsiSkImage","exports"],"sources":["JsiSkAnimatedImage.ts"],"sourcesContent":["import type { AnimatedImage, CanvasKit } from \"canvaskit-wasm\";\n\nimport type { SkAnimatedImage } from \"../types/AnimatedImage\";\n\nimport { HostObject } from \"./Host\";\nimport { JsiSkImage } from \"./JsiSkImage\";\n\nexport class JsiSkAnimatedImage\n extends HostObject<AnimatedImage, \"AnimatedImage\">\n implements SkAnimatedImage\n{\n constructor(CanvasKit: CanvasKit, ref: AnimatedImage) {\n super(CanvasKit, ref, \"AnimatedImage\");\n }\n\n decodeNextFrame() {\n return this.ref.decodeNextFrame();\n }\n\n currentFrameDuration() {\n return this.ref.currentFrameDuration();\n }\n\n getFrameCount() {\n return this.ref.getFrameCount();\n }\n\n getCurrentFrame() {\n const image = this.ref.makeImageAtCurrentFrame();\n if (image === null) {\n return null;\n }\n return new JsiSkImage(this.CanvasKit, image);\n }\n}\n"],"mappings":";;;;;;AAIA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEO,MAAME,kBAAkB,SACrBC,gBAAU,CAEpB;EACEC,WAAWA,CAACC,SAAoB,EAAEC,GAAkB,EAAE;IACpD,KAAK,CAACD,SAAS,EAAEC,GAAG,EAAE,eAAe,CAAC;EACxC;EAEAC,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACD,GAAG,CAACC,eAAe,CAAC,CAAC;EACnC;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACF,GAAG,CAACE,oBAAoB,CAAC,CAAC;EACxC;EAEAC,aAAaA,CAAA,EAAG;IACd,OAAO,IAAI,CAACH,GAAG,CAACG,aAAa,CAAC,CAAC;EACjC;EAEAC,eAAeA,CAAA,EAAG;IAChB,MAAMC,KAAK,GAAG,IAAI,CAACL,GAAG,CAACM,uBAAuB,CAAC,CAAC;IAChD,IAAID,KAAK,KAAK,IAAI,EAAE;MAClB,OAAO,IAAI;IACb;IACA,OAAO,IAAIE,sBAAU,CAAC,IAAI,CAACR,SAAS,EAAEM,KAAK,CAAC;EAC9C;AACF;AAACG,OAAA,CAAAZ,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
@@ -3,7 +3,6 @@ import { type BlendMode, type ClipOp, type FilterMode, type MipmapMode, type Poi
|
|
3
3
|
import { HostObject } from "./Host";
|
4
4
|
export declare class JsiSkCanvas extends HostObject<Canvas, "Canvas"> implements SkCanvas {
|
5
5
|
constructor(CanvasKit: CanvasKit, ref: Canvas);
|
6
|
-
dispose: () => void;
|
7
6
|
drawRect(rect: SkRect, paint: SkPaint): void;
|
8
7
|
drawImage(image: SkImage, x: number, y: number, paint?: SkPaint): void;
|
9
8
|
drawImageRect(img: SkImage, src: SkRect, dest: SkRect, paint: SkPaint, fastSample?: boolean): void;
|
@@ -19,15 +19,9 @@ var _JsiSkMatrix = require("./JsiSkMatrix");
|
|
19
19
|
var _JsiSkImageFilter = require("./JsiSkImageFilter");
|
20
20
|
var _JsiSkPoint = require("./JsiSkPoint");
|
21
21
|
var _JsiSkRSXform = require("./JsiSkRSXform");
|
22
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
23
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
24
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
25
22
|
class JsiSkCanvas extends _Host.HostObject {
|
26
23
|
constructor(CanvasKit, ref) {
|
27
24
|
super(CanvasKit, ref, "Canvas");
|
28
|
-
_defineProperty(this, "dispose", () => {
|
29
|
-
this.ref.delete();
|
30
|
-
});
|
31
25
|
}
|
32
26
|
drawRect(rect, paint) {
|
33
27
|
this.ref.drawRect(_JsiSkRect.JsiSkRect.fromValue(this.CanvasKit, rect), _JsiSkPaint.JsiSkPaint.fromValue(paint));
|