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:
bundleenforces 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 #Y7TY94Residual 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
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.
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.
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