ParaShape

Developer docs

The ParaShape engine is a library — the app at parashape.com is one product built on it. You can evaluate the same Model JSON in your own app, ship a completely different node set, or just import the geometry functions.

import { createRegistry, Model } from "@parashape/parametric"
import { nodeRegistry } from "@parashape/parametric/nodes"     // ParaShape's node set — or your own

const registry = createRegistry(nodeRegistry)
const model = Model.fromJSON(json, { registry })
const scene = model.toScene()                    // render with Three.js / SketchUp / anything

Just the geometry, no engine: import { curve, solid } from "@parashape/parametric/compute".

Where to go

PageWhat it answers
ArchitectureThe layers (engine / compute / node registries / frontends), the one-way rules, how evaluation runs.
Node registryCreate your own nodes — a complete example + the full RegistryInput/NodeDefinition types, verbatim from source.
ComputeAll standalone geometry/value functions in @parashape/parametric/compute.
Chain & entitiesThe v21 value model — fold state, group/instancing, planarity rules, wiring a custom operation.
StoreThe async asset layer (models / fonts / images / materials) — pre-loading from raw JSON, session registry.
SceneSceneJSON — the renderer contract your host consumes.
Viewport bridgeThe ViewportBridge contract for hover feedback — for a frontend integrating packages/ui.
Engine classes (sidebar)Runtime API: Model, OperationNode, ContainerNode, NodeCollection, …

Writing models / using the app instead? → User docs.