Skip to content

add the Kinematic Explorer - #13

Open
zeerekahmad wants to merge 1 commit into
zeerekahmad/kinematics-wheel-packagingfrom
zeerekahmad/kinematic-explorer
Open

add the Kinematic Explorer#13
zeerekahmad wants to merge 1 commit into
zeerekahmad/kinematics-wheel-packagingfrom
zeerekahmad/kinematic-explorer

Conversation

@zeerekahmad

Copy link
Copy Markdown
Contributor

PR: add the Kinematic Explorer

  • branch: zeerekahmad/kinematic-explorer
  • base: zeerekahmad/kinematics-wheel-packaging
  • commit: f8f0ec0

Description

A Streamlit app for visualising trajectory lattices, kinematic relationships and vehicle footprints across all
three models. Every trajectory it draws comes from the C++ projectors, so the explorer and production code
share one forward-simulation path rather than drifting apart.

  • The polymath_kinematics.explorer subpackage holds pure functions — simulation, plotting, export, config
    and types — so they are testable without a Streamlit runtime.
  • The app body stays in kinematic_explorer_app.py because that module is the Streamlit script: importing
    it from the console-script entry point would run every widget in bare mode before the server starts, so
    cli.py shells out to streamlit run instead.
  • Offers geometry sliders including body overhangs, a front/rear axle reference selector, single-trajectory
    ramp controls, and CSV / JSON / PNG / SVG / PDF download.
  • CI widens the wheel job to run the explorer suite, check that the subpackage imports cleanly, and start the
    console script headless — a healthy start is what proves the entry point does not execute the app body on
    import.

Migration Guide

N/A — additive. The Streamlit dependency is confined to the optional [explorer] extra.

Related issues

Completeness checklist

  • Is there test coverage? If it was a bugfix, is there a regression test?
  • Is user-facing API/behavior documented?
  • Is core documentation updated?
  • Are all checks green?
  • Assign reviewers to the PR and post in #code_reviews

Stack created with GitHub Stacks CLIGive Feedback 💬

A Streamlit app for visualising trajectory lattices, kinematic relationships and vehicle
footprints across all three models. Every trajectory it draws comes from the C++
projectors, so the explorer and production code share one forward-simulation path rather
than drifting apart.

The polymath_kinematics.explorer subpackage holds pure functions - simulation, plotting,
export, config and types - so they are testable without a Streamlit runtime. The app body
stays in kinematic_explorer_app.py because that module *is* the Streamlit script:
importing it from the console-script entry point would run every widget in bare mode
before the server starts, so cli.py shells out to `streamlit run` instead.

Offers geometry sliders including body overhangs, a front/rear axle reference selector,
single-trajectory ramp controls, and CSV / JSON / PNG / SVG / PDF download.

CI widens the wheel job to run the explorer suite, check that the subpackage imports
cleanly, and start the console script headless - a healthy start is what proves the entry
point does not execute the app body on import.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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