Add provenance fields to routes and active_dispatch to INITIAL_STATE

This commit is contained in:
otivm
2026-04-25 20:18:18 +00:00
parent 4360ef6da2
commit f38bbc10bd

View File

@@ -63,6 +63,11 @@ export const ROUTES = [
unlock_den: 0,
unlock_aut: 0,
desc: 'The coastal road. Safe, slow, reliable.',
// Provenance — stub H3 IDs reference TESSERA cells for origin region.
// These become live TESSERA API queries in OTIVM-V.
origin_h3_r5: '851e805bfffffff', // Ostia hinterland, Tyrrhenian coast
origin_region: 'Latium, Campania',
cultural_note: 'Olive groves established before Rome. Garum production coastal.',
},
{
id: 'wine',
@@ -76,6 +81,9 @@ export const ROUTES = [
unlock_den: 120,
unlock_aut: 5,
desc: 'Via Appia. Faster in autumn.',
origin_h3_r5: '851e8333fffffff', // Campanian interior, volcanic soils
origin_region: 'Campania',
cultural_note: 'Campanian wine traded north since Etruscan period. Wool from upland flocks.',
},
{
id: 'grain',
@@ -89,6 +97,9 @@ export const ROUTES = [
unlock_den: 350,
unlock_aut: 15,
desc: 'Open sea crossing. Amber from the northern forests.',
origin_h3_r5: '851e8ba3fffffff', // Apulian plain — grain. Amber: northern H3 stub pending TESSERA OCC_FLAG
origin_region: 'Apulia — grain; Baltic coast — amber',
cultural_note: 'Amber passed through a dozen hands before Brundisium. Origin: Maglemoisian forests.',
},
{
id: 'linen',
@@ -102,6 +113,9 @@ export const ROUTES = [
unlock_den: 800,
unlock_aut: 30,
desc: 'The great southern route. Fortune awaits the bold.',
origin_h3_r5: '85386e23fffffff', // North African littoral, Carthage hinterland
origin_region: 'North Africa, Arabian peninsula',
cultural_note: 'Linen woven on looms unchanged since Neolithic. Frankincense route predates Rome by millennia.',
},
]
@@ -141,17 +155,4 @@ export const JOURNAL = {
],
}
export const INITIAL_STATE = {
den: 50,
aut: 0,
dispatches: 0,
chapter: 1,
route_dispatches: {},
journal_seen: [],
token: null,
created_at: null,
}
export const OTIUM_DURATION_MS = 8000
export const OTIUM_BASE_AUT = 1
export const MAX_CONCURRENT_PLAYERS = 128
export const INITIAL_STATE = { den: 50, aut: 0, dispatches: 0, chapter: 1, route_dispatches: {}, journal_seen: [], // active_dispatch: records the in-progress dispatch for position tracking and // real-time duration (OTIVM-IV). null when no dispatch is running. active_dispatch: null, // events: append-only record of meaningful game events. // Each entry: { type, route_id, timestamp_utc } // Types: 'dispatch_start', 'dispatch_complete', 'otium', 'chapter_advance', 'journal_unlock' // This is the sequencing substrate for OTIVM-IX attestation. events: [], token: null, created_at: null,}export const OTIUM_DURATION_MS = 8000export const OTIUM_BASE_AUT = 1export const MAX_CONCURRENT_PLAYERS = 128