Skip to content

UI improvements for sketch/shape lists and coding style guidance#99

Merged
trailcode merged 5 commits intomainfrom
Trailcode/ui_improvements
May 6, 2026
Merged

UI improvements for sketch/shape lists and coding style guidance#99
trailcode merged 5 commits intomainfrom
Trailcode/ui_improvements

Conversation

@trailcode
Copy link
Copy Markdown
Owner

@trailcode trailcode commented May 6, 2026

Summary

  • Make Sketch List selection switch GUI into Sketch_inspection_mode.
  • Improve Sketch List and Shape List behavior in narrow panes (horizontal-scroll content and aligned name-field width handling).
  • Refactor shared list name-width logic into GUI::list_name_field_width_.
  • Update style docs and Cursor rule guidance for reader-first .cpp organization, helper placement near use, and pragmatic DRY guidance.
  • Add issue drafts for branch context and follow-up tracking.

Files Changed

  • src/gui.cpp
  • src/gui.h
  • src/gui_settings.cpp
  • ezycad_code_style.md
  • .cursor/rules/ezycad_code_style.mdc
  • agents/issues/003-ui-improvements-sketch-shape-lists-and-style.md

Related

Test Plan

  • Build EzyCad_lib in Release config.
  • In Sketch List, click a sketch row selector and verify mode becomes sketch inspection.
  • Resize Sketch List very narrow and verify controls remain reachable via horizontal scroll.
  • Resize Shape List very narrow and verify controls remain reachable via horizontal scroll.
  • Rename sketches and shapes with short and long names; verify input widths are usable and consistent.
  • Verify no ImGui ID-stack warnings appear while interacting with both lists.

Note

Low Risk
Low risk UI-focused changes; main behavior change is auto-switching to Sketch_inspection_mode when selecting a sketch, which could affect user workflow but doesn’t touch persistence or core geometry logic.

Overview
Improves list-pane usability by making Sketch List selection automatically switch to Mode::Sketch_inspection_mode, and by adding horizontal scrolling plus consistent, capped name input widths in both Sketch and Shape lists via shared GUI::list_name_field_width_.

Tightens a small settings path by asserting sketches are non-null before updating underlay tint, and updates ezycad_code_style.md with reader-first .cpp organization, local declaration placement, and pragmatic DRY guidance. Adds draft issue/PR markdowns for tracking follow-ups.

Reviewed by Cursor Bugbot for commit a2f7fbf. Bugbot is set up for automated code reviews on this repo. Configure here.

@trailcode trailcode merged commit a263236 into main May 6, 2026
2 checks passed
@trailcode trailcode deleted the Trailcode/ui_improvements branch May 6, 2026 00:28
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