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

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

说明与用途

Kimetron Isle 将 CAD 平面图编辑与游戏单位移动集成到同一引擎中,通过将坐标视为数据,实现灵活的碰撞策略和可扩展性。

问题

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

结果

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.

工作流

  • 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.

证据

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.

来源

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.

来源

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.

来源

  • 记录日期: 2026-10-16T12:56:29.755Z