🎨 SolumView — Visual Contracts
Deterministic world rendering · Read-only · Canonical
SolumView is the visual contract layer of Zipvilization.
It does not interpret meaning.
It does not access the blockchain.
It does not modify state.
SolumView takes validated world state and transforms it into a deterministic visual representation.
🧱 What This Folder Is
This folder contains the canonical visual contracts used by SolumView.
Each file defines a strict, versioned, read-only contract that maps structured data into visual output.
These contracts:
- 📥 receive validated inputs
- 🧮 apply pure deterministic rules
- 🎨 output render-ready structures
There is no logic duplication and no business rules here.
🚫 What This Folder Is NOT
SolumView contracts do not:
- ❌ read from the blockchain
- ❌ infer meaning or narrative
- ❌ apply economic logic
- ❌ mutate or store state
- ❌ react to user actions
They only render what already exists.
🧠 Contract Design Principles
All contracts in this folder follow the same principles:
- 🔒 Read-only
- 🧬 Deterministic
- 🧾 Versioned (
v1) - 📐 Pure functions
- 🔗 Composable
- 🧪 Testable in isolation
Given the same input → the same output must always be produced.
📦 Canonical Contracts
🗺️ tilemap.contract.v1.ts
Defines the spatial structure of the world.
- Maps territory into tiles
- Defines grid layout and boundaries
- Produces the base world geometry
🧱 tile-dictionary.v1.ts
Defines the meaning of tile types.
- Terrain categories
- Land states
- Environmental classifications
Used by the tilemap to assign semantic tiles.
🔍 zoom.contract.v1.ts
Controls level-of-detail rules.
- Defines zoom levels
- Maps scale → visible detail
- Ensures consistent perception across views
🧬 evolution.contract.v1.ts
Defines time-based visual evolution.
- Past → present transitions
- Growth stages
- World aging rules
No simulation. Only visual progression.
👁️ visual_determinism.contract.v1.ts
Guarantees reproducibility.
- Ensures identical inputs render identically
- Locks randomness sources
- Enforces auditability
This is a non-negotiable contract.
🧾 render-input.v1.ts
Defines the exact input schema expected by SolumView.
- Normalized data structure
- Fully validated before rendering
- No optional ambiguity
Everything rendered must conform to this schema.
🎨 icon_catalog.contract.v1.ts
Maps world state → visual symbols.
- Icons
- Glyphs
- Visual tokens
Pure mapping. No interpretation.
🧭 ui_tokens.contract.v1.ts
Defines UI-level visual tokens.
- Colors
- Layers
- UI primitives
Shared language between rendering and interface.
👛 walletmode.contract.v1.ts
Defines Wallet Mode visualization.
- Connect own wallet
- Inspect any public wallet
- Render wallet as territory
Wallet Mode is read-only and public.
🔗 Pipeline Binding (Conceptual)
SolumTools → SolumWorld → SolumView Contracts → Renderer
- SolumTools: extract signals
- SolumWorld: define world state
- SolumView Contracts: define how it looks
- Renderer: draws pixels
Each layer is isolated. Each layer is auditable.
🧭 Position in Zipvilization
SolumView contracts sit between:
- 🌍 SolumWorld — what exists
- 🖼️ Renderer — what is drawn
They do not decide meaning.
They decide form.
🔒 Canonical Status
All contracts in this folder are:
- Canonical
- Versioned
- Immutable by convention
Any change requires:
- a new version
- explicit documentation
- full auditability
✨ Final Note
If Zipvilization is a readable civilization,
SolumView is its visible surface.
Nothing more.
Nothing less.