Files
wsg/docs/user
Jérôme Bousquié 004761252b LOD: fige les jumeaux de fente (slit twins) + blend UV linéaire (le fold est supprimé)
- weld: Δ UV = 0.5 exact n'est plus soudé (ambigu: fente à sa plus large
  vs saut légitime — la colonne u=1 du cône vs le chart disque du cap
  tombait exactement dessus et mélangeait les charts)
- collapse: les UV se blendent linéairement. Le fold par coordonnée
  (Δ entier → 0) figeait l'UV du sommet sur les vertices de base
  (bande de rayures, signalée par l'utilisateur) — il était inutile:
  les jumeaux de fente sont gelés, aucun repli ne traverse la fente
- welded renvoie un struct Welded (clippy)
- test cône: dual-chart (fan latéral bilinéaire + disque du cap),
  surface latérale r = λ; test seam/span réécrit selon la sémantique finale
- doc: gpu-driven.md, ARCHI_CPU_GPU.md (box LOD), DRAFT.md (D10) alignés
  sur la sémantique finale (gel des jumeaux, blend linéaire, seuil strict)
- AGENTS.md: gotcha 'ne jamais folder un saut entier de tuile'

102 tests passent, demo lance et rend sans erreur.
2026-09-23 16:55:44 +02:00
..
2026-09-21 11:36:19 +02:00
doc
2026-09-21 10:07:32 +02:00
doc
2026-09-21 10:07:32 +02:00
doc
2026-09-21 10:07:32 +02:00
doc
2026-09-21 10:07:32 +02:00
2026-09-22 15:48:15 +02:00
doc
2026-09-21 10:07:32 +02:00

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/, and the exhaustive API reference is generated by rustdoc (cargo doc -p wsg-lib --no-deps).

Where to start

  1. Quickstart — your first window and your first object, in ~30 lines.
  2. Then, at your own pace, depending on what you need:
Page Topic
Meshes Geometries: procedural primitives, custom Geometry, entities and Transform
Materials & textures Appearance: the standard shader, unlit mode, diffuse textures
Lights Directional, point, spot, ambient, MAX_LIGHTS
Shadows Shadow mapping: picking the casting light, the packed-index pitfall
GPU-driven rendering GPU world matrices + indirect draws, opt-in frustum culling
Camera & input Active camera, orbital controller, unified keyboard/mouse state
Examples 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.