Feature catalogue / 05

GraphHopper, scripting and AI

GraphHopper

FeatureScope
Typed portsNumbers, points, directions, curves, surfaces, solids/B-reps and meshes
Structured dataItem, list and tree data with branch matching/broadcasting, merge, flatten and graft
Numeric sourcesLiterals, number series and supported CSV/JSON inputs
MathArithmetic, ranges/remapping, minimum/maximum and trigonometry
Repeatable variationSeeded random, value/Perlin noise and supported 3D noise
Curve constructionLines, arcs, circles, ellipses, polylines, NURBS and interpolation
Surface/mesh constructionSupported NURBS control surfaces, mesh grids, planar faces and regions
Geometry queriesCurve endpoints, evaluation, closest points, division, length, curvature and frames; surface tangents/normals and projection
Spatial dataDistance/vector operations and supported point population/containment
TransformsTranslate, rotate, scale and orient across supported geometry types
CAD command adapterReuses ordinary modelling commands and their reflected fields instead of maintaining a second geometry kernel; coverage is still being expanded
Scene referencesSupported document geometry as graph inputs
Public inputs and outputsNamed parameters/results and reusable graph templates/instances
EditingPorts/wiring, node selection, multi-selection, move/delete and folding
EvaluationDemand-driven dependency scheduling and caching; branches not connected to an output are excluded from computation
DiagnosticsGraph errors/warnings in the shared Problems/status system
ExamplesProcedural canopy, tower and facade designs

Partial: native editor interaction/layout parity, complete generic command coverage, plugin coverage and broad GPU graph computation. GraphHopper and dependency views are being brought onto shared graph contracts; identical behavior on every client is not certified here.

Custom JavaScript node drafts are not arbitrary executable callbacks: saved drafts remain inert/authoring-only. Supported installed declarative plugin features can contribute typed command nodes.

JavaScript and model text

FeatureScope
JavaScript APITyped document/geometry queries and supported modelling operations
Multiline scriptsFunctions, local variables, loops and multiple operations in one execution
DiscoveryTask-oriented documentation and API discovery rather than requiring application source access
Automation outputSupported exports and screenshots
UndoSupported edits participate in document undo/history
Console panelInteractive scripts and results
Model panelText representation/editing of supported document features
Graph serializationModel text coverage remains incomplete for some graph/history data; full lossless text round trips are not claimed

See AI API cookbook.

AI connections

FeatureScope
Relay MCPRemote AI clients operate a browser document through Macadam's relay
Explicit pairingAuthorization and connection target the account, AI client, tab and document; no arbitrary active-tab fallback
OAuthPKCE flow, authorization grants and revocation controls
AI menuConnection status, connect/disconnect/switch and setup guidance
Authorized-client settingsInspect and remove authorized AI clients
Durable consentServer-side grants persist independently of a particular deployment
Reload recoveryQualified Chrome same-context/document recovery; Safari and other unverified browser paths may still require reconnecting
Native MCPLocal native server/transport integration
WebMCPExperimental browser API route; availability depends on browser support, so Relay MCP is the normal remote route
Native assistant backendsConditional MLX, llama.cpp and Apple Foundation Models integration; hardware/model availability varies

An interrupted or uncertain edit is not blindly replayed. Authorization to a client is distinct from a live connection to a particular document. See Relay MCP and WebMCP.

Extensibility

Installed declarative features and commands use reflected fields and shared command discovery. Custom-code execution remains limited by the supported host and its security boundary. A personal Codex improvement skill is a development workflow, not a built-in Macadam product feature.