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.

In this section