Skip to content

Snap a resized roadmap edge to the axis columns - #925

Merged
github-actions[bot] merged 1 commit into
mainfrom
claude/drag-resize-column-snap-d2d040
Oct 2, 2026
Merged

github-actions[bot] merged 1 commit into
mainfrom
claude/drag-resize-column-snap-d2d040

Conversation

@JSdotNet

@JSdotNet JSdotNet commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

Summary

On the graduated roadmap axis, dragging a bar's resize grip moved a whole week at a time — even across the day columns around today. A resized edge now snaps to the column lines the axis draws: a day near today, then a week, a month and a quarter further out, by pointer and keyboard alike.

Changes

  • Pointer: the track publishes its column lines (data-roadmap-snaps) and each grip its edge position (data-roadmap-edge-rem); components.js counts the lines crossed and sends that count instead of weeks.
  • Keyboard: Shift/Alt+arrow steps the end/start edge one column line per press.
  • Domain: RoadmapWindow.ColumnBoundaries lists the lines; RoadmapChange.For takes them as an optional argument and RoadmapChange.Step resolves a step count to a date. Script and .NET count the same lines, so the preview and the drop stay one value.
  • Unchanged: moving a whole bar, and resizing on a plain all-quarter window, still snap to the week. A no-change drag still reports nothing; an edge pulled past the opposite edge clamps to the shortest bar the columns allow.
  • Storybook Roadmap description and the RoadmapSlot doc comment updated to match.

Testing

  • dotnet build Backlog.sln: 0 warnings, 0 errors.
  • All 28 test executables green (0 failed). 5 new tests in RoadmapGraduatedAxisTests cover the boundary list, day-tier and month-tier steps, clamping, and Shift+Arrow on a graduated timeline.
  • Desktop harness, Roadmap pane, real Playwright pointer drag (cancelled with Escape, nothing written): the end edge grew 2 rem per day column near today and 3 rem per week column beyond; Escape restored it. No errors in the harness logs.

Related

No issue — an ad-hoc request from a session.

Follow-up: .devbook/design/interaction-guidelines.md:497 still says "Every gesture snaps to the week"; it belongs to a flow-spec change, not this PR.

Checklist

  • Scope is focused and excludes unrelated changes
  • Documentation or instruction files were updated when governance or behavior changed — Storybook text updated; the devbook interaction guideline is the follow-up above
  • Running Aspire instances for this checkout were stopped before PR creation (aspire stop --apphost … for this worktree)
  • Follow-up work is captured when the implementation is intentionally partial
  • Issues this PR closes are linked with a closing keyword, or there are none

🤖 Generated with Claude Code

On a graduated axis a resize grip moved a whole week at a time, even across
the day columns around today. A resized edge now snaps to the column lines
the axis is ruled with - a day near today, then a week, a month and a
quarter further out - by pointer and by Shift/Alt+arrow alike. Moves, and
resizes on a plain all-quarter window, keep snapping to the week.

The track publishes its column lines and each grip its edge, so the script
counts the lines crossed and .NET resolves the same lines to dates; the
preview and the drop stay one value.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions
github-actions Bot merged commit 4d94ecd into main Oct 2, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant