One record for one production — the title, the year, the country, the town, the firm, the places and the cast — written once and read by everything that makes the world of the story. In Chronotype the Scene Kit writes it and every studio reads it; Skenic reads it to know what the physical world is called; Mombie reads it to put the right firm in the phone. This page is the format, so that anything else can read and write it too. Version 1, 6 October 2026.
A script becomes a world only if the world is consistent: the firm on the letterhead in scene 4 is the firm on the van in
scene 9 and the firm in the text message in scene 27. The production file is the one place the names live. It is small, it is plain
JSON, it is written by whoever reads the script first (in Chronotype, the Scene Kit) and it travels with the work: in the browser as
localStorage["chronotype.production.v1"], in the Prop Kit zip as production.json, on the clipboard when the Scene Kit hands the
prop list to Skenic or the phone screens to Mombie. It is never sent anywhere by itself.
{
"v": 1,
"title": "The Harbour",
"year": 1962,
"region": "gr",
"town": "Amfipolis",
"firm": { "name": "Rathbone Ltd.", "code": "CTB1:eyJ2IjoxLCJzZWVkIjoxNzcxNzM0OTEzLCJuYW1lIjoiUmF0aGJvbmU…" },
"strict": "plausible",
"places": [
{ "kind": "hospital", "name": "Γενικό Νοσοκομείο Αμφιπόλεως" },
{ "kind": "newspaper", "name": "The Harbour Gazette" },
{ "kind": "station", "name": "Marlow Road" }
],
"cast": [
{ "role": "Night sister", "name": "Eleni Mavrou" },
{ "role": "Detective", "name": "Ray Castellan" }
],
"auto": true,
"updated": "2026-10-06"
}
| Field | Type | Rule |
|---|---|---|
v | integer | Always 1. A reader that meets a higher number keeps what it understands and ignores the rest. |
title | string, 1–90 | The production’s title. Required — a record without one is not a production file. |
year | integer 1700–2100 | The year the story is set in. Every studio dates itself to it. Out of range → 1965. |
region | string, 2–8, lower case | The country the story is set in: uk us ca au in fr de it es pt nl gr tr ru eu. Unknown codes are kept; a reader falls back to uk. |
town | string, 0–60 | The town or city, as the script spells it. Goes to the dateline, the postmark, the map. |
firm | object or null | { name, code } — the one business that matters most. name is enough; code carries the whole Brand Room record (section 3), so the mark and the colours travel. Never required. |
strict | enum | documentary (as the year had it) · plausible (period-correct, editorial choices allowed; the default) · cinematic (what reads on camera comes first). |
places | array, ≤ 40 | { kind, name }. kind is a lower-case word from the list in section 4 (anything else is kept as typed, ≤ 20 letters); name ≤ 90 characters, verbatim. |
cast | array, ≤ 60 | { role, name }: the role as the script describes the character (≤ 40), the name ≤ 60, verbatim. Names drive the signatures (section 5) and the papers each character carries. |
auto | boolean | Chronotype only: open every studio on this production without asking. |
updated | date, YYYY-MM-DD | Set by whoever writes. Latest wins when two copies meet. |
Strings are trimmed, control characters removed, and cut at the lengths above. Nothing is translated: a Greek name stays Greek,
a Cyrillic one Cyrillic. A reader must tolerate missing fields and must not invent values for them — an empty town means
the script did not say.
The Brand Room invents a company once: name, legal form, trade, country, year founded, proprietor, motto, address,
telephone, palette, typefaces and a mark. firm.code is that record, serialised so that it survives a copy-paste:
"CTB1:" followed by the base64 of the record’s JSON (UTF-8, padding stripped). A reader that can draw the mark decodes it;
a reader that cannot keeps firm.name, and may read the colours.
{
"v": 1, "seed": 1771734913,
"name": "Rathbone Ltd.", "short": "Rathbone", "initials": "R",
"form": "ltdab", "trade": "shipping", "country": "uk", "year": 1962, "founded": "1931",
"proprietor": "", "motto": "", "street": "Steam Mill Road", "town": "Netherfield", "postal": "N.W.3",
"tel": "SELBY 4744", "telWord": "Telephone",
"pal": { "ink": "#16181d", "accent": "#c8332a", "second": "#1d5bab", "paper": "#f7f5ef", "palId": "festival" },
"ty": { "display": "geo", "text": "geo" },
"mark": { "eng": "globe", "seed": 845853108, "ink": "ink", "icon": "" }
}
→ "CTB1:eyJ2IjoxLCJzZWVkIjoxNzcxNzM0OTEzLCJuYW1lIjoiUmF0aGJvbmU…"
A firm’s identity is "f" + base36( FNV1a(name + "|" + country + "|" + year) XOR seed ); two records with the
same identity are the same firm. The mark engine, the icon and the typeface ids are Chronotype’s; a reader outside Chronotype treats
them as opaque strings and draws nothing from them.
| kind | Also recognised when typed | Lands on |
|---|---|---|
hospital | clinic, infirmary, νοσοκομείο, κλινική | the ward sign, the hospital forms, the badge |
newspaper | paper, masthead, daily, εφημερίδα | the masthead of the Newspaper Press |
station | railway, σταθμός | the station sign, the ticket, the map |
broadcaster | radio, television, tv, ραδιόφωνο | the station mark of the On Air Studio |
street | road, avenue, οδός, λεωφόρος | the street sign, the letterhead address, the map |
shop | store, κατάστημα | the fascia, the receipt |
cafe | café, coffee house, bar, καφενείο | the menu’s house |
hotel · restaurant | inn, taverna, ξενοδοχείο, ταβέρνα | the menu’s house, the key fob |
publisher | press, εκδόσεις | the Cover Studio’s imprint, the Map Room’s publisher |
ward · pharmacy · school · police · court · bank | chemist, college, δικαστήριο, τράπεζα… | the sign, the form, the card, the specimen signature card |
Skenic reads the same list for the physical world: the hospital is a location, the café is a set, the station is a set and a sign. The Web Studio reads it for the page on the screen — the newspaper’s site, the bank’s account page, the firm’s inbox — and Mombie for the live phone: the bank’s app, the café’s number, the message that arrives on cue.
Every cast name is a person who signs. The Signature Studio keeps the shelf chronotype.signatures.v1 beside the
production file; a letter in the Document Studio signed by a name on the shelf is signed in its hand, and «Sign the production’s cast»
invents one for every name in cast, seeded by the name and the title so it is the same on every machine that runs it.
{ "v": 1, "active": "s1k3x9q",
"list": [ { "id": "s1k3x9q", "name": "Eleni Mavrou", "role": "Night sister", "country": "gr", "year": 1962, "age": 47,
"hand": "greek", "pen": "ball", "ink": "royal", "legibility": 0.35, "flourish": 0.5, "size": 5, "seed": 93811 } ] }
Beside the production file, two plain-text lists leave the Scene Kit by the clipboard. The prop list for Skenic —
everything the script names that is not paper — and the screens for Mombie — every phone, computer and television
screen with its scene and what the script says it shows. Both are tab-separated after a two-line header, and both end with
production.json when there is one.
PROP LIST for Skenic — The Harbour · 1962 · GR
From the Chronotype Scene Kit · chronotype.design · part of Scenergia
sc. 1 lamp
sc. 1 watch
sc. 3 revolver
SCREENS for Mombie — The Harbour · 1962 · GR
From the Chronotype Scene Kit · chronotype.design · part of Scenergia
PHONE SCREEN
sc. 1 MARGARET reads a text message on her phone: "COME AT ONCE STOP"
COMPUTER SCREEN
sc. 2 The TV screen above the bar shows the news
The Prop Kit zip carries the printed world the same way: one folder per scene, manifest.csv with the columns
scene, folder, file, thing, studio, year, country, width_mm, height_mm, stock, finishing, ageing, copies, also_in_scenes, words, made,
kit.json with every item as its studio was given it, and production.json.
Read what you understand and leave the rest. Never require firm.code. Keep names verbatim — no translation, no
title case, no trimming of accents. Write back only into your own namespace: a key beginning x- (x-skenic,
x-mombie) is yours and is carried, unread, by everyone else. Do not invent a field the script did not give. Bump updated
when you write; when two copies meet, the later updated wins field by field, except title, which is the identity. A change that
would break a v1 reader is a v: 2, and v2 will carry a v1 view of itself.
No real company, no real person, no address that exists: the file describes a fictional world, and a reader that finds a real trademark in it has found a mistake, not a feature. No sheet artwork, no images, no fonts — the file is names and dates, small enough to paste into a message. No account, no server: it lives in the browser, in the zip and on the clipboard.
Drop a script in the Scene Kit and it writes the production file for you — title, year, country, firm, places, cast — and every studio opens on it. The handoffs to Skenic and Mombie are under the breakdown.
Open the Scene Kit →