Research note

Game ontology sketch: Smith's Sextet over the bundle/mp-units architecture

Sketch: the game’s ontology, structured by Smith’s Ontological Sextet #CGE2NC #8MW8B5 as a grounded alternative to DDD.

Framing: DDD = linguistic Kantianism #FHFPQR with a two-category entity/value-object scheme (fantology with extra steps). Smith’s alternative: fix a small vocabulary of formal ties, name universals, and let extralogical domain science #6BUB8K decide which universals exist — exactly the mp-units + bundle approach.

Category mapping:

  • Spatial regions (Smith allows these explicitly, #LXQV4L flat toroidal D8 lattice, cells, bundle base spaces.

  • Substantial particulars: ground, water masses, walkers, avatar, vehicles.

  • Quality universals: mp-units quantity kinds (altitude/isq::height, wetness, stream power). Quality particulars: per-cell samples of a section; a section = spatially indexed family of quality particulars.

  • Process universals: named kernels (stream-power incision, thermal erosion, D8 routing, active-walker reinforcement). Process particulars: kernel invocations, ticks, b-thread runs.

Key design insights:

  1. bundle enforces Inhere/Dep by construction: a section cannot exist apart from its base — the dependence relation fantology cannot express #E76U8S #D6BEJX is the API’s core primitive. Contrast free-floating heightmap arrays = spreadsheet columns #Y7TY94

  2. Residual fantology: not all sections are the same category. ground_altitude/wetness are qualities of a continuant (ground); stream_power/discharge/sediment flux are quantities of an occurrent (the flow process) projected onto the base. Cf. SNAP/SPAN (Grenon & Smith 2004, #86A97P Double-buffered sim state = Carnap’s sequence of static worlds #6664AF fix by making kernels first-class named process universals with Has_Participant and Precedes ties. Physics-side twin of the BP observation/proposal/decision/outcome taxonomy #EZBYH4

  3. Formal ties #WRVKYL map to code: Inst = mp-units kind check; Inhere = bundle section-base; Part = cell/region/torus, sub-basin/basin; Has_Participant = kernel↔ground/water; Realizes = routing pass realizes drainage function; Precedes = tick order; Is_a = quantity-kind hierarchy.

  4. mp-units kinds are mechanized anti-Booleanism #VAA4FX #MCVL63 quantity kinds close under ×,/,^n, never ∧,∨,¬; kind distinctions (height≠width) reject dimensionally-valid nonsense — Frege’s “square root of Napoleon’s mother” #R7YGMR at compile time.

  5. Rivers, trails, basins are NOT substances: river = pattern sustained by flow #AK7NGE trail = ground quality sustained by walking #UYLTYJ basin = fiat region, fiber of the outlet map / block of drainage partition #TUCFMG #BLF82B Giving them entity IDs is the DDD category mistake; model as derived sections and partitions.

Extends #N7DTUP