Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

One canvas engine hosts CAD floor plans and wandering game units — position is data

Description and use

Kimetron Isle merges CAD floor‑plan editing and game unit movement into a single engine by treating coordinates as data, offering flexible collision policies and extensibility.

Problem

Canvas libraries typically treat coordinates as screen pixels, limiting their use for design data where coordinates are the data itself.

Outcome

Kimetron Isle enables a single engine to host both CAD floor plans and wandering game units by treating position as data, providing robust world‑coordinate features and collision policies.

Workflow

  • Define world units (mm, m, inch, px) and origin orientation.
  • Create geometry objects (walls, doors, rocks, units) with properties such as solid, canOverlap, collisionMode.
  • Use built‑in snapping (grid, vertices, midpoints, centers) or inject custom snaps via snapExtra.
  • Move objects programmatically with tryMove, ensuring collision policies are respected.
  • Render with @kimetron/dom or adapt to React via @kimetron/react.
  • Serialize or undo/redo changes as needed.

Evidence

I built two production apps (Plesfeda, Sethera Piece) on React Flow, and learned that what a canvas library does for you stops at rendering, dragging, selection, and the viewport.

Source

Same engine in both cases. The only difference is the policy each driver declares: "a door may overlap a wall", "rocks can't move", "units can't stack" — a few lines of driver code each.

Source

v1.0.0 is a stability commitment — additive‑only changes since 0.6.0. There are still gaps: associated dimensions, named layers, and block references are 1.x territory; Svelte/Vue adapters are "structurally possible" rather than built; collaboration and cloud storage are deliberately out of scope.

Source

  • Record date: 2026-10-16T12:56:29.755Z