# User documentation — WSG **Usage** documentation for the `wsg-lib` crate: how to build a 3D rendering application without touching wgpu directly. It targets a developer with basic Rust knowledge; no prior GPU graphics background is required. > **Not to be confused**: these pages explain *how to use* the API. The **technical** > documentation (internal architecture, design decisions, future targets) lives in > [../tech/](../tech/ARCHI_APP.md), and the exhaustive API reference is generated by rustdoc > (`cargo doc -p wsg-lib --no-deps`). ## Where to start 1. [Quickstart](quickstart.md) — your first window and your first object, in ~30 lines. 2. Then, at your own pace, depending on what you need: | Page | Topic | |-------|-------| | [Meshes](meshes.md) | Geometries: procedural primitives, custom `Geometry`, entities and `Transform` | | [Materials & textures](materials.md) | Appearance: the `standard` shader, unlit mode, diffuse textures | | [Lights](lights.md) | Directional, point, spot, ambient, `MAX_LIGHTS` | | [Shadows](shadows.md) | Shadow mapping: picking the casting light, the packed-index pitfall | | [Camera & input](camera-input.md) | Active camera, orbital controller, unified keyboard/mouse state | | [Examples](examples.md) | The 7 repo examples, the advanced `manual` workflow, adding your own example | The pages are cross-linked: each page ends with a link to the next one. ## Links - Technical documentation (architecture): [ARCHI_APP](../tech/ARCHI_APP.md) · [ARCHI_RENDU](../tech/ARCHI_RENDU.md) · [ARCHI_CPU_GPU](../tech/ARCHI_CPU_GPU.md) · [ARCHI_ARENES](../tech/ARCHI_ARENES.md) · [FRAME_LOOP](../tech/FRAME_LOOP.md) - [Root README](../../README.md) · [ROADMAP](../ROADMAP.md) · [DRAFT](../DRAFT.md) - Full API reference: `cargo doc -p wsg-lib --no-deps`