Description of the Feature
src/app.rs has grown to over 6,900 lines of code in a single file. Splitting this file into a modular src/ui/ directory will reduce merge conflicts for open-source contributors and make the codebase easier to navigate.
Proposed Solution
Refactor UI rendering code from src/app.rs into submodules inside src/ui/:
src/ui/sidebar.rs: Roadmap navigation and problem search
src/ui/inspector.rs: Python trace code inspector and scope variables
src/ui/dashboard.rs: Full-screen NeetCode 150 Mastery grid
src/ui/modal.rs: Settings and Keyboard Shortcuts popup windows
Implementation Steps
- Create directory
src/ui/ and define module exports in src/ui/mod.rs.
- Move sidebar rendering functions from
src/app.rs to src/ui/sidebar.rs.
- Move code trace and scope rendering functions to
src/ui/inspector.rs.
- Move full-screen dashboard grid code to
src/ui/dashboard.rs.
- Update
src/app.rs to call submodule render methods.
- Verify build health by running
cargo test and cargo fmt --all -- --check.
Acceptance Criteria
To merge a pull request for this issue:
- Code Formatting:
cargo fmt --all -- --check completes without warnings.
- All Tests Pass:
cargo test passes 100% of unit tests.
- Architecture:
src/app.rs size is significantly reduced and UI components live in src/ui/.
- Clean Git Branch: Changes are committed to a feature branch targeting
dev.
Step-by-Step Contribution Guide
- Claim this issue: Comment below that you are working on this issue to receive assignment.
- Fork and Branch: Create a new branch off
dev named refactor-app-submodules.
- Make and Test Changes: Run
cargo fmt --all and cargo test locally to verify build health.
- Submit PR: Push your branch to GitHub and create a Pull Request targeting the
dev branch.
Additional Information
Description of the Feature
src/app.rshas grown to over 6,900 lines of code in a single file. Splitting this file into a modularsrc/ui/directory will reduce merge conflicts for open-source contributors and make the codebase easier to navigate.Proposed Solution
Refactor UI rendering code from
src/app.rsinto submodules insidesrc/ui/:src/ui/sidebar.rs: Roadmap navigation and problem searchsrc/ui/inspector.rs: Python trace code inspector and scope variablessrc/ui/dashboard.rs: Full-screen NeetCode 150 Mastery gridsrc/ui/modal.rs: Settings and Keyboard Shortcuts popup windowsImplementation Steps
src/ui/and define module exports insrc/ui/mod.rs.src/app.rstosrc/ui/sidebar.rs.src/ui/inspector.rs.src/ui/dashboard.rs.src/app.rsto call submodule render methods.cargo testandcargo fmt --all -- --check.Acceptance Criteria
To merge a pull request for this issue:
cargo fmt --all -- --checkcompletes without warnings.cargo testpasses 100% of unit tests.src/app.rssize is significantly reduced and UI components live insrc/ui/.dev.Step-by-Step Contribution Guide
devnamedrefactor-app-submodules.cargo fmt --allandcargo testlocally to verify build health.devbranch.Additional Information