diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 3294cff..7145071 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -175,12 +175,121 @@ This is the kind of code students would write if they had years of experience. N --- -## Version 1.2.0 - Package Ecosystem 🔥 +## Version 1.2.0 - Package Ecosystem & Enhanced Templates 🔥 -**Theme:** Transforming Weevil from project generator to ecosystem platform. Teams can extend projects with community-shared components. +**Theme:** Transforming Weevil from project generator to ecosystem platform. Teams can extend projects with community-shared components and additional professional templates. **Status:** Planning - Expected Q2 2026 +### Template Metadata & Improved Display ⚠️ + +**Feature:** Template discovery with rich metadata and formatted display + +**Description:** Enhance template system with metadata files for better discoverability: + +**Template Metadata (`template.toml`):** +```toml +[template] +name = "localization" +description = "Grid-based robot localization with sensor fusion" +file_count = 21 +test_count = 3 +perfect_for = "Advanced autonomous navigation" + +[includes] +items = [ + "12x12 field grid system", + "Multi-sensor fusion (encoders + IMU + vision)", + "Fault-tolerant positioning" +] +``` + +**Improved `--list-templates` Output:** +``` +Available templates: + + basic (default) + Minimal FTC project structure + Files: ~10 | Tests: 1 + Perfect for: Teams starting from scratch + + testing + Professional testing showcase with examples + Files: ~30 | Tests: 45 + Perfect for: Learning best practices + Includes: + • 3 complete subsystems + • Hardware abstraction layer + • 45 passing tests + + localization + Grid-based robot localization with sensor fusion + Files: ~21 | Tests: 3 + Perfect for: Advanced autonomous navigation + Includes: + • 12x12 field grid system + • Multi-sensor fusion + • Fault-tolerant positioning + +Usage: + weevil new # Uses basic + weevil new --template testing # Uses testing +``` + +**Status:** ⚠️ Planned for v1.2.0 + +**Priority:** MEDIUM-HIGH - Improves template discoverability + +**Effort:** 1-2 days (metadata format + CLI formatting) + +--- + +### Localization Template ⚠️ + +**Feature:** Grid-based localization template for advanced autonomous + +**Description:** Professional robot localization system with sensor fusion and fault tolerance: + +**What's Included:** +- **Grid System** - 12ft x 12ft field divided into 12x12 grid (12" cells) +- **Sensor Fusion** - Combine odometry (encoders), IMU (gyro), and vision (AprilTags) +- **Fault Tolerance** - Graceful degradation when sensors fail +- **Lookup Tables** - Pre-computed navigation strategies +- **21 Files** - 7 localization classes, 3 hardware interfaces, 3 mocks, 3 tests, 2 docs +- **3 Comprehensive Tests** - Grid math, sensor fusion, fault tolerance + +**Core Components:** +- `GridCell.java` - Cell in 12x12 grid (0-11, 0-11) +- `Pose2D.java` - Position (x, y) + heading with angle normalization +- `FieldGrid.java` - Field coordinate system and conversions +- `RobotLocalizer.java` - Multi-sensor fusion engine +- `OdometryTracker.java` - Dead reckoning from wheel encoders +- `ImuLocalizer.java` - Heading tracking from gyroscope +- `VisionLocalizer.java` - Position from AprilTags + +**Sensor Fusion Priority:** +1. Vision (AprilTags) → ±2" accuracy, 100% confidence +2. IMU + Odometry → ±4" accuracy, 70% confidence +3. Odometry only → ±12" accuracy, 40% confidence + +**Rationale:** Teaches professional robotics concepts (Kalman-filter-style sensor fusion, fault tolerance, grid-based navigation). No other FTC tool has this. Positions Nexus Workshops as teaching advanced autonomous programming. + +**Usage:** +```bash +weevil new my-robot --template localization +cd my-robot +./gradlew test # 3 tests pass +# Modify for your robot's sensors and autonomous strategy +``` + +**Status:** ⚠️ Template complete, ready to integrate in v1.2.0 + +**Priority:** HIGH - Unique differentiator, advanced autonomous capability + +**Effort:** Template already created, integration 1 day + +--- + ### `weevil add` - Component Package Manager ⚠️ **THE NEXT BIG THING** **Feature:** Package manager for sharing and reusing FTC robot code components