Skip to content

Add keyboard-driven wall height editing to the desktop shell #23

Description

@jonathanmcmichael

Outcome

Let a user increase or decrease the demo wall height from the native Rustit window, regenerate its neutral mesh, and see the changed wall without replacing its stable ElementId.

Truth source

Wall Lab A starts at 3.0 m. Page Up increases height by 0.1 m and Page Down decreases it by 0.1 m. After two increases, semantic and mesh height are 3.2 m. An edit that would reach zero is rejected and leaves the previous wall and mesh intact.

Invariants

  • call the validated domain operation from Add validated wall height editing #5; do not mutate public fields from event code
  • the semantic wall remains the source of regenerated geometry
  • the wall UUID, baseline, thickness, level, and classifications survive
  • renderer input remains a neutral Mesh
  • window title or another existing shell affordance reports the current height and a validation failure

Expected scope

Handle two keyboard events in rustit-app, invoke domain validation, regenerate through GeometryKernel, update renderer buffers safely, and add pure tests around the edit/regeneration path.

Non-goals

A widget framework, property palette, undo/redo, transactions, arbitrary text input, multiple walls, and persistence.

Acceptance and evidence

  • two Page Up inputs produce 3.2 m semantic and mesh height
  • Page Down reverses one increment
  • rejected edits preserve semantic state and the last valid mesh
  • the same wall UUID remains visible through the app state
  • live Windows verification and cargo xtask verify pass

Dependencies: #5. Coordinate with mesh mapping #13, but do not combine both packets unless required by review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ai-readyPortable work packet ready for human-and-AI implementationarea:appDesktop application, interaction, and renderingarea:modelSemantic BIM model and validationhelp wantedExtra attention is neededkind:implementationBounded implementation workreview:bimBIM or VDC domain review requestedreview:rustRust API or implementation review requestedsize:sOne narrow crate slicestate:readyReady for a contributor to claim

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions