{"data":{"id":"153","slug":"roman-bathhouse-and-palaestra","title":"Roman Bath House and Palaestra","summary":"Walk a Roman bathing sequence in order: changing room, cold plunge, a tepidarium with its hypocaust opened up, the hot pool and its apse, the furnace yard behind it, and a colonnaded sand court.","url":"https://3dassets.dev/demos/roman-bathhouse-and-palaestra","coverUrl":"https://cdn.3dassets.dev/media/roman-bathhouse-and-palaestra-demo.png","featured":true,"pack":{"slug":"roman-bathhouse-and-palaestra","title":"Roman Bathhouse and Palaestra","url":"https://3dassets.dev/packs/roman-bathhouse-and-palaestra","summary":"Realistic kit for a Roman public bath house: cold, warm and hot pools, a cutaway hypocaust floor, the furnace and boiler, columns in three orders, vaults, mosaics, marble panelling, bathing kit and an open sand exercise court with its porticoes.","assetCount":63,"totalBytes":3884056,"starterScene":{"slug":"roman-bathhouse-and-palaestra-bath-house-c0db5458-starter-scene","cdnUrl":"https://cdn.3dassets.dev/assets/37911/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-bath-house-c0db5458-starter-scene","fileSize":1983208}},"placementCount":956,"assetCount":62,"spawn":{"position":[-24.5,0,8],"yaw":90},"publishedAt":"2026-09-12T06:20:34.148Z","updatedAt":"2026-09-12T06:20:34.148Z","description":"## What is here\n\nA bath house and its exercise court, laid out as a visitor would walk it. The enfilade runs west to east through four arches: an **apodyterium** with a long run of changing benches, cubby shelves, clothes hook rails, strigil and oil flask trays and towel racks; a **frigidarium** with a marble cold plunge basin, its steps and grab rails, and an open cold pool kerbed in steps under a pair of wall spouts; a **tepidarium** with a bay of its floor lifted off so the hypocaust pilae beneath are open to view; and a **caldarium** with the hot pool, flue tiles running the heat up the wall and a half domed apse holding the labrum.\n\nBehind the caldarium is the **service end**, which is the part of a bath house that is almost never modelled: the praefurnium stoking mouth firing under the floor, the boiler tank over the same fire, the wood store, a water lifting wheel, lead pipe runs, a bronze stopcock and the drain channels.\n\nSouth of the block the **palaestra** is a full open court of sand, porticoed on the west, south and east sides and fronted by the bath house colonnade on the north. A kerbed wrestling pit, stone weights, halteres, a discus and javelin rack, punching posts and a ball basket are on the sand; a vendor stall, amphora racks, masseur tables, statue plinths, a sundial and fountain basins sit round the walk, inside a boundary wall with two gates.\n\nArchitecture repeats on purpose: colonnade bays, portico runs, columns in the Tuscan, Ionic and Corinthian orders, marble wall panelling, opus sectile panels, pilasters and mosaic floors are what make this read as a building rather than a set of pools.\n\n## What moves\n\nDeliberately little, because a bath house is architecture. Two doorway leaves, the two boundary gate leaves, the praefurnium stoke door, a storage chest lid, the bronze stopcock and the water lifting wheel. A short clip list is the correct answer here, not an omission: everything else in the pack is masonry, marble or fixed bronze, and animating it would be inventing movement that is not there.\n\n## What does not move, and why\n\nWater, steam, fire, smoke and hanging cloth are all static. Fluid, flame and flexible material each need a shader or a joint per element, and none of that is reachable with the rigid node transforms this library uses, so the water is a still translucent slab, the braziers and lamps are unlit geometry and the towels hang without sway. There are no people anywhere: the pack has no skinned meshes.\n\nThe rooms are open topped by design. Vault and dome sections sit only over the back corners and the apse keeps its half dome, which is enough for the rooms to read as vaulted while leaving the walk lit from the sky and the whole place photographable from inside.\n\nNothing here is a real bath complex, and none of it names anyone. Every inscription and mosaic motif in the pack is an abstract geometric pattern rather than readable text, and the figure on the statue plinth is an abstract draped form.\n\n## Download\n\nThe scene loads every model in the pack, so it is the whole catalogue entry by weight. Individual GLBs are small; take only the ones you need from the pack page.","scene":{"version":1,"spawn":{"position":[-24.5,0,8],"yaw":90},"bounds":{"min":[-28.5,0,-18.6],"max":[28.5,9,17.6]},"ground":{"style":"none"},"environment":{"preset":"outdoor","light":"day","shadows":true},"placements":[{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-16,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-14,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-12,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-10,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-8,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-6,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-4,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-2,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[4,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[6,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[8,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[10,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[12,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[14,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-16,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-14,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-12,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-10,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-8,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-6,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-4,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-2,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[4,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[6,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[8,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[10,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[12,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[14,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-16,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-14,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-12,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-10,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-8,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-6,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-4,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-2,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[4,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[6,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[8,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[10,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[12,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[14,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-16,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-14,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-12,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-10,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-8,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-6,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-4,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-2,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[4,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[6,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[8,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[10,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[12,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[14,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-16,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-14,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-12,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-10,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-8,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[4,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[6,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[8,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[10,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[12,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[14,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-16,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-14,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-12,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-10,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-8,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[4,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[6,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[8,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[10,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[12,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[14,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-16,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-14,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-12,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[-10,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-8,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[4,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[6,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[8,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[10,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","position":[12,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[14,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-16,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-14,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-12,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-10,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[-8,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-6,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-4,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-2,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[4,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[6,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[8,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[10,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[12,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","position":[14,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-16,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-14,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-12,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-10,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-8,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-6,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-4,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-2,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[4,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[6,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[8,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[10,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[12,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[14,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-16,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-14,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-12,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-10,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-8,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-6,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-4,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-2,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[4,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[6,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[8,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[10,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[12,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[14,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,-2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-16,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-14,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-12,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-10,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-8,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-6,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-4,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-2,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[4,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[6,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[8,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[10,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[12,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[14,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,-4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-20,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-18,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-16,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-14,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-12,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-10,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-8,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-6,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-4,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-2,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[0,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[2,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[4,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[6,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[8,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[10,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[12,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-20,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-18,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-16,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-14,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-12,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-10,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-8,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-6,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-4,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-2,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[0,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[2,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[4,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[6,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[8,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[10,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[12,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-20,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-18,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-16,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-14,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-12,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-10,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-8,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-6,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-4,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-2,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[0,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[2,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[4,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[6,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[8,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[10,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[12,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-20,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-18,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-16,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-14,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-12,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-10,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-8,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-6,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-4,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-2,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[0,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[2,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[4,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[6,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[8,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[10,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[12,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-20,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-18,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-16,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-14,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-12,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-10,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-8,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-6,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-4,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[-2,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[0,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[2,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[4,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[6,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[8,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[10,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","position":[12,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[14,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,-14],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[14,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,-12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[14,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,-10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[14,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[14,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,-6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-26,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-24,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-22,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-20,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-18,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-16,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-14,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-12,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-10,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-8,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-6,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-4,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[-2,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[0,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[2,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[4,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[6,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[8,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[10,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[12,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[14,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[16,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[18,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[20,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[22,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[24,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","position":[26,0,-16],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-26,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[-24,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-22,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-20,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[-18,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-16,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-14,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[-12,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-10,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-8,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[-6,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-4,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-2,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[0,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[2,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[4,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[6,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[8,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[10,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[12,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[14,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[16,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[18,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[20,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[22,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[24,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[26,0.146,16],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-26,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-18,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[-16,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-14,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-12,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-10,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[-8,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-6,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-4,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-do-216648bb","position":[-2,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[0,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[2,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[4,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[6,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[8,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-do-216648bb","position":[10,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[12,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[14,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[16,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[18,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-do-216648bb","position":[20,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[22,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[24,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[26,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-arch-section-40ae14b5","position":[-22,0.146,0],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-27,0.146,1],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[-27,0.146,3],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","position":[-27,0.146,5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-27,0.146,7],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[-27,0.146,9],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","position":[-27,0.146,11],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-27,0.146,13],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[-27,0.146,15],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[27,0.146,1],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[27,0.146,3],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[27,0.146,5],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[27,0.146,7],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[27,0.146,9],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[27,0.146,11],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[27,0.146,13],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","position":[27,0.146,15],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-17,0.146,1],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","position":[-17,0.146,3],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-17,0.146,5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-17,0.146,11],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","position":[-17,0.146,13],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-17,0.146,15],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-arch-section-40ae14b5","position":[-17,0.146,8],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-7,0.146,1],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","position":[-7,0.146,3],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-7,0.146,5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-7,0.146,11],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","position":[-7,0.146,13],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-7,0.146,15],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-arch-section-40ae14b5","position":[-7,0.146,8],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[3,0.146,1],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","position":[3,0.146,3],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[3,0.146,5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[3,0.146,11],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","position":[3,0.146,13],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[3,0.146,15],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-arch-section-40ae14b5","position":[3,0.146,8],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[15,0.146,1],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[15,0.146,3],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[15,0.146,5],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[15,0.146,11],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[15,0.146,13],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[15,0.146,15],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-caldarium-apse-section-4ca8afa5","position":[15,0.146,8],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-22.2,0.146,13],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-22.2,0.146,15],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-26,0.146,11.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-24,0.146,11.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-groin-vault-section-66703c2d","position":[-24.6,4.146,13.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-12.2,0.146,13],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-12.2,0.146,15],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-16,0.146,11.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-14,0.146,11.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-barrel-vault-section-0bba26f8","position":[-14.6,4.146,13.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-barrel-vault-section-0bba26f8","position":[-14.6,4.146,15.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-1.6,0.146,13],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[-1.6,0.146,15],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[0,0.146,11.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[2,0.146,11.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-dome-section-with-oculus-707ed5a8","position":[0.7,4.146,13.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[10.2,0.146,13],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[10.2,0.146,15],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[12,0.146,11.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","position":[14,0.146,11.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-barrel-vault-section-0bba26f8","position":[12.6,4.146,13.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-barrel-vault-section-0bba26f8","position":[12.6,4.146,15.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-16,0.146,15.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-16,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-14,0.146,15.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-14,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-12,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-10,0.146,15.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-10,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-8,0.146,15.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-8,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-6,0.146,15.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-4,0.146,15.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[0,0.146,15.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[2,0.146,15.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-26,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-24,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-20,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[-18,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[4,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[6,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[8,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[10,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[12,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","position":[14,0.146,0.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[4.5,0.146,15.72],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[5.5,0.146,15.72],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[6.5,0.146,15.72],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[7.5,0.146,15.72],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[8.5,0.146,15.72],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[11.5,0.146,15.72],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[12.5,0.146,15.72],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[13.5,0.146,15.72],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[3.3,0.146,1.5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[3.3,0.146,2.5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[3.3,0.146,3.5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[3.3,0.146,4.5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[14.7,0.146,1.5],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[14.7,0.146,2.5],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","position":[14.7,0.146,3.5],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[-15,0.146,15.75],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[-10.5,0.146,15.75],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[-7.1,0.146,15.75],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[-2.6,0.146,15.75],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[3.1,0.146,15.75],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[9,0.146,15.75],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[-25,0.146,0.25],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[-15,0.146,0.25],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[-5,0.146,0.25],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[5,0.146,0.25],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","position":[13,0.146,0.25],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","position":[-16.8,0.146,1.6],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","position":[-16.8,0.146,14.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","position":[-7.2,0.146,1.6],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","position":[-7.2,0.146,14.4],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","position":[2.8,0.146,1.6],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","position":[2.8,0.146,14.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","position":[15.3,0.146,4.2],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","position":[15.3,0.146,11.8],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-niche-with-urn-76d5fdcb","position":[-16.65,0.146,3.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-niche-with-urn-76d5fdcb","position":[-16.65,0.146,12.6],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-niche-with-urn-76d5fdcb","position":[-7.35,0.146,3.4],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-niche-with-urn-76d5fdcb","position":[-7.35,0.146,12.6],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-column-tuscan-0479b8ad","position":[-25,0.446,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-tuscan-0479b8ad","position":[-19,0.446,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-tuscan-0479b8ad","position":[-20.5,0.446,12],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-tuscan-0479b8ad","position":[-19,0.446,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-ionic-4841c615","position":[-15.5,0.446,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-ionic-4841c615","position":[-15.5,0.446,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-ionic-4841c615","position":[-9.5,0.446,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-ionic-4841c615","position":[-11,0.446,13.5],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-ionic-4841c615","position":[-6,0.446,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-ionic-4841c615","position":[2,0.446,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-ionic-4841c615","position":[2,0.446,9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-ionic-4841c615","position":[-6,0.446,14.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-corinthian-6e5a51d3","position":[5.6,0.446,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-corinthian-6e5a51d3","position":[12,0.446,4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-corinthian-6e5a51d3","position":[5.6,0.446,10],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-column-corinthian-6e5a51d3","position":[12,0.446,9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76","position":[-24.5,0.146,15.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76","position":[-20.5,0.146,15.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76","position":[-18.1,0.146,15.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76","position":[-26.4,0.146,3.5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76","position":[-26.4,0.146,5.9],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76","position":[-26.4,0.146,9.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76","position":[-26.4,0.146,13.6],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-clothes-hook-rail-024260a7","position":[-16.8,1.646,1.4],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-clothes-hook-rail-024260a7","position":[-16.8,1.646,14.6],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-clothes-hook-rail-024260a7","position":[-26.5,1.646,0.35],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-clothes-hook-rail-024260a7","position":[-25,1.646,0.35],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-clothes-hook-rail-024260a7","position":[-19.5,1.646,0.35],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-clothes-hook-rail-024260a7","position":[-18,1.646,0.35],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-strigil-and-oil-flask-tr-7b3d1c0f","position":[-24.5,0.686,15.1],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-strigil-and-oil-flask-tr-7b3d1c0f","position":[-20.5,0.686,15.1],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-strigil-and-oil-flask-tr-7b3d1c0f","position":[-26.1,0.686,5.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-strigil-and-oil-flask-tr-7b3d1c0f","position":[-26.1,0.686,9.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-towel-rack-6cc28901","position":[-19.6,0.146,2.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-towel-rack-6cc28901","position":[-23.4,0.146,2.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-towel-rack-6cc28901","position":[-18.4,0.146,11.4],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","position":[-25.2,0.146,2.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","position":[-20.4,0.146,13.6],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","position":[-18.6,0.146,8.4],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","position":[-20.4,0.146,4.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-22,0.146,8.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-20,0.146,8.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-19.4,0.146,14.6],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-26.2,0.146,1.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-21.8,0.146,1.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","position":[-24,2.946,13.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","position":[-22.6,2.946,12.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","position":[-24,0.146,5.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-frigidarium-cold-plunge--a2228ceb","position":[-14.2,0.146,13.6],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-14.2,0.146,11.95],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-still-water-surface-pane-23cbf956","position":[-12,0.266,5],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-still-water-surface-pane-23cbf956","position":[-12,0.266,7],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-still-water-surface-pane-23cbf956","position":[-10,0.266,5],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-still-water-surface-pane-23cbf956","position":[-10,0.266,7],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-12,0.146,3.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-12,0.146,8.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-10,0.146,3.3],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-10,0.146,8.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-13.7,0.146,5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-8.3,0.146,5],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-13.7,0.146,7],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-8.3,0.146,7],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-water-spout-mask-d892f530","position":[-16.75,1.546,2.2],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-water-spout-mask-d892f530","position":[-7.25,1.546,2.2],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-13.6,0.146,15.3],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-8.8,0.146,15.3],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-15,0.146,2.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-9,0.146,2.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","position":[-16,0.146,7.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","position":[-16,0.146,6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-11,0.146,11.5],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-11.5,0.146,2.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","position":[-16,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","position":[-14,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","position":[-12,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","position":[-10,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","position":[-8,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","position":[-14.6,2.946,12.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","position":[-13.2,2.946,15.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-tepidarium-hypocaust-cut-9cb2278c","position":[-4.2,0,11],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-6,0,7.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-6,0,8.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-5.2,0,7.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-5.2,0,8.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-4.4,0,7.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-4.4,0,8.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-3.6,0,7.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-3.6,0,8.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.9,0,7.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.9,0,8.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.9,0,9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.9,0,9.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.9,0,10.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.9,0,11.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.3,0,7.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.3,0,8.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.3,0,9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.3,0,9.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.3,0,10.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[-1.3,0,11.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-3.4,0.146,13.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[-5.4,0.146,13.7],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-5.6,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-3.6,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-0.8,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[1.4,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","position":[-4.4,0.146,4.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","position":[0.6,0.146,4.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","position":[1.6,0.146,14.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-6.4,0.146,4.6],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[2.4,0.146,2],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-6.4,0.146,2.6],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-0.6,0.146,6.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-masseur-table-e43d4870","position":[1,0.146,8.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-masseur-table-e43d4870","position":[1,0.146,12.8],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-towel-rack-6cc28901","position":[9.8,0.146,15.3],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","position":[0,2.946,13.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","position":[-1.6,2.946,11.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","position":[-2.2,0.146,3.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-caldarium-hot-pool-ae6f35ad","position":[8.5,0.146,4.6],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[8.5,0.146,6.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","position":[8.5,0.146,2.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-labrum-basin-on-stand-e08f22b4","position":[16.4,0.146,8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-water-spout-mask-d892f530","position":[17.35,1.95,8],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[3.8,0.146,12.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[14.2,0.146,12.4],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[3.8,0.146,14.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[14.2,0.146,14.4],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[5.4,0.146,14.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[12.6,0.146,14.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","position":[5,0.146,8.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","position":[11.4,0.146,7.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[4.4,0.146,2.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[13.6,0.146,2.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[9,0.146,11.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","position":[4,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","position":[6,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","position":[8,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","position":[10,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","position":[12,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","position":[14,0.146,0.9],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","position":[6,2.946,15],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","position":[10.8,2.946,15],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","position":[4.6,0.146,6.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-praefurnium-furnace-mout-691340e2","position":[16.7,0.146,3],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-boiler-tank-and-setting-f014bf01","position":[19.8,0.146,3],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-furnace-wood-store-d62afae9","position":[22.4,0.146,1.1],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-furnace-wood-store-d62afae9","position":[22.4,0.146,15.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-water-lifting-wheel-67002f5a","position":[24.6,0.146,8],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-bronze-stopcock-valve-b33ea31d","position":[21.4,0.146,5.8],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-bronze-stopcock-valve-b33ea31d","position":[20.2,0.146,11.6],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-lead-pipe-run-7b67a688","position":[18.6,0.146,4.7],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lead-pipe-run-7b67a688","position":[20.6,0.146,4.7],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lead-pipe-run-7b67a688","position":[22.6,0.146,4.7],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lead-pipe-run-7b67a688","position":[22.8,0.146,6.8],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-lead-pipe-run-7b67a688","position":[22.8,0.146,8.8],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-lead-pipe-run-7b67a688","position":[22.8,0.146,10.8],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","position":[16,0.146,13.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","position":[18,0.146,13.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","position":[20,0.146,13.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","position":[22,0.146,13.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","position":[24,0.146,13.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","position":[26,0.146,13.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-amphora-rack-482ef8e6","position":[26.2,0.146,9.9],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-amphora-rack-482ef8e6","position":[26.2,0.146,11.9],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-amphora-rack-482ef8e6","position":[16.8,0.146,15.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","position":[18.4,0.146,12.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","position":[24.6,0.146,12.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[18.8,0.146,15.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[26.4,0.146,3],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[24.2,0.146,1.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[24.2,0.146,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[25.2,0.146,1.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","position":[25.2,0.146,2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[16.6,0.146,11.2],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[20.1,0.146,15.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[-26,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[-18,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[-16,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[-14,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[-12,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[-10,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[-8,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[-6,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[-4,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[-2,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[0,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[2,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[4,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[6,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[8,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[10,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","position":[12,0.146,-1.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-20,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-18,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-16,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-14,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-12,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-10,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-8,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-6,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-4,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-2,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[0,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[2,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[4,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[6,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[8,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[10,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[12,0,-15.8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-21.6,0,-14],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[13.6,0,-14],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-21.6,0,-12],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[13.6,0,-12],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-21.6,0,-10],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[13.6,0,-10],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-21.6,0,-8],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[13.6,0,-8],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[-21.6,0,-6],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","position":[13.6,0,-6],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-26,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-24,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-22,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-20,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-18,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-16,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-14,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-12,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-10,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-8,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-6,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-4,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-2,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-gate-03f1cb0d","position":[0,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[2,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[4,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[6,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[8,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[10,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[12,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[14,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[16,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-gate-03f1cb0d","position":[18,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[20,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[22,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[24,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[26,0.146,-17],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-27,0.146,-15],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[27,0.146,-15],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-27,0.146,-13],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[27,0.146,-13],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-27,0.146,-11],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[27,0.146,-11],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-27,0.146,-9],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[27,0.146,-9],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-27,0.146,-7],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[27,0.146,-7],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-27,0.146,-5],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[27,0.146,-5],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[-27,0.146,-3],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","position":[27,0.146,-3],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-11,0.126,-7],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-11,0.126,-13],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-9,0.126,-7],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-9,0.126,-13],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-7,0.126,-7],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-7,0.126,-13],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-5,0.126,-7],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-5,0.126,-13],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-12,0.126,-12],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-4,0.126,-12],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-12,0.126,-10],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-4,0.126,-10],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-12,0.126,-8],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","position":[-4,0.126,-8],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-punching-post-9bb15da8","position":[2,0.126,-7.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-punching-post-9bb15da8","position":[5,0.126,-7.2],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-stone-weight-set-7083f497","position":[-17.4,0.126,-6.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-weight-set-7083f497","position":[-16.2,0.126,-8.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-weight-set-7083f497","position":[8.4,0.126,-6.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-halteres-pair-05e57771","position":[-17.6,0.126,-10.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-halteres-pair-05e57771","position":[7.2,0.126,-8.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-halteres-pair-05e57771","position":[-15.4,0.126,-12.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-discus-and-javelin-rack-fdeff019","position":[10.4,0.126,-6.6],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-discus-and-javelin-rack-fdeff019","position":[-18.6,0.126,-13.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-ball-basket-96a60930","position":[0.4,0.126,-6.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-ball-basket-96a60930","position":[10.6,0.126,-12.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-ball-basket-96a60930","position":[-19,0.126,-8.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-22.4,0.146,-6],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-22.4,0.146,-9],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-22.4,0.146,-12],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-14,0.146,-15.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-8,0.146,-15.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[0,0.146,-15.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[6,0.146,-15.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-16,0.146,-4.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[-10,0.146,-4.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[4,0.146,-4.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","position":[10,0.146,-4.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-24.6,0.146,-4.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-16,0.146,-2.8],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-4,0.146,-2.8],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[8,0.146,-2.8],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[24.6,0.146,-4.6],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","position":[-24.6,0.146,-15.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-statue-plinth-with-drape-b840d586","position":[14.8,0.146,-3.2],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-statue-plinth-with-drape-b840d586","position":[-22.6,0.146,-3.2],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-statue-plinth-with-drape-b840d586","position":[18.2,0.146,-8],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-sundial-45f509e6","position":[16.6,0.146,-5],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-stone-sundial-45f509e6","position":[-24.6,0.146,-8.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-fountain-basin-5ddd0773","position":[20.4,0.146,-15.2],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-fountain-basin-5ddd0773","position":[-24.4,0.146,-12.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-water-spout-mask-d892f530","position":[20.4,1.35,-16.5],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-water-spout-mask-d892f530","position":[-26.5,1.35,-12.4],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-vendor-stall-42493924","position":[22.6,0.146,-6.2],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-vendor-stall-42493924","position":[22.6,0.146,-9.4],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-amphora-rack-482ef8e6","position":[25.8,0.146,-6.2],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-amphora-rack-482ef8e6","position":[25.8,0.146,-9.4],"rotation":270},{"asset":"roman-bathhouse-and-palaestra-amphora-rack-482ef8e6","position":[21.4,0.146,-12.6],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-masseur-table-e43d4870","position":[17.6,0.146,-12.2],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-masseur-table-e43d4870","position":[19.8,0.146,-12.2],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-towel-rack-6cc28901","position":[16.6,0.146,-10.2],"rotation":90},{"asset":"roman-bathhouse-and-palaestra-towel-rack-6cc28901","position":[24.6,0.146,-13.4],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","position":[15.9,0.146,-14.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","position":[-25.4,0.146,-6.4],"rotation":0},{"asset":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","position":[25.8,0.146,-4.6],"rotation":180},{"asset":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","position":[-25.4,0.146,-14.6],"rotation":0}],"points":[{"position":[-24.2,0,12.4],"title":"Apodyterium","text":"The changing room. Bathers left clothes in the cubbies behind the benches, hung what would not fit on the rails above, and picked up a strigil and an oil flask from the trays before going through.","asset":"roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76"},{"position":[-12,0,7.2],"title":"Frigidarium","text":"The cold room. A marble lined plunge basin with three steps and bronze grab rails, and an open cold pool beside it, both fed by spouts in the wall above.","asset":"roman-bathhouse-and-palaestra-frigidarium-cold-plunge--a2228ceb"},{"position":[-3.6,0,10.4],"title":"The hypocaust, opened up","text":"The floor here stands on short brick pillars. Hot air from the furnace at the far end travelled through the gap under the floor and up flue tiles in the walls, so the room was heated from below rather than by a fire in it.","asset":"roman-bathhouse-and-palaestra-tepidarium-hypocaust-cut-9cb2278c"},{"position":[8.5,0,8.4],"title":"Caldarium","text":"The hot room, closest to the furnace. A marble tank with a seat ledge along both sides, flue tiles carrying the heat up the wall behind, and the apse at the end holding the labrum, a shallow basin of cool water.","asset":"roman-bathhouse-and-palaestra-caldarium-hot-pool-ae6f35ad"},{"position":[18.6,0,4.4],"title":"The service end","text":"The part nobody sees. A stoking mouth fires under the caldarium floor, a boiler tank sits over the same fire, and the wood store keeps it fed. The stoke door opens.","asset":"roman-bathhouse-and-palaestra-praefurnium-furnace-mout-691340e2"},{"position":[23,0,8],"title":"Raising and routing the water","text":"A lifting wheel brings water up to the tank, lead pipes carry it in, and a bronze stopcock valve turns the supply. The wheel and the valve are the two things in the service yard that turn.","asset":"roman-bathhouse-and-palaestra-water-lifting-wheel-67002f5a"},{"position":[-4,0,-9.4],"title":"The palaestra","text":"The exercise court, sand floored and colonnaded on three sides. A kerbed wrestling pit, stone weights, halteres, a discus and javelin rack, punching posts and a ball basket are laid out across it.","asset":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7"},{"position":[20.4,0,-9.4],"title":"The court edge","text":"Around the sand: a vendor stall, amphora racks, masseur tables, towel racks, a sundial and a fountain, with the boundary wall and its gates closing the precinct off from the street.","asset":"roman-bathhouse-and-palaestra-vendor-stall-42493924"}],"poster":{"position":[-8.2,1.9,1.6],"lookAt":[-14.2,1.3,10.6]}},"bounds":{"min":[-28.5,0,-18.6],"max":[28.5,9,17.6]},"assets":[{"id":"37852","slug":"roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","title":"Bath House Paving Plate (Roman Bathhouse and Palaestra)","summary":"A 2 m bath house paving plate: nine travertine flags bedded in lime mortar, 140 mm thick, with floor ports on all four edges so a hall, a court or a corridor tiles off one grid.","description":"A 2 m bath house paving plate: nine travertine flags bedded in lime mortar, 140 mm thick, with floor ports on all four edges so a hall, a court or a corridor tiles off one grid. Ports sit at the four edge midpoints at half the slab thickness. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","cdnUrl":"https://cdn.3dassets.dev/assets/37852/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-bathhouse-paving-plate-c5bf37e1","thumbnailUrl":"https://cdn.3dassets.dev/assets/37852/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37852/v1/poster.webp","blurhash":"UAEfQX-;00WA%MWBM{of00IU~qWBD%t7t8WA","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":24628,"triangles":528,"vertices":1216,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00005157657903766266,-1],"max":[1,0.14598348870394587,1]},"sizeMeters":[2,0.146,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:44.595Z","updatedAt":"2026-09-12T05:53:44.718Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37852/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BathHousePavingPlateRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37852/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37852/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37852/v1/model.glb\" alt=\"Bath House Paving Plate (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37852/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37852/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37849","slug":"roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","title":"Mosaic Floor Plate, Border (Roman Bathhouse and Palaestra)","summary":"The border run of the same mosaic floor: a plain dark field framed in white with a red band of chequers along one edge, for finishing a mosaic against a wall or a pool rim. Same ports as the plain and patterned plates.","description":"The border run of the same mosaic floor: a plain dark field framed in white with a red band of chequers along one edge, for finishing a mosaic against a wall or a pool rim. Same ports as the plain and patterned plates. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","cdnUrl":"https://cdn.3dassets.dev/assets/37849/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-mosaic-floor-plate-borde-16d910f5","thumbnailUrl":"https://cdn.3dassets.dev/assets/37849/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37849/v1/poster.webp","blurhash":"U3B|BG%~00$g+$NaP8xG00MJt.E1Kv=xH@I:","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14004,"triangles":252,"vertices":581,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00005157657903766266,-1],"max":[1,0.1599828477547691,1]},"sizeMeters":[2,0.16,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:44.390Z","updatedAt":"2026-09-12T05:53:44.651Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37849/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MosaicFloorPlateBorderRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37849/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37849/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37849/v1/model.glb\" alt=\"Mosaic Floor Plate, Border (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37849/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37849/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37850","slug":"roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","title":"Mosaic Floor Plate (Roman Bathhouse and Palaestra)","summary":"The same 2 m plate laid as a mosaic floor: a dark tessera ground with a white border frame, an abstract key pattern of short bars and a lozenge at the centre. The pattern is geometric, never a picture and never lettering.","description":"The same 2 m plate laid as a mosaic floor: a dark tessera ground with a white border frame, an abstract key pattern of short bars and a lozenge at the centre. The pattern is geometric, never a picture and never lettering. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","cdnUrl":"https://cdn.3dassets.dev/assets/37850/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-mosaic-floor-plate-302019f1","thumbnailUrl":"https://cdn.3dassets.dev/assets/37850/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37850/v1/poster.webp","blurhash":"U3BzC9_300k8RrRkt2t6009F^-My-g%2MyRj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":16396,"triangles":300,"vertices":689,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,0.00005157657903766266,-1],"max":[1,0.1620332967051909,1]},"sizeMeters":[2,0.162,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:44.584Z","updatedAt":"2026-09-12T05:53:44.701Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37850/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MosaicFloorPlateRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37850/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37850/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37850/v1/model.glb\" alt=\"Mosaic Floor Plate (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37850/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37850/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37904","slug":"roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","title":"Palaestra Sand Court Module (Roman Bathhouse and Palaestra)","summary":"A 2 m palaestra sand court module 120 mm deep: a raked sand bed with shallow ridges and a scatter of scuffed hollows, with sand ports on all four edges so a whole exercise court tiles off one grid.","description":"A 2 m palaestra sand court module 120 mm deep: a raked sand bed with shallow ridges and a scatter of scuffed hollows, with sand ports on all four edges so a whole exercise court tiles off one grid. Ports sit at the four edge midpoints at half the bed depth. Sand meets paving over a kerb run, never edge to edge. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","cdnUrl":"https://cdn.3dassets.dev/assets/37904/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-palaestra-sand-court-mod-197c43d7","thumbnailUrl":"https://cdn.3dassets.dev/assets/37904/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37904/v1/poster.webp","blurhash":"UBEME=%M00Rj%MayWAof00M{~payD$ofofRj","category":{"slug":"nature","title":"Nature & Landscape"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17588,"triangles":364,"vertices":834,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000042054863685789257,-1],"max":[1,0.13204205414843007,1]},"sizeMeters":[2,0.132,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:11.375Z","updatedAt":"2026-09-12T05:54:11.483Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37904/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PalaestraSandCourtModuleRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37904/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37904/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37904/v1/model.glb\" alt=\"Palaestra Sand Court Module (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37904/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37904/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37853","slug":"roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","title":"Bath House Wall Module (Roman Bathhouse and Palaestra)","summary":"A 2 m bath house wall module 4 m tall: a mortared concrete core faced in six courses of travertine ashlar over a marble dado with red pilaster strips, and a moulded capping at the head. Modules butt end to end on the 2 m grid.","description":"A 2 m bath house wall module 4 m tall: a mortared concrete core faced in six courses of travertine ashlar over a marble dado with red pilaster strips, and a moulded capping at the head. Modules butt end to end on the 2 m grid. Ports wall-left and wall-right sit at the module ends at mid height, and the dressed face is +Z. The back is left as plain render, so a run reads from inside a room. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","cdnUrl":"https://cdn.3dassets.dev/assets/37853/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-bathhouse-wall-module-0e40db23","thumbnailUrl":"https://cdn.3dassets.dev/assets/37853/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37853/v1/poster.webp","blurhash":"U6FPB9~p0000_2%MD%9F00IU_2-p?b%2D%D%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":19032,"triangles":356,"vertices":826,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.0500692132191127,0,-0.509943529201882],"max":[1.0500692132191127,4.001200199127197,0.0699435390366484]},"sizeMeters":[2.1,4.001,0.58],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:47.278Z","updatedAt":"2026-09-12T05:53:47.371Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37853/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BathHouseWallModuleRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37853/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37853/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37853/v1/model.glb\" alt=\"Bath House Wall Module (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37853/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37853/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37854","slug":"roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","title":"Bath House Wall Module with High Window (Roman Bathhouse and Palaestra)","summary":"The same 2 m wall module with a 1.2 m by 0.9 m window high in the wall, barred in a lead grille on a travertine sill, which is how a vaulted hall is lit above head height. Same wall ports. The opening is unglazed.","description":"The same 2 m wall module with a 1.2 m by 0.9 m window high in the wall, barred in a lead grille on a travertine sill, which is how a vaulted hall is lit above head height. Same wall ports. The opening is unglazed. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","cdnUrl":"https://cdn.3dassets.dev/assets/37854/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-bathhouse-wall-module-wi-6dd3578f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37854/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37854/v1/poster.webp","blurhash":"U6F62z~W0000.7%MIV9G00IU^+-p~W%M9F9F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":27900,"triangles":540,"vertices":1253,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.0500692132191127,0,-0.509943529201882],"max":[1.0500692132191127,4.001200199127197,0.0699435390366484]},"sizeMeters":[2.1,4.001,0.58],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:47.301Z","updatedAt":"2026-09-12T05:53:47.407Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37854/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BathHouseWallModuleWithHighWindowRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37854/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37854/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37854/v1/model.glb\" alt=\"Bath House Wall Module with High Window (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37854/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37854/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37855","slug":"roman-bathhouse-and-palaestra-bathhouse-wall-module-do-216648bb","title":"Bath House Wall Module with Doorway (Roman Bathhouse and Palaestra)","summary":"The same 2 m wall module with a 1.3 m by 2.5 m doorway through it, dressed in travertine jambs and a lintel and hung with a pair of panelled timber leaves on bronze straps. Same wall ports, so it drops into a run of solid modules.","description":"The same 2 m wall module with a 1.3 m by 2.5 m doorway through it, dressed in travertine jambs and a lintel and hung with a pair of panelled timber leaves on bronze straps. Same wall ports, so it drops into a run of solid modules. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Named pivoted nodes: door-leaf-1, door-leaf-2. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-bathhouse-wall-module-do-216648bb","cdnUrl":"https://cdn.3dassets.dev/assets/37855/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-bathhouse-wall-module-do-216648bb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37855/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37855/v1/poster.webp","blurhash":"U9EM8x?a004o_Nxu9ED%9GRk-ot6s8xabwIo","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":39800,"triangles":1088,"vertices":2440,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0500296185886644,0,-0.5098907166234343],"max":[1.0500296185886644,4.001200199127197,0.06989072645820066]},"sizeMeters":[2.1,4.001,0.58],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:46.298Z","updatedAt":"2026-09-12T05:53:46.394Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37855/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BathHouseWallModuleWithDoorwayRomanBathhouseAndPalaestra(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37855/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37855/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37855/v1/model.glb\" alt=\"Bath House Wall Module with Doorway (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37855/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37855/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37865","slug":"roman-bathhouse-and-palaestra-arch-section-40ae14b5","title":"Arch Section (Roman Bathhouse and Palaestra)","summary":"A free standing arch section 4.7 m wide: two ashlar piers with marble impost bands carrying a semicircular ring of thirteen voussoirs and a raised keystone, springing at 2.4 m over a 3.3 m opening. One metre deep, so it reads as a wall thickness rather than a hoop.","description":"A free standing arch section 4.7 m wide: two ashlar piers with marble impost bands carrying a semicircular ring of thirteen voussoirs and a raised keystone, springing at 2.4 m over a 3.3 m opening. One metre deep, so it reads as a wall thickness rather than a hoop. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-arch-section-40ae14b5","cdnUrl":"https://cdn.3dassets.dev/assets/37865/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-arch-section-40ae14b5","thumbnailUrl":"https://cdn.3dassets.dev/assets/37865/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37865/v1/poster.webp","blurhash":"U8FYu*s;00~p%M?b4n4n00IUjsRk9FRj_3Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32600,"triangles":684,"vertices":1605,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.4100000858306885,-0.0001372369050900435,-0.5498568877733765],"max":[2.4100000858306885,4.889919864217126,0.5498568877733765]},"sizeMeters":[4.82,4.89,1.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:52.229Z","updatedAt":"2026-09-12T05:53:52.429Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37865/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ArchSectionRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37865/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37865/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37865/v1/model.glb\" alt=\"Arch Section (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37865/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37865/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37856","slug":"roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","title":"Bath House Wall Module with Niche (Roman Bathhouse and Palaestra)","summary":"The same 2 m wall module with a round headed niche recessed into its face, a marble voussoir head over it and a shelf at dado height, which is where a bath house puts a lamp, a jar or a statue. Same wall ports.","description":"The same 2 m wall module with a round headed niche recessed into its face, a marble voussoir head over it and a shelf at dado height, which is where a bath house puts a lamp, a jar or a statue. Same wall ports. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","cdnUrl":"https://cdn.3dassets.dev/assets/37856/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-bathhouse-wall-module-ni-558d9c1f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37856/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37856/v1/poster.webp","blurhash":"U6E{e4_30000_3-pD%4.00Rj~pxu?I%3IU9Z","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28160,"triangles":564,"vertices":1314,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.0500692132191127,0,-0.7100660295930589],"max":[1.0500692132191127,4.001200199127197,0.1900660486665452]},"sizeMeters":[2.1,4.001,0.9],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:47.386Z","updatedAt":"2026-09-12T05:53:47.499Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37856/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BathHouseWallModuleWithNicheRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37856/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37856/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37856/v1/model.glb\" alt=\"Bath House Wall Module with Niche (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37856/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37856/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37873","slug":"roman-bathhouse-and-palaestra-caldarium-apse-section-4ca8afa5","title":"Caldarium Apse Section (Roman Bathhouse and Palaestra)","summary":"A semicircular apse section for the end of a hot room, 5.2 m across and 4 m to the springing: a coursed travertine drum 420 mm thick with a moulded cornice, the first three courses of the half dome over it, and a marble bench running round the foot.","description":"A semicircular apse section for the end of a hot room, 5.2 m across and 4 m to the springing: a coursed travertine drum 420 mm thick with a moulded cornice, the first three courses of the half dome over it, and a marble bench running round the foot. The half dome is a springing, not a closed cap, so a scene under it stays open to the camera. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-caldarium-apse-section-4ca8afa5","cdnUrl":"https://cdn.3dassets.dev/assets/37873/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-caldarium-apse-section-4ca8afa5","thumbnailUrl":"https://cdn.3dassets.dev/assets/37873/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37873/v1/poster.webp","blurhash":"U9GIlu4o00Ri%MD%M_?b00-:~qM{M{WCt7xa","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":68284,"triangles":1528,"vertices":3512,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.7602105681779134,-0.00005129213339216676,-2.759999990463257],"max":[0.010188146553732125,5.361242064223033,2.759999990463257]},"sizeMeters":[2.77,5.361,5.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:55.811Z","updatedAt":"2026-09-12T05:53:55.930Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37873/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CaldariumApseSectionRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37873/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37873/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37873/v1/model.glb\" alt=\"Caldarium Apse Section (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37873/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37873/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37867","slug":"roman-bathhouse-and-palaestra-groin-vault-section-66703c2d","title":"Groin Vault Section (Roman Bathhouse and Palaestra)","summary":"A groin vault bay 4 m by 2 m: two barrel shells crossing at right angles on four corner piers, with marble ribs run along the four groins to the crown. It is a section, not a whole room: repeat it or butt it to a barrel run.","description":"A groin vault bay 4 m by 2 m: two barrel shells crossing at right angles on four corner piers, with marble ribs run along the four groins to the crown. It is a section, not a whole room: repeat it or butt it to a barrel run. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-groin-vault-section-66703c2d","cdnUrl":"https://cdn.3dassets.dev/assets/37867/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-groin-vault-section-66703c2d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37867/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37867/v1/poster.webp","blurhash":"U8HV0U?c00My-:a_D%oe00IU%MjZ9Zjc~qt7","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22584,"triangles":456,"vertices":1112,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-2.3499999046325684,0.00010291569676845747,-2.3499999046325684],"max":[2.3499999046325684,3.3160792208388763,2.3499999046325684]},"sizeMeters":[4.7,3.316,4.7],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:53.526Z","updatedAt":"2026-09-12T05:53:53.631Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37867/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function GroinVaultSectionRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37867/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37867/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37867/v1/model.glb\" alt=\"Groin Vault Section (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37867/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37867/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37866","slug":"roman-bathhouse-and-palaestra-barrel-vault-section-0bba26f8","title":"Barrel Vault Section (Roman Bathhouse and Palaestra)","summary":"A 2 m deep section of barrel vault over a 4 m span: thirteen radial voussoir rings 380 mm thick on short springing blocks, with a marble impost band along each side. Sections repeat along the vault, and the scene sets them on a wall head at whatever height the walls give.","description":"A 2 m deep section of barrel vault over a 4 m span: thirteen radial voussoir rings 380 mm thick on short springing blocks, with a marble impost band along each side. Sections repeat along the vault, and the scene sets them on a wall head at whatever height the walls give. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-barrel-vault-section-0bba26f8","cdnUrl":"https://cdn.3dassets.dev/assets/37866/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-barrel-vault-section-0bba26f8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37866/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37866/v1/poster.webp","blurhash":"UHHV3bD*01~pof-;D%IU00IVM{M{D*Rj-;RP","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":11304,"triangles":204,"vertices":502,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-2.4000000953674316,0.00007098185392884204,-1.0012604625863843],"max":[2.4000000953674316,3.362576074725661,1.0012604625863843]},"sizeMeters":[4.8,3.363,2.003],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:52.297Z","updatedAt":"2026-09-12T05:53:52.472Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37866/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BarrelVaultSectionRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37866/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37866/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37866/v1/model.glb\" alt=\"Barrel Vault Section (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37866/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37866/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37868","slug":"roman-bathhouse-and-palaestra-dome-section-with-oculus-707ed5a8","title":"Dome Section with Oculus (Roman Bathhouse and Palaestra)","summary":"A 5.3 m dome on a low drum with an open oculus at the crown: a coffered shell of five rings on a moulded cornice, the eye ringed in marble. It is a section for capping a hot room, and the oculus is a real hole through the shell, so a scene under it is lit rather than sealed.","description":"A 5.3 m dome on a low drum with an open oculus at the crown: a coffered shell of five rings on a moulded cornice, the eye ringed in marble. It is a section for capping a hot room, and the oculus is a real hole through the shell, so a scene under it is lit rather than sealed. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-dome-section-with-oculus-707ed5a8","cdnUrl":"https://cdn.3dassets.dev/assets/37868/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-dome-section-with-oculus-707ed5a8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37868/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37868/v1/poster.webp","blurhash":"UEF$R:-;00IU4oRjxut700M{~qt7-;ofxuaf","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":57796,"triangles":1400,"vertices":2906,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-2.759999990463257,-0.0001516959801597384,-2.759999990463257],"max":[2.759999990463257,3.859567853226581,2.759999990463257]},"sizeMeters":[5.52,3.86,5.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:54.022Z","updatedAt":"2026-09-12T05:53:54.147Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37868/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DomeSectionWithOculusRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37868/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37868/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37868/v1/model.glb\" alt=\"Dome Section with Oculus (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37868/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37868/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37857","slug":"roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","title":"Marble Wall Panel Run (Roman Bathhouse and Palaestra)","summary":"A 2 m run of marble wall panelling 2.2 m tall: a travertine plinth, fluted stiles either side of a veneered field with a red porphyry centre panel, and a moulded cornice over it. Stand it against a wall module to line a hot room or a changing room.","description":"A 2 m run of marble wall panelling 2.2 m tall: a travertine plinth, fluted stiles either side of a veneered field with a red porphyry centre panel, and a moulded cornice over it. Stand it against a wall module to line a hot room or a changing room. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","cdnUrl":"https://cdn.3dassets.dev/assets/37857/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-marble-wall-panel-run-6d5e46fa","thumbnailUrl":"https://cdn.3dassets.dev/assets/37857/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37857/v1/poster.webp","blurhash":"UAGk:.~q00I._3?bRj4-0yNFz;R6x]-;M{8_","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18552,"triangles":384,"vertices":867,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.0399999618530273,0.00005157657903766266,-0.15003357058844088],"max":[1.0399999618530273,2.1999703834066002,0.13003355985960482]},"sizeMeters":[2.08,2.2,0.28],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:48.930Z","updatedAt":"2026-09-12T05:53:49.037Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37857/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MarbleWallPanelRunRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37857/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37857/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37857/v1/model.glb\" alt=\"Marble Wall Panel Run (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37857/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37857/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37876","slug":"roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","title":"Wall Flue Tile Run (Roman Bathhouse and Palaestra)","summary":"A 1 m run of wall flue tiles 2.6 m tall: two columns of box section tubuli bedded on a mortar backing with a travertine capping, the hollow of each tile read as a recessed panel. Flues line the wall of a heated room and carry the furnace gas up behind the plaster.","description":"A 1 m run of wall flue tiles 2.6 m tall: two columns of box section tubuli bedded on a mortar backing with a travertine capping, the hollow of each tile read as a recessed panel. Flues line the wall of a heated room and carry the furnace gas up behind the plaster. Runs butt end to end. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","cdnUrl":"https://cdn.3dassets.dev/assets/37876/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-flue-tile-run-d41e3006","thumbnailUrl":"https://cdn.3dassets.dev/assets/37876/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37876/v1/poster.webp","blurhash":"U6E2d|}Y000#?cxaI9E19}JR$y,s%gxaMxIV","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":16400,"triangles":312,"vertices":728,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.4999328409417248,0,-0.10000700818998742],"max":[0.5012000203132629,2.6011792713024793,0.16120700853569436]},"sizeMeters":[1.001,2.601,0.261],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:57.544Z","updatedAt":"2026-09-12T05:53:57.706Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37876/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallFlueTileRunRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37876/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37876/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37876/v1/model.glb\" alt=\"Wall Flue Tile Run (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37876/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37876/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37862","slug":"roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","title":"Wall Pilaster Half Column (Roman Bathhouse and Palaestra)","summary":"A 3.9 m engaged half column for a wall face: a fluted shaft standing out of a flat pilaster back, on a moulded plinth with a Tuscan capital. Set it against a wall module so the back plate beds into the wall face.","description":"A 3.9 m engaged half column for a wall face: a fluted shaft standing out of a flat pilaster back, on a moulded plinth with a Tuscan capital. Set it against a wall module so the back plate beds into the wall face. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","cdnUrl":"https://cdn.3dassets.dev/assets/37862/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-wall-pilaster-half-colum-8f243e3e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37862/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37862/v1/poster.webp","blurhash":"U1BDWo~q0000_3WB9Et7%MayWBt6~qt700IU","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20420,"triangles":480,"vertices":1016,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.3098715116598821,0,-0.30645160352991474],"max":[0.3098715116598821,3.819999933242798,0.18645161366270432]},"sizeMeters":[0.62,3.82,0.493],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:50.620Z","updatedAt":"2026-09-12T05:53:50.740Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37862/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallPilasterHalfColumnRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37862/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37862/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37862/v1/model.glb\" alt=\"Wall Pilaster Half Column (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37862/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37862/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37851","slug":"roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","title":"Opus Sectile Panel (Roman Bathhouse and Palaestra)","summary":"A 1.6 m by 2.2 m opus sectile panel: cut stone shapes, squares set on point, discs and lozenges in red porphyry, white marble and dark stone, laid proud of a travertine ground in a mortar backing. An abstract geometric field with no figures and no lettering.","description":"A 1.6 m by 2.2 m opus sectile panel: cut stone shapes, squares set on point, discs and lozenges in red porphyry, white marble and dark stone, laid proud of a travertine ground in a mortar backing. An abstract geometric field with no figures and no lettering. Stand it against a wall or set it into one. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","cdnUrl":"https://cdn.3dassets.dev/assets/37851/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-opus-sectile-panel-26703731","thumbnailUrl":"https://cdn.3dassets.dev/assets/37851/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37851/v1/poster.webp","blurhash":"U6FiAHr^00J~_M?u9F0000t7~WRj%M%MRi9Z","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20276,"triangles":404,"vertices":863,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-0.7999817062334506,0,-0.0600238057383722],"max":[0.7999817062334506,2.200000047683716,0.0999973731125522]},"sizeMeters":[1.6,2.2,0.16],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:44.574Z","updatedAt":"2026-09-12T05:53:44.699Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37851/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function OpusSectilePanelRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37851/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37851/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37851/v1/model.glb\" alt=\"Opus Sectile Panel (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37851/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37851/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37892","slug":"roman-bathhouse-and-palaestra-niche-with-urn-76d5fdcb","title":"Wall Niche with Urn (Roman Bathhouse and Palaestra)","summary":"A 1.1 m wall niche block 2.5 m tall: a round headed recess between marble pilasters under a moulded cornice, with a shelf and a plain lidded stone urn standing on it.","description":"A 1.1 m wall niche block 2.5 m tall: a round headed recess between marble pilasters under a moulded cornice, with a shelf and a plain lidded stone urn standing on it. The urn carries no inscription and no ornament, because a bath house pack has no business reproducing a real memorial. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-niche-with-urn-76d5fdcb","cdnUrl":"https://cdn.3dassets.dev/assets/37892/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-niche-with-urn-76d5fdcb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37892/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37892/v1/poster.webp","blurhash":"U7F={#%N009E~q%M9FD%01j?%2t7_3xuD%D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":34656,"triangles":782,"vertices":1696,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.629955128640656,0,-0.3500576732702883],"max":[0.629955128640656,2.5399999618530273,0.49998320885932374]},"sizeMeters":[1.26,2.54,0.85],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:06.354Z","updatedAt":"2026-09-12T05:54:06.475Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37892/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WallNicheWithUrnRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37892/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37892/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37892/v1/model.glb\" alt=\"Wall Niche with Urn (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37892/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37892/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37859","slug":"roman-bathhouse-and-palaestra-column-tuscan-0479b8ad","title":"Tuscan Column (Roman Bathhouse and Palaestra)","summary":"A 3.9 m Tuscan column in white marble: a square plinth and attic base, an unfluted shaft with entasis tapering to 200 mm, and a plain cushion capital under a square abacus. The simplest of the pack's three orders, for a service court or a portico.","description":"A 3.9 m Tuscan column in white marble: a square plinth and attic base, an unfluted shaft with entasis tapering to 200 mm, and a plain cushion capital under a square abacus. The simplest of the pack's three orders, for a service court or a portico. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-column-tuscan-0479b8ad","cdnUrl":"https://cdn.3dassets.dev/assets/37859/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-column-tuscan-0479b8ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/37859/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37859/v1/poster.webp","blurhash":"U2Bg3t~q0000s;oeRiNIbcbDt4n.~qjZ0KkD","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":24244,"triangles":600,"vertices":1214,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.2999359184644895,0,-0.2999359184644895],"max":[0.2999359184644895,3.9000000953674316,0.2999359184644895]},"sizeMeters":[0.6,3.9,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:50.013Z","updatedAt":"2026-09-12T05:53:50.128Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37859/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TuscanColumnRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37859/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37859/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37859/v1/model.glb\" alt=\"Tuscan Column (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37859/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37859/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37860","slug":"roman-bathhouse-and-palaestra-column-ionic-4841c615","title":"Ionic Column (Roman Bathhouse and Palaestra)","summary":"The same 3.9 m column carrying an Ionic capital: paired volutes on a bolster under a moulded abacus, over a shaft cut with twelve flutes. Same base and height, so the three orders stand in one colonnade.","description":"The same 3.9 m column carrying an Ionic capital: paired volutes on a bolster under a moulded abacus, over a shaft cut with twelve flutes. Same base and height, so the three orders stand in one colonnade. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-column-ionic-4841c615","cdnUrl":"https://cdn.3dassets.dev/assets/37860/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-column-ionic-4841c615","thumbnailUrl":"https://cdn.3dassets.dev/assets/37860/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37860/v1/poster.webp","blurhash":"U2B:vz~X0000_3t64nM|Mzogx[Ri.8t6DjIp","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":37848,"triangles":932,"vertices":1940,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.33873715236108615,0,-0.2999359184644895],"max":[0.33873715236108615,3.9000000953674316,0.2999359184644895]},"sizeMeters":[0.677,3.9,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:49.293Z","updatedAt":"2026-09-12T05:53:49.393Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37860/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function IonicColumnRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37860/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37860/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37860/v1/model.glb\" alt=\"Ionic Column (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37860/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37860/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37861","slug":"roman-bathhouse-and-palaestra-column-corinthian-6e5a51d3","title":"Corinthian Column (Roman Bathhouse and Palaestra)","summary":"The same 3.9 m column carrying a Corinthian capital: two tiers of leaf blades round a bell under an abacus with a clipped corner, over a fluted shaft. The tallest capital of the three, for the hot rooms and the main hall.","description":"The same 3.9 m column carrying a Corinthian capital: two tiers of leaf blades round a bell under an abacus with a clipped corner, over a fluted shaft. The tallest capital of the three, for the hot rooms and the main hall. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-column-corinthian-6e5a51d3","cdnUrl":"https://cdn.3dassets.dev/assets/37861/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-column-corinthian-6e5a51d3","thumbnailUrl":"https://cdn.3dassets.dev/assets/37861/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37861/v1/poster.webp","blurhash":"U2B:vy_30000_3of4nWBogofofRj?bofD%Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":38220,"triangles":948,"vertices":1956,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.31239906688756197,0,-0.31239906688756197],"max":[0.31239906688756197,3.9100000858306885,0.31239906688756197]},"sizeMeters":[0.625,3.91,0.625],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:50.518Z","updatedAt":"2026-09-12T05:53:50.636Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37861/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CorinthianColumnRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37861/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37861/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37861/v1/model.glb\" alt=\"Corinthian Column (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37861/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37861/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37889","slug":"roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76","title":"Apodyterium Changing Bench with Cubbies (Roman Bathhouse and Palaestra)","summary":"A 2.4 m changing bench for an apodyterium: a travertine seat on three piers with a marble top, against a rendered back wall carrying two ranks of timber cubby shelves divided into eight openings, with a folded towel and a pair of sandals left in them.","description":"A 2.4 m changing bench for an apodyterium: a travertine seat on three piers with a marble top, against a rendered back wall carrying two ranks of timber cubby shelves divided into eight openings, with a folded towel and a pair of sandals left in them. Bathers left their clothes in the open here, which is the point of the shelves. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76","cdnUrl":"https://cdn.3dassets.dev/assets/37889/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-apodyterium-changing-ben-268edf76","thumbnailUrl":"https://cdn.3dassets.dev/assets/37889/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37889/v1/poster.webp","blurhash":"UDH2J|Mx00R*Mc%2o#E101WAsktR_4-;I9D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":37788,"triangles":800,"vertices":1801,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.201200008392334,-0.000047373230319669446,-0.41002167450041777],"max":[1.2000000476837158,2.300047325546604,0.3499651926238205]},"sizeMeters":[2.401,2.3,0.76],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:03.626Z","updatedAt":"2026-09-12T05:54:03.747Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37889/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ApodyteriumChangingBenchWithCubbiesRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37889/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37889/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37889/v1/model.glb\" alt=\"Apodyterium Changing Bench with Cubbies (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37889/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37889/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37890","slug":"roman-bathhouse-and-palaestra-clothes-hook-rail-024260a7","title":"Clothes Hook Rail (Roman Bathhouse and Palaestra)","summary":"A 1.6 m clothes hook rail: five bronze double hooks on a timber batten with iron end straps, for the wall over a changing bench. Mount it at the height a scene wants; the model rests on y=0 with the batten just above the ground.","description":"A 1.6 m clothes hook rail: five bronze double hooks on a timber batten with iron end straps, for the wall over a changing bench. Mount it at the height a scene wants; the model rests on y=0 with the batten just above the ground. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-clothes-hook-rail-024260a7","cdnUrl":"https://cdn.3dassets.dev/assets/37890/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-clothes-hook-rail-024260a7","thumbnailUrl":"https://cdn.3dassets.dev/assets/37890/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37890/v1/poster.webp","blurhash":"U59Z+QOX0MS$?a^+I=E200-p~UIp4p01?F^%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26484,"triangles":568,"vertices":1263,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.800000011920929,-0.000004709024104723736,-0.029981384155977075],"max":[0.800000011920929,0.20716213620887905,0.18429741959700086]},"sizeMeters":[1.6,0.207,0.214],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:04.143Z","updatedAt":"2026-09-12T05:54:04.240Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37890/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ClothesHookRailRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37890/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37890/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37890/v1/model.glb\" alt=\"Clothes Hook Rail (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37890/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37890/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37893","slug":"roman-bathhouse-and-palaestra-strigil-and-oil-flask-tr-7b3d1c0f","title":"Strigil and Oil Flask Tray (Roman Bathhouse and Palaestra)","summary":"A bronze tray 540 mm across holding a bather's kit: two curved strigils for scraping oil off the skin, two globular oil flasks on loop handles and a small marble unguent pot, on a timber liner. Set it on a bench, a ledge or an attendant's table.","description":"A bronze tray 540 mm across holding a bather's kit: two curved strigils for scraping oil off the skin, two globular oil flasks on loop handles and a small marble unguent pot, on a timber liner. Set it on a bench, a ledge or an attendant's table. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-strigil-and-oil-flask-tr-7b3d1c0f","cdnUrl":"https://cdn.3dassets.dev/assets/37893/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-strigil-and-oil-flask-tr-7b3d1c0f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37893/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37893/v1/poster.webp","blurhash":"U7AvwZtQ01m-9bxtt7R*00Mz~CpH^*E2M{s:","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":36884,"triangles":812,"vertices":1763,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.27000001072883606,0.000004907023051031745,-0.17499611336023557],"max":[0.27000001072883606,0.2259950890430424,0.16999611812860715]},"sizeMeters":[0.54,0.226,0.345],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:05.707Z","updatedAt":"2026-09-12T05:54:05.806Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37893/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StrigilAndOilFlaskTrayRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37893/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37893/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37893/v1/model.glb\" alt=\"Strigil and Oil Flask Tray (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37893/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37893/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37897","slug":"roman-bathhouse-and-palaestra-towel-rack-6cc28901","title":"Towel Rack (Roman Bathhouse and Palaestra)","summary":"A 1.3 m timber towel rack 1.6 m tall: three turned rails between two posts on sled feet, with four folded linen towels hung over them. The towels are modelled in one pose and never move: a hanging sheet needs a cloth solver, which no rigid node transform can stand in for.","description":"A 1.3 m timber towel rack 1.6 m tall: three turned rails between two posts on sled feet, with four folded linen towels hung over them. The towels are modelled in one pose and never move: a hanging sheet needs a cloth solver, which no rigid node transform can stand in for. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-towel-rack-6cc28901","cdnUrl":"https://cdn.3dassets.dev/assets/37897/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-towel-rack-6cc28901","thumbnailUrl":"https://cdn.3dassets.dev/assets/37897/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37897/v1/poster.webp","blurhash":"UCD+rI-o00E1M|%2WBD*00IV~q%MW?xas.NH","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20824,"triangles":456,"vertices":1006,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.8999999761581421,-0.00002345686614890763,-0.24997405264489428],"max":[0.8999999761581421,1.5800234997814933,0.24997405264489428]},"sizeMeters":[1.8,1.58,0.5],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:09.030Z","updatedAt":"2026-09-12T05:54:09.221Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37897/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TowelRackRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37897/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37897/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37897/v1/model.glb\" alt=\"Towel Rack (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37897/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37897/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37898","slug":"roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","title":"Bath House Storage Chest (Roman Bathhouse and Palaestra)","summary":"A 1.1 m timber storage chest with iron straps, bronze carrying rings and a hasp: what an attendant kept towels, oil and lamp fuel in. The lid is a named node hinged on its back edge and lifts.","description":"A 1.1 m timber storage chest with iron straps, bronze carrying rings and a hasp: what an attendant kept towels, oil and lamp fuel in. The lid is a named node hinged on its back edge and lifts. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Named pivoted nodes: chest-lid. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","cdnUrl":"https://cdn.3dassets.dev/assets/37898/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-bathhouse-storage-chest-b4f2e750","thumbnailUrl":"https://cdn.3dassets.dev/assets/37898/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37898/v1/poster.webp","blurhash":"U8EoVp~p01WGR+-.%2R*00M{xtadScxaxsIV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":21200,"triangles":388,"vertices":861,"meshes":5,"materials":3,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-0.6189655065536499,-0.000022282847283616736,-0.31002348508021305],"max":[0.6189655065536499,0.7399967918809701,0.3112323331512268]},"sizeMeters":[1.238,0.74,0.621],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:08.027Z","updatedAt":"2026-09-12T05:54:08.216Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37898/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BathHouseStorageChestRomanBathhouseAndPalaestra(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37898/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37898/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37898/v1/model.glb\" alt=\"Bath House Storage Chest (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37898/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37898/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37891","slug":"roman-bathhouse-and-palaestra-stone-bench-run-565d045c","title":"Stone Bench Run (Roman Bathhouse and Palaestra)","summary":"A 2 m stone bench run 540 mm high: a marble seat slab on two chamfered travertine piers with a red band under the front edge. Runs butt end to end along a wall, a colonnade or a changing room.","description":"A 2 m stone bench run 540 mm high: a marble seat slab on two chamfered travertine piers with a red band under the front edge. Runs butt end to end along a wall, a colonnade or a changing room. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-stone-bench-run-565d045c","cdnUrl":"https://cdn.3dassets.dev/assets/37891/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-stone-bench-run-565d045c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37891/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37891/v1/poster.webp","blurhash":"UFE{a}xbIU?H~q_3MyIU00%Mt79G004n.7xu","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":11316,"triangles":204,"vertices":459,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000018924360116356898,-0.2799462874233222],"max":[1,0.5400503650773786,0.28003631664937034]},"sizeMeters":[2,0.54,0.56],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:05.197Z","updatedAt":"2026-09-12T05:54:05.293Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37891/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneBenchRunRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37891/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37891/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37891/v1/model.glb\" alt=\"Stone Bench Run (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37891/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37891/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37895","slug":"roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","title":"Bronze Lamp Stand (Roman Bathhouse and Palaestra)","summary":"A bronze lamp stand 1.6 m tall: a three footed base, a turned baluster column and a cross arm carrying two oil lamps by their chains. Lighting for a corridor or a changing room. There is no flame and no light source: the lamps are cold geometry, and a consumer adds the light.","description":"A bronze lamp stand 1.6 m tall: a three footed base, a turned baluster column and a cross arm carrying two oil lamps by their chains. Lighting for a corridor or a changing room. There is no flame and no light source: the lamps are cold geometry, and a consumer adds the light. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","cdnUrl":"https://cdn.3dassets.dev/assets/37895/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-lamp-stand-d4dcdc13","thumbnailUrl":"https://cdn.3dassets.dev/assets/37895/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37895/v1/poster.webp","blurhash":"U267[j-.004p?HkCE0i_~oxs4pD,E3jY%0bc","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":30492,"triangles":748,"vertices":1549,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.37995833196692985,0,-0.257799660327848],"max":[0.37995833196692985,1.5312827825546265,0.257799660327848]},"sizeMeters":[0.76,1.531,0.516],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:07.870Z","updatedAt":"2026-09-12T05:54:07.991Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37895/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BronzeLampStandRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37895/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37895/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37895/v1/model.glb\" alt=\"Bronze Lamp Stand (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37895/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37895/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37896","slug":"roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","title":"Hanging Oil Lamp (Roman Bathhouse and Palaestra)","summary":"A bronze oil lamp hung on three chains from a suspension ring, 940 mm from the ring to the nozzle. The origin sits at the ground under the lamp so the model settles like any other, and a scene lifts it to the ceiling by its ring.","description":"A bronze oil lamp hung on three chains from a suspension ring, 940 mm from the ring to the nozzle. The origin sits at the ground under the lamp so the model settles like any other, and a scene lifts it to the ceiling by its ring. There is no flame and no light: the chains are rigid geometry, so the lamp never swings. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","cdnUrl":"https://cdn.3dassets.dev/assets/37896/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-hanging-lamp-0892ad11","thumbnailUrl":"https://cdn.3dassets.dev/assets/37896/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37896/v1/poster.webp","blurhash":"U26aL;XR00vh4VSf.j#qACV]=eti.k$$Ht5S","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17288,"triangles":408,"vertices":850,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-0.23000029282951412,0,-0.15601641856238305],"max":[0.2767912949838644,0.9399999976158142,0.15601641856238305]},"sizeMeters":[0.507,0.94,0.312],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:07.297Z","updatedAt":"2026-09-12T05:54:07.402Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37896/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HangingOilLampRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37896/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37896/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37896/v1/model.glb\" alt=\"Hanging Oil Lamp (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37896/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37896/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37894","slug":"roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","title":"Bronze Brazier (Roman Bathhouse and Palaestra)","summary":"A bronze brazier 1 m across and 1 m tall: a three legged stand with hoof feet carrying a moulded pan of charcoal under a beaded rim. This is what warmed a room between the hot baths.","description":"A bronze brazier 1 m across and 1 m tall: a three legged stand with hoof feet carrying a moulded pan of charcoal under a beaded rim. This is what warmed a room between the hot baths. The charcoal is cold geometry: there is no fire, no glow and no smoke, because a flame needs a shader rather than a mesh. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","cdnUrl":"https://cdn.3dassets.dev/assets/37894/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-bronze-brazier-cad16bbc","thumbnailUrl":"https://cdn.3dassets.dev/assets/37894/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37894/v1/poster.webp","blurhash":"UB8gc{t60MjZ~VoKD*j[xtayWBofWUofofWC","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":41804,"triangles":900,"vertices":2146,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.5199999809265137,4.462844798158727e-7,-0.5121286472511832],"max":[0.5199999809265137,1.0313673324935964,0.5121286472511832]},"sizeMeters":[1.04,1.031,1.024],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:06.236Z","updatedAt":"2026-09-12T05:54:06.336Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37894/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BronzeBrazierRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37894/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37894/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37894/v1/model.glb\" alt=\"Bronze Brazier (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37894/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37894/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37871","slug":"roman-bathhouse-and-palaestra-frigidarium-cold-plunge--a2228ceb","title":"Frigidarium Cold Plunge Basin (Roman Bathhouse and Palaestra)","summary":"A cold plunge basin for a frigidarium, 3.5 m by 2.5 m and 1.05 m high: a mortared tank lined in white marble with a red inlaid floor band, a moulded marble rim, three steps down into it at one end and a pair of bronze grab rails over them.","description":"A cold plunge basin for a frigidarium, 3.5 m by 2.5 m and 1.05 m high: a mortared tank lined in white marble with a red inlaid floor band, a moulded marble rim, three steps down into it at one end and a pair of bronze grab rails over them. The water is a flat translucent slab 180 mm below the rim: this library has no water simulation, so ripples, refraction and bathers are for the consumer to add. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-frigidarium-cold-plunge--a2228ceb","cdnUrl":"https://cdn.3dassets.dev/assets/37871/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-frigidarium-cold-plunge--a2228ceb","thumbnailUrl":"https://cdn.3dassets.dev/assets/37871/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37871/v1/poster.webp","blurhash":"U6G+XT~q00t7E1?a%MRj009FS~IUeSD%S#9Z","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":53528,"triangles":1160,"vertices":2621,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.7599999904632568,-0.00009235706146570877,-1.2599896168793931],"max":[1.7599999904632568,1.633348191185008,1.2599896168793931]},"sizeMeters":[3.52,1.633,2.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:56.136Z","updatedAt":"2026-09-12T05:53:56.229Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37871/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FrigidariumColdPlungeBasinRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37871/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37871/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37871/v1/model.glb\" alt=\"Frigidarium Cold Plunge Basin (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37871/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37871/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37858","slug":"roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","title":"Bath House Step Run (Roman Bathhouse and Palaestra)","summary":"A 2 m three step run 510 mm high: travertine treads 420 mm deep with a marble nosing band on each, for a pool edge, a dais or a change of level in a hall. Runs butt end to end along the tread.","description":"A 2 m three step run 510 mm high: travertine treads 420 mm deep with a marble nosing band on each, for a pool edge, a dais or a change of level in a hall. Runs butt end to end along the tread. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","cdnUrl":"https://cdn.3dassets.dev/assets/37858/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-bathhouse-step-run-ba0be02b","thumbnailUrl":"https://cdn.3dassets.dev/assets/37858/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37858/v1/poster.webp","blurhash":"U6GuwL%N00WB-;?aM{9F00Mx~qM_D%9Gt6%M","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":11760,"triangles":228,"vertices":525,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000043188459280141256,-0.629963072603534],"max":[1,0.510043178922537,0.6349893251023149]},"sizeMeters":[2,0.51,1.265],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:48.974Z","updatedAt":"2026-09-12T05:53:49.071Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37858/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BathHouseStepRunRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37858/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37858/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37858/v1/model.glb\" alt=\"Bath House Step Run (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37858/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37858/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37887","slug":"roman-bathhouse-and-palaestra-still-water-surface-pane-23cbf956","title":"Still Water Surface Panel (Roman Bathhouse and Palaestra)","summary":"A 2 m square still water surface panel: a flat translucent slab 40 mm thick that tiles across an open air swimming pool at whatever level the scene sets.","description":"A 2 m square still water surface panel: a flat translucent slab 40 mm thick that tiles across an open air swimming pool at whatever level the scene sets. This library has no water simulation: the surface is static geometry, and ripples, reflections and swimmers are for the consumer to add. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-still-water-surface-pane-23cbf956","cdnUrl":"https://cdn.3dassets.dev/assets/37887/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-still-water-surface-pane-23cbf956","thumbnailUrl":"https://cdn.3dassets.dev/assets/37887/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37887/v1/poster.webp","blurhash":"U87{8Ptl4TV@tRazWBj[00RP.mbHMwj[ofWB","category":{"slug":"effects-primitives","title":"Effects & Primitives"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":3872,"triangles":64,"vertices":142,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000020142663288993945,-1],"max":[1,0.04002014176921932,1]},"sizeMeters":[2,0.04,2],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:04.544Z","updatedAt":"2026-09-12T05:54:04.652Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37887/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StillWaterSurfacePanelRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37887/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37887/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37887/v1/model.glb\" alt=\"Still Water Surface Panel (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37887/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37887/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37882","slug":"roman-bathhouse-and-palaestra-water-spout-mask-d892f530","title":"Water Spout Mask (Roman Bathhouse and Palaestra)","summary":"A carved stone spout head 560 mm square: an abstract rosette boss of concentric rings and twelve radial cuts on a travertine block, with a bronze nozzle through the middle. It is a pattern, not a face or a creature, so it carries no deity and no portrait.","description":"A carved stone spout head 560 mm square: an abstract rosette boss of concentric rings and twelve radial cuts on a travertine block, with a bronze nozzle through the middle. It is a pattern, not a face or a creature, so it carries no deity and no portrait. Build it into a pool wall or a fountain back. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-water-spout-mask-d892f530","cdnUrl":"https://cdn.3dassets.dev/assets/37882/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-water-spout-mask-d892f530","thumbnailUrl":"https://cdn.3dassets.dev/assets/37882/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37882/v1/poster.webp","blurhash":"UCHLYo4.00tQ~q-;9F9F00%M$+MyxuxuRjM{","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":20768,"triangles":436,"vertices":903,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.2800000011920929,0,-0.0700106817763853],"max":[0.2800000011920929,0.5600000023841858,0.20000000298023224]},"sizeMeters":[0.56,0.56,0.27],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:00.631Z","updatedAt":"2026-09-12T05:54:00.826Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37882/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WaterSpoutMaskRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37882/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37882/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37882/v1/model.glb\" alt=\"Water Spout Mask (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37882/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37882/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37884","slug":"roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","title":"Drain Channel Run with Grate (Roman Bathhouse and Palaestra)","summary":"The same 2 m channel closed with a bronze bar grate on a lead frame, which is what a bather walks over. Same channel ports, so grated and open lengths run together.","description":"The same 2 m channel closed with a bronze bar grate on a lead frame, which is what a bather walks over. Same channel ports, so grated and open lengths run together. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","cdnUrl":"https://cdn.3dassets.dev/assets/37884/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-drain-channel-run-grate-42bc90ca","thumbnailUrl":"https://cdn.3dassets.dev/assets/37884/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37884/v1/poster.webp","blurhash":"UAEySk-:01xus.~pxuD*00IU?aRjbc00D*xt","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18296,"triangles":344,"vertices":788,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.0011999607086182,-0.00004409268968189051,-0.2812599761443779],"max":[1.0011999607086182,0.3460252896189111,0.2812599761443779]},"sizeMeters":[2.002,0.346,0.563],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:01.707Z","updatedAt":"2026-09-12T05:54:01.882Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37884/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DrainChannelRunWithGrateRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37884/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37884/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37884/v1/model.glb\" alt=\"Drain Channel Run with Grate (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37884/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37884/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37883","slug":"roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","title":"Drain Channel Run (Roman Bathhouse and Palaestra)","summary":"A 2 m drain channel run: a mortar trough between travertine kerbs, 320 mm high and 560 mm wide, open along its length for the overflow off a pool or a wash down floor. Runs butt end to end.","description":"A 2 m drain channel run: a mortar trough between travertine kerbs, 320 mm high and 560 mm wide, open along its length for the overflow off a pool or a wash down floor. Runs butt end to end. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","cdnUrl":"https://cdn.3dassets.dev/assets/37883/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-drain-channel-run-6e057f19","thumbnailUrl":"https://cdn.3dassets.dev/assets/37883/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37883/v1/poster.webp","blurhash":"UBFFmZ-;00x[%M~qtQIU00Rj_3NGD%00M{%M","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":8312,"triangles":152,"vertices":340,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-1.0011999607086182,-0.00004409268968189051,-0.2812599761443779],"max":[1.0011999607086182,0.3300441058027037,0.2812599761443779]},"sizeMeters":[2.002,0.33,0.563],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:02.053Z","updatedAt":"2026-09-12T05:54:02.153Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37883/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DrainChannelRunRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37883/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37883/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37883/v1/model.glb\" alt=\"Drain Channel Run (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37883/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37883/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37875","slug":"roman-bathhouse-and-palaestra-tepidarium-hypocaust-cut-9cb2278c","title":"Tepidarium Hypocaust Cutaway Floor (Roman Bathhouse and Palaestra)","summary":"A 4 m square tepidarium floor shown as a cutaway section: fired clay pilae stacks in a 660 mm grid under a suspended deck of tiles, mortar screed and mosaic, with one quarter of the deck and its pilae removed so the 790 mm heating void underneath is open to view.","description":"A 4 m square tepidarium floor shown as a cutaway section: fired clay pilae stacks in a 660 mm grid under a suspended deck of tiles, mortar screed and mosaic, with one quarter of the deck and its pilae removed so the 790 mm heating void underneath is open to view. A teaching piece and a ruin piece, and the only model in the pack that is deliberately incomplete. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-tepidarium-hypocaust-cut-9cb2278c","cdnUrl":"https://cdn.3dassets.dev/assets/37875/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-tepidarium-hypocaust-cut-9cb2278c","thumbnailUrl":"https://cdn.3dassets.dev/assets/37875/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37875/v1/poster.webp","blurhash":"UAD+}J%M00ofE2WBxtof00M{%NRj~Ut7E2Rj","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":106200,"triangles":2364,"vertices":5516,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-2,0.00004073744177890415,-2],"max":[2,1.0239279735010858,2]},"sizeMeters":[4,1.024,4],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:58.319Z","updatedAt":"2026-09-12T05:53:58.418Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37875/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function TepidariumHypocaustCutawayFloorRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37875/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37875/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37875/v1/model.glb\" alt=\"Tepidarium Hypocaust Cutaway Floor (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37875/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37875/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37874","slug":"roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","title":"Hypocaust Pilae Stack (Roman Bathhouse and Palaestra)","summary":"A single hypocaust pilae stack 790 mm tall: a mortar footing, a column of square fired clay bessales laid with a mortar joint between each, and a bedding tile on top. Stacks stand in a grid under a suspended floor so the furnace gas can run between them.","description":"A single hypocaust pilae stack 790 mm tall: a mortar footing, a column of square fired clay bessales laid with a mortar joint between each, and a bedding tile on top. Stacks stand in a grid under a suspended floor so the furnace gas can run between them. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","cdnUrl":"https://cdn.3dassets.dev/assets/37874/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-hypocaust-pilae-stack-c9f5e645","thumbnailUrl":"https://cdn.3dassets.dev/assets/37874/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37874/v1/poster.webp","blurhash":"UEFrkl-:00D*-=bFM_of.TkCVDo0-pWBR+t7","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":5172,"triangles":72,"vertices":168,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.21999053850191994,0,-0.21999053850191994],"max":[0.21999053850191994,0.6899999976158142,0.21999053850191994]},"sizeMeters":[0.44,0.69,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:56.248Z","updatedAt":"2026-09-12T05:53:56.364Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37874/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HypocaustPilaeStackRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37874/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37874/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37874/v1/model.glb\" alt=\"Hypocaust Pilae Stack (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37874/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37874/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37899","slug":"roman-bathhouse-and-palaestra-masseur-table-e43d4870","title":"Masseur's Table (Roman Bathhouse and Palaestra)","summary":"A 1.95 m timber massage table 720 mm high: four turned legs with stretcher rails, a padded top and a bolster at the head, with an oil flask and a folded cloth left on it. It stands in the oiling room beside the palaestra.","description":"A 1.95 m timber massage table 720 mm high: four turned legs with stretcher rails, a padded top and a bolster at the head, with an oil flask and a folded cloth left on it. It stands in the oiling room beside the palaestra. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-masseur-table-e43d4870","cdnUrl":"https://cdn.3dassets.dev/assets/37899/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-masseur-table-e43d4870","thumbnailUrl":"https://cdn.3dassets.dev/assets/37899/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37899/v1/poster.webp","blurhash":"UKEVpNxuD%xZ_N?HM{Io00x]%MIU00NH-;oL","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":37516,"triangles":880,"vertices":1835,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.9750000238418579,0.000054629203124823,-0.35995285770485413],"max":[0.9750000238418579,1.0800000429153442,0.35995285770485413]},"sizeMeters":[1.95,1.08,0.72],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:08.995Z","updatedAt":"2026-09-12T05:54:09.094Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37899/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function MasseurSTableRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37899/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37899/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37899/v1/model.glb\" alt=\"Masseur's Table (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37899/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37899/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37872","slug":"roman-bathhouse-and-palaestra-caldarium-hot-pool-ae6f35ad","title":"Caldarium Hot Pool (Roman Bathhouse and Palaestra)","summary":"A hot pool for a caldarium, 4.5 m by 2.9 m and 850 mm high: a marble lined tank with a seat ledge along both long sides, a moulded rim, and a bronze delivery spout on a pedestal at one end.","description":"A hot pool for a caldarium, 4.5 m by 2.9 m and 850 mm high: a marble lined tank with a seat ledge along both long sides, a moulded rim, and a bronze delivery spout on a pedestal at one end. Warm water is modelled as a still translucent slab and nothing else: there is no simulation, no steam and no surface movement anywhere in this library. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-caldarium-hot-pool-ae6f35ad","cdnUrl":"https://cdn.3dassets.dev/assets/37872/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-caldarium-hot-pool-ae6f35ad","thumbnailUrl":"https://cdn.3dassets.dev/assets/37872/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37872/v1/poster.webp","blurhash":"U5FY.G~q00t7o}?u%LD%00D%.SIUH?4nE1X8","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":49928,"triangles":1092,"vertices":2430,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-2.259999990463257,0.00013352119115345173,-1.4601336649100358],"max":[2.259999990463257,1.3500218287188321,1.4601336649100358]},"sizeMeters":[4.52,1.35,2.92],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:55.680Z","updatedAt":"2026-09-12T05:53:55.792Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37872/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function CaldariumHotPoolRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37872/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37872/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37872/v1/model.glb\" alt=\"Caldarium Hot Pool (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37872/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37872/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37880","slug":"roman-bathhouse-and-palaestra-labrum-basin-on-stand-e08f22b4","title":"Labrum Basin on Stand (Roman Bathhouse and Palaestra)","summary":"A labrum: a 1.75 m marble washing basin on a turned baluster stand, 1.5 m tall, with a red rim moulding, a short bronze filler in the middle and a flat still water surface in the bowl. It stands in the apse of a hot room for a bather to splash from. The water does not move.","description":"A labrum: a 1.75 m marble washing basin on a turned baluster stand, 1.5 m tall, with a red rim moulding, a short bronze filler in the middle and a flat still water surface in the bowl. It stands in the apse of a hot room for a bather to splash from. The water does not move. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-labrum-basin-on-stand-e08f22b4","cdnUrl":"https://cdn.3dassets.dev/assets/37880/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-labrum-basin-on-stand-e08f22b4","thumbnailUrl":"https://cdn.3dassets.dev/assets/37880/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37880/v1/poster.webp","blurhash":"UAD,7g%M00Mx~qayV@xuVsWBozt7eSj?9tRj","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":36192,"triangles":856,"vertices":1710,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.8700000047683716,0.00002287640709697225,-0.8700000047683716],"max":[0.8700000047683716,1.5800000429153442,0.8700000047683716]},"sizeMeters":[1.74,1.58,1.74],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:59.370Z","updatedAt":"2026-09-12T05:53:59.470Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37880/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LabrumBasinOnStandRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37880/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37880/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37880/v1/model.glb\" alt=\"Labrum Basin on Stand (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37880/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37880/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37877","slug":"roman-bathhouse-and-palaestra-praefurnium-furnace-mout-691340e2","title":"Praefurnium Furnace Mouth (Roman Bathhouse and Palaestra)","summary":"A praefurnium furnace mouth 2.6 m wide: a brick faced stokehole with a voussoir arch, an iron door on a single hinge, the fire chamber behind it and a raked ash apron in front, under a projecting flue breast.","description":"A praefurnium furnace mouth 2.6 m wide: a brick faced stokehole with a voussoir arch, an iron door on a single hinge, the fire chamber behind it and a raked ash apron in front, under a projecting flue breast. The door is a named node and swings; the fire, the smoke and the heat are not modelled, because flame and gas need a shader rather than geometry. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Named pivoted nodes: stoke-door. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-praefurnium-furnace-mout-691340e2","cdnUrl":"https://cdn.3dassets.dev/assets/37877/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-praefurnium-furnace-mout-691340e2","thumbnailUrl":"https://cdn.3dassets.dev/assets/37877/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37877/v1/poster.webp","blurhash":"UBHLF_Dh009a~WxY4.NI0i.8Q,R5XU%MxYD%","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":28136,"triangles":504,"vertices":1175,"meshes":6,"materials":6,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.3799999952316284,-0.000021271256396060423,-0.5300241077910717],"max":[1.3799999952316284,2.699931404361189,1.2599760128018198]},"sizeMeters":[2.76,2.7,1.79],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:57.723Z","updatedAt":"2026-09-12T05:53:57.834Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37877/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function PraefurniumFurnaceMouthRomanBathhouseAndPalaestra(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37877/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37877/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37877/v1/model.glb\" alt=\"Praefurnium Furnace Mouth (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37877/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37877/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37878","slug":"roman-bathhouse-and-palaestra-boiler-tank-and-setting-f014bf01","title":"Boiler Tank and Setting (Roman Bathhouse and Palaestra)","summary":"A bronze boiler tank on its brick setting, 2.2 m tall: a riveted drum banded in iron with a domed head, lifting lugs and lead feed and draw off pipes, standing over the flue of a furnace.","description":"A bronze boiler tank on its brick setting, 2.2 m tall: a riveted drum banded in iron with a domed head, lifting lugs and lead feed and draw off pipes, standing over the flue of a furnace. Nothing inside is modelled and there is no fire under it: the heat is the consumer's to suggest. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-boiler-tank-and-setting-f014bf01","cdnUrl":"https://cdn.3dassets.dev/assets/37878/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-boiler-tank-and-setting-f014bf01","thumbnailUrl":"https://cdn.3dassets.dev/assets/37878/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37878/v1/poster.webp","blurhash":"UHECLF8{02X59YtSnlxC0Ko#jY-p~VMxX8I;","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":46088,"triangles":1064,"vertices":2247,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1.2999697122980371,-0.00007248145909594106,-0.750067131308745],"max":[0.949999988079071,2.2100149564535743,1.350000023841858]},"sizeMeters":[2.25,2.21,2.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:58.967Z","updatedAt":"2026-09-12T05:53:59.067Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37878/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoilerTankAndSettingRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37878/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37878/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37878/v1/model.glb\" alt=\"Boiler Tank and Setting (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37878/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37878/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37879","slug":"roman-bathhouse-and-palaestra-furnace-wood-store-d62afae9","title":"Furnace Wood Store (Roman Bathhouse and Palaestra)","summary":"A timber wood store for a bath house furnace, 2.4 m wide and 2 m tall: four posts carrying a plank roof over three courses of split logs stacked crosswise. Fuel for the praefurnium, and the only thing in the pack that is meant to be consumed.","description":"A timber wood store for a bath house furnace, 2.4 m wide and 2 m tall: four posts carrying a plank roof over three courses of split logs stacked crosswise. Fuel for the praefurnium, and the only thing in the pack that is meant to be consumed. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-furnace-wood-store-d62afae9","cdnUrl":"https://cdn.3dassets.dev/assets/37879/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-furnace-wood-store-d62afae9","thumbnailUrl":"https://cdn.3dassets.dev/assets/37879/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37879/v1/poster.webp","blurhash":"UCEVNJ%102%1~V?GIVE20MjcxGM}NIxaj@IV","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":52868,"triangles":1260,"vertices":2758,"meshes":1,"materials":1,"textures":0,"animations":[],"boundingBox":{"min":[-1.5,-0.00006103701895199265,-0.5599993896298104],"max":[1.5,2.000061037018952,0.5599993896298104]},"sizeMeters":[3,2,1.12],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:00.325Z","updatedAt":"2026-09-12T05:54:00.429Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37879/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FurnaceWoodStoreRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37879/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37879/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37879/v1/model.glb\" alt=\"Furnace Wood Store (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37879/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37879/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37888","slug":"roman-bathhouse-and-palaestra-water-lifting-wheel-67002f5a","title":"Water Lifting Wheel (Roman Bathhouse and Palaestra)","summary":"A timber water lifting wheel 3.1 m across on two tufa piers, with twelve rim buckets on a lead axle over a feed trough. The wheel is one named node and spins on its axle; the water in the trough is a still slab, and nothing pours, because a falling stream is not geometry.","description":"A timber water lifting wheel 3.1 m across on two tufa piers, with twelve rim buckets on a lead axle over a feed trough. The wheel is one named node and spins on its axle; the water in the trough is a still slab, and nothing pours, because a falling stream is not geometry. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Named pivoted nodes: wheel-drum. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-water-lifting-wheel-67002f5a","cdnUrl":"https://cdn.3dassets.dev/assets/37888/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-water-lifting-wheel-67002f5a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37888/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37888/v1/poster.webp","blurhash":"U9AJsARP00%MaItRSPMx00R+~Vt5o~M{sRx]","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":47416,"triangles":1036,"vertices":2218,"meshes":6,"materials":6,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.949999988079071,0,-1.6299999952316284],"max":[0.949999988079071,3.579999935626984,1.6299999952316284]},"sizeMeters":[1.9,3.58,3.26],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:03.499Z","updatedAt":"2026-09-12T05:54:03.613Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37888/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function WaterLiftingWheelRomanBathhouseAndPalaestra(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37888/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37888/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37888/v1/model.glb\" alt=\"Water Lifting Wheel (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37888/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37888/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37886","slug":"roman-bathhouse-and-palaestra-bronze-stopcock-valve-b33ea31d","title":"Bronze Stopcock Valve (Roman Bathhouse and Palaestra)","summary":"A bronze stopcock on a lead main, 950 mm tall: a cast body on a travertine block with a plug valve and a cross handle. The handle is a named node on the valve axis and turns; the water in the pipe is not modelled.","description":"A bronze stopcock on a lead main, 950 mm tall: a cast body on a travertine block with a plug valve and a cross handle. The handle is a named node on the valve axis and turns; the water in the pipe is not modelled. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Named pivoted nodes: valve-handle. Rigid node-transform clips: spin. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-bronze-stopcock-valve-b33ea31d","cdnUrl":"https://cdn.3dassets.dev/assets/37886/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-bronze-stopcock-valve-b33ea31d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37886/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37886/v1/poster.webp","blurhash":"UACZR+?a004n00NG_4xu4.M|%Mxt~pxtDiIo","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":14768,"triangles":264,"vertices":571,"meshes":4,"materials":3,"textures":0,"animations":["spin"],"boundingBox":{"min":[-0.3400000035762787,-0.0000021412628019579216,-0.18000000715255737],"max":[0.3400000035762787,0.8500029050819726,0.18000000715255737]},"sizeMeters":[0.68,0.85,0.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:02.454Z","updatedAt":"2026-09-12T05:54:02.549Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37886/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BronzeStopcockValveRomanBathhouseAndPalaestra(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37886/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37886/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37886/v1/model.glb\" alt=\"Bronze Stopcock Valve (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37886/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37886/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37885","slug":"roman-bathhouse-and-palaestra-lead-pipe-run-7b67a688","title":"Lead Pipe Run (Roman Bathhouse and Palaestra)","summary":"A 2 m run of folded lead water pipe on two travertine saddles, 150 mm in the bore, with a soldered seam along the top, bronze collars at both joints and a strap at each bearing. Runs butt end to end along a wall or a trench.","description":"A 2 m run of folded lead water pipe on two travertine saddles, 150 mm in the bore, with a soldered seam along the top, bronze collars at both joints and a strap at each bearing. Runs butt end to end along a wall or a trench. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-lead-pipe-run-7b67a688","cdnUrl":"https://cdn.3dassets.dev/assets/37885/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-lead-pipe-run-7b67a688","thumbnailUrl":"https://cdn.3dassets.dev/assets/37885/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37885/v1/poster.webp","blurhash":"U48;S*xu8_?a%N~qob9F00s:?bIV9E00%N~q","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":18376,"triangles":396,"vertices":832,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.0499999523162842,0.000005792381089164689,-0.102664262817621],"max":[1,0.368035518239158,0.102664262817621]},"sizeMeters":[2.05,0.368,0.205],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:01.923Z","updatedAt":"2026-09-12T05:54:02.022Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37885/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function LeadPipeRunRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37885/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37885/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37885/v1/model.glb\" alt=\"Lead Pipe Run (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37885/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37885/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37900","slug":"roman-bathhouse-and-palaestra-amphora-rack-482ef8e6","title":"Amphora Rack (Roman Bathhouse and Palaestra)","summary":"A 1.6 m timber amphora rack 1.4 m tall: two shelves of cradle rails standing four terracotta amphorae in their saddles, which is how oil and wine were kept behind a stall. The jars are part of the model, not separate files.","description":"A 1.6 m timber amphora rack 1.4 m tall: two shelves of cradle rails standing four terracotta amphorae in their saddles, which is how oil and wine were kept behind a stall. The jars are part of the model, not separate files. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-amphora-rack-482ef8e6","cdnUrl":"https://cdn.3dassets.dev/assets/37900/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-amphora-rack-482ef8e6","thumbnailUrl":"https://cdn.3dassets.dev/assets/37900/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37900/v1/poster.webp","blurhash":"U6C$fa_100t4$+%L9u9a004q}[xbEJM{?F%1","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":50884,"triangles":1128,"vertices":2632,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.800000011920929,0.000004544248876969803,-0.2849940531373944],"max":[0.800000011920929,1.9199999570846558,0.2849940531373944]},"sizeMeters":[1.6,1.92,0.57],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:10.632Z","updatedAt":"2026-09-12T05:54:10.826Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37900/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function AmphoraRackRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37900/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37900/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37900/v1/model.glb\" alt=\"Amphora Rack (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37900/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37900/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37863","slug":"roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","title":"Colonnade Bay (Roman Bathhouse and Palaestra)","summary":"A 2 m colonnade bay 5 m tall: a stylobate step, one Corinthian column on the bay line and the entablature it carries, with an architrave, an inlaid frieze band and a projecting cornice. Bays repeat along the entablature, so a run of n bays needs one closing column.","description":"A 2 m colonnade bay 5 m tall: a stylobate step, one Corinthian column on the bay line and the entablature it carries, with an architrave, an inlaid frieze band and a projecting cornice. Bays repeat along the entablature, so a run of n bays needs one closing column. Ports bay-left and bay-right sit at the bay ends at architrave height. The column stands on the left port, so the run closes with a single column at the right hand end. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","cdnUrl":"https://cdn.3dassets.dev/assets/37863/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-colonnade-bay-8b3240b9","thumbnailUrl":"https://cdn.3dassets.dev/assets/37863/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37863/v1/poster.webp","blurhash":"U8DS%b_30000-;oeIURk~qIU01?bxv%MV@9G","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":51396,"triangles":1228,"vertices":2580,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.2863856948436692,0,-0.6351664784691915],"max":[1.0850093081453902,5,0.6351664784691915]},"sizeMeters":[2.371,5,1.27],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:51.926Z","updatedAt":"2026-09-12T05:53:52.025Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37863/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ColonnadeBayRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37863/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37863/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37863/v1/model.glb\" alt=\"Colonnade Bay (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37863/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37863/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37864","slug":"roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","title":"Colonnade Portico Run (Roman Bathhouse and Palaestra)","summary":"A 2 m portico run for a palaestra walk: a Tuscan column on a stylobate, the entablature over it, a 5.1 m ashlar back wall and a terracotta tiled lean to roof between the two, 3.2 m deep. Runs repeat along the walk and turn at a corner by butting end to end.","description":"A 2 m portico run for a palaestra walk: a Tuscan column on a stylobate, the entablature over it, a 5.1 m ashlar back wall and a terracotta tiled lean to roof between the two, 3.2 m deep. Runs repeat along the walk and turn at a corner by butting end to end. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","cdnUrl":"https://cdn.3dassets.dev/assets/37864/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-colonnade-portico-run-c1c2799a","thumbnailUrl":"https://cdn.3dassets.dev/assets/37864/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37864/v1/poster.webp","blurhash":"U7F~U14n00~q#QD%Ot?c00-;W=DjELE1xa~W","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":54260,"triangles":1236,"vertices":2640,"meshes":5,"materials":5,"textures":0,"animations":[],"boundingBox":{"min":[-1.2499465796204363,0,-1.6001528753921295],"max":[1.0849779060821412,5.820000171661377,1.7351528658553863]},"sizeMeters":[2.335,5.82,3.335],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:52.738Z","updatedAt":"2026-09-12T05:53:52.842Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37864/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function ColonnadePorticoRunRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37864/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37864/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37864/v1/model.glb\" alt=\"Colonnade Portico Run (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37864/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37864/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37869","slug":"roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","title":"Boundary Wall Run (Roman Bathhouse and Palaestra)","summary":"A 2 m run of precinct boundary wall 2.56 m tall: a mortared core faced in four courses of brown tufa ashlar with a travertine coping over it. Runs butt end to end round a palaestra or a service yard.","description":"A 2 m run of precinct boundary wall 2.56 m tall: a mortared core faced in four courses of brown tufa ashlar with a travertine coping over it. Runs butt end to end round a palaestra or a service yard. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","cdnUrl":"https://cdn.3dassets.dev/assets/37869/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-boundary-wall-run-83bb665e","thumbnailUrl":"https://cdn.3dassets.dev/assets/37869/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37869/v1/poster.webp","blurhash":"U8F=,Q-o00NH~q-;D%4o0KRj-pt6xt-:Rk9F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10620,"triangles":180,"vertices":416,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-1.0399999618530273,0,-0.4400396642260972],"max":[1.0399999618530273,2.559982925774424,0.08003966482214364]},"sizeMeters":[2.08,2.56,0.52],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:54.052Z","updatedAt":"2026-09-12T05:53:54.163Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37869/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BoundaryWallRunRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37869/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37869/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37869/v1/model.glb\" alt=\"Boundary Wall Run (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37869/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37869/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37870","slug":"roman-bathhouse-and-palaestra-boundary-wall-gate-03f1cb0d","title":"Boundary Wall Gate (Roman Bathhouse and Palaestra)","summary":"The same 2 m boundary run as a gateway: two tufa piers with moulded caps and a pair of iron strapped timber leaves hung between them. Same run ports, so it drops into a length of plain wall.","description":"The same 2 m boundary run as a gateway: two tufa piers with moulded caps and a pair of iron strapped timber leaves hung between them. Same run ports, so it drops into a length of plain wall. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Named pivoted nodes: gate-leaf-1, gate-leaf-2. Rigid node-transform clips: open and close. No skinning. No collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-boundary-wall-gate-03f1cb0d","cdnUrl":"https://cdn.3dassets.dev/assets/37870/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-boundary-wall-gate-03f1cb0d","thumbnailUrl":"https://cdn.3dassets.dev/assets/37870/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37870/v1/poster.webp","blurhash":"U7F5?I?d00In_4-:IA9G02W8xDRo-:%MM{9F","category":{"slug":"buildings","title":"Buildings & Architecture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":17392,"triangles":368,"vertices":836,"meshes":6,"materials":4,"textures":0,"animations":["open","close"],"boundingBox":{"min":[-1.0700000524520874,0,-0.3000650191345632],"max":[1.0700000524520874,3.00993891444762,0.3000650191345632]},"sizeMeters":[2.14,3.01,0.6],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:54.583Z","updatedAt":"2026-09-12T05:53:54.730Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\nimport { AnimationMixer } from 'three'\n\nlet mixer\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37870/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n  mixer = new AnimationMixer(gltf.scene)\n  mixer.clipAction(gltf.animations[0]).play()\n})\n\n// Call from your render loop; deltaSeconds is time since the previous frame.\nfunction updateAssetAnimation(deltaSeconds) {\n  mixer?.update(deltaSeconds)\n}","r3f":"import { useGLTF, useAnimations } from '@react-three/drei'\nimport { useEffect } from 'react'\n\nexport function BoundaryWallGateRomanBathhouseAndPalaestra(props) {\n  const { scene, animations } = useGLTF('https://cdn.3dassets.dev/assets/37870/v1/model.glb')\n  const { actions, names } = useAnimations(animations, scene)\n  useEffect(() => {\n    const action = actions[names[0]]\n    action?.reset().play()\n    return () => { action?.stop() }\n  }, [actions, names])\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37870/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37870/v1/model.glb\" alt=\"Boundary Wall Gate (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate autoplay></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37870/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.\n# Clips arrive as actions; play them from the Dope Sheet > Action Editor.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)\nvar player := model.find_child(\"AnimationPlayer\", true, false) as AnimationPlayer\nplayer.play(player.get_animation_list()[0])","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37870/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);\n// Clips import as legacy AnimationClips on the root; GetComponent<Animation>().Play() starts the first."}},{"id":"37905","slug":"roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","title":"Wrestling Pit Kerb Run (Roman Bathhouse and Palaestra)","summary":"A 2 m kerb run for the edge of a wrestling pit: a tufa kerb with a travertine capping, timber pegs behind it and the sand banked up on the court side. Runs butt end to end round a sand pit or between the court and the paving.","description":"A 2 m kerb run for the edge of a wrestling pit: a tufa kerb with a travertine capping, timber pegs behind it and the sand banked up on the court side. Runs butt end to end round a sand pit or between the court and the paving. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","cdnUrl":"https://cdn.3dassets.dev/assets/37905/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-wrestling-pit-kerb-run-6f12b24f","thumbnailUrl":"https://cdn.3dassets.dev/assets/37905/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37905/v1/poster.webp","blurhash":"UAEyPZ-;00ozWB?axuD%00IU~pRjs;4nIU-:","category":{"slug":"roads-infrastructure","title":"Roads & Infrastructure"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"modular","title":"Modular"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":10948,"triangles":172,"vertices":395,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-1,-0.000008855136119617635,-0.26501357113475177],"max":[1,0.3099848904984622,0.6700381573755649]},"sizeMeters":[2,0.31,0.935],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:13.413Z","updatedAt":"2026-09-12T05:54:13.517Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37905/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function WrestlingPitKerbRunRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37905/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37905/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37905/v1/model.glb\" alt=\"Wrestling Pit Kerb Run (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37905/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37905/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37909","slug":"roman-bathhouse-and-palaestra-punching-post-9bb15da8","title":"Punching Post and Bag (Roman Bathhouse and Palaestra)","summary":"A 2.6 m training post with a hanging sand bag: a turned timber post in a tufa footing with a bracket arm, an iron hook and a bound bag under it. The bag is modelled in one pose and stays still: a bag on a cord is a pendulum, and that is a joint, not a rigid node transform.","description":"A 2.6 m training post with a hanging sand bag: a turned timber post in a tufa footing with a bracket arm, an iron hook and a bound bag under it. The bag is modelled in one pose and stays still: a bag on a cord is a pendulum, and that is a joint, not a rigid node transform. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-punching-post-9bb15da8","cdnUrl":"https://cdn.3dassets.dev/assets/37909/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-punching-post-9bb15da8","thumbnailUrl":"https://cdn.3dassets.dev/assets/37909/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37909/v1/poster.webp","blurhash":"U5ATN1xt00E2ni9ZNG~p9b-:%K4nIC-:x[0K","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26408,"triangles":588,"vertices":1202,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.41999998688697815,0.000017091074352076907,-0.40948941255160043],"max":[0.9059696061772634,2.5199999809265137,0.40948941255160043]},"sizeMeters":[1.326,2.52,0.819],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T05:54:14.636Z","updatedAt":"2026-09-12T06:53:44.580Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37909/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function PunchingPostAndBagRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37909/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37909/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37909/v1/model.glb\" alt=\"Punching Post and Bag (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37909/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37909/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37906","slug":"roman-bathhouse-and-palaestra-stone-weight-set-7083f497","title":"Stone Weight Set (Roman Bathhouse and Palaestra)","summary":"A training weight set on a timber pallet, 1.3 m across: three rough stone balls in graded sizes and two pierced lifting stones with rope sockets. The stones are separate solids on one base, not separate files.","description":"A training weight set on a timber pallet, 1.3 m across: three rough stone balls in graded sizes and two pierced lifting stones with rope sockets. The stones are separate solids on one base, not separate files. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-stone-weight-set-7083f497","cdnUrl":"https://cdn.3dassets.dev/assets/37906/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-stone-weight-set-7083f497","thumbnailUrl":"https://cdn.3dassets.dev/assets/37906/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37906/v1/poster.webp","blurhash":"U5EL~S?Z00IUE-^+nND~00Ir~qaP#40K%g-=","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":26104,"triangles":576,"vertices":1181,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.6499999761581421,0.000012818633192142326,-0.4000335556872797],"max":[0.6499999761581421,0.4799882198291998,0.4059692583122088]},"sizeMeters":[1.3,0.48,0.806],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:13.440Z","updatedAt":"2026-09-12T05:54:13.569Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37906/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneWeightSetRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37906/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37906/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37906/v1/model.glb\" alt=\"Stone Weight Set (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37906/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37906/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37907","slug":"roman-bathhouse-and-palaestra-halteres-pair-05e57771","title":"Halteres Pair (Roman Bathhouse and Palaestra)","summary":"A pair of halteres: stone jumping weights 760 mm long, each two lobes on a shaped hand grip with a leather pad, lying on the ground where an athlete dropped them. Both weights are one model.","description":"A pair of halteres: stone jumping weights 760 mm long, each two lobes on a shaped hand grip with a leather pad, lying on the ground where an athlete dropped them. Both weights are one model. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-halteres-pair-05e57771","cdnUrl":"https://cdn.3dassets.dev/assets/37907/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-halteres-pair-05e57771","thumbnailUrl":"https://cdn.3dassets.dev/assets/37907/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37907/v1/poster.webp","blurhash":"UA9jlsxu00kA%M%MWCIU00WB~WWBD%9Ft7?a","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22448,"triangles":528,"vertices":1074,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.8463188409805298,-0.000027203714858120565,-0.35072397458612253],"max":[0.8484310507774353,0.26002719417811493,0.32625534403383066]},"sizeMeters":[1.695,0.26,0.677],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:13.038Z","updatedAt":"2026-09-12T05:54:13.147Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37907/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function HalteresPairRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37907/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37907/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37907/v1/model.glb\" alt=\"Halteres Pair (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37907/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37907/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37908","slug":"roman-bathhouse-and-palaestra-discus-and-javelin-rack-fdeff019","title":"Discus and Javelin Rack (Roman Bathhouse and Palaestra)","summary":"A 1.5 m timber rack for throwing kit, 1.9 m tall: four javelins with bound grips and iron heads standing in two rails, and two bronze discuses resting at the foot. A palaestra prop, complete with its contents.","description":"A 1.5 m timber rack for throwing kit, 1.9 m tall: four javelins with bound grips and iron heads standing in two rails, and two bronze discuses resting at the foot. A palaestra prop, complete with its contents. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-discus-and-javelin-rack-fdeff019","cdnUrl":"https://cdn.3dassets.dev/assets/37908/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-discus-and-javelin-rack-fdeff019","thumbnailUrl":"https://cdn.3dassets.dev/assets/37908/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37908/v1/poster.webp","blurhash":"U4BW3r~U004:9[-:%10f02E2~U-o9I-p=|D%","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":22704,"triangles":520,"vertices":1092,"meshes":2,"materials":2,"textures":0,"animations":[],"boundingBox":{"min":[-0.9200442533732137,0,-0.2199304115129397],"max":[0.9200442533732137,2.1614248752593994,0.2199304115129397]},"sizeMeters":[1.84,2.161,0.44],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:13.597Z","updatedAt":"2026-09-12T05:54:13.706Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37908/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function DiscusAndJavelinRackRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37908/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37908/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37908/v1/model.glb\" alt=\"Discus and Javelin Rack (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37908/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37908/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37910","slug":"roman-bathhouse-and-palaestra-ball-basket-96a60930","title":"Ball Basket (Roman Bathhouse and Palaestra)","summary":"A 900 mm wicker ball basket holding six leather exercise balls, with a small oil jar set beside it. Court kit for the edge of a palaestra.","description":"A 900 mm wicker ball basket holding six leather exercise balls, with a small oil jar set beside it. Court kit for the edge of a palaestra. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-ball-basket-96a60930","cdnUrl":"https://cdn.3dassets.dev/assets/37910/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-ball-basket-96a60930","thumbnailUrl":"https://cdn.3dassets.dev/assets/37910/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37910/v1/poster.webp","blurhash":"UACr[x~V009a?G%1IpEf0ME1-U%1IoR*ogjG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":48336,"triangles":1060,"vertices":2443,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.43799999356269836,0,-0.43799999356269836],"max":[0.7100039658169324,0.8900048631832409,0.43799999356269836]},"sizeMeters":[1.148,0.89,0.876],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":1,"publishedAt":"2026-09-12T05:54:16.283Z","updatedAt":"2026-09-12T07:00:47.786Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37910/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BallBasketRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37910/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37910/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37910/v1/model.glb\" alt=\"Ball Basket (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37910/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37910/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37902","slug":"roman-bathhouse-and-palaestra-statue-plinth-with-drape-b840d586","title":"Statue Plinth with Draped Figure (Roman Bathhouse and Palaestra)","summary":"A moulded travertine plinth 1.1 m square with a red inlaid panel, carrying a 2.2 m draped stone figure: a fluted column of drapery, a shoulder mass, a cloak fold and a plain head block.","description":"A moulded travertine plinth 1.1 m square with a red inlaid panel, carrying a 2.2 m draped stone figure: a fluted column of drapery, a shoulder mass, a cloak fold and a plain head block. The figure is deliberately abstract, with no face, no attributes and no identity, so it stands for statuary in general and depicts no god and no person. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-statue-plinth-with-drape-b840d586","cdnUrl":"https://cdn.3dassets.dev/assets/37902/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-statue-plinth-with-drape-b840d586","thumbnailUrl":"https://cdn.3dassets.dev/assets/37902/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37902/v1/poster.webp","blurhash":"U6DSzU?H000K9abH$%jF00NG~q%2MdV@%htl","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":32080,"triangles":728,"vertices":1545,"meshes":3,"materials":3,"textures":0,"animations":[],"boundingBox":{"min":[-0.550024102720593,0,-0.550024102720593],"max":[0.550024102720593,3.4600000381469727,0.550024102720593]},"sizeMeters":[1.1,3.46,1.1],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:10.790Z","updatedAt":"2026-09-12T05:54:10.894Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37902/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StatuePlinthWithDrapedFigureRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37902/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37902/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37902/v1/model.glb\" alt=\"Statue Plinth with Draped Figure (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37902/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37902/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37903","slug":"roman-bathhouse-and-palaestra-stone-sundial-45f509e6","title":"Stone Sundial (Roman Bathhouse and Palaestra)","summary":"A 1.9 m stone sundial: a turned travertine baluster on a square base carrying a marble dial block with eleven radial hour lines and a bronze gnomon. It is a fixed instrument and has no moving part: the shadow is the consumer's lighting, not an animation.","description":"A 1.9 m stone sundial: a turned travertine baluster on a square base carrying a marble dial block with eleven radial hour lines and a bronze gnomon. It is a fixed instrument and has no moving part: the shadow is the consumer's lighting, not an animation. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-stone-sundial-45f509e6","cdnUrl":"https://cdn.3dassets.dev/assets/37903/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-stone-sundial-45f509e6","thumbnailUrl":"https://cdn.3dassets.dev/assets/37903/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37903/v1/poster.webp","blurhash":"U3DJL:~q0000IUozs;V?00kC~qadI9R%x^t7","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":27512,"triangles":596,"vertices":1266,"meshes":4,"materials":4,"textures":0,"animations":[],"boundingBox":{"min":[-0.33997538460464455,0,-0.3433895707130432],"max":[0.49997538102836586,1.5939406776474403,0.5099999904632568]},"sizeMeters":[0.84,1.594,0.853],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:11.874Z","updatedAt":"2026-09-12T05:54:11.974Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37903/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function StoneSundialRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37903/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37903/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37903/v1/model.glb\" alt=\"Stone Sundial (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37903/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37903/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37881","slug":"roman-bathhouse-and-palaestra-fountain-basin-5ddd0773","title":"Fountain Basin (Roman Bathhouse and Palaestra)","summary":"A wall fountain basin 1.9 m wide: a travertine trough on four walls with a moulded marble rim, a red panelled back slab under a marble voussoir arch, and a bronze spout over the water. The water is a still translucent slab and the spout does not run.","description":"A wall fountain basin 1.9 m wide: a travertine trough on four walls with a moulded marble rim, a red panelled back slab under a marble voussoir arch, and a bronze spout over the water. The water is a still translucent slab and the spout does not run. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-fountain-basin-5ddd0773","cdnUrl":"https://cdn.3dassets.dev/assets/37881/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-fountain-basin-5ddd0773","thumbnailUrl":"https://cdn.3dassets.dev/assets/37881/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37881/v1/poster.webp","blurhash":"UEHU^ER*00$+8{D%kWxb00M{xHtk_N?HVYNG","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"interior","title":"Interior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":34880,"triangles":696,"vertices":1588,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-0.949999988079071,0,-0.7100468492915036],"max":[0.949999988079071,2.230612529492136,0.64995574000539]},"sizeMeters":[1.9,2.231,1.36],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:53:59.967Z","updatedAt":"2026-09-12T05:54:00.119Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37881/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function FountainBasinRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37881/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37881/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37881/v1/model.glb\" alt=\"Fountain Basin (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37881/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37881/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}},{"id":"37901","slug":"roman-bathhouse-and-palaestra-vendor-stall-42493924","title":"Bath House Vendor Stall (Roman Bathhouse and Palaestra)","summary":"A 2.2 m vendor stall for a bath house court: a tufa counter with a travertine top under a timber frame and a sloping awning, stocked with stacked cakes, oil jars, a tray of small flasks and a hanging valance marked with an abstract chequer.","description":"A 2.2 m vendor stall for a bath house court: a tufa counter with a travertine top under a timber frame and a sloping awning, stocked with stacked cakes, oil jars, a tray of small flasks and a hanging valance marked with an abstract chequer. The goods are generic shapes and the valance carries a pattern, never lettering or a trader's name. The awning is static, because cloth needs a solver. Metre units, +Y up, the bather's side toward +Z, resting on y=0. Static geometry; no rig, collision or navigation data.","status":"published","url":"https://3dassets.dev/assets/roman-bathhouse-and-palaestra-vendor-stall-42493924","cdnUrl":"https://cdn.3dassets.dev/assets/37901/v1/model.glb","downloadUrl":"https://3dassets.dev/download/roman-bathhouse-and-palaestra-vendor-stall-42493924","thumbnailUrl":"https://cdn.3dassets.dev/assets/37901/v1/thumb.webp","posterUrl":"https://cdn.3dassets.dev/assets/37901/v1/poster.webp","blurhash":"UAHB#g~q004n~pxVD%NG0LIUMy%2x^%NWVIU","category":{"slug":"props","title":"Props & Furniture"},"tags":[{"slug":"historical","title":"Historical"},{"slug":"realistic","title":"Realistic"},{"slug":"exterior","title":"Exterior"}],"license":{"slug":"cc0-1.0","name":"CC0 1.0 Universal","url":"https://creativecommons.org/publicdomain/zero/1.0/","attributionRequired":false},"contributor":{"username":"3dassets","name":"3D Assets","url":"https://3dassets.dev/u/3dassets"},"stats":{"fileSize":70908,"triangles":1676,"vertices":3472,"meshes":6,"materials":6,"textures":0,"animations":[],"boundingBox":{"min":[-1.159999966621399,0,-1.0641885870614531],"max":[1.159999966621399,2.5899999141693115,0.5699990680431881]},"sizeMeters":[2.32,2.59,1.634],"hasDraco":false,"hasMeshopt":false,"hasKTX2":false,"extensionsUsed":["KHR_mesh_quantization"]},"aiGenerated":true,"aiModel":"Claude Opus 5","downloads":0,"publishedAt":"2026-09-12T05:54:09.791Z","updatedAt":"2026-09-12T05:54:09.890Z","usage":{"threejs":"import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'\n\nconst loader = new GLTFLoader()\nloader.load('https://cdn.3dassets.dev/assets/37901/v1/model.glb', (gltf) => {\n  scene.add(gltf.scene)\n})","r3f":"import { useGLTF } from '@react-three/drei'\n\nexport function BathHouseVendorStallRomanBathhouseAndPalaestra(props) {\n  const { scene } = useGLTF('https://cdn.3dassets.dev/assets/37901/v1/model.glb')\n  return <primitive object={scene} {...props} />\n}\nuseGLTF.preload('https://cdn.3dassets.dev/assets/37901/v1/model.glb')","modelViewer":"<model-viewer src=\"https://cdn.3dassets.dev/assets/37901/v1/model.glb\" alt=\"Bath House Vendor Stall (Roman Bathhouse and Palaestra)\" camera-controls auto-rotate></model-viewer>","blender":"# Blender 4.x: File > Import > glTF 2.0, or from the Python console after downloading the file.\nimport bpy\nbpy.ops.import_scene.gltf(filepath='model.glb')  # from https://cdn.3dassets.dev/assets/37901/v1/model.glb\n# Metres and +Y up are converted to Blender's Z-up scene automatically.","godot":"# Godot 4: copy model.glb into res://models/ and the editor imports it as a scene.\nvar packed := load(\"res://models/model.glb\") as PackedScene\nvar model := packed.instantiate()\nadd_child(model)","unity":"// Unity: import model.glb with glTFast (Package Manager: com.unity.cloud.gltfast) and drag the prefab in,\n// or load it at runtime straight from the CDN:\nusing GLTFast;\nvar gltf = new GltfImport();\nif (await gltf.Load(\"https://cdn.3dassets.dev/assets/37901/v1/model.glb\")) await gltf.InstantiateMainSceneAsync(transform);"}}]}}