Skip to content

Rjf/refactor into core crate#90

Merged
robfitzgerald merged 7 commits intomainfrom
rjf/refactor-into-core-crate
Jan 27, 2026
Merged

Rjf/refactor into core crate#90
robfitzgerald merged 7 commits intomainfrom
rjf/refactor-into-core-crate

Conversation

@robfitzgerald
Copy link
Collaborator

this PR supports #87 by refactoring bambam so that some common types and functions are moved into a bambam-core crate. this allows the current work on bambam-gtfs-flex to depend on bambam-core and bambam-gtfs crates without making circular references to the top-level bambam crate which houses the bambam CLI app.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR refactors bambam by extracting common types and functions into a new bambam-core crate to support work on bambam-gtfs-flex while avoiding circular dependencies with the top-level bambam CLI crate.

Changes:

  • Created new bambam-core crate with shared model types, state management, utilities, and output plugins
  • Refactored bambam-gtfs to use bambam-core dependencies
  • Updated workspace and CI/CD configuration to include the new crate

Reviewed changes

Copilot reviewed 41 out of 42 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
rust/bambam-core/Cargo.toml New crate manifest for bambam-core package
rust/bambam-core/src/lib.rs Core library entry point exposing model and util modules
rust/bambam-core/src/model/* State management, field names, operations, and output plugin types
rust/bambam-core/src/util/* Date deserialization, geometry utilities, and polygonal R-tree implementation
rust/bambam-gtfs/src/model/traversal/transit/* Transit traversal model implementation using bambam-core types
rust/Cargo.toml Added bambam-core to workspace members
.github/workflows/rust-release.yaml Added bambam-core publish step to release workflow
Comments suppressed due to low confidence (1)

rust/bambam-gtfs/src/model/traversal/transit/schedule_loading_policy.rs:1

  • The import routee_compass::plugin::input::default is unused in this file. This import should be removed as it doesn't contribute to the code and may cause confusion.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@robfitzgerald
Copy link
Collaborator Author

@yamilbknsu big change set; but ignore all of the little file changes. contents were not modified (well, i did remove a few unused imports somewhere, i couldn't help it); so just do me a favor and look at the layout of this new crate as acceptance criteria. we could probably plan to migrate even more core data types and algorithms to the core crate in the near term but this at least unblocks progress on gtfs-flex.

Copy link
Collaborator

@yamilbknsu yamilbknsu left a comment

Choose a reason for hiding this comment

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

The structure looks good and it compiles! I found one unused import (and two traits that are being flagged as unused but I see them implemented so idk)

@robfitzgerald robfitzgerald merged commit fee5d3c into main Jan 27, 2026
1 check passed
@robfitzgerald robfitzgerald deleted the rjf/refactor-into-core-crate branch January 27, 2026 17:35
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.

3 participants