diff --git a/package-lock.json b/package-lock.json
index b905b0400b6c3cd7200856719f2f9bf342b06c4a..8c4a2cd40513fe340d64273182ca37464a2de5e9 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -15018,7 +15018,15 @@
},
"packages/lib": {
"name": "@sc07-canvas/lib",
- "version": "1.0.0"
+ "version": "1.0.0",
+ "dependencies": {
+ "eventemitter3": "^5.0.1"
+ }
+ },
+ "packages/lib/node_modules/eventemitter3": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz",
+ "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="
},
"packages/server": {
"name": "@sc07-canvas/server",
diff --git a/packages/client-next/gulpfile.js b/packages/client-next/gulpfile.js
index 63cd6e07aa7582b809f6700d5fd08ae6ce73ffdb..50344db1a6452cad44596baf2f8ab86675610aac 100644
--- a/packages/client-next/gulpfile.js
+++ b/packages/client-next/gulpfile.js
@@ -20,7 +20,15 @@ gulp.task("js", function () {
gulp.task(
"watch",
gulp.series("js", "css", function () {
- gulp.watch(["src/**/*.ts", "src/**/*.tsx"], gulp.series("js"));
+ gulp.watch(
+ [
+ "src/**/*.ts",
+ "src/**/*.tsx",
+ "../lib/src/**/*.ts",
+ "../lib/src/**/*.tsx",
+ ],
+ gulp.series("js")
+ );
gulp.watch("src/**/*.scss", gulp.series("css"));
})
);
diff --git a/packages/client-next/src/board.scss b/packages/client-next/src/board.scss
new file mode 100644
index 0000000000000000000000000000000000000000..1f17dd98f034df406d4e4453bb7695ba8ab02297
--- /dev/null
+++ b/packages/client-next/src/board.scss
@@ -0,0 +1,25 @@
+.board-wrapper {
+ position: fixed;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ width: 100vw;
+ height: 100vh;
+
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.debug-point {
+ position: fixed;
+ z-index: 9999;
+ width: 10px;
+ height: 10px;
+ border-radius: 5px;
+ background-color: #ff0000;
+ opacity: 0.5;
+ pointer-events: none;
+ touch-action: none;
+}
diff --git a/packages/client-next/src/components/CanvasWrapper.tsx b/packages/client-next/src/components/CanvasWrapper.tsx
index 389269ed284e5932c76d13942c47492ce3a26311..56a6da909f8681aabdd1fa7cc399ff87092d9ac3 100644
--- a/packages/client-next/src/components/CanvasWrapper.tsx
+++ b/packages/client-next/src/components/CanvasWrapper.tsx
@@ -8,33 +8,15 @@ import {
import { Canvas } from "../lib/canvas";
import { useAppContext } from "../contexts/AppContext";
import throttle from "lodash.throttle";
+import { PanZoomWrapper } from "@sc07-canvas/lib/src/renderer";
export const CanvasWrapper = () => {
// to prevent safari from blurring things, use the zoom css property
return (
-
-
-
-
-
+
+
+
);
};
@@ -42,28 +24,28 @@ export const CanvasWrapper = () => {
const CanvasInner = () => {
const canvasRef = createRef();
const { config } = useAppContext();
- const { centerView } = useControls();
+ // const { centerView } = useControls();
- useTransformEffect(
- throttle(({ state, instance }) => {
- const params = new URLSearchParams();
- params.set("x", state.positionX + "");
- params.set("y", state.positionY + "");
- params.set("zoom", state.scale + "");
- window.location.hash = params.toString();
- }, 1000)
- );
+ // useTransformEffect(
+ // throttle(({ state, instance }) => {
+ // const params = new URLSearchParams();
+ // params.set("x", state.positionX + "");
+ // params.set("y", state.positionY + "");
+ // params.set("zoom", state.scale + "");
+ // window.location.hash = params.toString();
+ // }, 1000)
+ // );
useEffect(() => {
if (!config.canvas || !canvasRef.current) return;
const canvas = canvasRef.current!;
const canvasInstance = new Canvas(config, canvas);
- centerView();
+ // centerView();
return () => {
canvasInstance.destroy();
};
- }, [canvasRef, centerView, config]);
+ }, [canvasRef, config]);
return (