How dwytmcl/pathwise works
PathWise is a browser-based curriculum planner. A student opens a curriculum export or saved plan; the app parses and reviews it, then plans course dates around requirements, offerings, and workload assumptions. Students can inspect the route, test moves, compare scenarios, and download a plan or optionally save it on the device. The graph preserves the companion extension and the documented planning capabilities. Several implementation links are based on the README or SOURCE INDEX; unsampled details are not inferred as direct calls.
Main entry points: PathWiseApp.tsx Planner app · ScenarioManager.tsx Scenario manager · planner.ts Route scheduler · page.tsx Web app entry
Components 21
Entry and import
- Web app entry
app/page.tsx - Planner app
components/PathWiseApp.tsx
Planning engine
- Curriculum parser
lib/curriculum.ts - Route scheduler
lib/planner.ts - Route insights
lib/planning-insights.ts
Workspace and persistence
- Workspace model
lib/workspace.ts - Plan file handling
lib/plan-file.ts - Device autosave
components/useDevicePlan.ts - Device storage
lib/device-plan.ts
Planning experience
- Setup review
components/SetupReview.tsx - Curriculum graph
components/CurriculumGraph.tsx - Earliest path
components/EarliestPath.tsx - Offering editor
components/OfferingEditor.tsx - Move review
components/MoveReview.tsx - Course priority
components/CoursePriority.tsx - Scenario manager
components/ScenarioManager.tsx - Product landing
components/landing/Landing.tsx
Companion extension
- Export extension
extension/parser.js - Extension popup
extension/popup.js
Other components
- Student
- Curriculum file
Connections 26
- Student → Web app entry: opens
README.md - Web app entry → Planner app: renders
app/page.tsx - Student → Curriculum file: selects
README.md - Curriculum file → Planner app: imports
README.md - Export extension → Curriculum file: exports JSON
README.md - Extension popup → Export extension: uses parser
- Planner app → Curriculum parser: parses curriculum
components/PathWiseApp.tsx - Planner app → Plan file handling: reads and writes
components/PathWiseApp.tsx - Planner app → Workspace model: initializes settings
components/PathWiseApp.tsx - Planner app → Setup review: reviews progress
README.md - Planner app → Route scheduler: generates route
README.md - Route scheduler → Curriculum parser: uses course rules
lib/planner.ts - Planner app → Curriculum graph: shows dependencies
README.md - Planner app → Earliest path: shows schedule
components/PathWiseApp.tsx - Planner app → Offering editor: edits offerings
components/PathWiseApp.tsx - Planner app → Move review: previews moves
README.md - Move review → Route insights: displays consequences
components/MoveReview.tsx - Planner app → Course priority: explains dependencies
README.md - Course priority → Route insights: requests explanation
components/CoursePriority.tsx - Planner app → Scenario manager: manages scenarios
README.md - Scenario manager → Route scheduler: compares routes
components/ScenarioManager.tsx - Scenario manager → Workspace model: stores snapshots
components/ScenarioManager.tsx - Planner app → Device autosave: controls autosave
components/PathWiseApp.tsx - Device autosave → Device storage: loads and saves
components/useDevicePlan.ts - Planner app → Product landing: shows landing
components/PathWiseApp.tsx - Student → Plan file handling: downloads plan
README.md