Forge Intelligence

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: cubehexahedron

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.