# box3D [Built-ins](README.md) Canonical ID: `scene3d.box`. Nederlands: `doos3D`. Creates a box centered on its position with full width, height, and depth. Its yaw (the left-or-right angle) rotates about the vertical axis through its center; collision queries use the oriented box, not an axis-aligned (with edges parallel to the world axes) visual approximation. New shapes start at (0,0,0), yaw 0, color #f59e0b, solid true, texture none, and scale 1. Reusing a name replaces every property while preserving insertion order. A world contains at most 256 objects. Creation alone does not draw. See [3D words and camera rules](../guides/scene3d.md). ## Signature ```text box3D(name, width, height, depth) ``` ## Arguments | Parameter | Type | Requirement | |---|---|---| | `name` | Text | Case-sensitive, nonblank object name; at most 64 [UTF-8](../concepts/utf-8.md) bytes. | | `width` | Number | Finite, greater than 0 and at most 1,000. | | `height` | Number | Finite, greater than 0 and at most 1,000. | | `depth` | Number | Finite, greater than 0 and at most 1,000. | ## Return value `None`. ## Example ```pliro # language: en clear3D("#16213e") box3D("shape", 2, 1, 1) color3D("shape", "orange") texture3D("shape", "checker", 2) camera3D(3, 2, 5) lookAt3D(0, 0, 0) draw3D() ``` A textured primitive seen from an angled camera. ## Notes and common mistakes Use the function name for your source language. Its [canonical ID](../concepts/canonical-identity.md) is a shared documentation label; you do not type that ID as a call. Giving your own variable or function the same name can hide the built-in. Supply the documented [arguments](../concepts/parameters-and-arguments.md) and value types. Pliro reports mismatches when checking can detect them, or when the call runs. A **host** is the app or environment running your program. To see a drawing, it needs a **renderer**, the part that draws on screen. The [command-line](../concepts/command-line.md) command `pliro run` shows text but does not draw these graphics. The [host support table](../guides/hosts.md) explains which effects work in the IDE, browser, native app, and phone preview. A native build reports an unsupported capability instead of leaving it out. In 3D, +Y points up. **Yaw** is the left-or-right angle; at zero the camera faces -Z. The world holds at most 256 objects. Changes appear when you call `draw3D`. An invalid call leaves the world unchanged. Editing requires an existing object name; creating objects and removing an absent name are exceptions. Use the [portable color names or hex codes](../guides/colors.md); transparent colors are unavailable here. Version 1 of the phone preview's communication format does not carry 3D scenes. See the [3D guide](../guides/scene3d.md) for the coordinate rules. ## Related entries [clear3D](clear3D.md) · [sphere3D](sphere3D.md) · [cylinder3D](cylinder3D.md) · [position3D](position3D.md) · [turn3D](turn3D.md) · [Programming guides](../guides/scene3d.md) · [Host support](../guides/hosts.md) · [Calls and arguments](../syntax/calls.md)