Handbook
MathGenesis visual representations (P0)
MathGenesis stores symbolic math, geometry metadata, and physics models in JSON. Rendering diagrams is a separate concern. This page documents what forge-universe (fu) can draw today, how it differs from kitchensink (ks)…
Updated
Renderer stack (forge-universe)
All fu renderers consume the same scene JSON (version, camera, nodes[], optional sim). Source of truth: forge-universe/content/docs/renderers.md.
| Renderer | Module | Hash | Output | WebGL | Interaction |
|---|---|---|---|---|---|
| 2D projections | UniverseProject2D |
Up2 |
SVG ortho + perspective | No | Static |
| Static gallery | UniverseStaticCss |
Us3 |
SVG wireframes + CSS cube | No | Click → flyout |
| Solid flyout | UniverseSolidFlyout |
Ufl |
WebGL + XYZ axis panels | Yes | Dronie orbit |
| Drone flythrough | UniverseDynamicGl |
Udr |
WebGL meshes | Yes | Play / pause |
| Sim bounce | UniverseSimGl |
Usb |
WebGL + rigid-body sim | Yes | Play / reset |
| Construction assets | asset-renderer.mjs |
Uca / Ucr |
GLB meshes | Yes | Orbit, joints |
Mount API (representative):
UniverseProject2D.mount(container, '/assets/scenes/projections-demo.json');
UniverseStaticCss.mount(container, '/assets/scenes/five-solids-static.json');
UniverseSimGl.mount(container, '/assets/scenes/sim-bounce.json');
Live demos (when deployed): 2D projections, Math illustrations P0, static solids, sim bounce.
Node types available today
Implemented in forge-universe/js/universe-world.js:
tetrahedron,hexahedron,octahedron,dodecahedron,icosahedron,sphere- Alias:
cube→hexahedron
Not available: arbitrary triangle, segment, line, or labeled coordinate diagrams. There is no automatic MG → scene compiler in P0.
Projection shapes (2D SVG)
projectNodeWireframe returns:
kind |
Fields | SVG |
|---|---|---|
wireframe |
edges, points |
<line> per edge |
sphereWire |
polylines |
<path> per great-circle ring |
Orthographic panels drop one axis; perspective uses scene camera (eye, target, fov).
Example scene: forge-universe/assets/scenes/projections-demo.json — hexahedron + sphere.
MG object → renderer fit (P0)
| MG object | MG visual metadata | fu fit today | Notes |
|---|---|---|---|
Pythagorean (geometry.euclidean.pythagorean_relation) |
geometry.representation_mode: synthetic, diagram_status: illustrative |
Indirect | math-illustrations-p0.json demo at /demos/math-illustrations-p0.html — projection literacy, not a 3-4-5 diagram |
| Projectile drag (migrated — see PhysicsGenesis bridges) | Canonical: phys.simulation.projectile-quadratic-drag.v1 |
Different physics | UniverseSimGl integrates rigid-body bounce (sim-bounce.json), not quadratic-drag ODEs |
| GCD / Euclidean algorithm | Discrete / symbolic | None | Handbook text or future SVG; no fu primitive |
| Platonic geometry context | — | Good | five-solids-static.json + UniverseStaticCss gallery |
kitchensink spatial (not a math engine)
ks provides governed CSS 3D handbook chrome (e.g. math-globe, hash Glb) — ambient spatial decoration, not theorem diagrams or plotters.
Rule of thumb: link MG geometry/physics illustrations to forge-universe scenes; use ks only for handbook layout primitives.
Schema hooks for future visuals
When fu scenes are wired to MG objects, the contract fields live on math-knowledge-object:
| Block | Fields | Intent |
|---|---|---|
geometry |
primitive_objects, relations, allowed_constructions, construction_steps |
Synthetic geometry diagram spec |
geometry |
diagram_status |
illustrative vs proof-grade diagram |
geometry |
orientation_convention, nondegeneracy_assumptions |
Diagram validity |
physics |
state variables, forces, integrator hints | Simulation scene binding (P1+) |
P0 deliverable: documentation and cross-links only. P1 follow-up: fu scene math-illustrations-p0.json after triangle/segment node types or an MG→scene generator exists.