Skip to content

Add scale tool - #82

Merged
deanblackborough merged 7 commits into
mainfrom
scale-tool
Jun 24, 2026
Merged

Add scale tool#82
deanblackborough merged 7 commits into
mainfrom
scale-tool

Conversation

@deanblackborough

@deanblackborough deanblackborough commented Jun 24, 2026

Copy link
Copy Markdown
Owner
  • Added a simple scale tool
  • Updated the notes and readme
image

Summary by CodeRabbit

  • New Features
    • Added a Scale tool to the editor, with on-canvas resize handles for eligible selected objects.
    • Scaling is integrated with the existing inspector size controls (width/height), enabling the correct UI when scaling is supported.
    • Updated the editor toolbar/palette layout to include the new Scale tool button and adjust its placement.
  • Bug Fixes
    • Improved drag interactions so scaling and moving use the correct interaction mode, with scaling taking priority.
    • Suppressed move gizmos for multi-selection while in Scale mode.
  • Documentation
    • Refreshed planning and readiness checklists across DECISIONS.md, README.md, and NOTES.md.

@deanblackborough deanblackborough self-assigned this Jun 24, 2026
@deanblackborough deanblackborough added the enhancement New feature or request label Jun 24, 2026
@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 000ca289-2f7a-47fb-bb44-543994fec342

📥 Commits

Reviewing files that changed from the base of the PR and between 24b50c7 and 441f80b.

📒 Files selected for processing (1)
  • NOTES.md

📝 Walkthrough

Walkthrough

This PR adds a Scale editor tool, scale-handle geometry, and drag-state support for scaling selected objects. Scene interaction now detects scale handles, updates objects during scale drags, and records move or size-change commands on drag end. The selected gizmo rendering, inspector size controls, and editor tool palette are updated for the scale tool, and the README/DECISIONS notes are revised.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

  • deanblackborough/Prune#35: Shares the SceneState/DragState area that this PR extends with DragMode, scale_handle, and scale-start snapshots.
  • deanblackborough/Prune#37: Extends the SceneInteraction drag flow that this PR now branches into move and scale modes.
  • deanblackborough/Prune#78: Touches the same SceneInteraction drag and command-recording path that now branches between move and scale drags.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately reflects the main change: adding a scale tool to the editor.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch scale-tool

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 35d1d45c-8a67-4240-abd7-1a6fde9a6f76

📥 Commits

Reviewing files that changed from the base of the PR and between b1dc3aa and a6bf4fb.

📒 Files selected for processing (12)
  • DECISIONS.md
  • README.md
  • src/prune/editor/editor_tool.hpp
  • src/prune/editor/tools/transform_gizmo.hpp
  • src/prune/scene/scene.hpp
  • src/prune/scene/scene_interaction.cpp
  • src/prune/scene/scene_interaction.hpp
  • src/prune/scene/scene_renderer.cpp
  • src/prune/scene/scene_renderer.hpp
  • src/prune/scene/scene_state.hpp
  • src/prune/tooling/inspector.cpp
  • src/prune/tooling/ui.cpp

Comment thread README.md
Comment thread src/prune/scene/scene_interaction.hpp

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 37b02c90-1cbf-4949-b923-6f0fbece1a66

📥 Commits

Reviewing files that changed from the base of the PR and between a6bf4fb and 24b50c7.

📒 Files selected for processing (4)
  • NOTES.md
  • README.md
  • src/prune/scene/scene_interaction.cpp
  • src/prune/scene/scene_interaction.hpp

Comment thread NOTES.md Outdated
@deanblackborough
deanblackborough merged commit 900eb89 into main Jun 24, 2026
1 of 2 checks passed
@deanblackborough
deanblackborough deleted the scale-tool branch June 25, 2026 21:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant