> For the complete documentation index, see [llms.txt](https://ss3d.gitbook.io/design/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ss3d.gitbook.io/design/environment/construction/menu-and-user-case.md).

# Menu and User Case

There is a variety of things one can make with a welder and some metal rods. From floor girders to wall girders to a machine frame. So, when the materials and tools allow for several options of constructions, the player must be presented with choice. This will be done via construction menu:

<figure><img src="/files/190nexSaFiREYxbF5jtA" alt=""><figcaption><p>An example for how a construction options menu should look</p></figcaption></figure>

This menu should include a list of possible structures according to the materials/tools available. The list should include a name and picture of each object.

&#x20;Clicking on an object in the list should provide more information on the object like description, required materials and tools for construction as well as deconstruction.

&#x20;Also, the structure's model with applied holographic shader will be displayed, attached to the closest adjacent tile to where player is standing and facing. Green shader for when the tile is free and red if it's not. Player character should be able to move while choosing the construction tile and the shadered model location should be updated according to the rules above. Player should also be able to rotate the structure if necessary, and also to quickly disable construction mode in case of an emergency. And, obviously, when location is available, player should be able to confirm the chosen location.

Once the location is chosen, the character should play a crafting animation, resources should be expanded and a bunch of smoke and particles should be played to obscure the change from empty space to the freshly built structure.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ss3d.gitbook.io/design/environment/construction/menu-and-user-case.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
