Bookshelves
A low-poly freestanding two-bay oak bookcase for a small city flat, with five shelves of books in mixed heights and colours, leaning books, flat stacks and small ornaments against a painted back panel. A trailing plant and a stack of books with a jug sit on top.

Left rail: colours and the 4 knobs the agent wrote into this model — they rebuild the geometry and go into your download. Right rail: looks for the viewer. Drag to orbit, scroll to zoom.
- Triangles
- 2,092
- Vertices
- 6,276
- Meshes · materials
- 20 · 20
- Size (W × H × D)
- 1.3 m × 2.2 m × 41 cm
- File
- GLB · 164 KB
- Animation
- Static
- Style
- Low-poly
- Collection
- Cozy Apartment
Palette · named materials
- oak#8f693d
- oak light#b48f64
- oak dark#594126
- dark wood#3d2a1c
- sage#89a178
- mustard#c39b22
- warm white#f9f7f5
- warm white light#f9f7f6
- warm white dark#ddd2c6
- soot black#1b1b22
- mid grey#7d828c
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/cozy-apartment-bookshelves/619c14608f/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +ZHow it was made
The brief given to 1DesignTool's “3D object” template:
Bookshelves for the Cozy Apartment kit. Design it as one clear asset at believable real-world scale for that setting (state the size in metres in meta.notes), with its main parts modelled and named, readable at thumbnail size and from every orbit angle. This is one part of the Cozy Apartment kit (Low-poly style, flat-lowpoly direction): A small lived-in city flat. Use ONLY the kit palette, by name: warm white #f9f7f5, oak #8f693d, mustard #c39b22, sage #89a178, warm white dark #ddd2c6, oak dark #594126, warm white light #f9f7f6, oak light #b48f64, soot black #1b1b22, mid grey #7d828c, dark wood #3d2a1c. Every material's `name` must be exactly the palette colour it uses — the GLB carries these names so the kit recolours as one; an unnamed material fails delivery. Kit knob: expose a param `wallColour` (0–1, default 0.5) for the kit's "Wall colour" setting wherever it makes sense on this part, and keep that id.
- Agent: Claude Code · Claude Opus 5.5 in 1DesignTool
- Direction: Low-poly · family products
- three-check PASS · glb-lint PASS
Named parts · 6
- Bookshelves
- Oak carcass
- Painted back panel
- Shelves
- Books
- Ornaments and plant
Note: Size: the carcass is 1.27 m wide (x −0.63…+0.63 across the top slab) × 0.35 m deep × 1.89 m tall to the top slab. The trailing plant on top brings the overall height to 2.21 m, and its leaves hang 5 cm in front of the nosing (z −0.17…+0.23). The origin is at the bottom centre on y = 0, with the front facing +Z. Each bay is 0.58 m clear with a 0.35 m shelf pitch. The GLB has 2,092 triangles in 20 meshes (merged per part and palette colour) and no animation clip. Every material is named exactly after its kit palette colour, and all 11 colours are used. Params are baked at export, so the GLB is the default build. wallColour steps the paint on the inner face of the back panel (warm white < 0.25 ≤ warm white dark < 0.5 ≤ sage < 0.75 ≤ mustard); books never take the paint colour. bays (1–3) and shelves (3–6) rebuild the case, and bookFill sets how much of each shelf the books fill. Book sizes and colours are seeded, so each param set always builds the same shelf. The maximum build (3 bays, 6 levels, full) is about 3.4k triangles. The rear is oak dark board with a batten frame, so the case can also stand mid-room. plan-check's part-id regex rejects the hyphenated slug ids the library requires, so the plan was validated on a de-hyphenated copy (PASS); three-check accepts the hyphenated ids. glb-lint reports 0 errors. Its warnings are expected for this pipeline: per-part material instances, non-indexed flat-shaded geometry, nested boards overlapping, a jug resting on a stack in another part group, and a scale heuristic tuned for 1 m props.
About the Bookshelves 3D model
Bookshelves is a free low-poly 3D model from the Cozy Apartment set. It measures 1.3 m × 2.2 m × 41 cm (W × H × D) at real-world scale and is built from 2,092 triangles across 20 meshes, with 6 named parts. Download the 164 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Bookshelves 3D model free for commercial use?
- Yes. It is free under the 1DesignTool 3D library license: use it in personal and commercial work — games, apps, websites, renders, ads and client projects — and modify it as you like, with no credit required. What you can't do is re-sell or re-distribute the file on its own or inside a model pack.
- What file format is it, and how big is it?
- A single binary glTF 2.0 file (.glb), 164 KB: 2,092 triangles, 6,276 vertices and 20 materials, modelled in metres at 1.3 m × 2.2 m × 41 cm.
- Can I animate Bookshelves?
- It ships as a static mesh. Its 6 named parts are separate nodes, so you can move or animate each one in your engine.
- Which engines and tools can open it?
- Anything that reads glTF 2.0. three.js, React Three Fiber, Babylon.js, Godot 4 and Blender import the GLB directly; Unity and Unreal Engine load it through their glTF importers. The snippets above show the exact code for three.js, React Three Fiber, Godot and Blender.
- How was the Bookshelves 3D model made?
- Claude Code (Claude Opus 5.5) generated it inside 1DesignTool's 3D template from a written brief, then the design kit's checks verified the geometry and the GLB before it was published. You can make your own the same way with 1DesignTool.
More like this
All of Cozy Apartment →
Curtains
Cozy Apartment2,960 tris

Robot vacuum
Cozy Apartment1,100 tris

Opening doors and drawers
Cozy Apartment1,436 tris

Ceiling fan
Cozy Apartment1,312 tris

Mugs
Cozy Apartment1,340 tris

Cushions
Cozy Apartment1,576 tris

Posters
Cozy Apartment864 tris

Record player
Cozy Apartment1,420 tris
Free under the 1DesignTool 3D library license. Model #47 of 1378.