Edition Schema
Reference for edition.json, the data file that defines a brand edition. For the workflow — creating an edition directory, resolving assets, building — see Build a branded edition.
The file is JSON, schema version 1. The build validates the four sections it owns (names, viewport, seeds, assets) and one packaging key; inside those, an unknown key is an error. Top-level sections it does not own pass through untouched for external tooling.
Top level
| Field |
Type |
Required |
Rule / fallback |
schema |
integer |
yes |
Must be 1 |
id |
string |
yes |
Must equal the edition directory's name |
names
| Field |
Type |
Required |
Rule / fallback |
names.organization |
string |
yes |
Display form; ™ allowed |
names.organizationAscii |
string, ASCII only |
yes |
The on-disk identity: every data, config and cache path. Authored, never derived; any byte above 0x7F fails the resolve |
names.domain |
string |
yes |
Display form |
names.brand |
string |
yes |
Display form |
names.applicationBase |
string |
no |
Defaults to names.brand |
viewport
| Field |
Type |
Required |
Rule / fallback |
viewport.backgroundBottom |
#rrggbb |
yes |
Bottom of the 3D viewport background pair |
viewport.backgroundTop |
#rrggbb |
yes |
Top of the pair |
seeds
One entry per application identity. All eight are required: agent, remote, hub, zoo, construct, bahn, singularity, auda.
| Field |
Type |
Required |
Rule / fallback |
seeds.<app>.seed |
#rrggbb |
yes |
The one color the application's whole palette is computed from |
seeds.<app>.background |
#rrggbb |
no |
Pins the palette window color; derived from the seed when absent |
assets
Paths are relative, resolved against the edition directory first, then the project root; a miss in both fails the resolve.
| Field |
Type |
Required |
Rule / fallback |
assets.logo |
relative path |
yes |
The logo SVG bound to the stable :/branding/logo.svg alias |
assets.watermark |
relative path |
yes |
Bound to :/branding/watermark.svg |
assets.window.<app> |
relative path |
no |
Per-application window icon, bound to :/branding/window/<app>.svg. An omitted application gets the "NO EDITION" placeholder |
packaging
| Field |
Type |
Required |
Rule / fallback |
packaging.androidPackagePrefix |
string |
no |
Defaults to org.octomy. |
any other packaging.* key |
— |
no |
Not read by this build; passes through for packaging tools |
The no-edition fallback
A build resolved with project.editionDir:"" compiles the loud fallback: every seed white, both viewport colors #000000, and the :/branding/* aliases bound to a "NO EDITION" placeholder mark. The name fields keep their OctoMY values — a wrong name does not read as broken, so only the colors are loud.