视觉画布设计
canvas-design
基于设计原则创作静态视觉作品,用于海报与品牌图形。
extracting-spec-design-ladders【文档与办公】Reverse-engineers existing source code into a two-layer artifact ladder — a concrete reproduction spec (preserves behavior-affecting constants, same-tick ordering, input edges, collision/threshold semantics; drops cosmetics) and an abstract design doc (intentionally omits reproduction detail and records what is unspecified vs. safe-to-assume). Use to…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Turn read-only source into two separated layers with non-overlapping responsibilities: a faithful reproduction spec (enough to rebuild observable behavior) and an abstract design doc (intent and experience, deliberately stripped of reproduction detail).
Spec layer. Preserve only what changes observable play/behavior: goal, core loop,
required state & resources, input behavior, scoring/failure, balance-critical constants and
formulas. Drop cosmetics. The detailed preserve-vs-drop rules — same-tick ordering,
collision/hitbox/threshold semantics, spawn/target/random/input-edge behavior, reusable
scoring/safety pulses — are a checklist; load references/spec-preservation-checklist.md
while writing the spec.
Design layer. Working from the spec only, write the abstract doc: experience core, decisions asked of the user, risk/reward, how tension is built, learning curve, room for reinterpretation, and the invariant structure. Convert numeric balance into qualitative intent. Never leak exact constants, formulas, random ranges, tick counts, or source names. Add explicit recovery guidance: what to treat as unspecified, what is safe to assume, and the restoration priority order.
The non-abstractable floor. The following are intent, never reproduction detail, and must appear in the design layer stated qualitatively. Dropping them is the characteristic mis-abstraction of this ladder, because they read as mechanical and get filtered out with the constants:
Each of these can be written without a single constant, and a design doc missing them cannot transmit the core loop — which the doc's own restoration priority calls the thing that matters most. Observed case: all three were dropped as "implementation detail", the gate caught it, and every repair landed in the design layer with none in the spec, because the spec had them all along.
Log what was abstracted, preserved, omitted, and added as recovery guidance, so the abstraction is auditable. Keep it as a short section inside the design doc, OR — if the log needs to cite specific abstracted constants or source names — in a sibling log file, since putting those specifics inside the design doc would violate its no-leak rule.
Before handing off, run one self-check that costs nothing: if a blind reader had to state the core loop in one sentence, which sentence of the design doc would they build it from? If no single passage answers, the abstraction has already failed and the gate will only confirm it at full price.
Validation itself is not run by you, the extractor — you have read the source and cannot judge the artifacts blind. It is run by an independent party (the orchestrator spawns a fresh agent that sees only the artifact text). Hand the artifacts off to an isolated blind-restoration gate run under firewall:
pass / weak-pass / fail)A fail on either means that layer lost required structure (spec dropped a behavior-affecting
detail, or design omitted something unrecoverable). Revise and re-gate. A weak-pass on the
design layer is expected and acceptable — abstract docs intentionally drop reproduction detail.
If no isolated gate can be spawned, degrade explicitly: run the checklist's Self-Check section against each layer and record that validation was self-audit, not a blind gate — do not present it as gated.
Two artifacts — a reproduction spec and an abstract design doc — plus an extraction log, each validated by the restoration gate.