canvu-react 0.4.56 → 0.4.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/native.cjs +74 -31
- package/dist/native.cjs.map +1 -1
- package/dist/native.js +75 -32
- package/dist/native.js.map +1 -1
- package/dist/realtimeNative.cjs +46 -2
- package/dist/realtimeNative.cjs.map +1 -1
- package/dist/realtimeNative.js +46 -2
- package/dist/realtimeNative.js.map +1 -1
- package/package.json +1 -1
package/dist/native.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import getStroke from 'perfect-freehand';
|
|
2
2
|
import { Group, Canvas, Rect, Circle, Path, RoundedRect, Oval, DashPathEffect, Line, vec, matchFont, Text as Text$1, Image } from '@shopify/react-native-skia';
|
|
3
|
-
import { memo, forwardRef, useState, useRef, useEffect, useCallback, useMemo
|
|
3
|
+
import { memo, forwardRef, useState, useImperativeHandle, useRef, useEffect, useCallback, useMemo } from 'react';
|
|
4
4
|
import { StyleSheet, PanResponder, View, Modal, Text, TextInput, Pressable, ScrollView, Image as Image$1 } from 'react-native';
|
|
5
5
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -5541,6 +5541,58 @@ function NativeSelectionContextMenuButton({
|
|
|
5541
5541
|
}
|
|
5542
5542
|
);
|
|
5543
5543
|
}
|
|
5544
|
+
var NativeCameraRenderLayer = forwardRef(function NativeCameraRenderLayer2({
|
|
5545
|
+
items,
|
|
5546
|
+
camera,
|
|
5547
|
+
width,
|
|
5548
|
+
height,
|
|
5549
|
+
interactive,
|
|
5550
|
+
selectedItems,
|
|
5551
|
+
showResizeHandles,
|
|
5552
|
+
placementPreview,
|
|
5553
|
+
laserTrail,
|
|
5554
|
+
eraserTrail,
|
|
5555
|
+
eraserPreviewItems,
|
|
5556
|
+
previewStrokeStyle,
|
|
5557
|
+
remotePresence
|
|
5558
|
+
}, ref) {
|
|
5559
|
+
const [cameraTick, setCameraTick] = useState(0);
|
|
5560
|
+
useImperativeHandle(
|
|
5561
|
+
ref,
|
|
5562
|
+
() => ({
|
|
5563
|
+
requestRender: () => setCameraTick((n) => n + 1)
|
|
5564
|
+
}),
|
|
5565
|
+
[]
|
|
5566
|
+
);
|
|
5567
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5568
|
+
/* @__PURE__ */ jsx(
|
|
5569
|
+
NativeSceneRenderer,
|
|
5570
|
+
{
|
|
5571
|
+
items,
|
|
5572
|
+
camera,
|
|
5573
|
+
width,
|
|
5574
|
+
height,
|
|
5575
|
+
renderTick: cameraTick
|
|
5576
|
+
}
|
|
5577
|
+
),
|
|
5578
|
+
interactive && /* @__PURE__ */ jsx(
|
|
5579
|
+
NativeInteractionOverlay,
|
|
5580
|
+
{
|
|
5581
|
+
camera,
|
|
5582
|
+
width,
|
|
5583
|
+
height,
|
|
5584
|
+
selectedItems,
|
|
5585
|
+
showResizeHandles,
|
|
5586
|
+
placementPreview,
|
|
5587
|
+
laserTrail,
|
|
5588
|
+
eraserTrail,
|
|
5589
|
+
eraserPreviewItems,
|
|
5590
|
+
previewStrokeStyle,
|
|
5591
|
+
remotePresence
|
|
5592
|
+
}
|
|
5593
|
+
)
|
|
5594
|
+
] });
|
|
5595
|
+
});
|
|
5544
5596
|
var NativeVectorViewport = forwardRef(function NativeVectorViewport2({
|
|
5545
5597
|
items,
|
|
5546
5598
|
selectedIds = [],
|
|
@@ -5568,6 +5620,7 @@ var NativeVectorViewport = forwardRef(function NativeVectorViewport2({
|
|
|
5568
5620
|
}, ref) {
|
|
5569
5621
|
const [size, setSize] = useState({ width: 0, height: 0 });
|
|
5570
5622
|
const cameraRef = useRef(null);
|
|
5623
|
+
const cameraRenderLayerRef = useRef(null);
|
|
5571
5624
|
const toolIdRef = useRef(toolId);
|
|
5572
5625
|
toolIdRef.current = toolId;
|
|
5573
5626
|
const toolLockedRef = useRef(toolLocked);
|
|
@@ -5762,7 +5815,6 @@ var NativeVectorViewport = forwardRef(function NativeVectorViewport2({
|
|
|
5762
5815
|
cameraRef.current = new Camera2D({ minZoom: 0.05, maxZoom: 32 });
|
|
5763
5816
|
}
|
|
5764
5817
|
const camera = cameraRef.current;
|
|
5765
|
-
const [cameraTick, setCameraTick] = useState(0);
|
|
5766
5818
|
const selectedItems = useMemo(
|
|
5767
5819
|
() => activeItems.filter((item) => selectedIds.includes(item.id)),
|
|
5768
5820
|
[activeItems, selectedIds]
|
|
@@ -5839,7 +5891,7 @@ var NativeVectorViewport = forwardRef(function NativeVectorViewport2({
|
|
|
5839
5891
|
onWorldPointerLeaveRef.current?.();
|
|
5840
5892
|
}, []);
|
|
5841
5893
|
const requestRender = useCallback(() => {
|
|
5842
|
-
|
|
5894
|
+
cameraRenderLayerRef.current?.requestRender();
|
|
5843
5895
|
onCameraChangeRef.current?.();
|
|
5844
5896
|
}, []);
|
|
5845
5897
|
const onLayout = useCallback((e) => {
|
|
@@ -6746,7 +6798,7 @@ var NativeVectorViewport = forwardRef(function NativeVectorViewport2({
|
|
|
6746
6798
|
const nativeLinkCanSubmit = pendingNativeLinkRequest !== null && normalizedNativeLinkHref !== null && onItemsChange != null;
|
|
6747
6799
|
return /* @__PURE__ */ jsxs(View, { style: { flex: 1, overflow: "hidden" }, onLayout, children: [
|
|
6748
6800
|
size.width > 0 && size.height > 0 && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6749
|
-
/* @__PURE__ */
|
|
6801
|
+
/* @__PURE__ */ jsx(
|
|
6750
6802
|
View,
|
|
6751
6803
|
{
|
|
6752
6804
|
style: StyleSheet.absoluteFill,
|
|
@@ -6759,34 +6811,25 @@ var NativeVectorViewport = forwardRef(function NativeVectorViewport2({
|
|
|
6759
6811
|
notifyWorldPointerLeave();
|
|
6760
6812
|
},
|
|
6761
6813
|
...panResponder.panHandlers,
|
|
6762
|
-
children:
|
|
6763
|
-
|
|
6764
|
-
|
|
6765
|
-
|
|
6766
|
-
|
|
6767
|
-
|
|
6768
|
-
|
|
6769
|
-
|
|
6770
|
-
|
|
6771
|
-
|
|
6772
|
-
|
|
6773
|
-
|
|
6774
|
-
|
|
6775
|
-
|
|
6776
|
-
|
|
6777
|
-
|
|
6778
|
-
|
|
6779
|
-
|
|
6780
|
-
|
|
6781
|
-
placementPreview,
|
|
6782
|
-
laserTrail,
|
|
6783
|
-
eraserTrail,
|
|
6784
|
-
eraserPreviewItems,
|
|
6785
|
-
previewStrokeStyle: strokeStyleState,
|
|
6786
|
-
remotePresence
|
|
6787
|
-
}
|
|
6788
|
-
)
|
|
6789
|
-
]
|
|
6814
|
+
children: /* @__PURE__ */ jsx(
|
|
6815
|
+
NativeCameraRenderLayer,
|
|
6816
|
+
{
|
|
6817
|
+
ref: cameraRenderLayerRef,
|
|
6818
|
+
items: sceneItems,
|
|
6819
|
+
camera,
|
|
6820
|
+
width: size.width,
|
|
6821
|
+
height: size.height,
|
|
6822
|
+
interactive,
|
|
6823
|
+
selectedItems,
|
|
6824
|
+
showResizeHandles,
|
|
6825
|
+
placementPreview,
|
|
6826
|
+
laserTrail,
|
|
6827
|
+
eraserTrail,
|
|
6828
|
+
eraserPreviewItems,
|
|
6829
|
+
previewStrokeStyle: strokeStyleState,
|
|
6830
|
+
remotePresence
|
|
6831
|
+
}
|
|
6832
|
+
)
|
|
6790
6833
|
}
|
|
6791
6834
|
),
|
|
6792
6835
|
overlay ? /* @__PURE__ */ jsx(
|