open-plant 1.3.8 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/index.cjs +39 -38
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.js +4394 -3909
  5. package/dist/index.js.map +1 -1
  6. package/dist/types/index.d.ts +23 -8
  7. package/dist/types/index.d.ts.map +1 -1
  8. package/dist/types/react/draw-layer-stamp.d.ts +9 -2
  9. package/dist/types/react/draw-layer-stamp.d.ts.map +1 -1
  10. package/dist/types/react/draw-layer-types.d.ts +9 -1
  11. package/dist/types/react/draw-layer-types.d.ts.map +1 -1
  12. package/dist/types/react/draw-layer.d.ts +1 -1
  13. package/dist/types/react/draw-layer.d.ts.map +1 -1
  14. package/dist/types/react/drawing-layer.d.ts +13 -0
  15. package/dist/types/react/drawing-layer.d.ts.map +1 -0
  16. package/dist/types/react/overlay-layer.d.ts +6 -0
  17. package/dist/types/react/overlay-layer.d.ts.map +1 -0
  18. package/dist/types/react/overview-map.d.ts +1 -1
  19. package/dist/types/react/overview-map.d.ts.map +1 -1
  20. package/dist/types/react/patch-layer.d.ts +8 -0
  21. package/dist/types/react/patch-layer.d.ts.map +1 -0
  22. package/dist/types/react/point-layer.d.ts +23 -0
  23. package/dist/types/react/point-layer.d.ts.map +1 -0
  24. package/dist/types/react/region-layer.d.ts +21 -0
  25. package/dist/types/react/region-layer.d.ts.map +1 -0
  26. package/dist/types/react/viewer-context.d.ts +23 -0
  27. package/dist/types/react/viewer-context.d.ts.map +1 -0
  28. package/dist/types/react/wsi-viewer-canvas-types.d.ts +4 -0
  29. package/dist/types/react/wsi-viewer-canvas-types.d.ts.map +1 -1
  30. package/dist/types/react/wsi-viewer.d.ts +34 -0
  31. package/dist/types/react/wsi-viewer.d.ts.map +1 -0
  32. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,7 +7,22 @@ and this project follows [Semantic Versioning](https://semver.org/).
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.4.0] - 2026-03-16
11
+
10
12
  ### Added
13
+ - **선언적 레이어 컴포지션 API**: `WsiViewer` + 자식 레이어 컴포넌트로 관심사 분리.
14
+ - `WsiViewer`: Context Provider + WebGL 캔버스 관리 (~15개 core props).
15
+ - `PointLayer`: 포인트 렌더링, 클리핑, 히트 테스트 캡슐화.
16
+ - `RegionLayer`: ROI 리전 렌더링, 라벨, hover/active 상태 관리.
17
+ - `DrawingLayer`: 드로잉 도구 (freehand, rectangle, circular, stamp, brush).
18
+ - `PatchLayer`: 패치 리전 렌더링.
19
+ - `OverlayLayer`: 오버레이 셰이프 렌더링.
20
+ - `ViewerContext` + `useViewerContext()`: 레이어 간 `rendererRef`, 좌표 변환, draw registry 공유.
21
+ - `PointQueryHandle` + `forwardRef` 패턴: `getCellByCoordinatesRef`를 대체하는 `PointLayer` imperative handle.
22
+ - `DrawTool` 타입 확장: `"eraser"`, `"region-brush"`, `"region-eraser"` 문자열 리터럴 추가.
23
+ - `StampToolConfig` 구조화 타입: `{ stamp: { shape: "circle", areaMm2: 0.2 } }` — 매직 스트링 대체.
24
+ - `StampShape` 타입: `"rectangle" | "circle"`.
25
+ - `RegionLayerProps.labelStyle`: `Partial<RegionLabelStyle> | RegionLabelStyleResolver` 통합 prop.
11
26
  - Web Worker 기반 포인트 공간 인덱스 빌드 (`point-hit-index-worker`). 메인 스레드 ~175ms 블로킹 제거.
12
27
  - `FlatPointSpatialIndex` flat typed array 자료구조 + open-addressing hash table lookup.
13
28
  - `buildPointSpatialIndexAsync()`, `lookupCellIndex()`, `terminatePointHitIndexWorker()` public API.
@@ -18,6 +33,7 @@ and this project follows [Semantic Versioning](https://semver.org/).
18
33
  - 최적화 리포트: `perf-optimization-report.md`.
19
34
 
20
35
  ### Changed
36
+ - `WsiViewerCanvasProps`에 `@deprecated` JSDoc 추가. 기존 인터페이스는 동일하게 유지.
21
37
  - `pointHitIndex` 빌드가 `useMemo` (동기) → `useEffect` + `useState` (비동기 워커)로 전환.
22
38
  - 워커 인덱스 알고리즘: nested `Map` → 4-pass counting sort (GC-free, typed arrays only).
23
39
  - 워커 프로토콜: positions/ids를 워커가 반환하지 않음 — 메인 스레드가 원본 참조 (전송량 ~120MB → ~48MB).