How jassv9/apex-forge-paddock works
Paddock is a local-first vehicle-engineering platform: capture corner-pass data, ingest it, measure vehicle behavior, and present recorded sessions. The implemented workflow covers capture/ingest and measurement; experiments, diagnosis, sensitivity learning, and the optional Ghost Driver are documented future capabilities, not implemented components in this tree. Relationships among Go, Python, and the UI are shown only where the excerpts, SOURCE INDEX, or README support them; the capture agent and storage formats are documented but their implementation files are absent from the supplied tree.
Main entry points: session.py Session features · ingest Spool ingest · main.go Core process · client.ts API client
Components 24
Capture and ingest
- Spool files
- Spool ingest
core/internal/ingest - Raw samples
Core service
- Core process
core/cmd/paddock/main.go - REST API
core/internal/api - Session reader
core/internal/store/sessions.go - PostgreSQL
Analysis engine
- Engine HTTP API
engine/paddock_engine/app.py - Session features
engine/paddock_engine/features/session.py - Pass features
engine/paddock_engine/features/pass_features.py - Parquet samples
engine/paddock_engine/io/samples.py - Corner phases
engine/paddock_engine/phases/segment.py - Feature calculations
engine/paddock_engine/features - Effect statistics
engine/paddock_engine/stats/effects.py - Mixed model
engine/paddock_engine/stats/model.py
Dashboard
- Dashboard app
web/src/App.tsx - Session list
web/src/components/SessionList.tsx - Core status
web/src/components/CoreStatus.tsx - API client
web/src/api/client.ts
Planned capabilities
- Experiments and verdicts
- Diagnosis
- Sensitivity profile
- Ghost Driver
Other components
- Game capture
Connections 25
- Game capture → Spool files: writes passes
- Spool files → Spool ingest: tails files
- Core process → Spool ingest: starts
core/cmd/paddock/main.go - Spool ingest → PostgreSQL: writes passes
- Spool ingest → Raw samples: writes samples
- Core process → REST API: serves
core/cmd/paddock/main.go - Core process → Session reader: configures
core/cmd/paddock/main.go - Session reader → PostgreSQL: reads sessions
core/internal/store/sessions.go - Dashboard app → Session list: renders
web/src/App.tsx - Dashboard app → Core status: renders
web/src/App.tsx - Session list → API client: fetches sessions
web/src/components/SessionList.tsx - Core status → API client: checks health
web/src/components/CoreStatus.tsx - API client → REST API: requests REST
- Engine HTTP API → Session features: dispatches features
engine/paddock_engine/app.py - Session features → Parquet samples: reads samples
engine/paddock_engine/features/session.py - Session features → Pass features: computes passes
engine/paddock_engine/features/session.py - Session features → Corner phases: uses corners
engine/paddock_engine/features/session.py - Pass features → Feature calculations: uses calculations
engine/paddock_engine/features/pass_features.py - Corner phases → Parquet samples: segments samples
engine/paddock_engine/phases/segment.py - Effect statistics → Mixed model: fits model
engine/paddock_engine/stats/effects.py - Effect statistics → Parquet samples: reads samples
engine/paddock_engine/stats/effects.py - Experiments and verdicts → Diagnosis: informs
- Diagnosis → Sensitivity profile: feeds learning
- Experiments and verdicts → Engine HTTP API: requests analysis
- Ghost Driver → Experiments and verdicts: may support