Skip to content

Smooth CAD orbit for precise slow mouse movement - #491

Merged
madhephaestus merged 1 commit into
CommonWealthRobotics:developmentfrom
aaron4ce:fix/adaptive-cad-orbit-sensitivity
Oct 21, 2026
Merged

madhephaestus merged 1 commit into
CommonWealthRobotics:developmentfrom
aaron4ce:fix/adaptive-cad-orbit-sensitivity

Conversation

@aaron4ce

Copy link
Copy Markdown
Contributor

Summary

  • Add opt-in, speed-dependent orbit sensitivity for precise slow mouse drags without making large turns impractical.
  • Filter the mouse velocity estimate (X and Y) with independent acceleration/deceleration time constants. Do not interpolate camera position or add inertia.
  • Load the five tuning values through the existing SceneStyleConfig mechanism, with safe defaults matching the tested CaDoodle configuration.
  • Keep standard BowlerStudio orbit behavior unless the viewport explicitly opts in using setAdaptiveOrbitEnabled(true).

Scope

  • Only BowlerStudio3dEngine.java changes.
  • No changes to pan, zoom, the existing camera transform update gate, grid/picking, Workplanes, CSS, or Navigation Cube controls.
  • The sensitivity function is min + (max - min) * speed / (speed + half), where speed is the filtered mouse speed.

Validation

  • macOS ARM64, ZuluFX JDK 25: BowlerStudio and CaDoodle Spotless checks, forced compilation and shadowJar passed with the integrated candidate.
  • The compiled engine, mouse-drag handler and CaDoodle opt-in were verified in the produced application JAR.
  • The user tested the integrated CaDoodle candidate at slow, medium and fast drags and rated each 5/5. Final GUI sanity check: PASS.
  • The change adds only scalar math to existing drag events; it does not introduce rendering passes, timers, extra threads or per-event file reads.

Follow-up / limitations

  • A separate CaDoodle PR will enable the feature for the main CAD viewport and document the five values in scene-style.properties.
  • Chromebook performance and behavior have not been measured. The pre-existing custom Workplane visual issue is outside this change.

@madhephaestus
madhephaestus merged commit 8a2c0ea into CommonWealthRobotics:development Oct 21, 2026
1 check 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.

2 participants