Ottoman House
An Ottoman-era town house in the spirit of Safranbolu and old Istanbul: a rubble-stone ground floor laced with timber, plastered upper floors that step out over the street on diagonal brackets, an optional cumba bay window, rows of tall lattice windows and a wide-eaved terracotta hip roof. About 7 m wide; windows glow at night and the double street door opens.
- Size
- 8.9 × 9.4 × 8.9 m
- Triangles
- 3,486
Tune it
4 knobs: Storeys, Wall colour, Bay window, Seed.
Specs
- Size
- 8.9 × 9.4 × 8.9 m width × height × depth
- Triangles
- 3,486 of 6,000
- Draw calls
- 1 one vertex-colour material
- Moving parts
- 2 door_L · rotate, door_R · rotate
- Knobs
- 4 3 presets
- Night lights
- 1 window
Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.
Use it
Code for the specimen as it is set up above; it follows your knobs.
import { createAsset } from 'https://gaitkit.com/cdn/ottoman-house.mjs';
const ottomanHouse = createAsset();
scene.add(ottomanHouse); // rests on y = 0, front faces +Z
// 'door_L' pivots on its hinge: -100° to 0° around y
ottomanHouse.getObjectByName('door_L').rotation.y = THREE.MathUtils.degToRad(-100);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/ottoman-house.mjs';
export function OttomanHouse() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import ottoman-house.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$OttomanHouse/door_L.rotation_degrees.y = -100// Import ottoman-house.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("door_L").localEulerAngles = new Vector3(/* y: */ -100, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "ottoman-house", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
storeys | choice | 2 3 | 2 | Number of floors: a stone ground floor plus one or two plastered timber floors, each stepping further out over the street. |
wall | choice | white ochre pale blue pink | ochre | Plaster colour of the upper floors: white (Safranbolu), ochre (warm yellow), pale blue or pink (old Istanbul). |
bay | toggle | on / off | true | Cumba: a closed bay window box that juts from the top floor over the street on brackets, glazed on three sides. |
seed | range | 1 to 50, step 1 | 5 | Reshuffles the door position, which windows carry wooden lattice screens, stone shades, flower pots and the chimney. Same seed, same house. |
Presets: safranbolu mansion {"storeys":3,"wall":"white","bay":true,"seed":12} · istanbul row house {"storeys":3,"wall":"pink","bay":true,"seed":3} · village house {"storeys":2,"wall":"pale blue","bay":false,"seed":21}
Files
| File | What |
|---|---|
| ottoman-house.glb | GLB, default look · 554 KB |
| ottoman-house.mjs | ES module, every knob live |
| ottoman-house.obj | OBJ, static, no colour |
| ottoman-house-params.json | knob schema, presets, night zones |
Licence
Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.