Demo Package: Neon Boxing Bootcamp¶
demo-neon-boxing-bootcamp is the canonical docs example for the current AeroBeat workout-package contract.
It is intentionally aligned to the narrowed product slice:
- official gameplay features in the example are Boxing and Flow
- package-local environments remain in scope
- package-local gameplay assets are no longer part of the taught contract
Package shape¶
demo-neon-boxing-bootcamp/
├── README.md
├── workout.yaml
├── songs/
│ ├── ab-song-midnight-sprint.yaml
│ └── ab-song-neon-stride.yaml
├── charts/
│ ├── ab-chart-midnight-sprint-boxing-hard.yaml
│ ├── ab-chart-neon-stride-boxing-medium.yaml
│ └── ab-chart-neon-stride-flow-medium.yaml
├── sets/
│ ├── ab-set-midnight-sprint-finish-round.yaml
│ ├── ab-set-neon-stride-flow-round.yaml
│ └── ab-set-neon-stride-opening-round.yaml
├── coaches/
│ └── coach-config.yaml
├── environments/
│ ├── ab-environment-neon-rooftop.yaml
│ └── ab-environment-sunrise-studio.yaml
├── media/
│ ├── art/
│ ├── audio/
│ ├── coaching/
│ └── environments/
└── sql/
├── leaderboard-cache.db.schema.sql
└── workouts.db.schema.sql
Scenario modeled by this package¶
This package imagines a short three-set workout:
- Neon Stride Opening Round — medium Boxing opener
- Neon Stride Flow Round — medium Flow follow-up reusing the same song
- Midnight Sprint Finish Round — harder Boxing finisher
It uses one shared coach config, two environments, one warmup video, one cooldown video, and overlay audio cues selected per set.
Reading order¶
- Start with
workout.yaml. - Follow the set ids into
sets/. - From each set, follow ids into
songs/,charts/,environments/, andcoaches/coach-config.yaml. - Finish with the SQL schema examples.
Intentional boundaries shown here¶
workout.yamlowns package metadata plussetOrdersets/*.yamlare the single source of truth for song/chart/environment/coaching links- coaching stays inside the package's single
coaches/coach-config.yaml - workout sets choose exactly one environment
- the docs example no longer teaches package-local gameplay asset selection
Boxing / Flow contract notes¶
- Boxing straight punches use
punch_left/punch_rightin the example charts. guardis the canonical guard wording.orthodox/southpawremain authored chart semantics and should not be read as tracked input events.- Flow keeps
placementanddirectionseparate:placementis where the beat passes, whiledirectionguides follow-through.
Validation note¶
Use aerobeat-tool-content-authoring to validate this package. This repo is the fixture and explanation layer.