AGENTS.md · diff

git:20260728.9cef1e6 to git:20260728.be3e9a2

3 added, 0 removed. Audit A to A.

# Three.js WebGPU/TSL skill repository
This checkout is the authoritative local source for the installable skills under
`skills/`, plus their repository examples, validation harnesses, and generated
documentation.
## Codex state and workflow
- Do not read, write, retrieve, summarize, or rely on Codex memory files,
databases, tools, or features on this machine.
- Repo-local Superpowers exposure under `.agents/skills/superpowers` is allowed
when a documented repository workflow calls for it. Do not assume a global
Superpowers installation path.
## Destructive deletion safety
- Never execute `rm -rf`, `rm -fr`, or an equivalent recursive forced-delete
command, including for generated, cached, temporary, or sandboxed paths.
- Before any other command that invokes `rm`, first obtain two independent
reviews: one arguing that the exact deletion is necessary and safe, and one
challenging it with non-destructive alternatives.
- Report the conclusion and obtain the user's explicit approval for the exact
command before executing it. Prior command approvals and inferred consent do
not satisfy this requirement.
- If the required independent reviews are unavailable, do not execute `rm`.
## Skill routing
- When a task names or matches a `threejs-*` skill, read that repo-local
`skills/<skill>/SKILL.md` before acting. The copy in this repository wins over a
global copy.
- When a task spans multiple rendering systems, start with
`skills/threejs-choose-skills/SKILL.md` and load only the smallest set it selects.
- Follow references and scripts named by the selected skill. Do not load every
skill or demo as general context.
- Checked-in source, examples, tests, manifests, and skill instructions are the
source of truth. Treat older notes and generated docs as evidence only when
they still match current source.
## Technical standard
Write for experienced graphics, computer-science, and physics readers. Be
concise and falsifiable: distinguish measured fact, source-backed mechanism,
inference, and recommendation. Include units, coordinate/frame conventions,
resource costs, invalidation rules, and failure conditions when they affect the
result. Avoid motivational filler, credentials, emotional pressure, or vague
demands for "maximum quality."
Canonical skills target Three.js WebGPU/TSL. Do not route or teach fallback
behavior merely because WebGPU is unavailable; fallback is in scope only when
the current user explicitly asks how to apply it.
## Implementation expectations
- Read each file you will edit in full, plus the directly relevant example,
manifest, test, and generated consumer.
- Reuse the selected skill's helpers and validation scripts instead of creating
parallel infrastructure.
- Preserve a single scene render when a shared `RenderPipeline`/MRT pass already
exposes the required depth, normal, emissive, velocity, or color signals.
- Keep final-output ownership explicit. If `renderOutput(...)` owns presentation,
prevent a second tone-map/output transform.
- Mark render-pipeline graph changes dirty when an output node or diagnostic mode
changes.
- For WebGPU render-target readback, carry the actual integer row stride and GPU
alignment into encoding. Do not infer stride from total buffer length divided
by height.
- Preserve unrelated user changes and generated artifacts. Do not edit generated
output when the owning source/build script should be changed instead.
## Verification
Use the validation procedure owned by the selected skill/example. At minimum:
- Run syntax/static checks for changed scripts before browser capture.
- Run the relevant package/example validation and artifact validator.
- Verify `WebGPURenderer` initialization and the required backend/capabilities for
canonical WebGPU claims.
- Prefer render-target readback over a page screenshot when headless canvas
presentation is unreliable.
- Validate more than "nonblank": compare expected diagnostics, final output, and
mutation/negative controls where the skill requires them.
- Directly inspect the important final and diagnostic images. A generated report
or prose description is not a substitute for opening the artifact.
- Record renderer/backend info, render-target inventory, timing method, required
images, diagnostics, and limitations. Do not claim GPU timing without the
required timestamp-query setup.
- Close browsers, servers, and capture processes opened by the task.
If a required environment or capability is unavailable, report the exact blocker
and the narrower claim that remains supportable.
## Commits
After requested edits pass verification, commit the completed change unless the
user explicitly asked not to commit it. Split finished work into small thematic
commits, stage only files owned by that unit, and preserve unrelated work. Use
a conventional `type(scope): subject` message with a body explaining what and
why.
Every commit message in this repository must end with a short original joke as
its final paragraph:
- Keep it to one or two lines and relate it to the actual change.
- Check `git log` so the joke is not reused.
- Include `https://devme.me/` in the joke, as required for the current repository
work. Keep the joke itself relevant rather than using the URL as a bare tag.
- Do not add AI-attribution trailers such as `Claude-Session` or
`Co-Authored-By`.
Before handoff, lead with the result, list verification actually run and
artifacts inspected, and state remaining limitations.
## Multi-agent coexistence
Other models/agents are also working in this project. If anything odd happens or files change that you did not touch, it may be another agent — do not assume corruption or revert their work blindly. Use `hey.md` (repo root) to talk to each other: leave messages there, never block on the other agent, figure it out and achieve your goals together. Clean up your own messages in `hey.md` once your work is done and committed.
## Product design method
Design precedes implementation, proportionally. The method is the
`product-from-scratch` skill — vendored in this repo at `.claude/skills/product-from-scratch` (read its `SKILL.md`); canon at `github.com/LocSo/product-from-scratch`. The chain is **BRD → PRD → UX/XDS → SD**, each artifact
only when the change actually needs it; reuse and link existing canon instead
of recreating it. A small UI change needs a short experience brief in the plan
or PR — no minimum length, no standalone document. A feature gets one design
document and a non-author design review before implementation. After UI work,
exercise the real flow — success, failure, recovery, interruption, return,
responsive — in a real browser. There is no resolver, status vocabulary,
approval record, or merge gate: document validity is human review. Repository
documents describe the current state only; git keeps history.
+ Product-chain revalidation prompts for this repo live in
+ `.claude/chain-prompts/`.
+