Gabriel commited on
Commit
d192d6a
·
verified ·
1 Parent(s): e07ca67

Upload folder using huggingface_hub

Browse files
.gitignore CHANGED
@@ -11,3 +11,4 @@ __tmp/*
11
  node_modules
12
  backend/**/templates/
13
  .venv
 
 
11
  node_modules
12
  backend/**/templates/
13
  .venv
14
+ .playwright-mcp
src/.gitignore CHANGED
@@ -11,3 +11,4 @@ __tmp/*
11
  node_modules
12
  backend/**/templates/
13
  .venv
 
 
11
  node_modules
12
  backend/**/templates/
13
  .venv
14
+ .playwright-mcp
src/frontend/Index.svelte CHANGED
@@ -70,6 +70,7 @@
70
  let initialPosition = { x: 0, y: 0 };
71
  let minScale = 0.5;
72
  let maxScale = 3;
 
73
 
74
  type ImageRect = {
75
  left: number;
@@ -217,6 +218,17 @@
217
 
218
  window.addEventListener("keydown", handleKeydown);
219
 
 
 
 
 
 
 
 
 
 
 
 
220
  app.stage.on("pointerdown", (event) => {
221
  if (event.button === 1 || (event.button === 0 && event.shiftKey)) {
222
  isDragging = true;
@@ -251,7 +263,7 @@
251
  }
252
 
253
  function handleKeydown(event: KeyboardEvent) {
254
- if (!viewportContainer) return;
255
 
256
  switch(event.key) {
257
  case "=":
@@ -627,6 +639,10 @@
627
  if (app) {
628
  app.canvas.removeEventListener("wheel", handleWheel);
629
  window.removeEventListener("keydown", handleKeydown);
 
 
 
 
630
  app.destroy(true, { children: true, texture: true });
631
  }
632
  });
 
70
  let initialPosition = { x: 0, y: 0 };
71
  let minScale = 0.5;
72
  let maxScale = 3;
73
+ let isMouseOverCanvas = false;
74
 
75
  type ImageRect = {
76
  left: number;
 
218
 
219
  window.addEventListener("keydown", handleKeydown);
220
 
221
+ // Track mouse hover state for canvas area
222
+ if (canvasContainer) {
223
+ canvasContainer.addEventListener("mouseenter", () => {
224
+ isMouseOverCanvas = true;
225
+ });
226
+
227
+ canvasContainer.addEventListener("mouseleave", () => {
228
+ isMouseOverCanvas = false;
229
+ });
230
+ }
231
+
232
  app.stage.on("pointerdown", (event) => {
233
  if (event.button === 1 || (event.button === 0 && event.shiftKey)) {
234
  isDragging = true;
 
263
  }
264
 
265
  function handleKeydown(event: KeyboardEvent) {
266
+ if (!viewportContainer || !isMouseOverCanvas) return;
267
 
268
  switch(event.key) {
269
  case "=":
 
639
  if (app) {
640
  app.canvas.removeEventListener("wheel", handleWheel);
641
  window.removeEventListener("keydown", handleKeydown);
642
+ if (canvasContainer) {
643
+ canvasContainer.removeEventListener("mouseenter", () => {});
644
+ canvasContainer.removeEventListener("mouseleave", () => {});
645
+ }
646
  app.destroy(true, { children: true, texture: true });
647
  }
648
  });
src/pyproject.toml CHANGED
@@ -8,7 +8,7 @@ build-backend = "hatchling.build"
8
 
9
  [project]
10
  name = "gradio_polygonannotator"
11
- version = "0.2.0"
12
  description = "Interactive polygon annotation component for Gradio with multi-selection, hover effects, and customizable appearance"
13
  readme = "README.md"
14
  license = "Apache-2.0"
 
8
 
9
  [project]
10
  name = "gradio_polygonannotator"
11
+ version = "0.2.1"
12
  description = "Interactive polygon annotation component for Gradio with multi-selection, hover effects, and customizable appearance"
13
  readme = "README.md"
14
  license = "Apache-2.0"
src/uv.lock CHANGED
@@ -1183,7 +1183,7 @@ wheels = [
1183
 
1184
  [[package]]
1185
  name = "gradio-polygonannotator"
1186
- version = "0.1.0"
1187
  source = { editable = "." }
1188
  dependencies = [
1189
  { name = "gradio", version = "4.44.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },
 
1183
 
1184
  [[package]]
1185
  name = "gradio-polygonannotator"
1186
+ version = "0.2.1"
1187
  source = { editable = "." }
1188
  dependencies = [
1189
  { name = "gradio", version = "4.44.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" },