construct

mcp
Security Audit
Pass
Health Pass
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 105 GitHub stars
Code Pass
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Describe a thing, get a hologram, a 3D model and its parts: built by any AI agent, honestly.

README.md

Construct

Construct is a tool for AI agents that turns everything that can be found out about a thing into one exact,
checked description of it: its named parts at their real sizes, how they fit together, open and move, and how
each one is known, measured or guessed.
An agent does the research and writes the description; Construct
checks it and builds from it, the same description always into the same result. Everything else comes from that
one description.

Describe a thing. Get a hologram, a 3D model, a print and a kit. You ask any AI agent for a thing
in plain words, and it builds an animated model of it in lines of light, the Measured Light style,
as one web page you can open anywhere, honest about what is known. The same construct becomes a 3D
model with named parts and working joints, a print, a model kit, a CAD file or a film.

The Sainte-Chapelle construct assembling itself The Duomo di Milano construct assembling itself The Toyota Land Cruiser FJ62 construct assembling itself

The Nissan Skyline GT-R R34 construct assembling itself, its doors and bonnet opening Tompion's year-going longcase clock construct assembling itself, its hood and trunk doors opening The Volkswagen T1 Samba construct assembling itself

Constructs. Sainte-Chapelle · Duomo di Milano · Toyota Land Cruiser FJ62 · Nissan Skyline GT-R R34 · Tompion's year-going clock · Volkswagen T1 Samba, each built in masterpiece mode, by Claude Opus 5.5 and the clock by DeepSeek V4.1 Flash. Open the gallery to orbit them, replay the assembly and read the labels.

  • Any agent, any model. Claude Code, Hermes, any MCP client or any OpenAI-compatible endpoint, or by hand.
  • Honest about what is known. Every part says how it is known, its size and its shape apart, every guess in a shade of how firmly it is held.
  • One house style. Models never choose the colours, so every construct looks like it belongs with the rest.
  • It repairs itself. Every problem comes back with where it is and how to fix it.
  • Nothing to install. Python's standard library and a browser; no API keys or network service inside Construct.

Find your path

You… Construct gives you Start here
Everyday
want a model of anything you can describe A thing you describe, as a construct you can turn, replay and share Make a construct
want a digital copy of something you own Your chair, guitar, camera or heirloom in 3D from your photos and whatever its maker publishes, showing what was measured and what was guessed Copy your thing
are planning a change to your home or garden Your shed, room or garden as a model to try the change on first: a deck, shelves, an extension, a new layout. A planning model, not a survey Try it on a copy
want to customise or restore a vehicle Your car, bike or scooter from its published sizes and your photos, your parts told apart from the factory's: try wheels or a new colour, plan a restoration, make a model of it Your vehicle
need a part that is missing or broken A knob, bracket or cover drawn to the thing it fits, as a print or a CAD file someone can make Make the part
want a model kit of your own thing Your scooter, house or guitar as a kit to print, glue and paint, with a booklet (one to open) A kit of your own
want to show someone what you mean A model a builder, a fabricator or a friend can turn and measure, and a file for their own tools Show what you mean
Professionals and creators
are a maker A print at your printer's largest size, a model kit with plates and a booklet (four to try), true CAD shapes Print, kit, CAD
are a game developer Props with named parts, real sizes and working joints, for Godot, Unity or Unreal Into a game engine
are a 3D artist A construct in Blender with its build, joints and finish on sliders, ready to render or model over Into Blender
work in film and motion A construct that assembles across a piece of music, as a video Film mode
are an educator or researcher An agent-based model's run drawn as a construct, compared, printed, filmed Models come alive
work in a museum or archive Reconstructions that say how each part is known, so a visitor can tell evidence from design Honest reconstructions
are a developer A scene contract, a command line, an MCP server and skills to build on Build on it

New in 1.1

Every feature with pictures and the commands to try it: What's new in 1.1, a walkthrough.
And one construct taken through all of it, step by step: A longcase clock, end to end.

  • Your own formats. Adapters: what a construct holds, where to read it and the rules that keep an adapter
    honest, with a template that writes a parts sheet and an STL per part. Write your own →
  • Honest in finer shades. A part's size and its shape known apart, every guess in a shade of how firmly it is
    held. Press P.
  • See it as a solid. Press S in any construct; check --fit names what pokes through or floats.
  • Contact you can trust. check follows support through the solids, not their boxes: a part that only seems
    to rest on another, or hangs on a wire-thin strut, is named with the gap and the part to rest it on. Found from a
    desk fan two models built; it closed three gaps in the gallery.
  • Cleaner 3D. Smoother solids, OBJ that subdivides cleanly, triangle quality reports, for Blender and any
    3D program.
  • Ready for game engines. Glued pieces with working hinges for Godot, pieces that break apart and settle,
    colliders, seeded variants.
  • CAD. True CAD shapes in FreeCAD, with their joints, and STEP for any CAD program.
  • Prints. One checked print at the largest size your printer takes, voxel or exact, with engraved line art.
  • Model kits. A construct as a kit to print, glue and paint: numbered plates, a booklet drawn as a kit sheet,
    the same steps in 3D, every piece printable on its own. A first version, not yet built by a person.
  • Models come alive. A NetLogo extension: one command in NetLogo turns a run into a construct, with a replay
    bar, a legend and a How to read it panel, in views chosen for the data. Runs side by side for a lesson, a
    printable worksheet, CSV and Cite this run; a run as a film or a 3D model in Blender, or as plates you can
    stack. 388 of the Models Library's 445 models record with no edits.

Examples

Provenance and solids. The Duomo di Milano in provenance shades (P): verified sizes in cyan, traced shapes in blue,
every guess a deeper amber the more firmly it is held; and the same Duomo as a solid (S), as a modelling program shows it. Museums and archives →

The Duomo di Milano in the provenance view: verified sizes in cyan, traced parts in blue, inferred parts in shades of amber, with the legend counting each The Duomo di Milano as a solid, from the same view

Film mode. A construct assembling across a piece of music. Film and motion →

The James Webb Space Telescope assembling across a piece of music Voyager 1 assembling across a piece of music The Arecibo Observatory assembling across a piece of music

Game engines and Blender. The FJ62 in Godot, knocked apart into its pieces; and from light to a finished model. Game developers → · 3D artists →

The Toyota Land Cruiser FJ62 in Godot, falling apart into its pieces and settling The FJ62 from lines of light to a plain model of named parts, then the finished model in paint, chrome and glass

Prints and CAD. An exact print of the FJ62 beside its voxel print; the Yamaha CFX and the Leica M3 in FreeCAD. Makers →

The FJ62 printed as voxels and as an exact print The Yamaha CFX and the Leica M3 in FreeCAD as true CAD shapes

Model kits. Four constructs as kits to print, glue and paint: the Yamaha CFX piano (1:12, 54 pieces), Tompion's year-going clock (1:12, 34 pieces), the VW T1 Samba (1:16, 98 pieces) and an owner's Vespa GS 150 (1:12, 32 pieces), each with its steps in 3D and a booklet to print. Open them in your browser, or download their plates: the kits in the gallery. Makers →

The Yamaha CFX piano kit's 3D guide at 1:12: the keyboard built at the bench, the piano ghosted around it Tompion's year-going clock as a 1:12 kit: its fifteen steps in 3D, the dial plate built at the bench The Volkswagen T1 Samba as a 1:16 kit: from the floor pan, through the cab and body at the bench, to the finished bus

Step 3 of the CFX kit in the paper booklet: the keybed built at the bench, each piece numbered and painted polished ebony, drawn exploded

NetLogo runs. A simulation's whole run as a construct, time as its height. Educators and researchers →

Flocking: each bird's track rising with time, random near the floor and in parallel streams higher up Wolf Sheep Predation: the predator-prey cycle rising in time Fire: the fire's front rising as it crosses the forest

Beyond objects. The same visual language works for ideas and data. Here a classic NetLogo agent-based model, Uri
Wilensky's Simple Viral Marketing, was rebuilt to run live in the browser and drawn as a construct: five hundred
people, one product, word of mouth and a little advertising. The floor is the social network, and each person rises
to the moment they adopted, so you can watch an idea spread and see who it reaches last, and why.

The Simple Viral Marketing model running: adoptions spread through the social network on the floor and rise as lines of light, the gold ring marking now, while the counters climb to 500 of 500

Open the live model to build new networks, run them tick by tick and compare a hundred runs with NetLogo's own. The model is © 2012 Uri Wilensky; this example is under CC BY-NC-SA 3.0 (see License).

How it works

A scene is data, never code: the agent says what the thing is, and Construct decides how it
looks. That split is what keeps every construct honest and in one style. In masterpiece mode the
review becomes a loop, judged by a critic that never saw the authoring.

flowchart LR
    A["you ask"] --> S["the agent writes<br/>a scene"]
    S --> C["Construct<br/>checks it"]
    C -- "problems, with fixes" --> S
    C --> B["Construct builds<br/>construct.html"]
    B --> R["the agent reviews<br/>its pictures"]
    R -- "masterpiece: another round" --> K["the critic compares<br/>with the best so far"]
    K -- "better: keep it" --> S
    K -- "not better: keep the best" --> S
    R --> D["you get the best version"]
  • You can see how each part is known. Press P in any construct and every part is coloured
    by whether it is verified, supplied by you, inferred or decorative. Press S to see it as a solid,
    the way a modelling program or a print shows it.
  • The check runs to zero. Floating parts, claims without evidence and details too fine to see
    are reported, with fixes, before anything is built.
  • The critic is independent. It is a fresh model that compares each new version with the best
    so far without knowing which is which. Only a better version is kept.
  • Masterpiece stops when it stops improving: after two rounds without a better version, after
    12 rounds, or after two hours. In the author's own blind comparisons, on two subjects, there was
    no visible improvement after about round 12, so more rounds mostly cost time.

The Sainte-Chapelle at round 1, round 8 and round 15 of a long run: the flèche gains its tiers, and the window tracery, buttresses and pinnacles fill in

The critic at work: the Sainte-Chapelle at rounds 1, 8 and 15 of a run by Claude Opus 5.5, made before masterpiece had its 12-round cap. The flèche gains its tiers, and the window tracery, buttresses and pinnacles fill in.

The whole process, with a construct improving round by round, is in
How a construct is made. What you see in a construct, and why
models never choose its colours, is in The Measured Light style.

Install

Construct runs from a copy of this repository; there is nothing to install system-wide. Clone it
and build the skills for your agent:

git clone https://github.com/rtmandreyev/construct.git
cd construct
python3 construct_hologram/package.py --out dist    # builds the Claude Code and Hermes skills

Then add the skill to your agent, or use Construct directly:

Host How to add it
Claude Code claude --plugin-dir dist/claude-code/construct for one session, or copy dist/claude-code/construct/skills/construct into .claude/skills/
Hermes hermes skills install rtmandreyev/construct/skills/construct, or copy dist/hermes/construct into ~/.hermes/skills/
Any MCP client Add {"mcpServers": {"construct": {"command": "python3", "args": ["/path/to/construct/construct_hologram/server.py"]}}}
Any OpenAI-compatible model python3 construct_hologram/cli.py author "..." --base-url ... --model ... --key-env ... --out scene.json
By hand The command line below; no model needed
Blender python3 scripts/build_blender_extension.py, then Edit → Preferences → Get Extensions → Install from Disk with the zip in dist/

Quick start

In the Claude or ChatGPT app, no terminal. Download Construct, give the app its folder and your photos, and ask:
the Claude app's Cowork and the ChatGPT app's Codex both read the skill and build the construct for you.
Construct in the Claude or ChatGPT app →

In your agent, just ask in plain words: "a masterpiece of the Sydney Opera House", or "a masterpiece
construct of my guitar from these photos"
. The agent does the rest and tells you what it is doing. The
constructs at the top of this page were all made in masterpiece mode, rounds judged by a second, independent model:
ask for it for anything you care about.

To try Construct without a model, fill in a ready-made template by hand:

C=construct_hologram/cli.py
python3 $C params book --variant paperback --output book.json   # fill in the facts you know
python3 $C check book.json             # audit: PASS, or paths and fix hints
python3 $C build book.json --out out   # out/construct.html: open it in any browser
python3 $C review book.json --out out  # out/review/*.png: stills to judge it by

Once a construct is open, drag to orbit and scroll to zoom. R replays the assembly, L shows
the labels, T hides the text on its surfaces, P shows how each part is known, S shows it as a solid,
and 1–6 move between views.

Modes

A mode sets how much effort goes into a construct. Say one in your request, or say nothing and
the skill picks one and tells you why before it starts.

Mode What it does When it stops Rough cost Use it for
fast One pass with self-review About 10 minutes (30 for a richer subject) Cents with DeepSeek V4.1 Flash Generic subjects, simple objects, quick requests
masterpiece Rounds judged by an independent critic, each version compared with the best so far Two rounds without a win, 12 rounds, or 2 hours of active work Up to 2 hours of frontier-model tokens A named car, landmark or building whose likeness matters
timeboxed Masterpiece in 2 hours in all: the critic's time counts too Two rounds without a win, 12 rounds, or 2 hours in all Up to 2 hours, fewer rounds when the critic is slow When you want masterpiece done within two hours
unbounded The same rounds, with no cap and no time limit Only after two rounds without a win Many rounds and hours, a high token cost Only when you ask for it by name

Masterpiece's two hours count only the agent's own work; the critic's turns come on top, so a
run with a slow critic can take three hours or more. timeboxed stops at two hours in all. The
skill never picks timeboxed or unbounded on its own: the critic finds an improvement almost every round,
so it can run for hours. Every round is reported, so you can stop it whenever you like.

Models

Any capable model can make a construct, but some subjects need a stronger one. From the
evaluation runs:

  • Named subjects in masterpiece mode (a car model, a landmark): a Sol or Opus class model
    (tested: GPT-6.1 Sol, Claude Opus 5.5). A smaller model given such a subject says so and
    recommends them.
  • Simpler objects in fast mode: DeepSeek V4.1 Flash does as well as those on objects such as a
    tape deck, a watch or a camera.
  • Small models (tested: MiniMax M3.1 Flash, Thinking Machines Inkling, NVIDIA Nemotron 3.5
    Super VL) are not recommended: in about half of their runs they did not save a scene, and they
    made scale errors.

Requirements

Construct is deliberately small. You need:

  • Python 3.10 or newer. Nothing else to install: no packages, no virtual environment.
  • For review stills, a Chromium-family browser you already have (Chrome, Chromium, Edge, Brave).
  • For video, ffmpeg.
  • For the Blender add-on, Blender 4.2 or newer (the film of a run: checked in Blender 5.2); for the
    NetLogo bridge, NetLogo 6 or 7 (the extension: NetLogo 7, and NetLogo 3D 7).
  • Tested on macOS; review capture on Linux and Windows is untested.

Documentation

If you want to… read
see everything new in 1.1, with examples What's new in 1.1
see how a construct is made, step by step How a construct is made
know what you are looking at, and the keys The Measured Light style
run it every way, from a first construct by hand to Claude Code and Hermes Using Construct
fix something that went wrong Troubleshooting
start from a ready-made template (a book, a CD, a guitar, a car) Archetypes
make mountains, routes and planets from real elevation data Terrain
turn a construct into a film with music Film mode
export a 3D model, plain or finished 3D export and the Blender add-on
print it, or make it a model kit 3D printing and kits
open it in CAD FreeCAD and STEP
put it in a game engine Godot
draw a NetLogo model's run The NetLogo bridge and the extension
teach with it, or show it in a museum In a classroom and a museum
compare models, or score your own Evaluation
build on it or test the code Development and the scene contract
write your own adapter (a format, an engine, a machine) Adapters
know where the method comes from About
see what changed CHANGELOG.md and the 1.1.0 and 1.0.0 release notes

The full index is in docs/README.md.

Contributing

See CONTRIBUTING.md. Run the tests with
python3 -m unittest discover -s construct_hologram -t . -p 'test_*.py'. Security reports:
SECURITY.md.

License

Apache-2.0 — Copyright (c) 2026 Artyom Andreyev (see NOTICE); versions up to 0.3.0 were MIT. The NetLogo example folders
(examples/netlogo-*: viral marketing, flocking,
wolf sheep, fire, fireflies,
virus on a network and virus compare) derive from Uri
Wilensky's NetLogo models and are under CC BY-NC-SA 3.0 instead (see each LICENSE). The Blender
add-on
is under GPL-3.0-or-later, as Blender's extensions platform requires; what
you make with it is yours.

Construct's working method is inspired by Anatomy's
truth-first construction (MIT); it shares the method, not code. Product, vehicle and place names
in the examples belong to their owners: each example is an independent reconstruction from
public references, not an official model. See NOTICE.

Reviews (0)

No results found