Go to file
UTO Manager Dev 2f02ad4d49 Merge fix/phase-4-analyzer-infos into main (web: drift_flutter platform-adaptive DB) 2026-08-09 10:34:05 -04:00
.github/workflows feat(phase-1): Architecture & Data Foundations complete 2026-08-07 22:03:21 -04:00
.idea feat(phase-1): Architecture & Data Foundations complete 2026-08-07 22:03:21 -04:00
.vscode chore: initial project setup — git, README, .gitignore, MkDocs, VSCode 2026-08-07 09:43:56 -04:00
android feat(phase-1): Architecture & Data Foundations complete 2026-08-07 22:03:21 -04:00
assets/data feat(phase-1): Architecture & Data Foundations complete 2026-08-07 22:03:21 -04:00
docs chore: initial project setup — git, README, .gitignore, MkDocs, VSCode 2026-08-07 09:43:56 -04:00
lib fix(web): replace NativeDatabase with drift_flutter driftDatabase() for web compatibility 2026-08-09 10:33:57 -04:00
test fix: resolve all analyzer info-level issues (cascade, deprecations, constructor ordering) 2026-08-09 10:17:43 -04:00
web feat(phase-1): Architecture & Data Foundations complete 2026-08-07 22:03:21 -04:00
windows feat(phase-1): Architecture & Data Foundations complete 2026-08-07 22:03:21 -04:00
.gitignore chore: initial project setup — git, README, .gitignore, MkDocs, VSCode 2026-08-07 09:43:56 -04:00
.markdownlint.json chore: initial project setup — git, README, .gitignore, MkDocs, VSCode 2026-08-07 09:43:56 -04:00
.metadata feat(phase-1): Architecture & Data Foundations complete 2026-08-07 22:03:21 -04:00
README.md chore: initial project setup — git, README, .gitignore, MkDocs, VSCode 2026-08-07 09:43:56 -04:00
analysis_options.yaml feat(phase-1): Architecture & Data Foundations complete 2026-08-07 22:03:21 -04:00
development_status.md docs: fix all markdownlint violations in development_status.md 2026-08-09 10:25:27 -04:00
master_development_plan.md chore: initial project setup — git, README, .gitignore, MkDocs, VSCode 2026-08-07 09:43:56 -04:00
mkdocs.yml chore: initial project setup — git, README, .gitignore, MkDocs, VSCode 2026-08-07 09:43:56 -04:00
phased_development_plan.md docs: fix MD032 blanks-around-lists in phased_development_plan.md blockquotes 2026-08-09 10:26:44 -04:00
pubspec.lock fix(web): replace NativeDatabase with drift_flutter driftDatabase() for web compatibility 2026-08-09 10:33:57 -04:00
pubspec.yaml fix(web): replace NativeDatabase with drift_flutter driftDatabase() for web compatibility 2026-08-09 10:33:57 -04:00
uto_manager.iml feat(phase-1): Architecture & Data Foundations complete 2026-08-07 22:03:21 -04:00

README.md

UTO Manager

Flutter-Based Military Unit Task Organization Enterprise System

U.S. Army 2026 Doctrine — Cross-Platform Command & Control Application


Flutter Dart Platform License Docs


Overview

UTO Manager is a cross-platform command and control (C2) application for creating, visualizing, and validating U.S. Army unit task organizations (UTOs) in accordance with 2026 Army doctrine. Built with Flutter, the application targets Windows x64, Web (WASM/CanvasKit), and Android from a single Dart codebase.

The system models military formations from individual soldier positions up to multi-domain Brigade Combat Teams, enforcing Modified Table of Organization and Equipment (MTOE) doctrinal rules in real time.


Key Features

  • Interactive Visual Canvas — GPU-accelerated CustomPainter engine with pan/zoom, viewport culling, and 60 FPS rendering at 5,000+ nodes
  • Drag-and-Drop Re-parenting — Cross-platform state machine with doctrinal validation highlights (green/red) and undo/redo support
  • MIL-STD-2525D Symbology — Hybrid rendering pipeline: milsymbol.js on Web, native SVG path engine on Windows/Android
  • 2026 Doctrinal Templates — Pre-configured JSON templates for MBCT, SBCT, ABCT, CAB-Heavy, and CAB-Light formations
  • Real-Time MTOE Validation — Background Dart Isolate engine detecting MOS mismatches, rank violations, vacant leadership slots, and structural hierarchy errors
  • Offline-First Architecture — Drift/SQLite persistence with delta synchronization for contested network environments
  • Multi-Format Export — JSON, Protobuf, and vector PDF organizational chart export

Platform Targets

Platform Deployment Performance Target
Windows x64 Native .msi / .exe 60 FPS @ 5,000+ nodes
Web (WASM) WebAssembly + CanvasKit 60 FPS @ 2,000+ nodes
Android Native .apk / .aab 60 FPS @ 1,500+ nodes

Architecture

[Presentation Layer: CustomPainter / InteractiveViewer / Responsive Shell]
                               │
                               ▼
[Application State Layer: BLoC / Signals / Super Drag-and-Drop Pipeline]
                               │
                               ▼
[Domain Layer: MTOE Doctrinal Rules Engine / Structural Validation]
               │
               ▼
[Infrastructure Layer: Drift SQLite / IndexedDB / Protobuf Codecs]

Project Structure

lib/
├── domain/           # Entities, value objects, repository interfaces
│   ├── entities/     # UnitNode, PositionSlot, PersonnelRecord
│   ├── enums/        # Echelon, DoctrinalBranch, AuthorizedRank
│   └── repositories/ # Abstract repository contracts
├── application/      # BLoC / use cases / state management
│   ├── blocs/        # State management BLoCs
│   └── use_cases/    # Domain use case implementations
├── infrastructure/   # Drift DB, IndexedDB adapters, Protobuf codecs
│   ├── database/     # Drift table definitions and DAOs
│   ├── codecs/       # JSON and Protobuf serialization
│   └── sync/         # Delta synchronization engine
└── presentation/     # Widgets, painters, responsive shell
    ├── canvas/       # CustomPainter, InteractiveViewer, viewport
    ├── layout/       # Reingold-Tilford algorithm, Quadtree index
    ├── symbology/    # MIL-STD-2525D rendering pipeline
    └── shell/        # Three-pane UI, responsive layouts

Getting Started

Prerequisites

Clone the Repository

git clone https://git.kellsupport.com/uto_manager.git
cd uto_manager

Install Flutter Dependencies

flutter pub get

Run the Application

# Windows desktop
flutter run -d windows

# Web (Chrome)
flutter run -d chrome

# Web (WASM mode)
flutter run -d chrome --wasm

# Android (connected device or emulator)
flutter run -d android

Run Tests

# All tests
flutter test

# With coverage
flutter test --coverage

# Static analysis
flutter analyze

Build Release Packages

# Windows
flutter build windows --release

# Web (WASM)
flutter build web --wasm --release

# Android APK
flutter build apk --release

# Android App Bundle (Google Play)
flutter build appbundle --release

Documentation

Project documentation is built with MkDocs using the Material theme.

Install Documentation Dependencies

pip install -r docs/requirements.txt

Serve Documentation Locally

mkdocs serve

Then open http://127.0.0.1:8000 in your browser.

Build Documentation Site

mkdocs build

Output is written to the site/ directory (excluded from version control).


Development Workflow

Branch Strategy

Branch Purpose
main Production-ready releases only
develop Integration branch for completed features
feature/* Individual feature development
fix/* Bug fixes
release/* Release preparation and stabilization

Commit Convention

This project follows Conventional Commits:

feat(canvas): implement viewport culling via inverse matrix transform
fix(validation): correct MOS mismatch detection for 68W slots
docs(readme): update platform prerequisites
chore(deps): upgrade drift to 2.x

Code Quality

# Format code
dart format .

# Analyze code
flutter analyze

# Run linter
dart run dart_code_metrics:metrics analyze lib

Technology Stack

Layer Technology Purpose
UI Framework Flutter (Dart) Single codebase for Windows, Web, Android
Rendering CustomPainter + InteractiveViewer GPU-direct drawing; bypasses widget tree overhead
State Management BLoC + Signals Reactive atomic state
Drag-and-Drop super_drag_and_drop Cross-platform payload integrity
Local Database Drift (SQLite / IndexedDB) Type-safe reactive ORM; offline-first
Encryption SQLCipher Data-at-rest protection
Symbology (Web) milsymbol.js via dart:js_interop Full MIL-STD-2525D compliance
Symbology (Native) path_drawing + SVG assets + LRU cache Zero external runtime dependencies
Background Compute Dart Isolates Offload layout, validation, export
Serialization JSON + Protobuf Human-readable + compact binary export
PDF Export pdf package Vector-quality organizational chart output
Documentation MkDocs + Material theme User and developer documentation

Development Phases

Phase Title Weeks Status
Phase 1 Architecture & Data Foundations 1 – 4 ⬜ Not Started
Phase 2 Canvas Graphics Engine & Gesture Subsystem 5 – 9 ⬜ Not Started
Phase 3 2026 Doctrinal Templates & Symbology Engine 10 – 14 ⬜ Not Started
Phase 4 Persistence, Validation Rules, & Export Engine 15 – 19 ⬜ Not Started
Phase 5 Platform Optimization, Profiling, & Hardening 20 – 24 ⬜ Not Started

See development_status.md for detailed task tracking and phased_development_plan.md for full phase specifications.


Contributing

  1. Fork the repository and create a feature/* branch from develop
  2. Implement your changes with appropriate unit tests
  3. Ensure flutter analyze passes with zero violations
  4. Ensure flutter test --coverage meets the 80% minimum threshold
  5. Submit a pull request targeting the develop branch
  6. Pull requests require passing CI on all three platform targets before merge

Security

This application is designed for use with U.S. Army organizational data. All local data is encrypted at rest using SQLCipher. Encryption keys are stored in platform keychains (Windows Credential Manager / Android Keystore).

Do not commit sensitive data, encryption keys, or classified information to this repository.


License

Proprietary — All rights reserved. See LICENSE for details.