dsh-super-code 0.3.10 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.en.md +51 -19
- package/README.md +51 -19
- package/builtin/README.md +22 -0
- package/builtin/skills/mattpocock/LICENSE +21 -0
- package/builtin/skills/mattpocock/UPSTREAM.md +11 -0
- package/builtin/skills/mattpocock/distribution.json +352 -0
- package/builtin/skills/mattpocock/skills/ask-matt/PHASE-BOUNDARIES.md +55 -0
- package/builtin/skills/mattpocock/skills/ask-matt/SKILL.md +97 -0
- package/builtin/skills/mattpocock/skills/ask-matt/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/code-review/SKILL.md +89 -0
- package/builtin/skills/mattpocock/skills/code-review/agents/openai.yaml +3 -0
- package/builtin/skills/mattpocock/skills/codebase-design/DEEPENING.md +37 -0
- package/builtin/skills/mattpocock/skills/codebase-design/DESIGN-IT-TWICE.md +44 -0
- package/builtin/skills/mattpocock/skills/codebase-design/SKILL.md +114 -0
- package/builtin/skills/mattpocock/skills/codebase-design/agents/openai.yaml +3 -0
- package/builtin/skills/mattpocock/skills/diagnosing-bugs/SKILL.md +138 -0
- package/builtin/skills/mattpocock/skills/diagnosing-bugs/agents/openai.yaml +3 -0
- package/builtin/skills/mattpocock/skills/diagnosing-bugs/scripts/hitl-loop.template.sh +44 -0
- package/builtin/skills/mattpocock/skills/domain-modeling/ADR-FORMAT.md +47 -0
- package/builtin/skills/mattpocock/skills/domain-modeling/GLOSSARY-FORMAT.md +60 -0
- package/builtin/skills/mattpocock/skills/domain-modeling/SKILL.md +74 -0
- package/builtin/skills/mattpocock/skills/domain-modeling/agents/openai.yaml +3 -0
- package/builtin/skills/mattpocock/skills/grill-me/SKILL.md +7 -0
- package/builtin/skills/mattpocock/skills/grill-me/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/grill-with-docs/SKILL.md +7 -0
- package/builtin/skills/mattpocock/skills/grill-with-docs/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/grilling/SKILL.md +30 -0
- package/builtin/skills/mattpocock/skills/grilling/agents/openai.yaml +3 -0
- package/builtin/skills/mattpocock/skills/handoff/SKILL.md +16 -0
- package/builtin/skills/mattpocock/skills/handoff/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/implement/SKILL.md +17 -0
- package/builtin/skills/mattpocock/skills/implement/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/implement-spec/SKILL.md +42 -0
- package/builtin/skills/mattpocock/skills/implement-spec/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/improve-codebase-architecture/HTML-REPORT.md +123 -0
- package/builtin/skills/mattpocock/skills/improve-codebase-architecture/SKILL.md +71 -0
- package/builtin/skills/mattpocock/skills/improve-codebase-architecture/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/pr/CREDITS.md +3 -0
- package/builtin/skills/mattpocock/skills/pr/SKILL.md +170 -0
- package/builtin/skills/mattpocock/skills/pr/agents/openai.yaml +3 -0
- package/builtin/skills/mattpocock/skills/prototype/LOGIC.md +67 -0
- package/builtin/skills/mattpocock/skills/prototype/SKILL.md +26 -0
- package/builtin/skills/mattpocock/skills/prototype/UI.md +112 -0
- package/builtin/skills/mattpocock/skills/prototype/agents/openai.yaml +3 -0
- package/builtin/skills/mattpocock/skills/research/SKILL.md +12 -0
- package/builtin/skills/mattpocock/skills/research/agents/openai.yaml +3 -0
- package/builtin/skills/mattpocock/skills/retro/SKILL.md +44 -0
- package/builtin/skills/mattpocock/skills/retro/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/setup-matt-pocock-skills/SKILL.md +120 -0
- package/builtin/skills/mattpocock/skills/setup-matt-pocock-skills/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/setup-matt-pocock-skills/domain.md +51 -0
- package/builtin/skills/mattpocock/skills/setup-matt-pocock-skills/issue-tracker-github.md +50 -0
- package/builtin/skills/mattpocock/skills/setup-matt-pocock-skills/issue-tracker-gitlab.md +46 -0
- package/builtin/skills/mattpocock/skills/setup-matt-pocock-skills/issue-tracker-local.md +30 -0
- package/builtin/skills/mattpocock/skills/setup-matt-pocock-skills/triage-labels.md +15 -0
- package/builtin/skills/mattpocock/skills/tdd/SKILL.md +38 -0
- package/builtin/skills/mattpocock/skills/tdd/agents/openai.yaml +3 -0
- package/builtin/skills/mattpocock/skills/tdd/mocking.md +59 -0
- package/builtin/skills/mattpocock/skills/tdd/tests.md +77 -0
- package/builtin/skills/mattpocock/skills/teach/GLOSSARY-FORMAT.md +35 -0
- package/builtin/skills/mattpocock/skills/teach/LEARNING-RECORD-FORMAT.md +46 -0
- package/builtin/skills/mattpocock/skills/teach/MISSION-FORMAT.md +31 -0
- package/builtin/skills/mattpocock/skills/teach/RESOURCES-FORMAT.md +32 -0
- package/builtin/skills/mattpocock/skills/teach/SKILL.md +140 -0
- package/builtin/skills/mattpocock/skills/teach/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/to-questionnaire/SKILL.md +54 -0
- package/builtin/skills/mattpocock/skills/to-questionnaire/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/to-spec/SKILL.md +75 -0
- package/builtin/skills/mattpocock/skills/to-spec/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/to-tickets/SKILL.md +105 -0
- package/builtin/skills/mattpocock/skills/to-tickets/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/triage/AGENT-BRIEF.md +207 -0
- package/builtin/skills/mattpocock/skills/triage/OUT-OF-SCOPE.md +105 -0
- package/builtin/skills/mattpocock/skills/triage/SKILL.md +112 -0
- package/builtin/skills/mattpocock/skills/triage/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/wait-what/SKILL.md +7 -0
- package/builtin/skills/mattpocock/skills/wait-what/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/wayfinder/SKILL.md +128 -0
- package/builtin/skills/mattpocock/skills/wayfinder/agents/openai.yaml +5 -0
- package/builtin/skills/mattpocock/skills/wizard/SKILL.md +44 -0
- package/builtin/skills/mattpocock/skills/wizard/agents/openai.yaml +3 -0
- package/builtin/skills/mattpocock/skills/wizard/template.sh +223 -0
- package/builtin/skills/mattpocock/skills/writing-for-agents/SKILL-MECHANICS.md +22 -0
- package/builtin/skills/mattpocock/skills/writing-for-agents/SKILL.md +81 -0
- package/builtin/skills/mattpocock/skills/writing-for-agents/agents/openai.yaml +3 -0
- package/builtin/skills/oil-ui/LICENSE +21 -0
- package/builtin/skills/oil-ui/SKILL.md +163 -0
- package/builtin/skills/oil-ui/UPSTREAM.md +14 -0
- package/builtin/skills/oil-ui/assets/fonts/instrument-serif/InstrumentSerif-Regular.ttf +0 -0
- package/builtin/skills/oil-ui/assets/fonts/instrument-serif/OFL.txt +93 -0
- package/builtin/skills/oil-ui/assets/logo.png +0 -0
- package/builtin/skills/oil-ui/assets/style-explorer.html +433 -0
- package/builtin/skills/oil-ui/distribution.json +5 -0
- package/builtin/skills/oil-ui/references/design-direction.md +233 -0
- package/builtin/skills/oil-ui/references/direction-persuasion.md +25 -0
- package/builtin/skills/oil-ui/references/image-ideation.md +130 -0
- package/builtin/skills/oil-ui/references/layout-and-viewport.md +24 -0
- package/builtin/skills/oil-ui/references/media.md +158 -0
- package/builtin/skills/oil-ui/references/motion.md +123 -0
- package/builtin/skills/oil-ui/references/play.md +29 -0
- package/builtin/skills/oil-ui/references/reviewer-manual.md +73 -0
- package/builtin/skills/oil-ui/references/scroll-narrative.md +97 -0
- package/builtin/skills/oil-ui/references/style-explorer.md +48 -0
- package/builtin/skills/oil-ui/references/task-explore.md +28 -0
- package/builtin/skills/oil-ui/references/task-review.md +8 -0
- package/builtin/skills/oil-ui/references/tools.md +75 -0
- package/builtin/skills/oil-ui/references/ux-review.md +23 -0
- package/builtin/skills/oil-ui/references/ux-reviewer.md +10 -0
- package/builtin/skills/oil-ui/references/visual-language.md +103 -0
- package/builtin/skills/oil-ui/references/visual-review.md +35 -0
- package/builtin/skills/oil-ui/references/workdir.md +64 -0
- package/builtin/skills/oil-ui/scripts/build_explorer.py +958 -0
- package/builtin/skills/oil-ui/scripts/chrome.mjs +115 -0
- package/builtin/skills/oil-ui/scripts/curate-media.mjs +726 -0
- package/builtin/skills/oil-ui/scripts/measure_reference.py +543 -0
- package/builtin/skills/oil-ui/scripts/oiloil-image.mjs +388 -0
- package/builtin/skills/oil-ui/scripts/prep-image.mjs +287 -0
- package/builtin/skills/oil-ui/scripts/recommend_once.py +65 -0
- package/builtin/skills/oil-ui/scripts/shoot.mjs +2067 -0
- package/builtin/skills/openspec/LICENSE +22 -0
- package/builtin/skills/openspec/UPSTREAM.md +11 -0
- package/builtin/skills/openspec/distribution.json +73 -0
- package/builtin/skills/openspec/skills/README.md +19 -0
- package/builtin/skills/openspec/skills/openspec-apply-change/SKILL.md +205 -0
- package/builtin/skills/openspec/skills/openspec-archive-change/SKILL.md +220 -0
- package/builtin/skills/openspec/skills/openspec-bulk-archive-change/SKILL.md +376 -0
- package/builtin/skills/openspec/skills/openspec-continue-change/SKILL.md +137 -0
- package/builtin/skills/openspec/skills/openspec-explore/SKILL.md +355 -0
- package/builtin/skills/openspec/skills/openspec-ff-change/SKILL.md +128 -0
- package/builtin/skills/openspec/skills/openspec-new-change/SKILL.md +87 -0
- package/builtin/skills/openspec/skills/openspec-onboard/SKILL.md +574 -0
- package/builtin/skills/openspec/skills/openspec-propose/SKILL.md +174 -0
- package/builtin/skills/openspec/skills/openspec-sync-specs/SKILL.md +289 -0
- package/builtin/skills/openspec/skills/openspec-update-change/SKILL.md +108 -0
- package/builtin/skills/openspec/skills/openspec-verify-change/SKILL.md +222 -0
- package/builtin/skills/pstack/LICENSE +21 -0
- package/builtin/skills/pstack/UPSTREAM.md +17 -0
- package/builtin/skills/pstack/distribution.json +2299 -0
- package/builtin/skills/pstack/dsh/DSH.md +59 -0
- package/builtin/skills/pstack/dsh/LICENSE +21 -0
- package/builtin/skills/pstack/dsh/README.md +9 -0
- package/builtin/skills/pstack/dsh/adaptation.json +2930 -0
- package/builtin/skills/pstack/dsh/agents/comment-sicko.md +32 -0
- package/builtin/skills/pstack/dsh/agents/poteto-agent.md +5 -0
- package/builtin/skills/pstack/dsh/assets/logo.png +0 -0
- package/builtin/skills/pstack/dsh/authoring.md +7 -0
- package/builtin/skills/pstack/dsh/docs/guide/01-setup.md +68 -0
- package/builtin/skills/pstack/dsh/docs/guide/02-poteto-mode.md +141 -0
- package/builtin/skills/pstack/dsh/docs/guide/03-understand.md +81 -0
- package/builtin/skills/pstack/dsh/docs/guide/04-design.md +135 -0
- package/builtin/skills/pstack/dsh/docs/guide/05-build-and-clean.md +85 -0
- package/builtin/skills/pstack/dsh/docs/guide/06-verify-and-ship.md +164 -0
- package/builtin/skills/pstack/dsh/docs/guide/07-overnight.md +124 -0
- package/builtin/skills/pstack/dsh/docs/guide/08-principles.md +74 -0
- package/builtin/skills/pstack/dsh/docs/guide/09-make-it-yours.md +102 -0
- package/builtin/skills/pstack/dsh/docs/guide/10-recipes-and-pitfalls.md +184 -0
- package/builtin/skills/pstack/dsh/docs/guide/README.md +40 -0
- package/builtin/skills/pstack/dsh/docs/guide/images/design.jpg +0 -0
- package/builtin/skills/pstack/dsh/docs/guide/images/overnight.jpg +0 -0
- package/builtin/skills/pstack/dsh/docs/guide/images/recipes.jpg +0 -0
- package/builtin/skills/pstack/dsh/docs/guide/images/router.jpg +0 -0
- package/builtin/skills/pstack/dsh/docs/guide/images/understanding.jpg +0 -0
- package/builtin/skills/pstack/dsh/docs/guide/images/verification.jpg +0 -0
- package/builtin/skills/pstack/dsh/docs/harness/claude-code.md +69 -0
- package/builtin/skills/pstack/dsh/scripts/capture.mjs +80 -0
- package/builtin/skills/pstack/dsh/skills/architect/SKILL.md +82 -0
- package/builtin/skills/pstack/dsh/skills/architect/references/design-red-flags.md +57 -0
- package/builtin/skills/pstack/dsh/skills/architect/references/rationale-template.md +35 -0
- package/builtin/skills/pstack/dsh/skills/architect/references/runner-prompt.md +20 -0
- package/builtin/skills/pstack/dsh/skills/arena/SKILL.md +51 -0
- package/builtin/skills/pstack/dsh/skills/automate-me/SKILL.md +19 -0
- package/builtin/skills/pstack/dsh/skills/benchmark-checklist/SKILL.md +42 -0
- package/builtin/skills/pstack/dsh/skills/blast-radius/SKILL.md +53 -0
- package/builtin/skills/pstack/dsh/skills/bro/SKILL.md +10 -0
- package/builtin/skills/pstack/dsh/skills/correct/SKILL.md +35 -0
- package/builtin/skills/pstack/dsh/skills/create-formal-verification-skill/SKILL.md +46 -0
- package/builtin/skills/pstack/dsh/skills/create-verification-skill/SKILL.md +47 -0
- package/builtin/skills/pstack/dsh/skills/create-verification-skill/references/feature-map-example/README.md +47 -0
- package/builtin/skills/pstack/dsh/skills/create-verification-skill/references/feature-map-example/create-note.md +39 -0
- package/builtin/skills/pstack/dsh/skills/create-verification-skill/references/feature-map-example/search.md +45 -0
- package/builtin/skills/pstack/dsh/skills/figure-it-out/SKILL.md +55 -0
- package/builtin/skills/pstack/dsh/skills/how/SKILL.md +39 -0
- package/builtin/skills/pstack/dsh/skills/how/references/explainer-prompt.md +55 -0
- package/builtin/skills/pstack/dsh/skills/how/references/explorer-prompt.md +35 -0
- package/builtin/skills/pstack/dsh/skills/in-your-own-words/SKILL.md +10 -0
- package/builtin/skills/pstack/dsh/skills/interrogate/SKILL.md +34 -0
- package/builtin/skills/pstack/dsh/skills/ketchup/SKILL.md +46 -0
- package/builtin/skills/pstack/dsh/skills/ketchup-video/SKILL.md +32 -0
- package/builtin/skills/pstack/dsh/skills/maintain-formal-verification-skill/SKILL.md +61 -0
- package/builtin/skills/pstack/dsh/skills/maintain-verification-skill/SKILL.md +42 -0
- package/builtin/skills/pstack/dsh/skills/make-bot-ui/SKILL.md +22 -0
- package/builtin/skills/pstack/dsh/skills/make-bot-ui/references/submissions.md +44 -0
- package/builtin/skills/pstack/dsh/skills/make-bot-ui/scripts/submissions.mjs +86 -0
- package/builtin/skills/pstack/dsh/skills/no-comments/SKILL.md +27 -0
- package/builtin/skills/pstack/dsh/skills/poteto-help/SKILL.md +42 -0
- package/builtin/skills/pstack/dsh/skills/poteto-help/references/prompting.md +51 -0
- package/builtin/skills/pstack/dsh/skills/poteto-help/references/recipes.md +51 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/SKILL.md +153 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/authoring-a-skill.md +8 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/autonomous-run.md +12 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/autopilot-full.md +25 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/autopilot-stack.md +8 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/babysit.md +23 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/bug-fix.md +15 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/eval.md +25 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/feature.md +21 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/hillclimb.md +21 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/investigation.md +14 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/multi-phase-plan.md +155 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/opening-a-pr.md +34 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/orchestrate.md +14 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/pause-safely.md +8 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/perf-issue.md +25 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/prototype.md +14 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/refactoring.md +16 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/runtime-forensics.md +11 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/session-pickup.md +9 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/shipping.md +12 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/trace-forensics.md +14 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/visual-parity.md +11 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/playbooks/worktree-cleanup.md +9 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/references/bugbot-triage.md +142 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/bootstrap.ts +62 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/bun.lock +67 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/check-plan.mjs +205 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/check-plan.test.ts +110 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/package.json +16 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/cli.test.ts +224 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/cli.ts +223 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/fakes.test-helper.ts +129 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/github.test.ts +498 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/github.ts +726 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/policy.test.ts +482 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/policy.ts +842 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/render.ts +169 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/tsconfig.json +13 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/types.compile.ts +93 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/types.ts +414 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/watch-pr/watch-pr +6 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/worktree-audit.mjs +52 -0
- package/builtin/skills/pstack/dsh/skills/poteto-mode/scripts/worktree-audit.sh +4 -0
- package/builtin/skills/pstack/dsh/skills/principle-attack-the-premise/SKILL.md +24 -0
- package/builtin/skills/pstack/dsh/skills/principle-boundary-discipline/SKILL.md +37 -0
- package/builtin/skills/pstack/dsh/skills/principle-build-the-lever/SKILL.md +26 -0
- package/builtin/skills/pstack/dsh/skills/principle-encode-lessons-in-structure/SKILL.md +14 -0
- package/builtin/skills/pstack/dsh/skills/principle-exhaust-the-design-space/SKILL.md +12 -0
- package/builtin/skills/pstack/dsh/skills/principle-experience-first/SKILL.md +22 -0
- package/builtin/skills/pstack/dsh/skills/principle-explain-the-number/SKILL.md +21 -0
- package/builtin/skills/pstack/dsh/skills/principle-fix-root-causes/SKILL.md +24 -0
- package/builtin/skills/pstack/dsh/skills/principle-foundational-thinking/SKILL.md +24 -0
- package/builtin/skills/pstack/dsh/skills/principle-guard-the-context-window/SKILL.md +15 -0
- package/builtin/skills/pstack/dsh/skills/principle-laziness-protocol/SKILL.md +13 -0
- package/builtin/skills/pstack/dsh/skills/principle-make-operations-idempotent/SKILL.md +25 -0
- package/builtin/skills/pstack/dsh/skills/principle-migrate-callers-then-delete-legacy-apis/SKILL.md +17 -0
- package/builtin/skills/pstack/dsh/skills/principle-minimize-reader-load/SKILL.md +21 -0
- package/builtin/skills/pstack/dsh/skills/principle-model-the-domain/SKILL.md +27 -0
- package/builtin/skills/pstack/dsh/skills/principle-never-block-on-the-human/SKILL.md +18 -0
- package/builtin/skills/pstack/dsh/skills/principle-outcome-oriented-execution/SKILL.md +24 -0
- package/builtin/skills/pstack/dsh/skills/principle-prove-it-works/SKILL.md +25 -0
- package/builtin/skills/pstack/dsh/skills/principle-redesign-from-first-principles/SKILL.md +19 -0
- package/builtin/skills/pstack/dsh/skills/principle-separate-before-serializing-shared-state/SKILL.md +19 -0
- package/builtin/skills/pstack/dsh/skills/principle-sequence-verifiable-units/SKILL.md +20 -0
- package/builtin/skills/pstack/dsh/skills/principle-subtract-before-you-add/SKILL.md +21 -0
- package/builtin/skills/pstack/dsh/skills/principle-test-behavior-not-implementation/SKILL.md +23 -0
- package/builtin/skills/pstack/dsh/skills/principle-type-system-discipline/SKILL.md +16 -0
- package/builtin/skills/pstack/dsh/skills/recall/SKILL.md +19 -0
- package/builtin/skills/pstack/dsh/skills/reflect/SKILL.md +19 -0
- package/builtin/skills/pstack/dsh/skills/reflect/references/divergent-reviewer.md +38 -0
- package/builtin/skills/pstack/dsh/skills/reflect/references/judgment-reviewer.md +37 -0
- package/builtin/skills/pstack/dsh/skills/reflect/references/synthesizer.md +56 -0
- package/builtin/skills/pstack/dsh/skills/reflect/references/tooling-reviewer.md +48 -0
- package/builtin/skills/pstack/dsh/skills/setup-pstack/SKILL.md +80 -0
- package/builtin/skills/pstack/dsh/skills/sharpen/SKILL.md +19 -0
- package/builtin/skills/pstack/dsh/skills/show-me-your-work/SKILL.md +85 -0
- package/builtin/skills/pstack/dsh/skills/show-me-your-work/references/decision-log-template.tsv +1 -0
- package/builtin/skills/pstack/dsh/skills/show-me-your-work/scripts/audit-log.mjs +43 -0
- package/builtin/skills/pstack/dsh/skills/show-me-your-work/scripts/log.sh +42 -0
- package/builtin/skills/pstack/dsh/skills/statechart/SKILL.md +85 -0
- package/builtin/skills/pstack/dsh/skills/statechart/references/render.md +93 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/backends/cfg.mjs +31 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/backends/cfg.ts +33 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/backends/mermaid.mjs +223 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/backends/mermaid.ts +201 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/backends/plain-text.mjs +68 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/backends/plain-text.ts +72 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/backends/report.mjs +123 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/backends/report.ts +177 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/config.mjs +258 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/config.ts +276 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/dot.mjs +68 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/dot.ts +74 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/marks.mjs +102 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/marks.ts +93 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/messages.mjs +53 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/messages.ts +52 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/spec.mjs +89 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/spec.ts +114 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/trace.mjs +24 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/trace.ts +24 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/value.mjs +181 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/value.ts +166 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/verdict.mjs +38 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/verdict.ts +40 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/view.mjs +107 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/frontends/view.ts +119 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/ir.mjs +317 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/ir.ts +547 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/package.json +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/annotate.mjs +102 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/annotate.ts +128 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/label.mjs +217 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/label.ts +269 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/lift.mjs +89 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/lift.ts +85 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/loop-check.mjs +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/loop-check.ts +68 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/paths.mjs +50 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/paths.ts +60 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/reach.mjs +134 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/reach.ts +135 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/region-check.mjs +94 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/region-check.ts +97 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/regions.mjs +296 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/passes/regions.ts +295 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/pipeline.mjs +63 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/pipeline.ts +76 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/run.mjs +432 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/run.ts +481 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/statechart +29 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/statechart.mjs +149 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/statechart.ts +164 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/ConfigOracle.java +63 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/chart.test.ts +1210 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/charts/Braces.mmd +7 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/charts/Escapes.mmd +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/charts/Phases.mmd +29 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/cli.test.ts +1314 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/config-fuzz.test.ts +263 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Counter/ChartRun.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Counter/Counter.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Counter/Counter.tla +10 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Counter/chart.mmd +9 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Counter/graph.dot +16 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Counter/report.md +7 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Counter/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Counter/verdict-1.out +49 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/ChartRun.out +60 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/CounterAction.cfg +4 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/CounterAction.tla +22 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/chart.mmd +26 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/graph.dot +19 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/report.md +20 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/verdict-1.out +56 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/verdict-2.out +82 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterAction/verdict-3.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/ChartRun.out +59 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/CounterDeadlock.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/CounterDeadlock.tla +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/chart.mmd +22 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/graph.dot +16 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/report.md +17 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-1.out +56 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterDeadlock/verdict-2.out +77 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterFan/ChartRun.out +69 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterFan/CounterFan.cfg +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterFan/CounterFan.tla +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterFan/chart.mmd +85 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterFan/graph.dot +70 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterFan/report.md +12 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterFan/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterFan/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterFan/verdict-1.out +67 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterFan/verdict-2.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/ChartRun.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/ChartRun.out +85 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/CounterGuard.cfg +6 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/CounterGuard.tla +13 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/chart.mmd +5 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/graph.dot +10 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/report.md +31 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/verdict-1.out +64 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterGuard/verdict-2.out +77 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPast/ChartRun.out +55 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPast/CounterInitPast.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPast/CounterInitPast.tla +10 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPast/chart.mmd +12 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPast/graph.dot +6 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPast/report.md +12 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPast/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPast/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPast/verdict-1.out +33 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPast/verdict-2.out +54 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPastHolds/ChartRun.out +54 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPastHolds/CounterInitPastHolds.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPastHolds/CounterInitPastHolds.tla +10 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPastHolds/chart.mmd +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPastHolds/graph.dot +6 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPastHolds/report.md +7 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPastHolds/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInitPastHolds/verdict-1.out +46 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInstance/ChartRun.out +59 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInstance/CounterInstance.cfg +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInstance/CounterInstance.tla +10 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInstance/CounterSteps.tla +6 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInstance/chart.mmd +17 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInstance/graph.dot +15 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInstance/report.md +14 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInstance/sany.out +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInstance/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterInstance/verdict-1.out +78 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterJump/ChartRun.out +59 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterJump/CounterJump.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterJump/CounterJump.tla +19 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterJump/chart.mmd +26 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterJump/graph.dot +22 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterJump/report.md +12 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterJump/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterJump/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterJump/verdict-1.out +58 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterJump/verdict-2.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterLoop/ChartRun.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterLoop/CounterLoop.cfg +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterLoop/CounterLoop.tla +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterLoop/chart.mmd +17 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterLoop/graph.dot +15 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterLoop/report.md +14 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterLoop/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterLoop/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterLoop/verdict-1.out +76 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/ChartRun.out +59 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/CounterOrder.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/CounterOrder.tla +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/chart.mmd +19 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/graph.dot +10 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/report.md +15 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/verdict-1.out +56 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterOrder/verdict-2.out +67 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/ChartRun.out +62 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/CounterRules.cfg +6 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/CounterRules.tla +24 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/Moves.tla +5 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/chart.mmd +22 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/graph.dot +10 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/report.md +23 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/sany.out +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/verdict-1.out +58 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/verdict-2.out +66 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/verdict-3.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/verdict-3.out +74 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterRules/verdict-4.out +59 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStart/ChartRun.out +58 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStart/CounterStart.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStart/CounterStart.tla +15 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStart/chart.mmd +18 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStart/graph.dot +13 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStart/report.md +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStart/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStart/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStart/verdict-1.out +33 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStart/verdict-2.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStop/ChartRun.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStop/CounterStop.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStop/CounterStop.tla +15 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStop/chart.mmd +7 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStop/graph.dot +13 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStop/report.md +6 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStop/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterStop/verdict-1.out +49 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/ChartRun.out +61 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/CounterTie.cfg +4 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/CounterTie.tla +14 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/chart.mmd +30 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/graph.dot +19 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/report.md +27 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/verdict-1.out +56 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/verdict-2.out +64 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/verdict-3.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/verdict-3.out +87 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTie/verdict-4.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTieInGraph/ChartRun.out +60 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTieInGraph/CounterTieInGraph.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTieInGraph/CounterTieInGraph.tla +12 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTieInGraph/chart.mmd +23 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTieInGraph/graph.dot +19 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTieInGraph/report.md +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTieInGraph/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTieInGraph/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTieInGraph/verdict-1.out +56 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterTieInGraph/verdict-2.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/ChartRun.out +61 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/CounterView.cfg +4 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/CounterView.tla +14 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/chart.mmd +23 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/graph.dot +19 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/report.md +27 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/verdict-1.out +56 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/verdict-2.out +64 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/verdict-3.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/verdict-3.out +87 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/verdict-4.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/CounterView/view.mjs +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/DieHard/ChartRun.out +59 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/DieHard/DieHard.cfg +4 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/DieHard/DieHard.tla +38 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/DieHard/chart.mmd +92 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/DieHard/graph.dot +126 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/DieHard/report.md +17 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/DieHard/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/DieHard/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/DieHard/verdict-1.out +91 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/DieHard/verdict-2.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/ChartRun.out +61 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/FirstRule.cfg +6 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/FirstRule.tla +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/chart.mmd +22 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/graph.dot +16 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/report.md +25 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/verdict-1.out +56 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/verdict-2.out +64 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/verdict-3.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/verdict-3.out +64 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/verdict-4.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/FirstRule/verdict-4.out +77 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/HiddenClock/ChartRun.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/HiddenClock/HiddenClock.cfg +4 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/HiddenClock/HiddenClock.tla +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/HiddenClock/chart.mmd +13 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/HiddenClock/graph.dot +12 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/HiddenClock/report.md +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/HiddenClock/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/HiddenClock/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/HiddenClock/verdict-1.out +72 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Login/ChartRun.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Login/Login.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Login/Login.tla +62 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Login/chart.mmd +27 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Login/graph.dot +40 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Login/report.md +7 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Login/sany.out +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Login/verdict-1.out +47 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Login/view.mjs +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginGuarded/ChartRun.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginGuarded/LoginGuarded.cfg +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginGuarded/LoginGuarded.tla +64 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginGuarded/chart.mmd +28 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginGuarded/graph.dot +37 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginGuarded/report.md +8 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginGuarded/sany.out +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginGuarded/verdict-1.out +47 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginGuarded/view.mjs +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/ChartRun.out +60 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/LoginParallel.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/LoginParallel.tla +64 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/chart.mmd +44 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/graph.dot +58 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/report.md +17 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/sany.out +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/verdict-1.out +83 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/verdict-2.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/LoginParallel/view.mjs +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/ChartRun.out +60 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/MediaPlayer.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/MediaPlayer.tla +103 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/chart.mmd +43 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/graph.dot +93 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/report.md +14 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/sany.out +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-1.out +59 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/verdict-2.out +72 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayer/view.mjs +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerFixed/ChartRun.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerFixed/MediaPlayerFixed.cfg +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerFixed/MediaPlayerFixed.tla +100 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerFixed/chart.mmd +31 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerFixed/graph.dot +85 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerFixed/report.md +9 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerFixed/sany.out +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerFixed/verdict-1.out +47 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerFixed/view.mjs +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/ChartRun.out +59 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/MediaPlayer.tla +103 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/MediaPlayerProps.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/MediaPlayerProps.tla +6 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/chart.mmd +42 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/graph.dot +93 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/report.md +19 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-1.out +61 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-2.out +59 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-3.out +61 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-4.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-4.out +66 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-5.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-5.out +58 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/verdict-6.out +49 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/MediaPlayerProps/view.mjs +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/PickWorker/ChartRun.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/PickWorker/PickWorker.cfg +6 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/PickWorker/PickWorker.tla +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/PickWorker/chart.mmd +5 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/PickWorker/graph.dot +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/PickWorker/report.md +7 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/PickWorker/sany.out +5 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/PickWorker/verdict-1.out +70 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Shadow/ChartRun.out +61 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Shadow/Shadow.cfg +4 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Shadow/Shadow.tla +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Shadow/ShadowLib.tla +6 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Shadow/ShadowSub.tla +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Shadow/chart.mmd +9 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Shadow/graph.dot +16 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Shadow/report.md +8 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Shadow/sany.out +4 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/Shadow/verdict-1.out +65 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/ChartRun.out +59 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/SpacedNames.cfg +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/SpacedNames.tla +9 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/chart.mmd +23 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/graph.dot +17 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/report.md +15 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/sany.out +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/verdict-1.out +65 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/SpacedNames/verdict-2.out +75 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/ChartRun.out +69 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/TwoPhase.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/TwoPhase.tla +75 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/chart.mmd +60 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/graph.dot +297 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/report.md +20 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/sany.out +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/verdict-1.out +95 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/verdict-2.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhase/view.mjs +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhaseFixed/ChartRun.out +57 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.cfg +3 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhaseFixed/TwoPhaseFixed.tla +75 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhaseFixed/chart.mmd +37 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhaseFixed/graph.dot +223 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhaseFixed/report.md +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhaseFixed/sany.out +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhaseFixed/verdict-1.out +47 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TwoPhaseFixed/view.mjs +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/ChartRun.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/ChartRun.out +75 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/TypeGuard.cfg +5 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/TypeGuard.tla +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/chart.mmd +18 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/graph.dot +14 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/report.md +29 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/verdict-1.out +64 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/TypeGuard/verdict-2.out +75 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/ChartRun.out +58 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/UserNoDeadlock.cfg +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/UserNoDeadlock.tla +8 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/chart.mmd +22 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/graph.dot +16 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/report.md +15 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-1.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-1.out +56 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-2.exit +1 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus/UserNoDeadlock/verdict-2.out +77 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/corpus.test.ts +403 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/differential.test.ts +565 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/grid/Grid.cfg +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/grid/Grid.tla +9 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/grid/sany.out +2 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/java.ts +63 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/labels.ts +643 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/messages.test.ts +212 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/pipeline.test.ts +270 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/plain-tlc.test.ts +255 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/render.test.ts +81 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/tlc-out.test.ts +90 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/test/tlc.ts +158 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/tsconfig.json +11 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/worker.mjs +32 -0
- package/builtin/skills/pstack/dsh/skills/statechart/scripts/worker.ts +35 -0
- package/builtin/skills/pstack/dsh/skills/swarm/SKILL.md +44 -0
- package/builtin/skills/pstack/dsh/skills/tdd/SKILL.md +45 -0
- package/builtin/skills/pstack/dsh/skills/teach/SKILL.md +24 -0
- package/builtin/skills/pstack/dsh/skills/technical-writing/SKILL.md +109 -0
- package/builtin/skills/pstack/dsh/skills/typescript-best-practices/SKILL.md +34 -0
- package/builtin/skills/pstack/dsh/skills/typescript-best-practices/references/patterns.md +328 -0
- package/builtin/skills/pstack/dsh/skills/unslop/SKILL.md +65 -0
- package/builtin/skills/pstack/dsh/skills/why/SKILL.md +99 -0
- package/builtin/skills/pstack/dsh/skills/why/references/epistemics.md +71 -0
- package/builtin/skills/pstack/dsh/skills/why/references/investigator-prompt.md +84 -0
- package/builtin/skills/pstack/dsh/skills/why/references/source-playbook.md +17 -0
- package/builtin/skills/pstack/dsh/skills/why/references/sources/code-archaeology.md +51 -0
- package/builtin/skills/pstack/dsh/skills/why/references/sources/databricks.md +70 -0
- package/builtin/skills/pstack/dsh/skills/why/references/sources/datadog.md +97 -0
- package/builtin/skills/pstack/dsh/skills/why/references/sources/incident-postmortem.md +5 -0
- package/builtin/skills/pstack/dsh/skills/why/references/sources/linear.md +48 -0
- package/builtin/skills/pstack/dsh/skills/why/references/sources/notion.md +55 -0
- package/builtin/skills/pstack/dsh/skills/why/references/sources/sentry.md +66 -0
- package/builtin/skills/pstack/dsh/skills/why/references/sources/slack.md +17 -0
- package/builtin/skills/pstack/dsh/skills/why/references/synthesizer-prompt.md +129 -0
- package/client/index.js +453 -129
- package/cordis.patch.yml +5 -13
- package/docs/Acknowledgements.md +24 -12
- package/docs/Changelog.md +70 -0
- package/docs/Compatibility.md +78 -2
- package/docs/EvaluationResults.md +8 -6
- package/docs/UsageGuide.md +91 -15
- package/docs/en/Acknowledgements.md +24 -12
- package/docs/en/Changelog.md +70 -0
- package/docs/en/Compatibility.md +78 -2
- package/docs/en/EvaluationResults.md +8 -6
- package/docs/en/UsageGuide.md +91 -15
- package/docs/images/agent-tree-preview.png +0 -0
- package/docs/images/agent-tree.png +0 -0
- package/docs/images/install-tgz-preview.png +0 -0
- package/docs/images/install-tgz.png +0 -0
- package/docs/images/npm-downloads-dark.svg +22 -0
- package/docs/images/npm-downloads.svg +22 -0
- package/docs/images/preset-settings-preview.png +0 -0
- package/docs/images/star-history-dark.svg +22 -0
- package/docs/images/star-history.svg +22 -0
- package/docs/images/task-status-preview.png +0 -0
- package/docs/images/task-status.png +0 -0
- package/lib/connection/approvals.d.ts +4 -0
- package/lib/connection/approvals.d.ts.map +1 -1
- package/lib/connection/approvals.js.map +1 -1
- package/lib/connection/client.d.ts.map +1 -1
- package/lib/connection/client.js +20 -3
- package/lib/connection/client.js.map +1 -1
- package/lib/connection/directories.d.ts.map +1 -1
- package/lib/connection/directories.js +14 -5
- package/lib/connection/directories.js.map +1 -1
- package/lib/connection/git.d.ts.map +1 -1
- package/lib/connection/git.js +17 -12
- package/lib/connection/git.js.map +1 -1
- package/lib/connection/guidance.d.ts.map +1 -1
- package/lib/connection/guidance.js +7 -0
- package/lib/connection/guidance.js.map +1 -1
- package/lib/connection/http.d.ts.map +1 -1
- package/lib/connection/http.js +79 -31
- package/lib/connection/http.js.map +1 -1
- package/lib/connection/service.d.ts +6 -2
- package/lib/connection/service.d.ts.map +1 -1
- package/lib/connection/service.js +87 -33
- package/lib/connection/service.js.map +1 -1
- package/lib/connection/store.d.ts +3 -0
- package/lib/connection/store.d.ts.map +1 -1
- package/lib/connection/store.js +151 -37
- package/lib/connection/store.js.map +1 -1
- package/lib/connection/tasks.d.ts +10 -5
- package/lib/connection/tasks.d.ts.map +1 -1
- package/lib/connection/tasks.js +158 -81
- package/lib/connection/tasks.js.map +1 -1
- package/lib/connection/types.d.ts +2 -0
- package/lib/connection/types.d.ts.map +1 -1
- package/lib/connection/types.js.map +1 -1
- package/lib/core/batch-policy.js +2 -2
- package/lib/core/batch-policy.js.map +1 -1
- package/lib/core/delegation.d.ts +3 -0
- package/lib/core/delegation.d.ts.map +1 -1
- package/lib/core/delegation.js +2 -2
- package/lib/core/delegation.js.map +1 -1
- package/lib/core/deletion-command.d.ts.map +1 -1
- package/lib/core/deletion-command.js +271 -38
- package/lib/core/deletion-command.js.map +1 -1
- package/lib/core/tool-evidence.d.ts.map +1 -1
- package/lib/core/tool-evidence.js +9 -2
- package/lib/core/tool-evidence.js.map +1 -1
- package/lib/dsh/budget-settings.d.ts +11 -0
- package/lib/dsh/budget-settings.d.ts.map +1 -1
- package/lib/dsh/budget-settings.js +43 -9
- package/lib/dsh/budget-settings.js.map +1 -1
- package/lib/dsh/budgets.d.ts +5 -0
- package/lib/dsh/budgets.d.ts.map +1 -1
- package/lib/dsh/budgets.js +15 -0
- package/lib/dsh/budgets.js.map +1 -1
- package/lib/dsh/bundled-skills.d.ts +17 -0
- package/lib/dsh/bundled-skills.d.ts.map +1 -0
- package/lib/dsh/bundled-skills.js +94 -0
- package/lib/dsh/bundled-skills.js.map +1 -0
- package/lib/dsh/compaction.d.ts.map +1 -1
- package/lib/dsh/compaction.js +1 -0
- package/lib/dsh/compaction.js.map +1 -1
- package/lib/dsh/connection-approval.d.ts.map +1 -1
- package/lib/dsh/connection-approval.js +24 -2
- package/lib/dsh/connection-approval.js.map +1 -1
- package/lib/dsh/connection-history.d.ts +2 -1
- package/lib/dsh/connection-history.d.ts.map +1 -1
- package/lib/dsh/connection-history.js +25 -4
- package/lib/dsh/connection-history.js.map +1 -1
- package/lib/dsh/connection-host.d.ts +0 -1
- package/lib/dsh/connection-host.d.ts.map +1 -1
- package/lib/dsh/connection-host.js +59 -26
- package/lib/dsh/connection-host.js.map +1 -1
- package/lib/dsh/connection.d.ts.map +1 -1
- package/lib/dsh/connection.js +34 -8
- package/lib/dsh/connection.js.map +1 -1
- package/lib/dsh/deletion-protection.d.ts.map +1 -1
- package/lib/dsh/deletion-protection.js +18 -10
- package/lib/dsh/deletion-protection.js.map +1 -1
- package/lib/dsh/directory-metadata.d.ts +4 -0
- package/lib/dsh/directory-metadata.d.ts.map +1 -0
- package/lib/dsh/directory-metadata.js +4 -0
- package/lib/dsh/directory-metadata.js.map +1 -0
- package/lib/dsh/index.d.ts.map +1 -1
- package/lib/dsh/index.js +4 -0
- package/lib/dsh/index.js.map +1 -1
- package/lib/dsh/memory-library.d.ts.map +1 -1
- package/lib/dsh/memory-library.js +8 -4
- package/lib/dsh/memory-library.js.map +1 -1
- package/lib/dsh/official-budgets.d.ts.map +1 -1
- package/lib/dsh/official-budgets.js +16 -3
- package/lib/dsh/official-budgets.js.map +1 -1
- package/lib/dsh/openspec-shell.d.ts +3 -0
- package/lib/dsh/openspec-shell.d.ts.map +1 -0
- package/lib/dsh/openspec-shell.js +25 -0
- package/lib/dsh/openspec-shell.js.map +1 -0
- package/lib/dsh/preset-declaration.d.ts +6 -0
- package/lib/dsh/preset-declaration.d.ts.map +1 -1
- package/lib/dsh/preset-declaration.js +91 -65
- package/lib/dsh/preset-declaration.js.map +1 -1
- package/lib/dsh/preset-files.d.ts.map +1 -1
- package/lib/dsh/preset-files.js +16 -1
- package/lib/dsh/preset-files.js.map +1 -1
- package/lib/dsh/preset-installation.d.ts +11 -7
- package/lib/dsh/preset-installation.d.ts.map +1 -1
- package/lib/dsh/preset-installation.js +71 -33
- package/lib/dsh/preset-installation.js.map +1 -1
- package/lib/dsh/preset-metadata.d.ts.map +1 -1
- package/lib/dsh/preset-metadata.js +20 -7
- package/lib/dsh/preset-metadata.js.map +1 -1
- package/lib/dsh/preset-recovery-runtime.d.ts +76 -0
- package/lib/dsh/preset-recovery-runtime.d.ts.map +1 -0
- package/lib/dsh/preset-recovery-runtime.js +344 -0
- package/lib/dsh/preset-recovery-runtime.js.map +1 -0
- package/lib/dsh/preset-recovery.d.ts +14 -0
- package/lib/dsh/preset-recovery.d.ts.map +1 -0
- package/lib/dsh/preset-recovery.js +206 -0
- package/lib/dsh/preset-recovery.js.map +1 -0
- package/lib/dsh/preset-version.d.ts +1 -0
- package/lib/dsh/preset-version.d.ts.map +1 -1
- package/lib/dsh/preset-version.js +1 -1
- package/lib/dsh/preset-version.js.map +1 -1
- package/lib/dsh/ptc-budget.d.ts.map +1 -1
- package/lib/dsh/ptc-budget.js +24 -12
- package/lib/dsh/ptc-budget.js.map +1 -1
- package/lib/dsh/skill-directory.d.ts +45 -0
- package/lib/dsh/skill-directory.d.ts.map +1 -0
- package/lib/dsh/skill-directory.js +113 -0
- package/lib/dsh/skill-directory.js.map +1 -0
- package/lib/dsh/skill-installation.d.ts +8 -0
- package/lib/dsh/skill-installation.d.ts.map +1 -0
- package/lib/dsh/skill-installation.js +131 -0
- package/lib/dsh/skill-installation.js.map +1 -0
- package/lib/dsh/skill-packages.d.ts +6 -0
- package/lib/dsh/skill-packages.d.ts.map +1 -0
- package/lib/dsh/skill-packages.js +8 -0
- package/lib/dsh/skill-packages.js.map +1 -0
- package/lib/dsh/super-code.d.ts.map +1 -1
- package/lib/dsh/super-code.js +143 -166
- package/lib/dsh/super-code.js.map +1 -1
- package/lib/dsh/tool-contracts.d.ts +53 -0
- package/lib/dsh/tool-contracts.d.ts.map +1 -0
- package/lib/dsh/tool-contracts.js +129 -0
- package/lib/dsh/tool-contracts.js.map +1 -0
- package/lib/dsh/windows-shell.d.ts +2 -2
- package/lib/dsh/windows-shell.d.ts.map +1 -1
- package/lib/dsh/windows-shell.js +29 -5
- package/lib/dsh/windows-shell.js.map +1 -1
- package/lib/long-memory.d.ts +2 -2
- package/lib/long-memory.d.ts.map +1 -1
- package/lib/long-memory.js +19 -11
- package/lib/long-memory.js.map +1 -1
- package/lib/memory-usage-projection.d.ts.map +1 -1
- package/lib/memory-usage-projection.js +13 -9
- package/lib/memory-usage-projection.js.map +1 -1
- package/lib/super-agent-usage.d.ts +2 -0
- package/lib/super-agent-usage.d.ts.map +1 -1
- package/lib/super-agent-usage.js +16 -11
- package/lib/super-agent-usage.js.map +1 -1
- package/lib/task-feedback-projection.d.ts +12 -0
- package/lib/task-feedback-projection.d.ts.map +1 -1
- package/lib/task-feedback-projection.js +96 -27
- package/lib/task-feedback-projection.js.map +1 -1
- package/lib/task-memory-store.d.ts.map +1 -1
- package/lib/task-memory-store.js +7 -1
- package/lib/task-memory-store.js.map +1 -1
- package/package.json +24 -4
- package/presets/super-code/agent.cordis.yml +4 -6
- package/runtime/skills/openspec/bin/openspec +2 -0
- package/runtime/skills/openspec/bin/openspec.cmd +6 -0
- package/presets/super-code/skills/super-code-frontend/SKILL.md +0 -33
- package/presets/super-code/skills/super-code-frontend/references/browser-validation.md +0 -59
- package/presets/super-code/skills/super-code-frontend/references/interaction-states.md +0 -51
- package/presets/super-code/skills/super-code-frontend/references/visual-design.md +0 -43
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# 素材
|
|
2
|
+
|
|
3
|
+
图从哪来、承担什么、怎样和页面接成一体。游戏、收集和养成类产品要的角色、道具、藏品和图集,见“成套素材”。
|
|
4
|
+
|
|
5
|
+
## 目录导航
|
|
6
|
+
|
|
7
|
+
- [先定图承担什么](#先定图承担什么)
|
|
8
|
+
- [复用、生成,还是交给代码](#复用生成还是交给代码)
|
|
9
|
+
- [让图承担意思](#让图承担意思)
|
|
10
|
+
- [写提示词](#写提示词)
|
|
11
|
+
- [生成后放进页面再判断](#生成后放进页面再判断)
|
|
12
|
+
- [让图和页面接成一体](#让图和页面接成一体)
|
|
13
|
+
- [让一张画当舞台](#让一张画当舞台)
|
|
14
|
+
- [异质素材的单色化统一](#异质素材的单色化统一)
|
|
15
|
+
- [抽象技术的主视觉推导](#抽象技术的主视觉推导)
|
|
16
|
+
- [成套素材:角色、道具与图集](#成套素材角色道具与图集)
|
|
17
|
+
- [真实贴图与科学、工程素材](#真实贴图与科学工程素材)
|
|
18
|
+
- [实时 3D](#实时-3d)
|
|
19
|
+
- [生成视频的可选路径](#生成视频的可选路径)
|
|
20
|
+
- [文件与说明](#文件与说明)
|
|
21
|
+
|
|
22
|
+
## 先定图承担什么
|
|
23
|
+
|
|
24
|
+
素材是设计的起点,不是布局完成后填进去的装饰。先问:如果只保留一张图、一个标题和一个动作,哪张图值得占据这个位置?再决定是否需要更多模块。
|
|
25
|
+
|
|
26
|
+
- **分清差距来自哪里。** 是信息和构图的问题,还是确实缺一张能表达产品和品牌的图。不用更多图片、光效和动画掩盖层级问题,也不因为代码好写,就用通用渐变和几何形状顶替必要的图像。概念或容器结构不成立时,否决当前方案,先改方向和骨架;不用继续生图补救。
|
|
27
|
+
- **给每张图一句任务。** 它展示对象、解释关系,还是建立品牌和情绪;要让人一眼看懂什么。答不上来就先别找图,也别生成。图已经说清的,文字不再重复。
|
|
28
|
+
- **后台和工具同样要判断。** 对象缩略图帮助识别,内容封面支持浏览,地图或空间图帮助定位,示意图解释关系;它们可以是界面最有价值的部分。纯数据任务确实不受益时,保留清楚的数据表达,不硬塞气氛图。
|
|
29
|
+
- **图跟着北极星定,页面再和图呼应。** 主体、视角、尺度、光线、颜色、材质和留白由设计北极星决定;页面的字体、背景、边缘处理和运动从这张图建立呼应,也可以用一处受控的反差突出主动作。同组的图统一主体尺度、视角、光线和边缘质感,不是给所有图套同一个滤镜。
|
|
30
|
+
- **图是结构,不是装在盒子里的插图。** 让它跨过版面的分界、占满首屏,或者和文字叠在一起,做法见“让图和页面接成一体”。
|
|
31
|
+
- **先放进真实页面看一轮,再延展其他区域。** 素材没到位时,占位版的审美评审不算最终通过。
|
|
32
|
+
|
|
33
|
+
## 复用、生成,还是交给代码
|
|
34
|
+
|
|
35
|
+
- **有合适的就复用。** 实际看过图再引用它的特征;已有好素材时围绕它设计,不为证明用了工具而重复生成。
|
|
36
|
+
- **自然主体先准备真实位图。** 植物、食物、人物、空间和自然材质担任主视觉时,默认先制作定制位图,或复用已经实际看过、符合方向的素材。简单矢量只用于图标、数据和结构可控的图形;需要自然观感的主视觉,不能用单薄线条图标冒充成品。
|
|
37
|
+
- **没有就做出来。** 没有合适的现成素材时,主动制作关键素材,不因为正在写前端代码就省掉这一步。生成素材按这个来源顺序:宿主能生图就用宿主的。宿主不能生图且本任务已明确授权使用 oiloil 积分时,先运行 `node <skill>/scripts/oiloil-image.mjs balance` 检查登录状态;未登录或登录失效时,明确告诉用户需要登录,给出 `npx github:oil-oil/oil-cli login` 和 [账户页](https://ui.oiloil.org/account/?tab=images),说明浏览器授权完成后继续当前任务。只提示一次,不反复催促,也不反复发送生图请求。登录后用 [oiloil 生图脚本](../scripts/oiloil-image.mjs)(先运行 `node <skill>/scripts/oiloil-image.mjs --help`;并发不超过 2 个进程,`--prompt` 参数用单引号包裹以防 `$` 符号被 Shell 展开,基于参考图改图时传 `--ref <参考图>`)。任务没有明确授权时不使用积分,只在需要图的方向上友好提示一次,任务照常继续。已登录不等于授权消费。按所用工具自己的输入和编辑规则来。除了主产品本身,还可以把产品所处的地域环境、原材料肌理和工序细节一起做进这套画面里,让页面有完整的上下文,不只放几张孤立的棚拍白底图。需要真实材质、设计器物、历史摄影、工程测绘图、古地图、科学版画或航空航天实拍素材时,用 `curate-media.mjs` 从 Poly Haven、Wikimedia Commons、各大博物馆开放馆藏(含日本国立博物馆与国会图书馆)、LOC、Wellcome 和 NASA 检索到本地 `assets/`。授权不允许放进页面的条目也能派上用场:下载到不上线的目录,给生图当参考图,取它的题材、年代、构图和材质线索,不让生成结果复刻原图。编号拉取、贴图直链、联系表和视频 poster 的命令见 [工具](tools.md#检索和下载真实素材);下载自动生成 `SOURCES.md`,据此保留条目许可与署名。
|
|
38
|
+
- **需要随操作实时变形的实物,用多层次矢量或实时渲染配合静态图。** 遇到选配器、规格切换、剖面拆解这类必须随用户点击立刻改变比例、部件或色泽的区域,如果只放一张不会变的静态照片,操作和画面就会脱节。把静态图像留给氛围、地域和材质特写;需要实时联动的主体用内联 SVG(画足外轮廓受光体积、结构连接件和表面肌理三层细节,不画成单薄的纯色图标)或 Canvas/3D 绘制,让每一次切换都在画面上立即兑现。
|
|
39
|
+
- **位图和代码分工。** 位图负责自然形态、材质和光影;代码负责交互与可访问界面。文字、按钮、表单、数据标签和常规布局一律由真实 HTML/CSS 排版,不让生图模型画,也不拿完整截图当可交互的成品:生图画字容易出错,改不了,也不能被选中和读屏。
|
|
40
|
+
- **离线只限制运行时。** 页面运行时不得请求外部素材;制作阶段仍可按授权使用 image-gen 生成,再把成品打包到本地 `assets/`。不把离线交付当成跳过定制素材的理由。
|
|
41
|
+
- **没有生成能力时才用替代。** 没有符合方向的现成素材,且确认本任务没有可用生成能力后,才选用许可和实际显示质量都合格的临时替代素材或多层次矢量,并附素材简报,写清需要补做的主体、视角、材质、光向、留白和尺寸。不自动安装工具、切换收费服务,或要求用户把密钥粘进对话。
|
|
42
|
+
- 要转动、有物理或随视角变化的对象见“实时 3D”;预先确定的连续变化见“生成视频的可选路径”。
|
|
43
|
+
|
|
44
|
+
## 让图承担意思
|
|
45
|
+
|
|
46
|
+
生成图最常见的失败不是画得不好,而是画得太满:细节越丰富越像图库照片,放进版面后没有重点,也和页面没有关系。
|
|
47
|
+
|
|
48
|
+
跟产品无关的“好看场景”放进版面只会抢戏;处处都画满细节,就等于没有重点。画实物或真实场景时,把主体的质感和光影做足,背景和放字的地方留干净;画抽象功能或前后变化时,可以把大面压成单色、白模或失焦,只让关键的那几处亮出颜色、光或细节。
|
|
49
|
+
|
|
50
|
+
选能和页面“接上”的主体:
|
|
51
|
+
|
|
52
|
+
- 能跨过两块色面分界的单个物件。
|
|
53
|
+
- 能延伸出画面的线状物。
|
|
54
|
+
- 能在上面标注的空间:模型、地图、剖面、平面图。
|
|
55
|
+
|
|
56
|
+
这样的主体,之后能和页面里的线、标注和区块连成一体;一张自给自足的风景照做不到。
|
|
57
|
+
|
|
58
|
+
## 写提示词
|
|
59
|
+
|
|
60
|
+
按固定顺序写,每项一两句:
|
|
61
|
+
|
|
62
|
+
1. **主体与表现形式**:什么东西,用什么体裁呈现(照片、插画、模型或图解),体裁从页面的方向推出。
|
|
63
|
+
2. **构图与留白**:主体在画面里的位置和占比,哪一块留空给文字。按已选的首屏骨架写出主体所在的区域和占比,以及留给文字的那一块要完全干净。留白区不要有高光、反光或杂乱纹理,保证文字清晰好读。
|
|
64
|
+
3. **安全距离**:主体、托台与阴影不要贴到文字边缘,留出 10% 左右的空隙,防止屏幕变窄时文字压到物体上。
|
|
65
|
+
4. **背景**:直接写出页面实际使用的十六进制色值,或者要求纯透明背景。色值一致时边缘自然融进网页,不需要额外用 CSS 遮罩去修。
|
|
66
|
+
5. **材质与光**:主光方向、辅光、质感。同一页的多张图用同一个光向。地面反光向留白侧自然衰减,不横扫到文字区。
|
|
67
|
+
6. **排除项**:不要任何文字、标志、伪代码、界面截图或多余漂浮物;小件图标或透明图注明“不要地面投影”,外部投影交由前端 CSS `filter: drop-shadow(...)` 控制。
|
|
68
|
+
|
|
69
|
+
## 生成后放进页面再判断
|
|
70
|
+
|
|
71
|
+
在真实页面、真实尺寸里看,不在图片查看器里判断。单独看很好的图,放进版面后常常主体太满、朝向不对、留白在错的位置。
|
|
72
|
+
|
|
73
|
+
不对就改提示词重新生成,并写清要改什么,例如“主体往右移,左边留出一半空间”“去掉地面反光,背景换成页面的色值”。不要围着一张不合适的图改版式。每轮只生成少量有明确差异的候选,按预先写定的主体、构图和材质筛选,不反复随机抽卡。同一批里挑最能排版的一张,不挑细节最多的那张。
|
|
74
|
+
|
|
75
|
+
**A/B 共用素材。** 各版本使用同一批原图和同等质量的导出,只改被测变量;不拿定制位图对低质量替代图,以免把素材差距误判为方案差距。
|
|
76
|
+
|
|
77
|
+
## 让图和页面接成一体
|
|
78
|
+
|
|
79
|
+
**背景融合。** 要融进背景的主视觉和大图,不加框,也不关进圆角卡片:从图的四角实际取色,页面背景用同一个值,或者用 CSS 遮罩、导出渐隐把四条边淡出到背景色。纯色背景时,提示词里的底色和网页一致,边缘就能自然接上。
|
|
80
|
+
|
|
81
|
+
**透明图。** 先放在最终背景上检查边缘、白边和残留的棋盘格;检查透明通道要看像素,不能看文件后缀。阴影不烘焙在图里,由页面按实际背景加投影,这样换了背景也对。
|
|
82
|
+
|
|
83
|
+
**跨越结构。** 透明物件放在两个色块或两个区块的分界线上,让它同时属于两边。
|
|
84
|
+
|
|
85
|
+
**图和代码接力。** 生成图负责代码做不出来的材质和光,例如金属、玻璃、模型、光影。代码负责需要精确、可编辑、会延续的部分,例如从图里延伸出去的线、路径和标注。如果图里有一段本该延续到页面的部分,就把它裁掉,改用矢量接着画。这样它能准确穿过版面,带上真实文字,并在不同宽度下重新走线。
|
|
86
|
+
|
|
87
|
+
**标注。** 在图上标注用细引线加文字,不用带底色和阴影的气泡卡片。引线端点要对准图里的真实位置:图在版面里用固定的尺寸和位置,按图片像素换算坐标。窄屏上隐藏标注,或改成图下的列表,不让它们漂移到错误的位置。
|
|
88
|
+
|
|
89
|
+
**窄屏裁切。** 不把整张大场景等比缩小到看不清。从原图裁出焦点区域另存一张给窄屏用,或用对象定位对准焦点。桌面和手机两种裁切,都要保住承载信息的那几处。
|
|
90
|
+
|
|
91
|
+
**一张图用多次。** 结尾或其他区块可以用同一张图的局部特写,比再生成一张光线和风格对不上的图更统一。
|
|
92
|
+
|
|
93
|
+
## 让一张画当舞台
|
|
94
|
+
|
|
95
|
+
另一种用法正好相反:图不讲信息,只给气氛,界面保持黑白克制,全页只用一种有笔触的画当唯一的颜色来源。
|
|
96
|
+
|
|
97
|
+
- **画当舞台,界面在上面演示。** 把真实界面的简化版放在画上,画从四周露出来。滚动时画固定不动,只换前面的界面内容,和“滚动叙事”接得上。
|
|
98
|
+
- **大胆裁切。** 只留画的一角或一个局部,接近抽象,不和界面抢。题材不必和产品字面相关,但气质要对得上。
|
|
99
|
+
- **松和紧互相衬托。** 画越松,界面越要精确、干净;两者一起出现,彼此都更好看。
|
|
100
|
+
- **用得少。** 一张画贯穿全页,或者只在两三处出现,例如价格卡的顶端和页脚;不要每个区块配一张。同一页的画统一画种和笔触。
|
|
101
|
+
- **演示用简化过的真实界面。** 次要内容虚化或换成骨架,只把要讲的那一处做清楚;数字对比直接用界面元素画出来,例如两条长短不同的进度条,而不是另做一张图表。
|
|
102
|
+
|
|
103
|
+
## 异质素材的单色化统一
|
|
104
|
+
|
|
105
|
+
引入历史画作、雕像肖像或外部摄影素材时,彩色位图容易与界面的主题色产生冲突。可以通过统一的单色处理将不同来源的素材收拢到当前方向里:
|
|
106
|
+
|
|
107
|
+
- **单色映射**:将素材转为黑白高对比后,把暗部与亮部映射到页面的主色与底色。
|
|
108
|
+
- **网点与点阵抖动**:对写实图片做半色调网点化或微弱的扫描线处理,消解照片的写实质感,让它能和排版、网格共处。
|
|
109
|
+
|
|
110
|
+
## 抽象技术的主视觉推导
|
|
111
|
+
|
|
112
|
+
缺少产品截图时,不回退到通用的彩色发光球或大渐变。从产品处理的东西里找一个有形的对象:它读写的数据长什么样,它替代的那件工具或那道工序是什么,它的用户手边有什么。表现形式满足两条:大面积色阶平稳,文字压得住;画面里的线和标尺能由 SVG/CSS 接着画。找不到有形的对象时,主视觉交给排版本身。
|
|
113
|
+
|
|
114
|
+
## 成套素材:角色、道具与图集
|
|
115
|
+
|
|
116
|
+
游戏、收集和养成类产品要的不是一张配图,而是一整套会被反复摆放、翻转、比较的素材。
|
|
117
|
+
|
|
118
|
+
- **先写风格说明。** 画法、视角、光向、材质、比例和色板各写一句,同一批的提示词都按它写。
|
|
119
|
+
- **同系列靠轮廓区分。** 统一比例和光向,用耳朵、道具、配饰这类轮廓特征区分个体,不只换颜色。缩到实际显示尺寸还要能一眼分开。
|
|
120
|
+
- **状态序列从同一素材改出来。** 生长阶段、正反面、开壳前后和不同动作,都以第一张为参考图编辑变体,保持同一个角色,不逐状态独立生成;各状态的落地点对齐到同一条基线。
|
|
121
|
+
- **透明图集按轮廓切。** 格子之间留透明间距,按实际轮廓裁切,不按格子均分,否则会切掉树冠、带进邻格的残片。检查 alpha 像素,不看预览图的背景色,再放到最终背景上看边缘。
|
|
122
|
+
- **贴到物体上要两面成立。** 会翻转、落下或转到侧面的素材,正面背面都要有,边缘沿轮廓闭合。受光交给场景,不在图里烘焙和场景方向相反的光影。
|
|
123
|
+
|
|
124
|
+
## 真实贴图与科学、工程素材
|
|
125
|
+
|
|
126
|
+
读 `--sheet` 生成的联系表 PNG 挑选,`imageUrl` 用来下载;`look` 里的四边色、纸底和干净区域,直接对应下文的背景融合、正片叠底和压字位置。Poly Haven 的 `textureMaps.diffuse.url` 才是表面颜色贴图,`roughness` 和 `normal` 分别供实时材质的粗糙度与法线使用;渲染球和模型预览图不适合重复铺贴。
|
|
127
|
+
|
|
128
|
+
- 用 Diffuse JPG 做 CSS `background-repeat: repeat` 或 SVG `<pattern>`,在最终尺寸下检查四边接缝和重复频率。部分素材只沿一个轴重复;不要只看缩略图就认定双轴无缝。
|
|
129
|
+
- Three.js 的颜色贴图用 sRGB,粗糙度与法线用线性数据;本工具选择 OpenGL 法线,按模型 UV 和实际光照检查方向。重复材质设置两个轴的 RepeatWrapping;模型 glTF 依赖清单中的 UV 贴图用于该模型,不能当作无缝材质。
|
|
130
|
+
- 测绘结果只选 LOC hh 的图纸资源,照片、调查说明与图纸分开看。地图与版画的 IIIF 原图尺寸、下载尺寸可能不同,以下载输出的宽高判断能否承载页面放大和标注。
|
|
131
|
+
- NASA 视频检索排除标题或关键词明确标为动画、仿真或可视化的项,仍要看片确认是否符合实拍要求。首帧 poster 是静态回退;背景播放、循环与裁切先在真实页面里检查。
|
|
132
|
+
- 许可证跟素材记录走。Poly Haven 输出 CC0 与信源署名,Wellcome 保留条目许可;LOC 不推定所有条目无版权限制。Met、AIC、Cleveland 和 Rijksmuseum 只取公有领域或 CC0 条目;Japan Search 只取 CC0、公有领域、CC BY 和 CC BY-SA,ColBase 的图要按其要求署“出典:ColBase”;Commons 按每个文件自己的许可,BY-SA 改色或合成后要以同样许可共享。V&A 的公开 API 可访问高清图,但公开访问不等于取得首页、商业用途或高清发布授权,所以标为 `reference`。NASA 使用条件保留第三方署名与限制。官方条款随 `SOURCES.md` 一并保留,需要展示署名时放到页脚或项目的素材说明。
|
|
133
|
+
|
|
134
|
+
## 实时 3D
|
|
135
|
+
|
|
136
|
+
三类情况用实时 3D:用户要转动、检视的对象;堆叠、碰撞、推挤、摆动这类物理;玻璃、金属、透明塑料这类随视角变化的材质。一张生成图就能表达的,或者只为了显得高级,都不用。
|
|
137
|
+
|
|
138
|
+
- 用 three.js 这类成熟引擎,需要物理时再配一个刚体库。生成的图当贴图、精灵或环境光来源,代码负责空间、运动和受力。
|
|
139
|
+
- 验收看画面,不看用没用库:静帧看得出体积、透视、接触阴影和材质区分;序列图看动作关系,直接操作看运动是否连续、力能否传到被推的物体上。录屏条件按 [工具](tools.md),序列图不能证明正常速度下的手感。
|
|
140
|
+
- 新建的小样把库下载到任务目录的 `vendor/` 并附许可证,不引用 CDN;存量项目按项目已有的依赖方式引入。以模块方式引入的页面和贴图要通过本地服务器打开;要求双击就能打开时,打包成一个普通脚本,贴图内联或放在同目录。
|
|
141
|
+
- 设备像素比上限取 2;页面隐藏或滚出视口时停帧;拿不到 WebGL 时显示同一场景的静态图;减少动态效果时照常算出结果,只关镜头晃动和装饰演出。
|
|
142
|
+
- 截图前确认画布真的画出了内容,见 [工具](tools.md)。
|
|
143
|
+
|
|
144
|
+
## 生成视频的可选路径
|
|
145
|
+
|
|
146
|
+
要一段能叠在页面上循环播放的素材时,先检查三样:首尾接不接得上,主体的边缘干不干净,背景处理得怎么样。在单色背景上生成再抠像,只是可以试的办法之一:透明和反光的物体抠完可能丢边,或者带上背景的颜色,要放到最终的页面背景上看。
|
|
147
|
+
|
|
148
|
+
要把几段视频连成一段叙事时,可以拿前一段的最后一帧当下一段的第一帧,或者事先把各段的关键帧统一规划好。播放进度由滚动或手势控制时,要检查跳到任意一帧、倒着播、加载速度和内存占用,不要默认把整段视频解码成一张张大图。
|
|
149
|
+
|
|
150
|
+
玻璃、水晶这类需要折射或透光的物体,先在最终页面的背景色上生成画面,让折射和投影烘焙进素材,再用视频抠像模型去掉背景。直接在绿幕上生成再抠像,折射会带着绿色。预渲染的折射和光照只对应生成时的背景,不应承诺会随任意页面内容产生实时物理效果。
|
|
151
|
+
|
|
152
|
+
透明底的视频和图片一样,可以跨在两个区块的分界上,做法见上文的“跨越结构”。
|
|
153
|
+
|
|
154
|
+
## 文件与说明
|
|
155
|
+
|
|
156
|
+
- 生成、下载或用户给的图,放进页面前按显示尺寸的 2 倍导出,不直接内嵌原始大图。不透明的图用 JPEG 或 WebP,透明的用 WebP 或 PNG;单张控制在几百 KB 以内。内嵌成 data URL 后体积会再大约三分之一。压缩、缩放、多尺寸 `srcset`、比例裁切和透明裁边用 `node <skill>/scripts/prep-image.mjs` 一次批量完成,用法看 `--help`。
|
|
157
|
+
- 保留原图和处理后的版本;生成图记录提示词,以及工具明确提供的模型和实际成本(费用或积分);未提供的项标为“未提供”,不估算。所有素材记录来源、用途和处理方式,分清复用、裁切、生成和后处理。
|
|
158
|
+
- 生成图和替代素材不冒充真实产品截图、真实场所、真实人物或产品证据。
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# 动效
|
|
2
|
+
|
|
3
|
+
## 每个界面先做三处动效
|
|
4
|
+
|
|
5
|
+
完全不动的界面像一张截图:按下没有回应,切换没有来路,用户只能猜刚才发生了什么。新界面和改动了操作流程的界面,先把这三处做出来:
|
|
6
|
+
|
|
7
|
+
1. **主操作的反馈。** 按下立刻有回应,完成时交出一个结果:按钮陷下去再弹回,勾号画出来,数字滚到新值。
|
|
8
|
+
2. **一处状态切换的来路。** 选中、展开、换视图、增删列表项时,让人看见东西从哪里来、到哪里去,见下文“界面过渡”。
|
|
9
|
+
3. **第一次进入时的一次出场。** 主角先到,其余按阅读顺序跟上,只在首次进入时播放。
|
|
10
|
+
|
|
11
|
+
这三处之外再加的动效,每个都要承担反馈、引导、连续或品牌表达中的一项;滚动淡入、视差、跟随鼠标和装饰性循环最容易变成干扰。
|
|
12
|
+
|
|
13
|
+
| 目的 | 适合考虑的方式 |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| 按下、聚焦、展开或普通的状态变化 | 用浏览器原生的过渡,或已有组件自带的小过渡 |
|
|
16
|
+
| 视图之间的切换、元素换位置 | 共享元素过渡,见下文“界面过渡” |
|
|
17
|
+
| 拖拽、手势、位置和大小的变化、多个元素配合的动画 | 用项目里已有的成熟动效库 |
|
|
18
|
+
| 特殊品牌画面、材质、复杂物理效果 | 图片、3D、着色器或预渲染视频,按需求取舍;什么时候用实时 3D 见 [素材](media.md) |
|
|
19
|
+
| 用鼠标、触控或滚动控制一段叙事的进度 | 让动画的进度直接跟着输入走,往回滚和快速操作都要处理好;见 [滚动叙事](scroll-narrative.md) |
|
|
20
|
+
|
|
21
|
+
需要精确控制状态的界面,用代码写动画;画面怎么变早就定好的,可以用生成的视频。要显示实时数据、要让人真的去操作的控件,不能用视频代替。
|
|
22
|
+
|
|
23
|
+
## 手感
|
|
24
|
+
|
|
25
|
+
动效的手感从方向的材质和调性推出,用“动作 + 实物”来命名和选参数(弹簧刚度 / 阻尼):
|
|
26
|
+
|
|
27
|
+
| 动作 | 实物参照 | 刚度 / 阻尼 | 适合 |
|
|
28
|
+
| --- | --- | --- | --- |
|
|
29
|
+
| 咔嗒 | 磁铁吸合、卡扣、拨动开关 | 350–400 / 10–15 | 按钮、开关、下拉展开 |
|
|
30
|
+
| 滑入 | 气压闭门器、抽屉阻尼 | 250–300 / 20–25 | 底部面板、抽屉、折叠 |
|
|
31
|
+
| 流淌 | 倒蜂蜜、雾气弥散 | 150–200 / 30–40 | 页面转场、主视觉出现 |
|
|
32
|
+
| 砸落 | 锤击、重物落桌 | 400–500 / 5–10 | 确认选择、完成反馈 |
|
|
33
|
+
| 回弹 | 橡皮球、蹦床 | 300 / 8 | 庆祝提示、儿童与游戏 |
|
|
34
|
+
| 漂浮 | 氦气球、飘絮 | 100 / 25 | 冥想、梦幻场景、空闲循环 |
|
|
35
|
+
|
|
36
|
+
重的材质(石、金属、陶)偏咔嗒和砸落,轻的材质(纸、布、雾)偏漂浮和流淌;高频操作用短促的动作,少见的品牌时刻才用绵长的。喧闹粗粝的方向可以用硬切、80–150ms 的线性跳变和抽帧,作为有意的品牌表达;被禁止的只是没有考虑过的默认缓动。
|
|
37
|
+
|
|
38
|
+
过冲幅度跟着面积走。整页、面板这类大面积的东西,过冲不超过 1–2%,否则整块画面会晃;徽章、勾选标记这类小东西可以过冲 10–20%,显得有弹性。表里阻尼偏低的参数只用在小物件上。
|
|
39
|
+
|
|
40
|
+
网页可以把弹簧写成缓动曲线:按刚度和阻尼对位移做数值积分,取 20–30 个采样点写进 `linear()`,时长取位移稳定在终点 0.5% 以内的时刻。不支持的浏览器退回相近的 `cubic-bezier`。
|
|
41
|
+
|
|
42
|
+
## 呼应:让动作彼此接上
|
|
43
|
+
|
|
44
|
+
一个动作引起的变化沿同一条路传下去,前一段的终点是下一段的起点;不要按钮、面板和数字各动各的。
|
|
45
|
+
|
|
46
|
+
- **从被操作的地方出发。** 点“加入购物袋”,商品缩成一个点飞进袋子,袋子上的数字跟着跳一下;删掉一行,它朝删除按钮的方向收走,下面的行补上来。
|
|
47
|
+
- **一次切换朝一个方向。** 卡片往左滑,标题、序号和底色也往左换;数字往上滚,进度也往上涨。方向一乱,就成了几段互不相干的动画。
|
|
48
|
+
- **主角先动,其余被带动。** 被影响的东西晚 40–80ms 跟上,幅度更小,像被主角拉过去的。全部同时起跑、同样幅度,看起来只是一起闪了一下。
|
|
49
|
+
- **形状接力。** 上一个状态里的元素变成下一个状态里的元素:按钮展开成面板,搜索图标拉长成输入框,播放键变成暂停键。用户一眼看出它们是同一个东西。
|
|
50
|
+
- **动法和画面是同一种材质。** 动作的轻重、停顿和回弹从方向卡的生成引擎和控件语法推出。
|
|
51
|
+
|
|
52
|
+
### 巧思从产品里找
|
|
53
|
+
|
|
54
|
+
巧思是让一处动效讲出这个产品自己的事,不是加更多花样。写成一句:这个产品里的哪样东西,因为用户的哪个动作,发生了只有它才会有的变化。
|
|
55
|
+
|
|
56
|
+
找不到这样的动作,就把三处基本动效做准,不硬造。一页最多一两处巧思,其余动效安静、短促。
|
|
57
|
+
|
|
58
|
+
## 界面过渡
|
|
59
|
+
|
|
60
|
+
**连续。** 用户点的东西就是下一屏的主角。从列表进入详情,被点的那一项放大成详情,其他项淡出;返回时它缩回原位,页面回到原来的滚动位置。原位已经不在视口里,就先把它滚到可见,再缩回去。
|
|
61
|
+
|
|
62
|
+
**方向一致。** 下一项从右边进,上一项从左边进;打开和关闭互为逆过程;侧面板从它所在的那一侧滑入滑出。方向随意的动画比没有动画更让人迷惑。
|
|
63
|
+
|
|
64
|
+
**只变形状时不做交叉淡化。** 切换视口、筛选、展开说明、缩放,这类变化里内容还是同一个东西,只是尺寸和位置变了。让外框直接变形,内容立即显示新状态。交叉淡化会让新旧两张缩放不同的画面叠在一起,出现重影。只有内容本身换了,才淡入淡出。
|
|
65
|
+
|
|
66
|
+
**离开、加入、留下分开处理。** 被移除的淡出,新加入的淡入,留下的滑到新位置。三者用同一种淡化,列表就会整片闪烁。
|
|
67
|
+
|
|
68
|
+
**选中指示用一块会移动的滑块。** 分段控件、标签页、列表当前项,都用同一块底板滑到新位置,而不是旧的熄灭、新的点亮。选项宽度不同时,宽度一起过渡。首次显示、窗口缩放和字体加载完成后直接放到位,不要从 0 宽度长出来。
|
|
69
|
+
|
|
70
|
+
**先准备好目的地。** 目的地要加载的内容,例如图片或内嵌页面,先加载或预先渲染好,否则动画会停在一块白屏上。需要来回切换的视图预先渲染并留在页面里,切换时只移动,不重新加载。内容加载完成后再淡入,不先闪一下白底。
|
|
71
|
+
|
|
72
|
+
**离开比进入快。** 退出时长约为进入的 60–70%,用加速曲线;进入用减速曲线或弹簧。
|
|
73
|
+
|
|
74
|
+
**到头要有反馈。** 已经是第一项或最后一项时,轻轻顶一下(往返 10–15px),而不是毫无反应。
|
|
75
|
+
|
|
76
|
+
### 整页转场的稳定性取舍
|
|
77
|
+
|
|
78
|
+
整页切换和组件的过渡不一样:旧页面要卸载,新页面要挂载。按稳不稳、难不难做,分三类:
|
|
79
|
+
|
|
80
|
+
- **遮罩式(Curtain / Wipe)。** 用一块纯色、纹理或几何形状划过或盖住整个屏幕,趁挡住的时候卸掉旧页、挂上新页。它最简单、最稳,两个页面的结构互不相干,绝大多数页面都适合。
|
|
81
|
+
- **交叠式(Overlapping)。** 新旧两页同时在屏幕上,互相错开、推挤,或者分层淡入淡出。看起来连贯,但两页的 DOM 要同时存在,层级和内存都要管好。
|
|
82
|
+
- **共享元素式(Shared Element)。** 一个关键元素从旧页一直变形到新页,例如缩略图放大成详情页的主图。看起来最顺,也最容易出问题:用户快速双击、中途打断、后退,或者视口变了,都容易错位和闪烁,所以必须留好退路,出问题时直接显示到位的状态。
|
|
83
|
+
|
|
84
|
+
第一次进站的加载屏(Splash),可以在等大文件加载的时候放一小段叙事或进度;站内的页面跳转,时长按下面“时长和幅度”里整页切换的取值,不让转场挡着用户看内容。
|
|
85
|
+
|
|
86
|
+
## 时长和幅度
|
|
87
|
+
|
|
88
|
+
| 对象 | 时长 | 要点 |
|
|
89
|
+
| --- | --- | --- |
|
|
90
|
+
| 按下、开关、选中指示 | 150–300ms | 按下缩到 0.96–0.98,按下时立即生效(约 80ms),松开再弹回 |
|
|
91
|
+
| 下拉、气泡、提示 | 180–250ms | 从触发点方向展开,缩放从 0.96 左右开始,不从 0 开始 |
|
|
92
|
+
| 面板、抽屉、侧栏 | 250–400ms | 按移动距离取值,越远越长 |
|
|
93
|
+
| 整页或视图切换 | 350–500ms | 超过 500ms 就会让人等 |
|
|
94
|
+
| 首次进入时依次出现 | 每项间隔 40–80ms | 总长不超过 600ms;只在首次进入时播放,重新渲染和恢复状态时不重播 |
|
|
95
|
+
|
|
96
|
+
这张表管的是界面操作。游戏和抽奖的演出时长见 [游玩](play.md)。
|
|
97
|
+
|
|
98
|
+
悬停上浮 2–4px,阴影随之加深。位移超过 20px 的悬停效果会显得轻浮。
|
|
99
|
+
|
|
100
|
+
## 看不见的结果要说出来
|
|
101
|
+
|
|
102
|
+
一次点击产生了看不见的副作用,例如复制到剪贴板、后台保存、发送,就用一条短暂的提示说出结果本身,例如“已复制:……”,而不是只说“成功”。确认类的时刻,例如选中或完成,可以用一次小幅弹出,只在状态第一次变化时播放,重复点击不重播。
|
|
103
|
+
|
|
104
|
+
## 体验与性能
|
|
105
|
+
|
|
106
|
+
项目里已有的动效节奏和组件能力先沿用。经常要做的操作,反馈要立刻给,不让动画拖慢事情本身。
|
|
107
|
+
|
|
108
|
+
动画要能被打断。连续快速操作时,新动画从当前位置接着走,不跳回起点重播。CSS 过渡会从当前值重新出发,适合高频切换;关键帧动画会从头重播,适合一次性的出场。业务状态立即更新,不等动画结束。
|
|
109
|
+
|
|
110
|
+
网页上连续播放的动画,优先只动变换和透明度,过渡里只写会变的那几个属性;很小的指示块可以直接过渡宽高。每一帧都要执行的代码,要有停下来和清理的条件,不要一会儿读布局、一会儿写布局地来回交替;滚出屏幕或没事可做时就停。整页过渡期间页面通常点不动,所以整页过渡要短。
|
|
111
|
+
|
|
112
|
+
有明显位移、缩放或滚动特效的地方,要照顾开了“减少动态效果”的用户:这时所有状态直接到位,内容一样不少。必要的信息和主要的操作,不能等自动播放、声音或动画播完才出现。
|
|
113
|
+
|
|
114
|
+
## 检查动效
|
|
115
|
+
|
|
116
|
+
按正常速度操作一遍,再往回操作一次、快速连按几次:没有重影和跳动,元素不突然出现,不从奇怪的位置飞来,不卡在中间状态。开启“减少动态效果”后内容直接可读。只有实际测量后才报告帧率或性能改善。
|
|
117
|
+
|
|
118
|
+
## 网页实现提示
|
|
119
|
+
|
|
120
|
+
- 浏览器原生的视图过渡适合做“同一对象从一处变到另一处”:给前后两个状态里代表同一对象的元素起同一个过渡名,名字在同一时刻必须唯一。
|
|
121
|
+
- 只变形状的过渡里,隐藏旧快照、直接显示新状态,就不会出现重影。
|
|
122
|
+
- 过渡伪元素后面只能跟少数伪类,例如 `:only-child`;写成 `:not(...)` 会让整条规则失效。需要按场景区分规则时,在根元素上加一个属性来切换。
|
|
123
|
+
- 内嵌页面和图片在过渡里会被截成快照;目的地没加载完就开始过渡,会以空白结束。
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# 游玩与强手感操控
|
|
2
|
+
|
|
3
|
+
小游戏、抽奖、扭蛋、计时养成,以及旋钮、拉杆、摇杆这类强手感操控,过程本身就是产品:用户来看转轮减速、硬币被推下、娃娃差点滑落。这类界面先读本文,其余规范照常适用。
|
|
4
|
+
|
|
5
|
+
## 先盘点特有对象与状态
|
|
6
|
+
|
|
7
|
+
先填对象与状态表,再选参考、出概念或画灰度结构。只列页面、按钮和通用资源不算完成:
|
|
8
|
+
|
|
9
|
+
| 特有对象 | 用户怎样辨认 | 主动作怎样改变它 | 必须有的状态 | 状态的可见反馈 | 素材与渲染成本 |
|
|
10
|
+
| --- | --- | --- | --- | --- | --- |
|
|
11
|
+
|
|
12
|
+
对象覆盖用户在这个玩法里真正操控、生成、消耗和结算的东西;状态按核心循环列出开始、可操作、输入或演出、锁定、结算、失败与恢复,玩法没有的状态删掉,实际存在的特有状态补上。每个对象和状态都要能在画面里辨认,不能用同一张静态图配不同文字充数。
|
|
13
|
+
|
|
14
|
+
再写一条 `主动作 → 特有对象变化 → 可见反馈 → 下一次操作或结算` 的核心循环,标出每屏唯一主角和唯一主动作。写清主视口的输入方式和反馈位置;触摸与指针的操作确有差异时再分别写,不重复两套相同说明。对象或状态缺项、核心循环走不通、输入或反馈无法执行时,退回盘点,不进入素材制作和灰度结构。
|
|
15
|
+
|
|
16
|
+
## 过程即玩法
|
|
17
|
+
|
|
18
|
+
- 演出可以比普通界面切换长,例如三个转轮依次停下共 2 秒左右,不按“超过 500ms 就会让人等”截短。
|
|
19
|
+
- 扣了费、出了结果就先存好:刷新不丢,不重复扣,奖励只结算一次。在哪一刻存,按玩法定。
|
|
20
|
+
- 演出期间写清哪些操作锁住;连按不能重复扣费。
|
|
21
|
+
- 旋钮、拉杆这类手势从按下的位置开始跟手,过了生效点才算一次,没到就松手不扣。
|
|
22
|
+
- 减少动态效果时,玩法照常算出结果,只是画面直接到位;不能把玩法本身停住。
|
|
23
|
+
- 状态与变化用序列图看;正常速度下的手感通过直接操作判断:减速是否连续、停下时有没有顿挫、收益从哪里飞到哪里。录屏只按 [工具](tools.md) 的条件取用,不能仅凭序列图宣称手感已验证。
|
|
24
|
+
|
|
25
|
+
## 素材与渲染
|
|
26
|
+
|
|
27
|
+
- 对象与状态表完成后,把需要制作的项转成素材清单。角色、藏品、道具、符号和材质贴图是这类界面的主角,默认用生图做。手写 SVG 和 CSS 只画界面图标和简单图形,拿它们画角色和道具,会落到图标包的质感。成套出图的做法见 [素材](media.md) 的“成套素材”,素材来源也按同一份文件的顺序选择;都无法生成时,按该文件交素材简报,不拿手画的图形冒充成品。
|
|
28
|
+
- 乐趣来自空间和物理时,用实时 3D 渲染场景,例如堆叠、碰撞、推挤、摆动,或透明、金属材质;生成的图当贴图和精灵用,做法见 [素材](media.md) 的“实时 3D”。树木生长、天气这类自然变化,用成套生成图通常更好。
|
|
29
|
+
- 素材放进场景后再看一次:受光和场景一致,有接触阴影,侧面、背面和翻落时不露出纸片的边。图生成了,不等于放进场景就可信。
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# 视觉与交互评审手册 (子 Agent 专用)
|
|
2
|
+
|
|
3
|
+
本手册给独立评审者读。评审者没有参与制作,根据主 Agent 交来的当前画面证据、可操作页面和约束评审;分数按第 1 节的锚点给,拿不准时取低一档。
|
|
4
|
+
|
|
5
|
+
只提供评审,不修改文件,不启动其他评审者。分清看得见的缺陷和个人的风格偏好;没有明显问题就直说,不为了凑数提修改。没看到、没法验证的内容要写明;只有静态截图时,不能声称动效或操作流程已经通过。
|
|
6
|
+
|
|
7
|
+
## 1. 全新界面与改版评审(打分制)
|
|
8
|
+
|
|
9
|
+
**评审视角**:拉高标准,以“该体裁里最顶尖的团队会怎么做”为标尺。
|
|
10
|
+
|
|
11
|
+
**验收否决(先于打分与发布判断)**:以下任一成立,把对应项列为第一条问题,最后一行在总分旁写“不可发布”;总分不得超过 7,已触发更低分锚点时按更低档。功能通过、状态齐全、证据齐全都不能抵消,必须修复后重看实际画面。
|
|
12
|
+
|
|
13
|
+
- 真实文字在目标视口、实际字体和 100% 阅读尺寸下不可读;
|
|
14
|
+
- 主视觉仍像等待替换的占位素材;
|
|
15
|
+
- 把产品名换成无关产品,首屏仍原样成立:说服型页面检查主视觉或核心构图,工具、后台与工作区检查核心业务关系与异常焦点;沿用高效品类基线不算换皮。精准还原任务不适用此项,以给定参考图为准;
|
|
16
|
+
- 三秒后说不清当前画面的主角,或找不到完成当前任务的主动作。
|
|
17
|
+
|
|
18
|
+
0. **三秒测试与候选查重(先于一切细节和流程)**:把首屏缩到 480px 宽(手机截图缩到 180px 宽)看三秒,再看遮字版三秒,写下两句话:它像哪一年的哪一类产品;第一眼看到的是什么。像若干年前的通用产品、组件库默认样式或素材库配图的,直接写出来,总分不超过 7 分;属于上面否决项的,再标“不可发布”。工具、后台与工作区沿用侧栏、紧凑工具条、趋势面板或表格/队列等高效品类基线不扣分,三秒测试看表面层次是否干净透气,以及核心业务关系与异常焦点是否一眼可辨。能用截图工具时,用它出缩略图和遮字图。
|
|
19
|
+
|
|
20
|
+
同批给出三个完整方向候选(不含选定方向的版式变体)时,再并排遮住产品名,核对核心图形、控件语法和主动作的视觉呈现;三项相同就直接判为同构换皮,退回重做,不能用配色、字体、材质或装饰差异凑成三个方向。这里比较的是视觉呈现,不是候选本应共享的产品任务与内容。
|
|
21
|
+
1. **品类与标杆检验**:一句话指出这属于什么品类(如 B 端后台、展览落地页),该品类里标杆产品在首屏怎么做。指出现有画面违背共识的地方,判断是有意的创新,还是套用了模型的默认模板。能找到时,拿一两张同品类顶尖产品的实际画面并排比,说清素材、材质和场景完成度差在哪里。
|
|
22
|
+
2. **动效检查(看动没动,不查证据齐不齐)**:默认看带时间的序列图或打开页面直接操作;序列图只用于判断状态与变化,不据此评价正常速度下的手感。只有确实要判断正常速度下的手感、且你能播放视频时,才按 [工具](tools.md) 使用录屏。证据不足且能打开页面时,只补看对应操作。只判断该动的地方动了没有:
|
|
23
|
+
- 主操作有没有反馈,一处状态切换看不看得出来路,首次进入有没有出场。
|
|
24
|
+
- 落地页、品牌页、发布页和展览页,再看两样:各区块是不是按自己的内容出场,全页统一淡入上移算没做;有没有至少一段主角随滚动发生明显变化的叙事,只有一个点沿线移动、节点逐个点亮算没做。
|
|
25
|
+
- 小游戏、抽奖、计时养成这类产品,三处基本动效只是底线,再按 [游玩](play.md) 核对“过程即玩法”和“素材与渲染”。
|
|
26
|
+
- 确实没做的写进问题。做了的,动得好不好放到“提升”的动效一项里评,不在这里展开。
|
|
27
|
+
- 不为逐帧找瑕疵追加取证。证据不一致时只补看对应操作;正常速度下的手感以实际操作或符合上述条件的录屏为依据,缺少这类观察就写“正常速度手感未核对”。只有静态截图、页面也打不开时,写一句“没看到动效”,不猜。
|
|
28
|
+
3. **提升:精致度、设计感、动效**:缺陷清零的页面常常只是及格。这三项逐项看,有看得见的差距才写,每条写位置、现在的水平、做到什么样算到位;某一项确实没有,写“没有”和依据。提升是把已有的东西做得更好,不是再加东西。第一条是“重做”时不写提升。
|
|
29
|
+
- **精致度**:放大到 200% 看,哪个组件或哪处排版最显粗糙:字距和行距、图标和文字的对齐、阴影和描边、各状态是否一致;再在 100% 看中文断行、孤字和数字格式。顺着整页从上往下数所有标题和正文块的左边缘 X 起点:有秩序的版面整页共享 2–3 条垂直锚线,如果左起点散成五六处,直接指出哪几块没对齐。
|
|
30
|
+
- **设计感**:主角在 480px 缩略图里看不看得见、占多大;哪一处最接近品类最好水平,还差什么;哪一处仍是组件库默认的样子。把每一屏的构图概括成一个词(如 `分栏`、`大字列表`、`错落画报`、`选配台`、`满版图`):同一个词连续出现两次或全页出现三次,按模板复读指出。同时检查整页节奏与收尾:如果每一屏都被塞进带底色或边框的卡片盒子里(缺少直接排在开放画布上的留白呼吸与高低错落),或者首屏很有风格、下面却退回成每个区块上下画一条通栏细横线、结尾只放几个默认输入框,直接指出。点题真交互(能亲手操作的选配、试算或实时状态装置)必须真实可操作。
|
|
31
|
+
- **动效**:按上面的证据边界判断,不只看有没有。哪一处动得机械:匀速、各动各的、全页一律淡入上移、和操作接不上;哪一处最值得做出手感,让人想再操作一次或往回再滚一遍。手感用“动作 + 实物参照”写,不写形容词。
|
|
32
|
+
4. **精简与瑕疵**:
|
|
33
|
+
- 填缝文字:为了把版面两端配平而塞进去的小字,例如听起来有诗意却不指向任何对象、动作或数据的短句,或写在界面上的设计说明。逐条点名,要求删掉。
|
|
34
|
+
- 明确列出其他可以直接删掉的无用文字(如“示例”、“待核实”、“系统界面”、“仅供示意”)。
|
|
35
|
+
- 除了文字,还要列出该删或该并的面板、数据和装饰:每一屏只有一个主角,多出来的点名。删完以后主角没有变大变强、画面只是变空的,或者具体业务信息被笼统套话替代的,同样算问题。
|
|
36
|
+
|
|
37
|
+
核对构图、字体、素材和交互是不是都在呼应设计北极星。工具、后台与内容浏览页面,说明首屏对象数量、第一排内容的位置和主动作与当前对象的距离,并和同类优秀产品比较密度;同时检查画面是否清爽透气,点开对象后的详情是否讲清了前因后果而非重复表格字段。
|
|
38
|
+
|
|
39
|
+
参考作品是方向与质量基线,不要求照抄;精准还原任务以给定参考图为准。若有同类优秀作品截图,可与当前画面一起按完成度排序并说明差距。借用的媒介只是风格来源,不为了“更像”而增加无用部件。
|
|
40
|
+
|
|
41
|
+
**输出要求**:
|
|
42
|
+
|
|
43
|
+
- 开头先列一份紧凑的速查清单(每行一条:`[问题 1 / 提升 1] 位置或选择器:现象 → 修完要达到的可验收结果`),方便主 Agent 逐条勾销、不漏改;清单下面再写详细分析。
|
|
44
|
+
- 先写问题,再写提升。问题只写会阻断任务、读不清或明显是模型默认做法的,按影响从大到小排序,最多 5 条;提升最多 5 条,精致度、设计感、动效三项都要表态。每条写位置、观察证据、影响、修完要达到的结果和怎样验收。改法只写目标,不替制作方定构图,不规定要放多少对象、多少数据,也不建议用加功能、加数据量来换真实感;更小的问题合成一句放在最后。主 Agent 会按这个顺序修改,下一轮也会拿这份清单逐条核对,所以每条要写到修完能看出来的程度。
|
|
45
|
+
- 首屏骨架仍是模型默认模板,或主视觉远低于同品类水准,分数因此落在 6 分及以下时,第一条写“重做:……”,点名要重做的区块和原因,不再给这些区块列修补建议。在被否定的骨架上修补,只会把它修得更像样。
|
|
46
|
+
- 倒数第二行写“保留:……”,点名一两处修改时不能磨掉的做法,通常是这个方向最有辨识度的地方。
|
|
47
|
+
- 最后给出 1–10 分的总分。
|
|
48
|
+
|
|
49
|
+
分数按下面的锚点给,先看任务,再看视觉:会丢数据、走不通、骗用户“已成功”的问题,比任何视觉问题都优先扣分。任务全部走通也不等于 8 分,主视觉同样要过门槛。
|
|
50
|
+
|
|
51
|
+
| 分数 | 门槛 |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| 10 | 挑不出可观察的缺陷,至少一处是这个品类里没见过的好做法 |
|
|
54
|
+
| 9 | 主流程、异常状态、细节都成立,提升只剩小处;至少一处达到品类最好水平 |
|
|
55
|
+
| 8 | 方向鲜明,主流程走得通,没有阻断和数据丢失;页面有主视觉或关键素材的,达到同品类一线产品的完成度;缩到 480px 仍认得出作品特征(工具与后台为清爽的表面秩序与清晰的业务重心);有若干中等问题 |
|
|
56
|
+
| 7 | 方向成立,但有一处会让用户丢数据、走错、卡住的问题,或首屏结构仍带明显的模型默认做法,或主视觉停在手画矢量、平面假透视、用文字代替造型的水平,或三秒测试里像某一年的某类通用产品 |
|
|
57
|
+
| 5–6 | 能看出方向,但骨架是模型默认模板,或主流程有多处卡住 |
|
|
58
|
+
| 1–4 | 主任务走不通,或画面有重叠、裁切、看不清这类基本错误 |
|
|
59
|
+
|
|
60
|
+
分数写在锚点上,给出“离下一档还差什么”,从精致度、设计感和动效里写,不写“再补一种状态”。
|
|
61
|
+
|
|
62
|
+
评分必须附具体差距,不同模型的数值不直接比较,用户判断优先。不猜不存在的文件与行号。
|
|
63
|
+
|
|
64
|
+
## 2. 存量已有界面润色评审(只对齐规范,不打分)
|
|
65
|
+
|
|
66
|
+
**评审视角**:不要想象你理想的风格,而是严格遵循该产品现有的设计规范(色板、间距)。
|
|
67
|
+
|
|
68
|
+
主 Agent 提供成文规范或从现有设计变量、共享组件与同类页面整理的现状规范,以及不能改动的品牌、字体、主色、组件库和导航。没有一致的现状时,以多数做法为准,少数做法记为待统一;规范本身有问题时单独列出,交给用户决定。
|
|
69
|
+
|
|
70
|
+
1. **偏离规范检查**:逐条指出当前画面哪里用了规范以外的颜色/字号/圆角,或者明明有现有组件却自己手搓了一个。
|
|
71
|
+
2. **布局与结构**:在规范范围内,指出最影响完成度的三处问题(层级、对齐、留白、减法)。
|
|
72
|
+
3. **动效检查**:看这次改动涉及的动效到不到位、有没有把原来的动效改坏;用户明确要求或整页升级时,再按第 1 节的“动效检查”核对整页。
|
|
73
|
+
4. **输出要求**:只提供客观修正建议,列出可删减的文字。**不打分**。不建议更换整体品牌色或字体。
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# 滚动叙事
|
|
2
|
+
|
|
3
|
+
## 落地页的滚动动效
|
|
4
|
+
|
|
5
|
+
落地页、品牌页、产品发布页和展览页,滚动动效和 [动效](motion.md) 的三处基本动效一起验收;文档、文章、工具和后台不做。用成熟的动效库实现,见下文“动效库”。
|
|
6
|
+
|
|
7
|
+
**必须有两样**:首屏以下的区块按内容出场;至少一段滑动驱动的叙事,让主角在滚动里发生明显变化。**手法按页面挑**:首屏景深、字标收进导航、一镜到底、章节转场镜头、背景随章节变色、宣言逐字亮起,从页面的主视觉和内容里挑最合适的一种,写进分镜并说明理由,不要每页都默认锁住首屏做缩放。
|
|
8
|
+
|
|
9
|
+
### 首屏景深(适合首屏有明确前后景层次的页面)
|
|
10
|
+
|
|
11
|
+
首屏是一个固定住的舞台,滚动直接驱动里面的层次变化,往回滚就倒放:
|
|
12
|
+
|
|
13
|
+
- 首屏固定 100–200vh 的滚动距离,窄屏可缩到 80–120vh。
|
|
14
|
+
- 至少两层以不同速度或方向变化,例如前景推近、背景慢移,或者主视觉和大标题拉开尺度差;背景层动得最慢,前景层最快。
|
|
15
|
+
- 幅度要大到实际滚动时一眼看出来:主层缩放不少于 15%,或位移不少于 15vh。小于这个幅度,看起来就是页面在普通滚动。
|
|
16
|
+
- 大标题是图形层,可以缩放和视差;正文、按钮和表单不缩放、不做视差,固定后保持可读可点。
|
|
17
|
+
- 结束状态要交接给下一节:主视觉缩到下一节的位置,标题退成背景纹理,或者画面让出一条路给下一节的主角。不要固定结束后整块直接被推走。
|
|
18
|
+
|
|
19
|
+
首屏是满版的品牌字标时,用下面的“字标收进导航”。首屏是其他满版文字、产品界面或纯排版时,不一定适合景深,可以把滑动驱动的叙事放在后面。
|
|
20
|
+
|
|
21
|
+
### 字标收进导航(适合首屏是满版品牌字标的页面)
|
|
22
|
+
|
|
23
|
+
首屏就是品牌名本身,滚动时它缩成导航栏里的标志。它用一个元素同时完成满版文字骨架和一段滑动驱动的叙事,适合品牌名短、字形有性格的工作室、品牌和作品集:
|
|
24
|
+
|
|
25
|
+
- 首屏只有这一个字标,撑满版心宽度,窄屏也保持一行撑满;导航里不再放第二个标志。
|
|
26
|
+
- 滑动驱动,滚过 60–100vh,字标沿一条路径缩到导航标志的位置和尺寸,往回滚放大回来。结束状态就是导航里的标志,位置和尺寸按导航实际量出,交接时不跳。
|
|
27
|
+
- 缩放同一个元素的变换,不动画字号;字标用 SVG,或按容器宽度算出的字号。
|
|
28
|
+
- 字标让出首屏的同时,下一节内容已经进入画面,不留一整屏空白。
|
|
29
|
+
- 字标从满版缩成导航标志,是主角明显的缩放和一次交接,算一段滑动驱动的叙事;同一页不再另做首屏景深。
|
|
30
|
+
- 减少动态效果时,字标留在首屏不缩放,导航从一开始就显示标志。
|
|
31
|
+
|
|
32
|
+
### 区块按内容出场(必须,滑动触发)
|
|
33
|
+
|
|
34
|
+
首屏以下的每个区块,滚到位置时出场一次,往回滚不重播。出场方式从这个区块的内容和材质推出来,并且符合物理直觉:有重量的落下会过冲后稳住,轻的东西有空气阻力,机械的东西咔嗒到位。
|
|
35
|
+
|
|
36
|
+
| 区块内容 | 出场方式 |
|
|
37
|
+
| --- | --- |
|
|
38
|
+
| 卡片、实物、价格牌 | 带重量落下后稳住,过冲幅度见 [动效](motion.md) 的“手感”;后一张被前一张带出 |
|
|
39
|
+
| 列表、时间线、步骤 | 沿阅读方向依次展开,连接线先画出,节点随后落位 |
|
|
40
|
+
| 数字、指标 | 滚到目标值,高位先停、末位后停;不从 0 起跳的用原值起滚 |
|
|
41
|
+
| 线条、图表、路径 | 沿数据或流程的方向描出,端点落定时轻微放大一下 |
|
|
42
|
+
| 图片、照片 | 遮罩从画面主体的方向揭开,图片同时从 1.08 回缩到 1 |
|
|
43
|
+
| 纸、布、标签 | 先快后慢,带一点旋转后摆正,像被放到桌上 |
|
|
44
|
+
| 金属、机械、硬件 | 短促到位,没有软弹,可以带一次很小的回震 |
|
|
45
|
+
| 大标题、口号 | 按词或按行从遮罩里升起,字距从略松收紧 |
|
|
46
|
+
|
|
47
|
+
规则:
|
|
48
|
+
- 每个区块的出场写进分镜:重点区块按内容单独设计出场,普通区块保持统一克制的节奏,不要全页从头到尾套同一个淡入上移。
|
|
49
|
+
- 曲线用弹簧或惯性,参数从 [动效](motion.md) 的“手感”表里按材质取,不用默认的 ease。
|
|
50
|
+
- 主角先到,其余被带出,间隔 40–80ms,单个区块的出场总长不超过 900ms。
|
|
51
|
+
|
|
52
|
+
### 滑动驱动的叙事(必须至少一段)
|
|
53
|
+
|
|
54
|
+
可以是首屏景深、字标收进导航,也可以是页面中段一段一镜到底,规则见下一节。主角必须在滚动里发生明显变化:缩放、拆解、变形、穿过或形状接力。一个小点沿着线移动、节点逐个点亮,只能算主叙事里的一个细节,不能单独当作主叙事。
|
|
55
|
+
|
|
56
|
+
### 分镜
|
|
57
|
+
|
|
58
|
+
动手前在方向卡的“动效”一栏写出滚动分镜:选了哪些手法、为什么,每一段占多少滚动距离、主角是谁、每个镜头画面里有什么、什么在动、往哪个方向、文字什么时候出现。先拆两个同类顶级落地页的滚动节拍作参照,写清它们每一段在动什么,再写自己的。
|
|
59
|
+
|
|
60
|
+
## 视差与一镜到底
|
|
61
|
+
|
|
62
|
+
- **一镜到底。** 整段是一次不切换的镜头。一个主角从头走到尾,可以是产品、一根线、一个形状或一个字,每一步长成、变成或让出下一个画面:推近看到细节,拉远看到全貌,转过去看到背面,穿过去进入下一个场景。
|
|
63
|
+
- **主角从产品里找。** 主角是这个产品处理的那样东西,在滚动里走完它自己的过程。找不到只属于这个产品的主角时,退回下面的转场手法,不用通用的漂浮几何。
|
|
64
|
+
- **停下来再说话。** 每个镜头留一段静止,文字在静止时出现;边动边读很累。
|
|
65
|
+
- **视差要有真实的前后。** 只在画面本来就有远近层次时用:前景的物体、中景、远处的背景,越近动得越多,差别要小。正文、按钮和表单不做视差;大标题作为图形层时,按上面的首屏景深处理。
|
|
66
|
+
- **转场也是镜头。** 一个圆从某一点扩开,带出下一节;推进一张图,穿过它到达下一节;背景色在章节之间随阅读慢慢变;一句宣言随滚动逐字亮起。每种手法一页只用一次。
|
|
67
|
+
- **倒着滚也成立。** 每一帧只由滚动位置决定,往回滚自然倒放,刷新或跳到中间也立刻是对的画面。不接管用户的滚动。
|
|
68
|
+
- **留出口。** 长段落前给一个跳过入口;减少动态效果时,把每个静止画面按顺序排成普通区块。
|
|
69
|
+
- **代码做不出来的,交给视频。** 用户想要很强的首屏动画,而效果要靠生成视频或序列帧才做得出来,例如角色转身、产品拆解、镜头穿越场景,可以告诉用户用 [oil-motion](https://github.com/oil-oil/oil-motion) 来做。CSS、SVG、着色器能完成的仍自己做;同一次对话只提一次。
|
|
70
|
+
|
|
71
|
+
## 滚动交互的两种模式
|
|
72
|
+
|
|
73
|
+
滚动带来的变化分两种模式:
|
|
74
|
+
|
|
75
|
+
- **滑动驱动(Scroll-Driven)。** 动画进程与滚动距离严格 1:1 映射(Scrub)。用户停下则动画停下,往回滚则倒放。首屏景深、一镜到底、3D 视角变换和模型解构只用滑动驱动;除首屏景深外,一镜到底一页最多一段。
|
|
76
|
+
- **滑动触发(Scroll-Triggered)。** 元素滚入视口阈值时,触发一段按自身时长播放的独立动画(如卡片进场、数字上涨)。它什么时候播完由代码决定,不跟着滚动条走。
|
|
77
|
+
- **默认单向一次性(Once)。** 触发后样式固定,用户向上回滚不重播、不复位,不在阅读中途让内容反复飞入或闪烁。
|
|
78
|
+
- **离开重置(Reset on Leave)。** 只有强节奏的纯展示页才允许在完全移出视口后重置,不在视口临界点反复触发。
|
|
79
|
+
|
|
80
|
+
## 平滑滚动与全屏分段
|
|
81
|
+
|
|
82
|
+
- **平滑滚动只管滚起来顺不顺,不算动效。** 用 Lenis 这类库,是为了消掉鼠标滚轮一格一格的跳动,让滑动驱动的动画和视差走得均匀。后台、仪表盘、表单和长文档不开全局平滑滚动,保持原生滚动的即时响应。
|
|
83
|
+
- **慎用全屏分段滚动(Snap Scroll)。** 隐藏滚动条、单次滑动切换整屏的做法只适合特定的全屏展厅与作品封面,常规业务和长文本不用。
|
|
84
|
+
|
|
85
|
+
## 动效库
|
|
86
|
+
|
|
87
|
+
落地页的滚动动效必须用成熟的动效库,不手写滚动监听和逐帧计算:
|
|
88
|
+
|
|
89
|
+
- **没有框架的页面**:GSAP,滚动用 ScrollTrigger(`scrub` 做滑动驱动,`once` 做滑动触发,`pin` 固定舞台),大标题拆字用 SplitText,元素换位置用 Flip。平滑滚动用 Lenis,并接进 GSAP 的时钟:`lenis.on('scroll', ScrollTrigger.update)`、`gsap.ticker.add((t) => lenis.raf(t * 1000))`、`gsap.ticker.lagSmoothing(0)`。GSAP 和它的插件都可以免费使用。
|
|
90
|
+
- **React、Vue 等项目**:沿用项目已有的动效库(Motion、GSAP 等);没有时加 GSAP,不另外手写一套。
|
|
91
|
+
- **需要离线打开的作品**:把库文件按固定版本放进作品目录,从本地引用,不依赖 CDN。
|
|
92
|
+
- **减少动态效果**:用 `gsap.matchMedia()` 分开两套:减少时不固定、不缩放,所有区块直接到位,主叙事排成按顺序的静止画面。
|
|
93
|
+
- 只动变换、透明度和滤镜。固定舞台的外层高度就是这段的滚动距离;离屏的动画由库自动暂停。窄屏可以缩短距离、降低幅度,但选定的手法都要保留。
|
|
94
|
+
|
|
95
|
+
## 检查
|
|
96
|
+
|
|
97
|
+
从头滚到底,再滚回去,各看一遍:往回滚是否倒放、跳到中段刷新画面是否正确、文字是否在静止时出现、窄屏选定的手法是否都在、开启“减少动态效果”后是否所有内容直接可读。
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# 风格对比页
|
|
2
|
+
|
|
3
|
+
把几个候选放在同一页里并排比较,由用户挑选。用户可以并排或单张查看、按实际尺寸看、选定并复制方向。对比页的外壳只负责比较和挑选,不带风格倾向,也不作为候选的参考。
|
|
4
|
+
|
|
5
|
+
几个候选的核心内容、主要动作和目标用户保持一致,变的是构图、信息怎么组织、字体的气质、色彩关系、疏密和用图的方式。放几个候选,看用户要几个、真正有差别的有几个;不复制整个产品来凑数。
|
|
6
|
+
|
|
7
|
+
## 准备输入
|
|
8
|
+
|
|
9
|
+
一轮只生成一个对比页。候选能跑就用真实页面:单独写的 HTML 小样直接嵌入,项目里的方案用本机地址,拿不到可运行的页面时才用截图。每个方案一个画面:存量项目选入口或差别最大的那一步,整站方案只放代表页。
|
|
10
|
+
|
|
11
|
+
把候选 HTML 放进一个目录后传目录,也可以直接传几个 HTML 文件。显示名取 `<title>`,没有标题时取文件名。同目录有 `manifest.json` 时会读取它补充方向信息;没有 manifest 也能生成。
|
|
12
|
+
|
|
13
|
+
最小的 `manifest.json`:
|
|
14
|
+
|
|
15
|
+
```json
|
|
16
|
+
{
|
|
17
|
+
"candidates": [
|
|
18
|
+
{"source": "a.html"},
|
|
19
|
+
{"source": "b.html"}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
| 特殊情况 | 在 manifest 里加 |
|
|
25
|
+
| --- | --- |
|
|
26
|
+
| 固定画布的界面 | 顶层或候选里加 `"nativeViewport": "宽x高"` |
|
|
27
|
+
| 自己写的可操作小样 | 候选加 `"interactive": true` |
|
|
28
|
+
| 需要启动服务才能看的页面 | 候选加 `"kind": "url"` 和本机 `url`;顶层可加 `serve` 启动说明 |
|
|
29
|
+
| 改动已有页面 | 把现状也放进来,并加 `"baseline": true` |
|
|
30
|
+
| 只有截图 | 候选加 `"kind": "image"`,`source` 指向截图 |
|
|
31
|
+
|
|
32
|
+
HTML 和图片候选只需填写 `source`;本机地址候选按上表填写 `url`。候选来自方向卡时,每个候选再填 `name`、`concept`(北极星那一句)、`typography`、`palette`(色值数组)和 `traits`,对比页把它们和画面一起展示,用户靠这些挑选;省略的项不显示。其他字段写法见生成器的 `--help`。
|
|
33
|
+
|
|
34
|
+
## 生成和打开
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
python3 <skill>/scripts/build_explorer.py <候选目录>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
也可以传多个 HTML 文件,或传 `manifest.json`。没有 `python3` 命令时换成 `python` 或 `py -3`。对比页默认生成在输入旁边,文件名是 `style-explorer.html`。修改候选后,要加 `--force` 重新生成,否则打开的还是旧画面。生成器会把要改的地方一次列出来。运行不了生成器时,把候选留给用户直接看,说明对比页还没有组装,不临时另写一套工具。
|
|
41
|
+
|
|
42
|
+
有本机地址候选时,交付时让开发服务器开着。用户之后说“打开对比页”:读 manifest 里的 `serve`,在 `cwd` 里后台运行 `command`,等 `url` 能访问了再打开对比页。
|
|
43
|
+
|
|
44
|
+
## 记录选择
|
|
45
|
+
|
|
46
|
+
用户点“选择”会复制一句话,例如“<轮次>:选 03 <方向名>”。用户粘贴它或直接说出选择后,按轮次和编号对照当前 manifest,确认是这一轮的,把选择和备注更新到设计说明,再回到生成这个对比页的流程接着做。对比页不会写回任何文件,也不会自动给 Agent 发消息。
|
|
47
|
+
|
|
48
|
+
交付前对候选目录跑一次 `node <skill>/scripts/shoot.mjs <manifest 所在目录> --size desktop --thumb --out shots/explore`(一次出齐各候选缩略图与并排总览图 `sheet.png`)核对候选:每张画面和 manifest 里写的页面、状态、视口一致,中文字体真实渲染出来了。判断文字大小和细节时用单张查看的“实际尺寸 100%”,适应窗口的缩小图不能当作可读性通过。对比页本身的功能由 Skill 自带的测试保证,任务里不验证、不读模板源码。
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# 显式探索与比较
|
|
2
|
+
|
|
3
|
+
上级入口:[Skill 主流程](../SKILL.md)。只有用户明确要求比较设计方向、改动档位或版式时才进入本流程。它叠加在新建、重设计或存量任务上,不替代各任务的产品事实、锁定范围、制作和验收规则。领域模块只提供方法,不自行增加候选数量或重启选择流程。
|
|
4
|
+
|
|
5
|
+
数量先服从用户;用户没有指定数量时才默认三个。比较改动档位时保留现状基线;比较版式时保持选定方向的字体、色彩和控件语法,只改变骨架、主视觉摆法和页面结构。内部概念、草图和素材候选的数量不随对外方向数量减少。
|
|
6
|
+
|
|
7
|
+
## 先用文字收敛
|
|
8
|
+
|
|
9
|
+
先沿主入口确定基础任务与适用的领域规则;按它要求的方案产物形成所需数量的对外方向。基础路径要求通用方向流程时,才按 [设计方向](design-direction.md) 完成产品事实、删减、概念、主视口灰度和过关检验。每个方向都必须适配且可落地,不靠极端颜色或构图制造差异,也不拿陪跑方案凑数。骨架按需读 [说服型骨架](direction-persuasion.md)。
|
|
10
|
+
|
|
11
|
+
先用三四行写清每个方向的感觉、首屏、核心动作、字体、色彩和主视觉,附上推荐及理由,再问用户:按其中一个直接做,还是把这些方向做成首屏放在一起比。发给用户后这一轮结束。用户从文字里选定,或者已经说清想要什么,就只做选中的一个,不做对比页;用户要看实际画面,才制作多个首屏。
|
|
12
|
+
|
|
13
|
+
只交付设计说明时止于方向卡,并说明未渲染。用户已经给定参考图、品牌规范或明确风格时,所有方向都留在这个风格里,只在骨架、主视觉和页面结构上拉开。
|
|
14
|
+
|
|
15
|
+
## 用户要看实际画面
|
|
16
|
+
|
|
17
|
+
按 [风格对比页](style-explorer.md) 把各方向首屏放在一起。每个方向一个 HTML 文件、一个视口、只做首屏和主状态,不提前铺成多个完整页面;不写交互、响应式和动效,不取证,不派画面评审。宿主支持并行制作时按方向分工,不让多个执行者同时修改同一份共享样式。
|
|
18
|
+
|
|
19
|
+
- 各方向共用同一份产品事实和示例数据,只写一次;结构、样式、标题、副标题和主视觉各写各的,不用同一模板换几组样式凑数。
|
|
20
|
+
- 主视觉靠图的方向按 [素材](media.md) 生成一张,至多重新生成一次;页面已有专项候选流程时按专项,不重复增加生成批次。其余图位先用从页面取色的色块占着。
|
|
21
|
+
- 对候选目录统一截图,一次出齐缩略图与并排总览 `sheet.png`,主 Agent 亲自看过,只修重叠、裁切和明显粗糙后交付。
|
|
22
|
+
- 附上推荐理由,请用户选定方向并说出具体喜欢和不喜欢哪里,然后结束这一轮。
|
|
23
|
+
|
|
24
|
+
用户说了“你定”“直接做”,或者无人值守时,不问并自主选定,但仍只在明确探索时制作这些候选。把截图缩到 480px 宽并排看一次,写下选择理由,再只深化选中的一个。
|
|
25
|
+
|
|
26
|
+
## 比较版式
|
|
27
|
+
|
|
28
|
+
先用文字写出两三种骨架的差别;能从文字选定就只做一个,要看实际画面再做成首屏,连同选中的方向放进对比页。用户只回复选哪个,就并入意见直接做完整页面;想拼合两个方向时,先做出拼合后的首屏给用户确认。
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# 只读评审
|
|
2
|
+
|
|
3
|
+
上级入口:[Skill 主流程](../SKILL.md)。用户只要评审时,本流程只交付证据、诊断和建议,不修改产品文件,不生成新方向,也不进入制作后的修正循环。
|
|
4
|
+
|
|
5
|
+
1. 写清评审对象、用户目标、设备与已知约束;只读取相关页面、截图和材料,不通读整个项目。比较已有方案时保持它们现有的内容和范围,不先补齐成自己的设计。
|
|
6
|
+
2. 能运行或看图时取得真实证据;不能时明确限制,不把推测写成实际视觉或交互结论。按 [视觉评审派发协议](visual-review.md) 选择适合现有界面或候选方案的评审方式,评审标准由评审者读取,主 Agent 只交接材料。
|
|
7
|
+
3. 有隔离且能看图的执行者时,派没有制作历史的评审者;没有则由主 Agent 自检,并在结果中写明“未独立评审”。需要验证主要流程时,按 [轻量 UX 走查派发](ux-review.md) 取得任务走查证据;纯视觉评审不额外走查。
|
|
8
|
+
4. 报告按影响排序,写清位置、观察、依据和建议;比较方案时分别说明适配与代价,再给选择建议。交付报告后停止,不修正、不实现建议,也不顺便扩展任务范围。
|