Skip to content

Typed coordinate entry for item placement (distance-from-wall + offset, AutoCAD-style) #885

Description

@dkbbdev

Context

#308 added typed exact length while drafting walls (merged in #883). The next gap for precise placement: after a wall exists, placing items at exact distances still requires pixel-perfect mousing.

Cabinets already support typed dimensions (W/D/H) via the measurement pills + Tab cycling (#880-adjacent work in packages/nodes/src/cabinet/tool.tsx). What is missing is typed position: an AutoCAD-style two-field dynamic input where you type one axis, Tab to the second axis, then Enter to place.

Proposal

While a placement tool is active and a snap point/reference exists:

  1. Typing a number opens a two-field inline input (X = distance along reference, Y = offset from it), like AutoCAD's dynamic input.
  2. Tab toggles focus between fields; the inactive field keeps its live pointer-tracked value.
  3. Enter commits placement at the typed coordinates.
  4. Values accept the full parseMeasurement grammar (m/cm/mm/ft-in), consistent with feat(wall): typed exact length during two-click wall drafting #883.
  5. Escape clears the fields first, then cancels the tool (same two-stage pattern as feat(wall): typed exact length during two-click wall drafting #883).

Implementation notes

Out of scope (for the first cut)

  • Polar coordinate entry (distance + angle) — could reuse the same store later.
  • Absolute X/Y world coordinates — the from-wall reference is what designers expect.

Happy to implement this if maintainers agree on the interaction shape.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions