diff --git a/.claude/skills/floormap-expert.md b/.claude/skills/floormap-expert.md index e681acf..e8e6ef4 100644 --- a/.claude/skills/floormap-expert.md +++ b/.claude/skills/floormap-expert.md @@ -9,7 +9,7 @@ You are an expert on the **Floormap** codebase. Apply this context whenever work ## What Floormap is -A zero-dependency TypeScript toolkit for building interactive 2D editors (floor plans, seat maps, office layouts). It provides scene management, pan/zoom/selection/picking primitives, and pluggable renderers. It is a monorepo with two publishable packages: `@floormap/core` and `@floormap/svg`. +A zero-dependency TypeScript toolkit for building interactive 2D editors (floor plans, seat maps, office layouts). It provides scene management, pan/zoom/selection/picking primitives, and pluggable renderers. It is a monorepo with two publishable packages: `@floormap-tools/core` and `@floormap-tools/svg`. --- @@ -33,7 +33,7 @@ A zero-dependency TypeScript toolkit for building interactive 2D editors (floor ## Architecture rules to enforce -1. **No production deps** — `@floormap/core` and `@floormap/svg` must stay dependency-free. +1. **No production deps** — `@floormap-tools/core` and `@floormap-tools/svg` must stay dependency-free. 2. **Core is framework-agnostic** — no DOM, no React, no browser APIs in `packages/core/src/`. 3. **Branded types everywhere** — `EntityId` and `LayerId` are branded strings; never substitute with `string`. 4. **Immutable selection** — `applySelection` returns a new `Set`, never mutates the input. @@ -106,5 +106,5 @@ Test environment: **Node** for core, **jsdom** for svg. Tests live in `src/__tes - Forgetting `selectable: true` on entities → `hitTestPoint` returns null - Using `string` instead of `EntityId` / `LayerId` → type errors downstream - Mutating the `Set` from `applySelection` → breaks immutability contract -- Adding DOM code to `@floormap/core` → breaks the agnostic renderer model +- Adding DOM code to `@floormap-tools/core` → breaks the agnostic renderer model - Not updating `index.ts` after adding exports → new symbols invisible to consumers diff --git a/.github/workflows/deploy-examples.yml b/.github/workflows/deploy-examples.yml index 7925b74..5836c7c 100644 --- a/.github/workflows/deploy-examples.yml +++ b/.github/workflows/deploy-examples.yml @@ -55,11 +55,11 @@ jobs:
Interactive 2D editor toolkit — live examples
Vanilla JS - @floormap/core + @floormap/svg + @floormap-tools/core + @floormap-tools/svg React - @floormap/core + @floormap/react + @floormap-tools/core + @floormap-tools/react