Ballista frame
Environments148 tris
Static historic engine frames, lifting equipment, engineer tools, stores and crew furniture for a limestone-and-oak service courtyard.
Take Fortress enginewrights yard 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/fortress-artillery-courtyard
// Baked knobs: {}
import createPiece from "./fortress-artillery-courtyard.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/fortress-artillery-courtyard
// Baked knobs: {}
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const { scene: piece } = await new GLTFLoader().loadAsync("./fortress-artillery-courtyard.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/fortress-artillery-courtyard
// Baked knobs: {}
import { useMemo } from "react";
import createPiece from "./fortress-artillery-courtyard.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/fortress-artillery-courtyard
# Baked knobs: {}
# Requires fortress-artillery-courtyard.glb from the GLB file tab.
var piece = preload("res://models/fortress-artillery-courtyard.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/fortress-artillery-courtyard
// Baked knobs: {}
// Requires fortress-artillery-courtyard.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, "fortress-artillery-courtyard.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":"fortress-artillery-courtyard"}}}'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, 96 in all, with its triangle count and showcase tier.
Environments148 tris
Environments144 tris
Environments224 tris
Environments172 tris
Environments188 tris
Environments176 tris
Environments668 tris
Environments492 tris
Environments128 tris
Environments552 tris
Environments200 tris
Environments164 tris
Environments252 tris
Environments140 tris
Environments104 tris
Environments132 tris
Environments228 tris
Environments432 tris
Environments1,132 tris
Environments596 tris
Environments684 tris
Environments208 tris
Environments864 tris
Environments332 tris
Environments220 tris
Environments292 tris
Environments212 tris
Environments656 tris
Environments144 tris
Environments180 tris
Environments196 tris
Environments296 tris
Environments544 tris
Environments296 tris
Environments224 tris
Environments348 tris
Environments120 tris
Environments124 tris
Environments824 tris
Environments120 tris
Environments448 tris
Environments156 tris
Environments156 tris
Environments160 tris
Environments132 tris
Environments476 tris
Environments300 tris
Environments356 tris
Environments508 tris
Environments120 tris
Environments232 tris
Environments288 tris
Environments492 tris
Environments448 tris
Environments176 tris
Environments124 tris
Environments300 tris
Environments200 tris
Environments300 tris
Environments464 tris
Environments164 tris
Environments320 tris
Environments320 tris
Environments680 tris
Environments1,008 tris
Environments872 tris
Environments760 tris
Environments168 tris
Environments560 tris
Environments384 tris
Environments204 tris
Environments180 tris
Environments132 tris
Environments212 tris
Environments252 tris
Environments180 tris
Environments544 tris
Environments156 tris
Environments132 tris
Environments188 tris
Environments228 tris
Environments140 tris
Environments180 tris
Environments144 tris
Environments476 tris
Environments492 tris
Environments308 tris
Environments272 tris
Environments304 tris
Environments208 tris

Props10,816 tris

Props22,628 tris

Props17,615 tris

Props9,596 tris

Characters12,071 tris

Characters17,531 tris