Nothing on this page is ratified. It records where the design conversation stood so that the alternatives stop being re-derived, and so the reasoning behind whatever eventually gets built is still legible afterwards.

Toxels#

A toxel is a conceptual entity: time plus voxel. It may be represented hierarchically along several dimensions independently. The term is a coinage of this project’s, not borrowed.

The word conceptual is doing real work. A toxel is not proposed as a thing on disk. It is an address — a cell you can name, resolve, and ask questions about — and the design question is which of its parts, if any, are ever materialised.

Given the analysis, a toxel is not a cube: it is a level index, an axial interval, a circumferential arc, and a time interval, with each component free to refine at its own rate and by its own rule. The level component does not subdivide at all.

The directory question#

Do the spatial dimensions sit inside time directories, or time inside space, or neither?

Neither, on current reasoning — and for an asymmetric reason rather than an aesthetic one. Time cannot be a location, because most facts are step functions with undecided ends and you cannot file by a value you have not chosen. Space could be a location, and the first attempt made it one. What killed that was not filing; it was that a directory tree encodes only declared parentage, which answers almost none of the questions asked of it.

Three candidates#

A — Name tree as primary#

Places are directories, containment is declared, facts hang off place paths, temporal scope is a field.

The honest case for it: a novel may reach fifty named places and never need a point query, because scenes happen at named places. Every scene drafted so far happens at Scimitar Falls. Under that reading the harder cases are hypothetical, and it is the only candidate that is fully legible with no tooling at all — a real consideration on a project that has none and may never build any.

Where it breaks is rename, reparent, and the coexistence of three organizations, none of which are hypothetical.

B — Coordinate-primary, names as region definitions#

A frame file fixes the cylinder, the level stack, and the connectivity graph. A region is a geometric definition over cylinder coordinates — for most of Coriopolis’s geography, a box of (level set, axial range, circumferential arc), with polygons in unrolled coordinates reserved for genuinely irregular shapes. A name is a stable identifier plus a mutable human label. Facts cite a region identifier or a literal extent. Containment, overlap, adjacency, and distance are computed and never declared.

Worth noting from notes/CoriopolisDropbox/CoriopolisWiki.md: the established geography is dominated by bands and axial ranges. Ring Lake “circumscribes”; the midline ridge divides north from south; the Southern park is the whole south cap plus a ten-kilometre circumferential strip. Those are boxes. Polygons would be the exception, which makes this considerably cheaper in practice than in principle.

Unnamed positions get a direct answer, including in the form people actually think in — a relative address such as three kilometres spinward of the falls, resolved to absolute coordinates on read. Reparenting stops being an operation at all, because parentage is derived. Three organizations become three sets of regions over shared coordinates, free to overlap.

C — Cell-primary#

Everything is stored as toxel codes; a named place is a set of codes or a prefix set. Containment and overlap reduce to set algebra with no geometry code whatsoever, which is genuinely attractive. But an irregular region costs many codes, the codes are meaningless to a person editing a file, and changing the subdivision depth invalidates every stored code in the repository.

Tradeoffs#

A: name treeB: coordinate regionsC: cell codes
StorageSmallest — a path and a parentSmall — a few numbers per regionLargest — many codes per region, growing with resolution
Query costCannot answer most spatial questions at any priceGeometry per query, linear in region count; negligible at 10²–10³ regionsFastest; prefix set operations
Hand-edit legibilityBest — the tree is the worldGood — a region is a few named numbers, but seeing a shape needs a rendererWorst — the codes are opaque
Survives reorganizationWorst — rename rewrites citations, reparent rewrites subtreesBest — labels are mutable, containment recomputed, nothing to rewritePoor — re-subdividing invalidates every code

B is the current recommendation, with two deliberate omissions: no materialised cell index until region count or corpus size demands one, and no polygon support until a region genuinely needs a polygon. Both are cheap to add later and expensive to carry unused.

Consequences B forces into the open#

There are three distances, not one, and only naming them separately keeps them straight:

  • Surface distance — unroll the level, Euclidean in axial × arc, wrap-aware. Answers what is near.
  • Chord distance, with occlusion — a straight line through the air. Answers can she see it, and it is what the sky-geometry drawing was constructing. Under a nested inner cylinder at a 0.8 radius ratio, the inner shell occludes ±53.1° around the zenith, and the grazing sightline reaches about 73.7° — roughly 12.9 km of arc — before the far surface is cut off.
  • Network distance — over the transit graph. Answers how long to get there, and it is the only one that works between levels, since levels are not freely traversable.

The third means the transit network is a first-class stored object, not something geometry derives.

Open questions#

  • Whether B survives its own version of the seven-case stress test, which has not been run.
  • How a region expresses an irregular boundary, and what happens when one spans several levels.
  • Whether the frame is per-habitat or shared, and whether scope extends past Coriopolis.
  • Whether notes/CoriopolisDropbox/ is imported, quarantined, or abandoned. Deciding this before the first fact is written matters, because a model built only from content/wiki/ silently discards a decade of decisions.
  • Whether the manuscript or the model is authoritative when they disagree — still undecided, and cheaper to decide now than later, since content/book/ is still empty scaffolding and there is no prose corpus to retrofit.