Skip to content

Add guide-driven physical rubber authoring#568

Draft
freezy wants to merge 9 commits into
refactor/splinesfrom
feature/rubber-system
Draft

Add guide-driven physical rubber authoring#568
freezy wants to merge 9 commits into
refactor/splinesfrom
feature/rubber-system

Conversation

@freezy

@freezy freezy commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • import every VPX rubber as a modern manual Unity spline while keeping VPX collider and slingshot behavior in Legacy mode
  • add stable guide support slots, circular post autofit, transactional guided rebakes, package round-trips, and editor authoring tools
  • add a Physical round-cord collider model with swept-circle contacts and hardened slow/degenerate/transformed collision handling
  • add calibrated physical slingshot authoring, validation, serialization, and device integration surfaces while keeping runtime actuation gated

Tests

  • Unity 6000.5 EditMode: targeted rubber feature suite (47 passed)
  • Unity 6000.5 EditMode: RubberSlingshotTests after final hardening (11 passed)
  • Unity 6000.5 EditMode: RubberAutofitTests and SweptCircleColliderTests review-fix regression suite (33 passed)
  • branch diff passes git diff --check

Compatibility

  • VPX imports never autofit and always select the Legacy collider model
  • VPX slingshot segments keep their existing legacy behavior
  • experimental cord deformation and physical slingshot runtime registration remain unavailable pending calibration/runtime gates

@greptile-apps

greptile-apps Bot commented Jul 14, 2026

Copy link
Copy Markdown

Greptile Summary

This PR adds guide-driven rubber authoring and a new physical rubber collision path. The main changes are:

  • Guided rubber slots, autofit commands, inspectors, and dependency rebaking.
  • Physical round-cord rubber collider generation with legacy fallback behavior.
  • Rubber slingshot authoring, validation, packaging, and editor tooling.
  • Package round-trip support for guided rubber and slingshot data.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Important Files Changed

Filename Overview
VisualPinball.Unity/VisualPinball.Unity/VPT/Rubber/RubberApi.cs Adds legacy collision fallback when Physical rubber cannot use a current guided bake.
VisualPinball.Unity/VisualPinball.Unity.Editor/VPT/Rubber/RubberInspector.cs Adds guided path editing with delayed, transactional binding updates.
VisualPinball.Unity/VisualPinball.Unity/VPT/Rubber/RubberComponent.cs Stores guided rubber bindings, bake metadata, sampled paths, and reset helpers.
VisualPinball.Unity/VisualPinball.Unity/VPT/Rubber/RubberColliderComponent.cs Adds Physical and Legacy collider mode state plus guided-path availability checks.

Reviews (2): Last reviewed commit: "rubber: harden invalid guided state" | Re-trigger Greptile

@freezy

freezy commented Jul 14, 2026

Copy link
Copy Markdown
Owner Author

Addressed both review findings in 31ba62d: guided binding edits now require a concrete slot and remain transactional, while invalid Physical rubber falls back to Legacy colliders. Focused autofit/collider tests pass 33/33.

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