Paired miter lock gates
Environments316 tris
Green lockworks, pale coping and dark timber form a navigable canal set with modular banks and towpaths, miter gates, spillways, crossing bridges and a cabin cargo barge.
Take Canal locks from the table to your scene. Keep its record with it.
The stage must finish drawing before measurements, part switches and the ES module are available. If it cannot draw, reload or try a WebGL-enabled browser.
Save the ES module beside your scene. Its factory rebuilds this static snapshot, with the current knobs and visible parts already baked.
// Record: /api/kits/harbor-canal-locks
// Baked knobs: {}
import createPiece from "./harbor-canal-locks.mjs";
scene.add(createPiece());Instructions; not yet tested on this engine · The check covers this configuration's GLB geometry in three.js, shared by R3F; not a framework render or an animated rig.
Export the exact object on the table, including its current knobs and visible parts. The binary scene is reloaded with GLTFLoader before your browser saves it.
// Record: /api/kits/harbor-canal-locks
// Baked knobs: {}
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const { scene: piece } = await new GLTFLoader().loadAsync("./harbor-canal-locks.glb");
scene.add(piece);Instructions; not yet tested on this engine · The check covers this configuration's GLB geometry in three.js, shared by R3F; not a framework render or an animated rig.
Save the same ES module beside this component, then mount it inside your React Three Fiber Canvas. The snapshot is static, not an animated rig.
// Record: /api/kits/harbor-canal-locks
// Baked knobs: {}
import { useMemo } from "react";
import createPiece from "./harbor-canal-locks.mjs";
export function Piece() {
const object = useMemo(() => createPiece(), []);
return <primitive object={object} dispose={null} />;
}Instructions; not yet tested on this engine · The check covers this configuration's GLB geometry in three.js, shared by R3F; not a framework render or an animated rig.
Export the GLB, save the file into your Godot project and let the editor import it. This is an import recipe, not a checked engine result.
# Record: /api/kits/harbor-canal-locks
# Baked knobs: {}
# Requires harbor-canal-locks.glb from the GLB file tab.
var piece = preload("res://models/harbor-canal-locks.glb").instantiate()
add_child(piece)Instructions; not yet tested on this engine · No engine import proof is claimed.
Export the GLB, place the file in StreamingAssets and install glTFast. Call this method from an existing MonoBehaviour; keep Unity's metre scale.
// Record: /api/kits/harbor-canal-locks
// Baked knobs: {}
// Requires harbor-canal-locks.glb from the GLB file tab.
async System.Threading.Tasks.Task LoadPiece() {
var gltf = new GLTFast.GltfImport();
var path = System.IO.Path.Combine(
UnityEngine.Application.streamingAssetsPath, "harbor-canal-locks.glb");
if (await gltf.Load(new System.Uri(path).AbsoluteUri))
await gltf.InstantiateMainSceneAsync(transform);
else UnityEngine.Debug.LogError("Meshsmiths import failed");
}Instructions; not yet tested on this engine · No engine import proof is claimed.
Read our brief, then ask the HTTP tool bridge for the record. The bridge handles tools/call; full MCP sessions and editor clients have not been tested.
BASE=""
# Preserve these knob values: {}
curl -fsS "$BASE/prompt.txt"
curl -fsS -X POST "$BASE/api/mcp" -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_kit","arguments":{"id":"harbor-canal-locks"}}}'Instructions; not yet tested on this engine · HTTP bridge only, not a full MCP client integration.
HTTP bridge documentation · Our agent brief · Read the real record
Snapshot exports keep current knobs and visibility, but not animations. Public inspection does not grant distribution rights. Read the licence.
Only what is counted or checked for this kit is listed here.
Every part of the kit, 94 in all, with its triangle count and showcase tier.
Environments316 tris
Props456 tris
Environments332 tris
Environments144 tris
Environments204 tris
Environments300 tris
Environments288 tris
Environments144 tris
Environments388 tris
Props300 tris
Props1,020 tris
Props280 tris
Props268 tris
Props304 tris
Props256 tris
Props576 tris
Props244 tris
Props228 tris
Props376 tris
Environments120 tris
Environments132 tris
Props424 tris
Props292 tris
Props384 tris
Props208 tris
Props828 tris
Props420 tris
Props124 tris
Props356 tris
Props392 tris
Environments196 tris
Environments180 tris
Environments388 tris
Environments204 tris
Environments216 tris
Environments284 tris
Environments292 tris
Environments864 tris
Environments240 tris
Environments172 tris
Environments228 tris
Props124 tris
Props192 tris
Props360 tris
Props368 tris
Props152 tris
Props672 tris
Props228 tris
Environments408 tris
Environments148 tris
Props312 tris
Props368 tris
Props260 tris
Props176 tris
Props332 tris
Props380 tris
Environments336 tris
Props252 tris
Props180 tris
Props476 tris
Props176 tris
Props108 tris
Props668 tris
Props144 tris
Props696 tris
Props168 tris
Props356 tris
Props216 tris
Props180 tris
Props216 tris
Props196 tris
Props228 tris
Props224 tris
Props300 tris
Props272 tris
Props176 tris
Props348 tris
Props200 tris
Props556 tris
Props132 tris
Props668 tris
Props564 tris
Props348 tris
Props704 tris
Props560 tris
Props572 tris
Props552 tris
Props288 tris
Props256 tris
Props240 tris

Props12,244 tris

Props11,090 tris

Props8,189 tris

Props24,063 tris