Revolving bookcase door
A low-poly 1920s speakeasy secret door: a dark-wood bookcase packed with books on both faces, turning on a gold centre pivot inside an emerald-papered, wainscoted wall section. It loops through swinging open edge-on, holding, and closing again.

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
- 3,228
- Vertices
- 9,684
- Meshes · materials
- 22 · 22
- Size (W × H × D)
- 2.1 m × 2.5 m × 1.0 m
- File
- GLB · 258 KB
- Animation
- scene-motion · 10.0s
- Style
- Low-poly
- Collection
- Speakeasy
Palette · named materials
- emerald — wallpaper (wall), also book spines#248f59
- dark wood — bookcase carcass, shelves and wainscot (body)#3d2a1c
- black — door casing (trim)#151619
- soot black — cornice and baseboard (trim)#1b1b22
- black dark — reveal lining and bookcase centre spine (lining)#090a0b
- black light — threshold plate, also book spines#3a3c40
- gold — shelf lips, crown strip, rail, keystone, pivot collars, gilt book spines (accent)#d0a225
- gold dark — pivot bearings, book spines (hardware)#8f7019
- gold light — pivot pins (pivot)#debd63
- velvet red — book spines (books)#c32222
- warm white — book spines (books)#f2ede2
- mid grey — book spines (books)#7d828c
Use it
import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js";
const gltf = await new GLTFLoader().loadAsync(
"https://assets.stoicsoft.com/1designtool/3d/models/speakeasy-revolving-bookcase-door/e432d708b1/model.glb"
);
scene.add(gltf.scene); // metres, +Y up, front faces +Z
const mixer = new THREE.AnimationMixer(gltf.scene);
gltf.animations.forEach((clip) => mixer.clipAction(clip).play());
// in your loop: mixer.update(delta)How it was made
The brief given to 1DesignTool's “3D object” template:
Revolving bookcase door for the Speakeasy 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. It moves: author a seamless baked loop (2–12 s) with every pivot exactly at its hinge, axle or swivel, and keep the base still. This is one part of the Speakeasy kit (Low-poly style, flat-lowpoly direction): A hidden jazz club in the 1920s. Use ONLY the kit palette, by name: black #151619, gold #d0a225, emerald #248f59, velvet red #c32222, black dark #090a0b, gold dark #8f7019, black light #3a3c40, gold light #debd63, soot black #1b1b22, warm white #f2ede2, 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 `luxuryLevel` (0–1, default 0.5) for the kit's "Luxury level" 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 abstract-kinetic
- three-check PASS · glb-lint PASS
Named parts · 8
- Revolving bookcase door
- Wall section
- Door casing
- Threshold and floor socket
- Bookcase leaf
- Carcass and shelves
- Books
- Pivot pins
Note: Size: the wall section is 2.0 m wide (2.08 m across the cornice), 2.5 m tall and 0.24 m thick. The clear opening is 1.12 × 2.2 m. The bookcase leaf is 1.0 m wide, 2.13 m tall and 0.34 m deep, with shelves on both faces. Origin: bottom centre, resting on y = 0, club side facing +Z. The GLB has 3,228 triangles in 22 meshes (merged per part and colour), with flat normals (non-indexed). Every material is named exactly after a Speakeasy kit palette colour, and all 12 kit colours are used. The exporter writes one material per mesh, so some names repeat: recolour by name. Motion: one baked 10 s seamless clip, 'scene-motion'. The 'leaf' node turns about Y on the pivot-pin axis (x = 0, z = 0): it swings clockwise seen from above to 90°, holds, swings shut and holds, easing to a stop at each end. The clip starts mid-swing (about 32° open), so the GLB's rest pose and the preview show the door ajar. Wall, casing and threshold never move (their clip tracks are constant). The leaf's sweep radius is smaller than the jamb lining, so it never clips the frame at any angle. Params are baked into the GLB at their defaults and change the geometry only when the scene is rebuilt in the viewer. luxuryLevel (the kit's 'Luxury level') gilds the furniture: the shelf lips appear from 0.15 up, the crown strip from 0.35 and the casing keystone from 0.25. The rail, lips and keystone are gold dark below 0.5 and gold from 0.5 up, and the share of gilt book spines rises from 4% to 22%. swingAngle sets how far the loop opens the leaf. shelfCount sets the number of shelves per face, and bookFill sets how tightly they are packed. The book layout comes from a fixed seed. Only the defaults were rendered and checked. The pale floor in the preview is viewer staging and is not in the GLB. There is no corridor behind the wall, so the open passage looks straight through. glb-lint: 0 errors and 5 heuristic warnings, all expected: material count and duplicate names (one material per mesh), non-indexed flat shading, overlapping sibling boxes (books on shelves, nested trim), and a 2.5 m height against its generic 1 m reference. plan-check rejects the hyphenated slug part ids this library requires, because of its part-id regex. The same plan with the slug de-hyphenated passes (one warning). three-check accepts the hyphenated ids, and all 8 planned ids survive the GLB reload. Fix rounds: (1) fixed a favicon 404 and reversed the swing so the hero shows the leaf clearly ajar; (2) widened the side-view framing and closed the emerald slivers at the jambs; (3) wrapped the wainscot, rail and baseboard around the wall ends.
About the Revolving bookcase door 3D model
Revolving bookcase door is a free animated low-poly 3D model from the Speakeasy set. It measures 2.1 m × 2.5 m × 1.0 m (W × H × D) at real-world scale and is built from 3,228 triangles across 22 meshes, with 8 named parts and a baked animation (10.0 s). Download the 258 KB GLB and drop it into three.js, React Three Fiber, Godot or Blender — free for commercial use, no attribution required.
- Is the Revolving bookcase door 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), 258 KB: 3,228 triangles, 9,684 vertices and 22 materials, modelled in metres at 2.1 m × 2.5 m × 1.0 m.
- Is Revolving bookcase door animated?
- Yes — the GLB carries a baked animation (10.0 s), ready to play with any glTF animation mixer.
- 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 Revolving bookcase door 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 Speakeasy →Free under the 1DesignTool 3D library license. Model #65 of 1378.







