mindforge-cc 11.8.2 → 11.9.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/.agent/mindforge/wf-orchestrate-review.md +35 -0
- package/.agent/mindforge/wf-verification-loop.md +45 -0
- package/.agent/mindforge/wf-workflow-optimizer.md +51 -0
- package/.agent/skills/article-illustrator/SKILL.md +7 -7
- package/.agent/skills/arxiv/SKILL.md +6 -6
- package/.agent/skills/code-wiki/SKILL.md +11 -11
- package/.agent/skills/concept-diagrams/SKILL.md +6 -6
- package/.agent/skills/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
- package/.agent/skills/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
- package/.agent/skills/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
- package/.agent/skills/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
- package/.agent/skills/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
- package/.agent/skills/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
- package/.agent/skills/concept-diagrams/examples/electricity-grid-flow.md +182 -0
- package/.agent/skills/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
- package/.agent/skills/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
- package/.agent/skills/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
- package/.agent/skills/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
- package/.agent/skills/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
- package/.agent/skills/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
- package/.agent/skills/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
- package/.agent/skills/concept-diagrams/examples/wind-turbine-structure.md +338 -0
- package/.agent/skills/concept-diagrams/templates/template.html +174 -0
- package/.agent/skills/domain-intel/SKILL.md +7 -7
- package/.agent/skills/duckduckgo-search/SKILL.md +17 -17
- package/.agent/skills/github-auth/scripts/gh-env.sh +66 -0
- package/.agent/skills/github-code-review/SKILL.md +9 -9
- package/.agent/skills/github-pr-workflow/SKILL.md +3 -3
- package/.agent/skills/godmode/SKILL.md +8 -8
- package/.agent/skills/jupyter-live-kernel/SKILL.md +3 -3
- package/.agent/skills/kanban-orchestrator/SKILL.md +10 -10
- package/.agent/skills/kanban-worker/SKILL.md +6 -6
- package/.agent/skills/llm-wiki/SKILL.md +7 -7
- package/.agent/skills/mindforge-autonomous/SKILL.md +1 -1
- package/.agent/skills/mindforge-complete-milestone/SKILL.md +1 -1
- package/.agent/skills/mindforge-discuss-phase/SKILL.md +1 -1
- package/.agent/skills/mindforge-do/SKILL.md +1 -1
- package/.agent/skills/mindforge-execute-phase/SKILL.md +1 -1
- package/.agent/skills/mindforge-list-workspaces/SKILL.md +1 -1
- package/.agent/skills/mindforge-manager/SKILL.md +1 -1
- package/.agent/skills/mindforge-neural-orchestrator/SKILL.md +1 -1
- package/.agent/skills/mindforge-new-milestone/SKILL.md +4 -4
- package/.agent/skills/mindforge-new-project/SKILL.md +4 -4
- package/.agent/skills/mindforge-new-workspace/SKILL.md +1 -1
- package/.agent/skills/mindforge-note/SKILL.md +1 -1
- package/.agent/skills/mindforge-plan-phase/SKILL.md +1 -1
- package/.agent/skills/mindforge-profile-user/SKILL.md +1 -1
- package/.agent/skills/mindforge-remove-workspace/SKILL.md +1 -1
- package/.agent/skills/mindforge-research-phase/SKILL.md +1 -1
- package/.agent/skills/mindforge-ui-phase/SKILL.md +1 -1
- package/.agent/skills/mindforge-ui-review/SKILL.md +1 -1
- package/.agent/skills/mindforge-verify-work/SKILL.md +1 -1
- package/.agent/skills/mindforge-workspace-isolated/SKILL.md +1 -1
- package/.agent/skills/node-inspect-debugger/SKILL.md +1 -1
- package/.agent/skills/obsidian/SKILL.md +15 -15
- package/.agent/skills/osint-investigation/SKILL.md +3 -2
- package/.agent/skills/osint-investigation/references/sources/courtlistener.md +98 -0
- package/.agent/skills/osint-investigation/references/sources/gdelt.md +104 -0
- package/.agent/skills/osint-investigation/references/sources/icij-offshore.md +104 -0
- package/.agent/skills/osint-investigation/references/sources/nyc-acris.md +90 -0
- package/.agent/skills/osint-investigation/references/sources/ofac-sdn.md +92 -0
- package/.agent/skills/osint-investigation/references/sources/opencorporates.md +103 -0
- package/.agent/skills/osint-investigation/references/sources/sec-edgar.md +83 -0
- package/.agent/skills/osint-investigation/references/sources/senate-ld.md +89 -0
- package/.agent/skills/osint-investigation/references/sources/usaspending.md +97 -0
- package/.agent/skills/osint-investigation/references/sources/wayback.md +93 -0
- package/.agent/skills/osint-investigation/references/sources/wikipedia.md +107 -0
- package/.agent/skills/osint-investigation/scripts/_http.py +82 -0
- package/.agent/skills/osint-investigation/scripts/_normalize.py +67 -0
- package/.agent/skills/osint-investigation/scripts/build_findings.py +221 -0
- package/.agent/skills/osint-investigation/scripts/entity_resolution.py +228 -0
- package/.agent/skills/osint-investigation/scripts/fetch_courtlistener.py +149 -0
- package/.agent/skills/osint-investigation/scripts/fetch_gdelt.py +161 -0
- package/.agent/skills/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
- package/.agent/skills/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
- package/.agent/skills/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
- package/.agent/skills/osint-investigation/scripts/fetch_opencorporates.py +191 -0
- package/.agent/skills/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
- package/.agent/skills/osint-investigation/scripts/fetch_senate_ld.py +146 -0
- package/.agent/skills/osint-investigation/scripts/fetch_usaspending.py +170 -0
- package/.agent/skills/osint-investigation/scripts/fetch_wayback.py +142 -0
- package/.agent/skills/osint-investigation/scripts/fetch_wikipedia.py +266 -0
- package/.agent/skills/osint-investigation/scripts/timing_analysis.py +252 -0
- package/.agent/skills/oss-forensics/SKILL.md +10 -9
- package/.agent/skills/oss-forensics/scripts/evidence-store.py +313 -0
- package/.agent/skills/parallel-cli/SKILL.md +2 -2
- package/.agent/skills/pinggy-tunnel/SKILL.md +3 -3
- package/.agent/skills/pixel-art/SKILL.md +2 -2
- package/.agent/skills/plan/SKILL.md +10 -10
- package/.agent/skills/requesting-code-review/SKILL.md +4 -6
- package/.agent/skills/research-paper-writing/SKILL.md +32 -32
- package/.agent/skills/rest-graphql-debug/SKILL.md +31 -32
- package/.agent/skills/s6-container-supervision/SKILL.md +1 -1
- package/.agent/skills/scrapling/SKILL.md +1 -1
- package/.agent/skills/sherlock/SKILL.md +1 -1
- package/.agent/skills/simplify-code/SKILL.md +5 -7
- package/.agent/skills/skill-authoring/SKILL.md +4 -4
- package/.agent/skills/spike/SKILL.md +11 -13
- package/.agent/skills/subagent-driven-development/SKILL.md +7 -11
- package/.agent/skills/systematic-debugging/SKILL.md +13 -14
- package/.agent/skills/test-driven-development/SKILL.md +6 -7
- package/.agent/skills/video-orchestrator/SKILL.md +1 -1
- package/.agent/skills/web-pentest/SKILL.md +7 -7
- package/.mindforge/config.json +3 -2
- package/.mindforge/dynamic-workflows/REGISTRY.md +4 -1
- package/.mindforge/dynamic-workflows/index.json +910 -840
- package/.mindforge/dynamic-workflows/scripts/accessibility-audit.js +88 -90
- package/.mindforge/dynamic-workflows/scripts/ai-model-eval.js +59 -61
- package/.mindforge/dynamic-workflows/scripts/api-contract-test.js +87 -85
- package/.mindforge/dynamic-workflows/scripts/api-migration.js +120 -122
- package/.mindforge/dynamic-workflows/scripts/architecture-modernization.js +84 -86
- package/.mindforge/dynamic-workflows/scripts/code-audit.js +75 -77
- package/.mindforge/dynamic-workflows/scripts/code-explainer.js +99 -101
- package/.mindforge/dynamic-workflows/scripts/competitive-analysis.js +62 -64
- package/.mindforge/dynamic-workflows/scripts/competitive-teardown.js +106 -108
- package/.mindforge/dynamic-workflows/scripts/cost-analysis.js +78 -80
- package/.mindforge/dynamic-workflows/scripts/data-pipeline-validate.js +47 -49
- package/.mindforge/dynamic-workflows/scripts/database-migration.js +85 -87
- package/.mindforge/dynamic-workflows/scripts/debug-detective.js +97 -99
- package/.mindforge/dynamic-workflows/scripts/dependency-health.js +81 -83
- package/.mindforge/dynamic-workflows/scripts/design-system-audit.js +84 -86
- package/.mindforge/dynamic-workflows/scripts/documentation-gen.js +65 -67
- package/.mindforge/dynamic-workflows/scripts/feature-planner.js +78 -80
- package/.mindforge/dynamic-workflows/scripts/incident-response.js +81 -83
- package/.mindforge/dynamic-workflows/scripts/multi-repo-sync.js +49 -51
- package/.mindforge/dynamic-workflows/scripts/mutation-testing.js +113 -115
- package/.mindforge/dynamic-workflows/scripts/onboard-codebase.js +79 -81
- package/.mindforge/dynamic-workflows/scripts/orchestrate-review.js +115 -0
- package/.mindforge/dynamic-workflows/scripts/perf-optimize.js +97 -99
- package/.mindforge/dynamic-workflows/scripts/pr-review.js +61 -63
- package/.mindforge/dynamic-workflows/scripts/refactor-plan.js +88 -90
- package/.mindforge/dynamic-workflows/scripts/release-prep.js +79 -81
- package/.mindforge/dynamic-workflows/scripts/security-hardening.js +117 -119
- package/.mindforge/dynamic-workflows/scripts/security-threat-model.js +119 -121
- package/.mindforge/dynamic-workflows/scripts/tdd-sprint.js +80 -82
- package/.mindforge/dynamic-workflows/scripts/tech-evaluation.js +50 -52
- package/.mindforge/dynamic-workflows/scripts/test-coverage-gap.js +68 -70
- package/.mindforge/dynamic-workflows/scripts/ux-heuristic-audit.js +89 -91
- package/.mindforge/dynamic-workflows/scripts/verification-loop.js +138 -0
- package/.mindforge/dynamic-workflows/scripts/workflow-optimizer.js +136 -0
- package/.mindforge/dynamic-workflows/scripts/writer-reviewer.js +63 -65
- package/.mindforge/memory/sync-manifest.json +1 -1
- package/.mindforge/personas/advisor-researcher.md +2 -2
- package/.mindforge/personas/api-load-tester.md +1 -1
- package/.mindforge/personas/authentication-architect.md +1 -1
- package/.mindforge/personas/backup-recovery-specialist.md +1 -1
- package/.mindforge/personas/build-optimizer.md +1 -1
- package/.mindforge/personas/caching-strategist.md +1 -1
- package/.mindforge/personas/chaos-engineer.md +1 -1
- package/.mindforge/personas/compliance-auditor.md +1 -1
- package/.mindforge/personas/config-management-expert.md +1 -1
- package/.mindforge/personas/coverage-specialist.md +1 -1
- package/.mindforge/personas/debug-specialist.md +2 -2
- package/.mindforge/personas/debugger.md +2 -2
- package/.mindforge/personas/dependency-auditor.md +1 -1
- package/.mindforge/personas/developer.md +1 -1
- package/.mindforge/personas/devops-engineer.md +1 -1
- package/.mindforge/personas/executor.md +1 -1
- package/.mindforge/personas/go-specialist.md +1 -1
- package/.mindforge/personas/incident-commander.md +1 -1
- package/.mindforge/personas/java-specialist.md +1 -1
- package/.mindforge/personas/kubernetes-debugger.md +1 -1
- package/.mindforge/personas/logging-architect.md +1 -1
- package/.mindforge/personas/mf-planner.md +1 -1
- package/.mindforge/personas/mf-researcher.md +1 -1
- package/.mindforge/personas/mf-reviewer.md +1 -1
- package/.mindforge/personas/nyquist-auditor.md +1 -1
- package/.mindforge/personas/observability-engineer.md +1 -1
- package/.mindforge/personas/performance-optimizer.md +1 -1
- package/.mindforge/personas/phase-researcher.md +5 -5
- package/.mindforge/personas/planner.md +1 -1
- package/.mindforge/personas/project-researcher.md +2 -2
- package/.mindforge/personas/python-specialist.md +1 -1
- package/.mindforge/personas/qa-engineer.md +1 -1
- package/.mindforge/personas/release-manager.md +1 -1
- package/.mindforge/personas/research-agent.md +4 -4
- package/.mindforge/personas/roadmapper-extend.md +1 -1
- package/.mindforge/personas/rust-specialist.md +1 -1
- package/.mindforge/personas/security-reviewer.md +1 -1
- package/.mindforge/personas/tech-writer.md +1 -1
- package/.mindforge/personas/typescript-wizard.md +1 -1
- package/.mindforge/personas/ui-researcher.md +1 -1
- package/.mindforge/skills/accessibility/SKILL.md +3 -3
- package/.mindforge/skills/agent-architecture-audit/SKILL.md +11 -0
- package/.mindforge/skills/agent-loops/SKILL.md +1 -1
- package/.mindforge/skills/arxiv/SKILL.md +6 -6
- package/.mindforge/skills/arxiv/scripts/search_arxiv.py +114 -0
- package/.mindforge/skills/code-tour/SKILL.md +2 -2
- package/.mindforge/skills/code-wiki/SKILL.md +11 -11
- package/.mindforge/skills/code-wiki/templates/README.md +31 -0
- package/.mindforge/skills/code-wiki/templates/architecture.md +30 -0
- package/.mindforge/skills/code-wiki/templates/getting-started.md +47 -0
- package/.mindforge/skills/code-wiki/templates/module.md +38 -0
- package/.mindforge/skills/concept-diagrams/SKILL.md +6 -6
- package/.mindforge/skills/concept-diagrams/examples/apartment-floor-plan-conversion.md +244 -0
- package/.mindforge/skills/concept-diagrams/examples/automated-password-reset-flow.md +276 -0
- package/.mindforge/skills/concept-diagrams/examples/autonomous-llm-research-agent-flow.md +240 -0
- package/.mindforge/skills/concept-diagrams/examples/banana-journey-tree-to-smoothie.md +161 -0
- package/.mindforge/skills/concept-diagrams/examples/commercial-aircraft-structure.md +209 -0
- package/.mindforge/skills/concept-diagrams/examples/cpu-ooo-microarchitecture.md +236 -0
- package/.mindforge/skills/concept-diagrams/examples/electricity-grid-flow.md +182 -0
- package/.mindforge/skills/concept-diagrams/examples/feature-film-production-pipeline.md +172 -0
- package/.mindforge/skills/concept-diagrams/examples/hospital-emergency-department-flow.md +165 -0
- package/.mindforge/skills/concept-diagrams/examples/ml-benchmark-grouped-bar-chart.md +114 -0
- package/.mindforge/skills/concept-diagrams/examples/place-order-uml-sequence.md +325 -0
- package/.mindforge/skills/concept-diagrams/examples/smart-city-infrastructure.md +173 -0
- package/.mindforge/skills/concept-diagrams/examples/smartphone-layer-anatomy.md +154 -0
- package/.mindforge/skills/concept-diagrams/examples/sn2-reaction-mechanism.md +247 -0
- package/.mindforge/skills/concept-diagrams/examples/wind-turbine-structure.md +338 -0
- package/.mindforge/skills/concept-diagrams/references/dashboard-patterns.md +43 -0
- package/.mindforge/skills/concept-diagrams/references/infrastructure-patterns.md +144 -0
- package/.mindforge/skills/concept-diagrams/references/physical-shape-cookbook.md +42 -0
- package/.mindforge/skills/concept-diagrams/templates/template.html +174 -0
- package/.mindforge/skills/creative-ideation/references/full-prompt-library.md +110 -0
- package/.mindforge/skills/documentation/SKILL.md +1 -1
- package/.mindforge/skills/domain-intel/SKILL.md +7 -7
- package/.mindforge/skills/domain-intel/scripts/domain_intel.py +397 -0
- package/.mindforge/skills/duckduckgo-search/SKILL.md +17 -17
- package/.mindforge/skills/duckduckgo-search/scripts/duckduckgo.sh +28 -0
- package/.mindforge/skills/environment-management/SKILL.md +1 -1
- package/.mindforge/skills/github-code-review/SKILL.md +9 -9
- package/.mindforge/skills/github-code-review/references/review-output-template.md +74 -0
- package/.mindforge/skills/github-issues/templates/bug-report.md +35 -0
- package/.mindforge/skills/github-issues/templates/feature-request.md +31 -0
- package/.mindforge/skills/github-pr-workflow/SKILL.md +3 -3
- package/.mindforge/skills/github-pr-workflow/references/ci-troubleshooting.md +183 -0
- package/.mindforge/skills/github-pr-workflow/references/conventional-commits.md +71 -0
- package/.mindforge/skills/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
- package/.mindforge/skills/github-pr-workflow/templates/pr-body-feature.md +33 -0
- package/.mindforge/skills/incident-response/SKILL.md +1 -1
- package/.mindforge/skills/jupyter-live-kernel/SKILL.md +3 -3
- package/.mindforge/skills/kanban-orchestrator/SKILL.md +10 -10
- package/.mindforge/skills/kanban-worker/SKILL.md +6 -6
- package/.mindforge/skills/meme-generation/SKILL.md +1 -1
- package/.mindforge/skills/meme-generation/scripts/generate_meme.py +470 -0
- package/.mindforge/skills/meme-generation/scripts/templates.json +97 -0
- package/.mindforge/skills/obsidian/SKILL.md +15 -15
- package/.mindforge/skills/orch-pipeline/SKILL.md +2 -2
- package/.mindforge/skills/osint-investigation/SKILL.md +3 -2
- package/.mindforge/skills/osint-investigation/references/sources/courtlistener.md +98 -0
- package/.mindforge/skills/osint-investigation/references/sources/gdelt.md +104 -0
- package/.mindforge/skills/osint-investigation/references/sources/icij-offshore.md +104 -0
- package/.mindforge/skills/osint-investigation/references/sources/nyc-acris.md +90 -0
- package/.mindforge/skills/osint-investigation/references/sources/ofac-sdn.md +92 -0
- package/.mindforge/skills/osint-investigation/references/sources/opencorporates.md +103 -0
- package/.mindforge/skills/osint-investigation/references/sources/sec-edgar.md +83 -0
- package/.mindforge/skills/osint-investigation/references/sources/senate-ld.md +89 -0
- package/.mindforge/skills/osint-investigation/references/sources/usaspending.md +97 -0
- package/.mindforge/skills/osint-investigation/references/sources/wayback.md +93 -0
- package/.mindforge/skills/osint-investigation/references/sources/wikipedia.md +107 -0
- package/.mindforge/skills/osint-investigation/scripts/_http.py +82 -0
- package/.mindforge/skills/osint-investigation/scripts/_normalize.py +67 -0
- package/.mindforge/skills/osint-investigation/scripts/build_findings.py +221 -0
- package/.mindforge/skills/osint-investigation/scripts/entity_resolution.py +228 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_courtlistener.py +149 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_gdelt.py +161 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_icij_offshore.py +234 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_nyc_acris.py +203 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_ofac_sdn.py +175 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_opencorporates.py +191 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_sec_edgar.py +184 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_senate_ld.py +146 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_usaspending.py +170 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_wayback.py +142 -0
- package/.mindforge/skills/osint-investigation/scripts/fetch_wikipedia.py +266 -0
- package/.mindforge/skills/osint-investigation/scripts/timing_analysis.py +252 -0
- package/.mindforge/skills/osint-investigation/templates/source-template.md +59 -0
- package/.mindforge/skills/oss-forensics/SKILL.md +6 -6
- package/.mindforge/skills/oss-forensics/references/evidence-types.md +89 -0
- package/.mindforge/skills/oss-forensics/references/github-archive-guide.md +184 -0
- package/.mindforge/skills/oss-forensics/references/investigation-templates.md +131 -0
- package/.mindforge/skills/oss-forensics/references/recovery-techniques.md +164 -0
- package/.mindforge/skills/oss-forensics/scripts/evidence-store.py +313 -0
- package/.mindforge/skills/oss-forensics/templates/forensic-report.md +151 -0
- package/.mindforge/skills/oss-forensics/templates/malicious-package-report.md +43 -0
- package/.mindforge/skills/pixel-art/SKILL.md +2 -2
- package/.mindforge/skills/pixel-art/references/palettes.md +49 -0
- package/.mindforge/skills/plan/SKILL.md +10 -10
- package/.mindforge/skills/requesting-code-review/SKILL.md +4 -6
- package/.mindforge/skills/research-paper-writing/SKILL.md +32 -32
- package/.mindforge/skills/research-paper-writing/references/autoreason-methodology.md +394 -0
- package/.mindforge/skills/research-paper-writing/references/checklists.md +434 -0
- package/.mindforge/skills/research-paper-writing/references/citation-workflow.md +563 -0
- package/.mindforge/skills/research-paper-writing/references/experiment-patterns.md +728 -0
- package/.mindforge/skills/research-paper-writing/references/human-evaluation.md +476 -0
- package/.mindforge/skills/research-paper-writing/references/paper-types.md +481 -0
- package/.mindforge/skills/research-paper-writing/references/reviewer-guidelines.md +433 -0
- package/.mindforge/skills/research-paper-writing/references/sources.md +191 -0
- package/.mindforge/skills/research-paper-writing/references/writing-guide.md +474 -0
- package/.mindforge/skills/research-paper-writing/templates/README.md +251 -0
- package/.mindforge/skills/scrapling/SKILL.md +1 -1
- package/.mindforge/skills/security-review/SKILL.md +1 -1
- package/.mindforge/skills/sherlock/SKILL.md +1 -1
- package/.mindforge/skills/simplify-code/SKILL.md +5 -7
- package/.mindforge/skills/spike/SKILL.md +11 -13
- package/.mindforge/skills/subagent-driven-development/SKILL.md +7 -11
- package/.mindforge/skills/subagent-driven-development/references/context-budget-discipline.md +53 -0
- package/.mindforge/skills/subagent-driven-development/references/gates-taxonomy.md +93 -0
- package/.mindforge/skills/systematic-debugging/SKILL.md +13 -14
- package/.mindforge/skills/test-driven-development/SKILL.md +7 -8
- package/.mindforge/skills/testing-standards/SKILL.md +1 -1
- package/.mindforge/skills/web-pentest/SKILL.md +2 -2
- package/.mindforge/skills/web-pentest/references/bypass-techniques.md +133 -0
- package/.mindforge/skills/web-pentest/references/exploitation-techniques.md +204 -0
- package/.mindforge/skills/web-pentest/references/scope-enforcement.md +110 -0
- package/.mindforge/skills/web-pentest/references/vuln-taxonomy.md +81 -0
- package/.mindforge/skills/web-pentest/templates/authorization.md +69 -0
- package/.mindforge/skills/web-pentest/templates/pentest-report.md +178 -0
- package/.mindforge/skills/writing-skills/SKILL.md +4 -3
- package/CHANGELOG.md +35 -0
- package/MINDFORGE.md +3 -3
- package/README.md +9 -7
- package/RELEASENOTES.md +65 -2
- package/SECURITY.md +5 -3
- package/bin/autonomous/auto-runner.js +5 -2
- package/bin/engine/skill-loader.js +4 -0
- package/bin/governance/rbac.js +4 -0
- package/bin/memory/eis-client.js +1 -0
- package/bin/mindforge-cli.js +5 -0
- package/bin/models/bedrock-provider.js +192 -0
- package/bin/models/model-client.js +19 -0
- package/bin/spawn-agent.js +9 -2
- package/docs/commands-reference.md +68 -6
- package/docs/faq.md +38 -1
- package/docs/getting-started.md +27 -12
- package/docs/sdk-reference.md +36 -3
- package/docs/troubleshooting.md +59 -1
- package/docs/user-guide.md +7 -4
- package/package.json +3 -3
- package/.claude/commands/mindforge/skill-tdd.md +0 -53
- package/.claude/commands/mindforge/skills-index.md +0 -118
- package/.claude/commands/mindforge/systematic-debug.md +0 -60
- package/.claude/commands/mindforge/wf-accessibility-audit.md +0 -31
- package/.claude/commands/mindforge/wf-ai-model-eval.md +0 -31
- package/.claude/commands/mindforge/wf-api-migration.md +0 -31
- package/.claude/commands/mindforge/wf-architecture-modernization.md +0 -32
- package/.claude/commands/mindforge/wf-catalog.md +0 -59
- package/.claude/commands/mindforge/wf-code-audit.md +0 -31
- package/.claude/commands/mindforge/wf-code-explainer.md +0 -31
- package/.claude/commands/mindforge/wf-competitive-analysis.md +0 -31
- package/.claude/commands/mindforge/wf-competitive-teardown.md +0 -31
- package/.claude/commands/mindforge/wf-cost-analysis.md +0 -31
- package/.claude/commands/mindforge/wf-data-pipeline-validate.md +0 -31
- package/.claude/commands/mindforge/wf-database-migration.md +0 -31
- package/.claude/commands/mindforge/wf-debug-detective.md +0 -32
- package/.claude/commands/mindforge/wf-design-system-audit.md +0 -31
- package/.claude/commands/mindforge/wf-documentation-gen.md +0 -31
- package/.claude/commands/mindforge/wf-feature-planner.md +0 -31
- package/.claude/commands/mindforge/wf-incident-response.md +0 -31
- package/.claude/commands/mindforge/wf-multi-repo-sync.md +0 -31
- package/.claude/commands/mindforge/wf-mutation-testing.md +0 -31
- package/.claude/commands/mindforge/wf-onboard-codebase.md +0 -31
- package/.claude/commands/mindforge/wf-perf-optimize.md +0 -31
- package/.claude/commands/mindforge/wf-pr-review.md +0 -31
- package/.claude/commands/mindforge/wf-refactor-plan.md +0 -31
- package/.claude/commands/mindforge/wf-release-prep.md +0 -31
- package/.claude/commands/mindforge/wf-security-threat-model.md +0 -31
- package/.claude/commands/mindforge/wf-tdd-sprint.md +0 -31
- package/.claude/commands/mindforge/wf-tech-evaluation.md +0 -31
- package/.claude/commands/mindforge/wf-ux-heuristic-audit.md +0 -31
- package/.claude/commands/mindforge/wf-writer-reviewer.md +0 -30
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# Electricity Grid: Generation to Consumption
|
|
2
|
+
|
|
3
|
+
A left-to-right flow diagram showing electricity from multiple generation sources through transmission and distribution networks to end consumers. Demonstrates multi-stage flow layout, voltage level visual hierarchy, and smart grid data overlay.
|
|
4
|
+
|
|
5
|
+
## Key Patterns Used
|
|
6
|
+
|
|
7
|
+
- **Multi-stage horizontal flow**: Four distinct columns (Generation → Transmission → Distribution → Consumption)
|
|
8
|
+
- **Stage dividers**: Vertical dashed lines separating each phase
|
|
9
|
+
- **Voltage level hierarchy**: Different line weights/colors for HV, MV, LV
|
|
10
|
+
- **Smart grid data overlay**: Dashed data flow lines from control center
|
|
11
|
+
- **Capacity labels**: Power ratings on generation sources
|
|
12
|
+
- **Multiple source convergence**: Four generators feeding into single transmission grid
|
|
13
|
+
|
|
14
|
+
## New Shape Techniques
|
|
15
|
+
|
|
16
|
+
### Nuclear Plant (cooling tower + reactor)
|
|
17
|
+
```xml
|
|
18
|
+
<!-- Cooling tower (hyperbolic curve) -->
|
|
19
|
+
<path class="nuclear-tower" d="M 25 80 Q 15 60 20 40 Q 25 20 40 15 Q 55 20 60 40 Q 65 60 55 80 Z"/>
|
|
20
|
+
<!-- Steam clouds -->
|
|
21
|
+
<ellipse class="nuclear-steam" cx="40" cy="8" rx="12" ry="6"/>
|
|
22
|
+
<!-- Reactor dome -->
|
|
23
|
+
<rect class="nuclear-building" x="65" y="45" width="40" height="35" rx="3"/>
|
|
24
|
+
<ellipse class="nuclear-building" cx="85" cy="45" rx="20" ry="8"/>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Gas Peaker Plant (with flames)
|
|
28
|
+
```xml
|
|
29
|
+
<rect class="gas-plant" x="0" y="25" width="70" height="40" rx="3"/>
|
|
30
|
+
<!-- Smokestacks -->
|
|
31
|
+
<rect class="gas-stack" x="15" y="5" width="8" height="25" rx="1"/>
|
|
32
|
+
<!-- Flame -->
|
|
33
|
+
<path class="gas-flame" d="M 19 5 Q 17 0 19 -3 Q 21 0 19 5"/>
|
|
34
|
+
<!-- Turbine housing -->
|
|
35
|
+
<ellipse class="gas-plant" cx="55" cy="45" rx="12" ry="8"/>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Transmission Pylon with Insulators
|
|
39
|
+
```xml
|
|
40
|
+
<!-- Tapered tower -->
|
|
41
|
+
<polygon class="pylon" points="20,0 25,0 30,80 15,80"/>
|
|
42
|
+
<!-- Cross arms -->
|
|
43
|
+
<line class="pylon-arm" x1="5" y1="10" x2="40" y2="10"/>
|
|
44
|
+
<line class="pylon-arm" x1="8" y1="25" x2="37" y2="25"/>
|
|
45
|
+
<!-- Insulators (where lines attach) -->
|
|
46
|
+
<circle class="insulator" cx="8" cy="10" r="3"/>
|
|
47
|
+
<circle class="insulator" cx="37" cy="10" r="3"/>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Transformer Symbol
|
|
51
|
+
```xml
|
|
52
|
+
<!-- Two coils with core -->
|
|
53
|
+
<circle class="transformer-coil" cx="25" cy="25" r="12"/>
|
|
54
|
+
<circle class="transformer-coil" cx="55" cy="25" r="12"/>
|
|
55
|
+
<rect class="transformer-core" x="35" y="15" width="10" height="20" rx="2"/>
|
|
56
|
+
<!-- Busbars -->
|
|
57
|
+
<line x1="0" y1="15" x2="-10" y2="15" stroke="#EF9F27" stroke-width="3"/>
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### Pole-mounted Transformer
|
|
61
|
+
```xml
|
|
62
|
+
<rect class="pole" x="18" y="0" width="4" height="60"/>
|
|
63
|
+
<line x1="10" y1="8" x2="30" y2="8" stroke="#854F0B" stroke-width="2"/>
|
|
64
|
+
<rect class="dist-transformer" x="8" y="15" width="24" height="18" rx="2"/>
|
|
65
|
+
<line class="lv-line" x1="20" y1="33" x2="20" y2="60"/>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### House with Roof
|
|
69
|
+
```xml
|
|
70
|
+
<rect class="home" x="0" y="25" width="35" height="30" rx="2"/>
|
|
71
|
+
<polygon class="home-roof" points="0,25 17,8 35,25"/>
|
|
72
|
+
<!-- Door -->
|
|
73
|
+
<rect x="8" y="35" width="8" height="15" fill="#085041"/>
|
|
74
|
+
<!-- Window -->
|
|
75
|
+
<rect x="22" y="32" width="8" height="8" fill="#9FE1CB"/>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Factory Building
|
|
79
|
+
```xml
|
|
80
|
+
<rect class="factory" x="0" y="15" width="90" height="50" rx="3"/>
|
|
81
|
+
<!-- Smokestacks -->
|
|
82
|
+
<rect class="factory-stack" x="15" y="0" width="10" height="20"/>
|
|
83
|
+
<!-- Windows row -->
|
|
84
|
+
<rect x="10" y="30" width="15" height="12" fill="#F5C4B3"/>
|
|
85
|
+
<rect x="30" y="30" width="15" height="12" fill="#F5C4B3"/>
|
|
86
|
+
<!-- Loading dock -->
|
|
87
|
+
<rect x="55" y="50" width="30" height="15" fill="#993C1D"/>
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### EV Charger with Car
|
|
91
|
+
```xml
|
|
92
|
+
<!-- Charging station -->
|
|
93
|
+
<rect class="ev-charger" x="20" y="0" width="25" height="45" rx="3"/>
|
|
94
|
+
<rect x="24" y="5" width="17" height="12" rx="1" fill="#3C3489"/>
|
|
95
|
+
<!-- Cable -->
|
|
96
|
+
<path d="M 32 20 Q 32 35 45 40" stroke="#534AB7" stroke-width="2" fill="none"/>
|
|
97
|
+
<circle cx="45" cy="40" r="4" fill="#534AB7"/>
|
|
98
|
+
<!-- Status light -->
|
|
99
|
+
<circle cx="32" cy="38" r="3" fill="#97C459"/>
|
|
100
|
+
|
|
101
|
+
<!-- EV Car -->
|
|
102
|
+
<path class="ev-car" d="M 5 20 L 5 12 Q 5 5 15 5 L 45 5 Q 55 5 55 12 L 55 20 Z"/>
|
|
103
|
+
<!-- Windows -->
|
|
104
|
+
<rect x="10" y="8" width="15" height="8" rx="2" fill="#534AB7"/>
|
|
105
|
+
<!-- Wheels -->
|
|
106
|
+
<circle cx="15" cy="22" r="5" fill="#2C2C2A"/>
|
|
107
|
+
<!-- Charging bolt icon -->
|
|
108
|
+
<path d="M 28 12 L 32 8 L 30 11 L 34 11 L 30 16 L 32 13 Z" fill="#97C459"/>
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Voltage Level Line Styles
|
|
112
|
+
|
|
113
|
+
```css
|
|
114
|
+
/* High voltage (transmission) - thick, bright */
|
|
115
|
+
.hv-line { stroke: #EF9F27; stroke-width: 2.5; fill: none; }
|
|
116
|
+
|
|
117
|
+
/* Medium voltage (distribution) - medium */
|
|
118
|
+
.mv-line { stroke: #BA7517; stroke-width: 2; fill: none; }
|
|
119
|
+
|
|
120
|
+
/* Low voltage (consumer) - thin, darker */
|
|
121
|
+
.lv-line { stroke: #854F0B; stroke-width: 1.5; fill: none; }
|
|
122
|
+
|
|
123
|
+
/* Smart grid data - dashed purple */
|
|
124
|
+
.data-flow { stroke: #7F77DD; stroke-width: 1; fill: none; stroke-dasharray: 3 2; opacity: 0.7; }
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Flow Arrow Marker
|
|
128
|
+
|
|
129
|
+
```xml
|
|
130
|
+
<defs>
|
|
131
|
+
<marker id="flow-arrow" viewBox="0 0 10 10" refX="9" refY="5"
|
|
132
|
+
markerWidth="6" markerHeight="6" orient="auto">
|
|
133
|
+
<path d="M0,0 L10,5 L0,10 Z" fill="#EF9F27"/>
|
|
134
|
+
</marker>
|
|
135
|
+
</defs>
|
|
136
|
+
<!-- Usage -->
|
|
137
|
+
<line x1="140" y1="105" x2="210" y2="105" class="hv-line" marker-end="url(#flow-arrow)"/>
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## CSS Classes
|
|
141
|
+
|
|
142
|
+
```css
|
|
143
|
+
/* Generation */
|
|
144
|
+
.nuclear-tower { fill: #B4B2A9; stroke: #5F5E5A; stroke-width: 1; }
|
|
145
|
+
.nuclear-building { fill: #EEEDFE; stroke: #534AB7; stroke-width: 1; }
|
|
146
|
+
.solar-panel { fill: #3C3489; stroke: #534AB7; stroke-width: 0.5; }
|
|
147
|
+
.wind-tower { fill: #B4B2A9; stroke: #5F5E5A; stroke-width: 1; }
|
|
148
|
+
.wind-blade { fill: #F1EFE8; stroke: #888780; stroke-width: 0.5; }
|
|
149
|
+
.gas-plant { fill: #FAECE7; stroke: #993C1D; stroke-width: 1; }
|
|
150
|
+
.gas-flame { fill: #EF9F27; }
|
|
151
|
+
|
|
152
|
+
/* Transmission */
|
|
153
|
+
.pylon { fill: #5F5E5A; stroke: #444441; stroke-width: 0.5; }
|
|
154
|
+
.insulator { fill: #FAEEDA; stroke: #854F0B; stroke-width: 0.5; }
|
|
155
|
+
.substation { fill: #E6F1FB; stroke: #185FA5; stroke-width: 1; }
|
|
156
|
+
.transformer-coil { fill: none; stroke: #185FA5; stroke-width: 1.5; }
|
|
157
|
+
|
|
158
|
+
/* Distribution */
|
|
159
|
+
.pole { fill: #854F0B; stroke: #633806; stroke-width: 0.5; }
|
|
160
|
+
.dist-transformer { fill: #E1F5EE; stroke: #0F6E56; stroke-width: 1; }
|
|
161
|
+
|
|
162
|
+
/* Consumption */
|
|
163
|
+
.home { fill: #E1F5EE; stroke: #0F6E56; stroke-width: 1; }
|
|
164
|
+
.home-roof { fill: #0F6E56; stroke: #085041; stroke-width: 0.5; }
|
|
165
|
+
.factory { fill: #FAECE7; stroke: #993C1D; stroke-width: 1; }
|
|
166
|
+
.ev-charger { fill: #EEEDFE; stroke: #534AB7; stroke-width: 1; }
|
|
167
|
+
.ev-car { fill: #3C3489; stroke: #534AB7; stroke-width: 0.5; }
|
|
168
|
+
|
|
169
|
+
/* Smart grid */
|
|
170
|
+
.smart-grid { fill: #EEEDFE; stroke: #534AB7; stroke-width: 1.5; }
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Layout Notes
|
|
174
|
+
|
|
175
|
+
- **ViewBox**: 820×520 (wide for 4-column layout)
|
|
176
|
+
- **Column widths**: ~200px per stage
|
|
177
|
+
- **Stage dividers**: Vertical dashed lines at x=200, 420, 620
|
|
178
|
+
- **Stage labels**: Top of diagram, uppercase for emphasis
|
|
179
|
+
- **Flow direction**: Left-to-right with arrows showing power flow
|
|
180
|
+
- **Data overlay**: Smart grid data lines use different style (dashed purple) to distinguish from power lines
|
|
181
|
+
- **Capacity labels**: Show MW ratings on generators for context
|
|
182
|
+
- **Voltage labels**: Show transformation ratios at substations
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Feature Film Production Pipeline
|
|
2
|
+
|
|
3
|
+
A phased workflow showing the five stages of filmmaking, using containers with inner nodes and horizontal sub-flows within a phase.
|
|
4
|
+
|
|
5
|
+
## Key Patterns Used
|
|
6
|
+
|
|
7
|
+
- **Phase containers**: Large rounded rectangles with neutral background and dashed borders
|
|
8
|
+
- **Inner task nodes**: Smaller colored nodes inside containers for sub-tasks
|
|
9
|
+
- **Horizontal flow within container**: Post-production shows sequential pipeline with arrows (Editing → Color → VFX → Sound → Score)
|
|
10
|
+
- **Consistent phase spacing**: ~30px gap between phase containers
|
|
11
|
+
- **Phase labels with subtitles**: Each container has title + description
|
|
12
|
+
|
|
13
|
+
## Diagram
|
|
14
|
+
|
|
15
|
+
```xml
|
|
16
|
+
<svg width="100%" viewBox="0 0 680 780" xmlns="http://www.w3.org/2000/svg">
|
|
17
|
+
<defs>
|
|
18
|
+
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5"
|
|
19
|
+
markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
|
20
|
+
<path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke"
|
|
21
|
+
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
22
|
+
</marker>
|
|
23
|
+
</defs>
|
|
24
|
+
|
|
25
|
+
<!-- Phase 1: Development -->
|
|
26
|
+
<g>
|
|
27
|
+
<rect x="40" y="30" width="600" height="110" rx="16" stroke-width="1" stroke-dasharray="6 4" fill="var(--bg-secondary)" stroke="var(--border)"/>
|
|
28
|
+
<text class="th" x="66" y="56">Development</text>
|
|
29
|
+
<text class="ts" x="66" y="74">Concept to greenlight</text>
|
|
30
|
+
</g>
|
|
31
|
+
<g class="node c-purple">
|
|
32
|
+
<rect x="70" y="90" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
33
|
+
<text class="ts" x="150" y="108" text-anchor="middle" dominant-baseline="central">Script / screenplay</text>
|
|
34
|
+
</g>
|
|
35
|
+
<g class="node c-purple">
|
|
36
|
+
<rect x="260" y="90" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
37
|
+
<text class="ts" x="340" y="108" text-anchor="middle" dominant-baseline="central">Financing / budget</text>
|
|
38
|
+
</g>
|
|
39
|
+
<g class="node c-purple">
|
|
40
|
+
<rect x="450" y="90" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
41
|
+
<text class="ts" x="530" y="108" text-anchor="middle" dominant-baseline="central">Casting leads</text>
|
|
42
|
+
</g>
|
|
43
|
+
|
|
44
|
+
<!-- Arrow to Phase 2 -->
|
|
45
|
+
<line x1="340" y1="140" x2="340" y2="170" class="arr" marker-end="url(#arrow)"/>
|
|
46
|
+
|
|
47
|
+
<!-- Phase 2: Pre-production -->
|
|
48
|
+
<g>
|
|
49
|
+
<rect x="40" y="170" width="600" height="110" rx="16" stroke-width="1" stroke-dasharray="6 4" fill="var(--bg-secondary)" stroke="var(--border)"/>
|
|
50
|
+
<text class="th" x="66" y="196">Pre-production</text>
|
|
51
|
+
<text class="ts" x="66" y="214">Planning and preparation</text>
|
|
52
|
+
</g>
|
|
53
|
+
<g class="node c-teal">
|
|
54
|
+
<rect x="70" y="230" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
55
|
+
<text class="ts" x="150" y="248" text-anchor="middle" dominant-baseline="central">Storyboards</text>
|
|
56
|
+
</g>
|
|
57
|
+
<g class="node c-teal">
|
|
58
|
+
<rect x="260" y="230" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
59
|
+
<text class="ts" x="340" y="248" text-anchor="middle" dominant-baseline="central">Location scouting</text>
|
|
60
|
+
</g>
|
|
61
|
+
<g class="node c-teal">
|
|
62
|
+
<rect x="450" y="230" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
63
|
+
<text class="ts" x="530" y="248" text-anchor="middle" dominant-baseline="central">Crew hiring</text>
|
|
64
|
+
</g>
|
|
65
|
+
|
|
66
|
+
<!-- Arrow to Phase 3 -->
|
|
67
|
+
<line x1="340" y1="280" x2="340" y2="310" class="arr" marker-end="url(#arrow)"/>
|
|
68
|
+
|
|
69
|
+
<!-- Phase 3: Production -->
|
|
70
|
+
<g>
|
|
71
|
+
<rect x="40" y="310" width="600" height="110" rx="16" stroke-width="1" stroke-dasharray="6 4" fill="var(--bg-secondary)" stroke="var(--border)"/>
|
|
72
|
+
<text class="th" x="66" y="336">Production</text>
|
|
73
|
+
<text class="ts" x="66" y="354">Principal photography</text>
|
|
74
|
+
</g>
|
|
75
|
+
<g class="node c-coral">
|
|
76
|
+
<rect x="70" y="370" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
77
|
+
<text class="ts" x="150" y="388" text-anchor="middle" dominant-baseline="central">Filming / shooting</text>
|
|
78
|
+
</g>
|
|
79
|
+
<g class="node c-coral">
|
|
80
|
+
<rect x="260" y="370" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
81
|
+
<text class="ts" x="340" y="388" text-anchor="middle" dominant-baseline="central">Production sound</text>
|
|
82
|
+
</g>
|
|
83
|
+
<g class="node c-coral">
|
|
84
|
+
<rect x="450" y="370" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
85
|
+
<text class="ts" x="530" y="388" text-anchor="middle" dominant-baseline="central">VFX plates</text>
|
|
86
|
+
</g>
|
|
87
|
+
|
|
88
|
+
<!-- Arrow to Phase 4 -->
|
|
89
|
+
<line x1="340" y1="420" x2="340" y2="450" class="arr" marker-end="url(#arrow)"/>
|
|
90
|
+
|
|
91
|
+
<!-- Phase 4: Post-production -->
|
|
92
|
+
<g>
|
|
93
|
+
<rect x="40" y="450" width="600" height="150" rx="16" stroke-width="1" stroke-dasharray="6 4" fill="var(--bg-secondary)" stroke="var(--border)"/>
|
|
94
|
+
<text class="th" x="66" y="476">Post-production</text>
|
|
95
|
+
<text class="ts" x="66" y="494">Assembly and finishing</text>
|
|
96
|
+
</g>
|
|
97
|
+
<g class="node c-amber">
|
|
98
|
+
<rect x="70" y="510" width="110" height="36" rx="6" stroke-width="0.5"/>
|
|
99
|
+
<text class="ts" x="125" y="528" text-anchor="middle" dominant-baseline="central">Editing</text>
|
|
100
|
+
</g>
|
|
101
|
+
<g class="node c-amber">
|
|
102
|
+
<rect x="195" y="510" width="110" height="36" rx="6" stroke-width="0.5"/>
|
|
103
|
+
<text class="ts" x="250" y="528" text-anchor="middle" dominant-baseline="central">Color grade</text>
|
|
104
|
+
</g>
|
|
105
|
+
<g class="node c-amber">
|
|
106
|
+
<rect x="320" y="510" width="90" height="36" rx="6" stroke-width="0.5"/>
|
|
107
|
+
<text class="ts" x="365" y="528" text-anchor="middle" dominant-baseline="central">VFX</text>
|
|
108
|
+
</g>
|
|
109
|
+
<g class="node c-amber">
|
|
110
|
+
<rect x="425" y="510" width="100" height="36" rx="6" stroke-width="0.5"/>
|
|
111
|
+
<text class="ts" x="475" y="528" text-anchor="middle" dominant-baseline="central">Sound mix</text>
|
|
112
|
+
</g>
|
|
113
|
+
<g class="node c-amber">
|
|
114
|
+
<rect x="540" y="510" width="80" height="36" rx="6" stroke-width="0.5"/>
|
|
115
|
+
<text class="ts" x="580" y="528" text-anchor="middle" dominant-baseline="central">Score</text>
|
|
116
|
+
</g>
|
|
117
|
+
<!-- Flow arrows within post -->
|
|
118
|
+
<line x1="180" y1="528" x2="195" y2="528" class="arr" marker-end="url(#arrow)"/>
|
|
119
|
+
<line x1="305" y1="528" x2="320" y2="528" class="arr" marker-end="url(#arrow)"/>
|
|
120
|
+
<line x1="410" y1="528" x2="425" y2="528" class="arr" marker-end="url(#arrow)"/>
|
|
121
|
+
<line x1="525" y1="528" x2="540" y2="528" class="arr" marker-end="url(#arrow)"/>
|
|
122
|
+
<!-- Final delivery label -->
|
|
123
|
+
<g class="node c-amber">
|
|
124
|
+
<rect x="240" y="556" width="200" height="32" rx="6" stroke-width="0.5"/>
|
|
125
|
+
<text class="ts" x="340" y="572" text-anchor="middle" dominant-baseline="central">Final master / DCP</text>
|
|
126
|
+
</g>
|
|
127
|
+
<line x1="340" y1="546" x2="340" y2="556" class="arr" marker-end="url(#arrow)"/>
|
|
128
|
+
|
|
129
|
+
<!-- Arrow to Phase 5 -->
|
|
130
|
+
<line x1="340" y1="600" x2="340" y2="630" class="arr" marker-end="url(#arrow)"/>
|
|
131
|
+
|
|
132
|
+
<!-- Phase 5: Distribution -->
|
|
133
|
+
<g>
|
|
134
|
+
<rect x="40" y="630" width="600" height="110" rx="16" stroke-width="1" stroke-dasharray="6 4" fill="var(--bg-secondary)" stroke="var(--border)"/>
|
|
135
|
+
<text class="th" x="66" y="656">Distribution</text>
|
|
136
|
+
<text class="ts" x="66" y="674">Release and exhibition</text>
|
|
137
|
+
</g>
|
|
138
|
+
<g class="node c-blue">
|
|
139
|
+
<rect x="70" y="690" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
140
|
+
<text class="ts" x="150" y="708" text-anchor="middle" dominant-baseline="central">Film festivals</text>
|
|
141
|
+
</g>
|
|
142
|
+
<g class="node c-blue">
|
|
143
|
+
<rect x="260" y="690" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
144
|
+
<text class="ts" x="340" y="708" text-anchor="middle" dominant-baseline="central">Theatrical release</text>
|
|
145
|
+
</g>
|
|
146
|
+
<g class="node c-blue">
|
|
147
|
+
<rect x="450" y="690" width="160" height="36" rx="6" stroke-width="0.5"/>
|
|
148
|
+
<text class="ts" x="530" y="708" text-anchor="middle" dominant-baseline="central">Streaming / VOD</text>
|
|
149
|
+
</g>
|
|
150
|
+
</svg>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
## Color Assignments
|
|
154
|
+
|
|
155
|
+
| Element | Color | Reason |
|
|
156
|
+
|---------|-------|--------|
|
|
157
|
+
| Phase containers | Neutral (dashed) | Subtle grouping, doesn't compete with content |
|
|
158
|
+
| Development tasks | `c-purple` | Creative/concept work |
|
|
159
|
+
| Pre-production tasks | `c-teal` | Planning and preparation |
|
|
160
|
+
| Production tasks | `c-coral` | Active filming (main event) |
|
|
161
|
+
| Post-production tasks | `c-amber` | Processing/refinement |
|
|
162
|
+
| Distribution tasks | `c-blue` | Outward delivery/release |
|
|
163
|
+
|
|
164
|
+
## Layout Notes
|
|
165
|
+
|
|
166
|
+
- **ViewBox**: 680×780 (standard width, tall for 5 phases)
|
|
167
|
+
- **Container style**: Dashed border (`stroke-dasharray="6 4"`), neutral fill (`var(--bg-secondary)`), `stroke-width="1"`
|
|
168
|
+
- **Container height**: 110px for 3-node phases, 150px for post-production (more complex)
|
|
169
|
+
- **Inner node dimensions**: 160×36px for standard tasks, variable width for post-production sequential flow
|
|
170
|
+
- **Phase gap**: 30px between containers
|
|
171
|
+
- **Horizontal sub-flow**: Post-production uses tightly packed nodes with arrows between them to show sequence
|
|
172
|
+
- **Convergence node**: "Final master / DCP" sits below the horizontal flow, collecting all post outputs
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# Hospital Emergency Department Flow
|
|
2
|
+
|
|
3
|
+
A multi-path flowchart showing patient journey through an emergency department with priority-based routing using semantic colors (red=critical, amber=urgent, green=stable).
|
|
4
|
+
|
|
5
|
+
## Key Patterns Used
|
|
6
|
+
|
|
7
|
+
- **Semantic color coding**: Red/amber/green for priority levels (not arbitrary decoration)
|
|
8
|
+
- **Stage labels**: Left-aligned faded labels marking workflow phases
|
|
9
|
+
- **Convergent paths**: Multiple entry points merging, then branching, then converging again
|
|
10
|
+
- **Nested containers**: Diagnostics grouped in a container with inner nodes
|
|
11
|
+
- **Legend**: Color key at bottom explaining priority levels
|
|
12
|
+
|
|
13
|
+
## Diagram
|
|
14
|
+
|
|
15
|
+
```xml
|
|
16
|
+
<svg width="100%" viewBox="0 0 680 620" xmlns="http://www.w3.org/2000/svg">
|
|
17
|
+
<defs>
|
|
18
|
+
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5"
|
|
19
|
+
markerWidth="6" markerHeight="6" orient="auto-start-reverse">
|
|
20
|
+
<path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke"
|
|
21
|
+
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
|
22
|
+
</marker>
|
|
23
|
+
</defs>
|
|
24
|
+
|
|
25
|
+
<!-- Stage labels -->
|
|
26
|
+
<text class="ts" x="40" y="68" text-anchor="start" opacity=".5">Arrival</text>
|
|
27
|
+
<text class="ts" x="40" y="168" text-anchor="start" opacity=".5">Assessment</text>
|
|
28
|
+
<text class="ts" x="40" y="288" text-anchor="start" opacity=".5">Priority routing</text>
|
|
29
|
+
<text class="ts" x="40" y="418" text-anchor="start" opacity=".5">Diagnostics</text>
|
|
30
|
+
<text class="ts" x="40" y="518" text-anchor="start" opacity=".5">Outcome</text>
|
|
31
|
+
|
|
32
|
+
<!-- Arrival: Ambulance -->
|
|
33
|
+
<g class="node c-gray">
|
|
34
|
+
<rect x="140" y="40" width="160" height="56" rx="8" stroke-width="0.5"/>
|
|
35
|
+
<text class="th" x="220" y="60" text-anchor="middle" dominant-baseline="central">Ambulance</text>
|
|
36
|
+
<text class="ts" x="220" y="80" text-anchor="middle" dominant-baseline="central">Emergency transport</text>
|
|
37
|
+
</g>
|
|
38
|
+
|
|
39
|
+
<!-- Arrival: Walk-in -->
|
|
40
|
+
<g class="node c-gray">
|
|
41
|
+
<rect x="380" y="40" width="160" height="56" rx="8" stroke-width="0.5"/>
|
|
42
|
+
<text class="th" x="460" y="60" text-anchor="middle" dominant-baseline="central">Walk-in</text>
|
|
43
|
+
<text class="ts" x="460" y="80" text-anchor="middle" dominant-baseline="central">Self-arrival</text>
|
|
44
|
+
</g>
|
|
45
|
+
|
|
46
|
+
<!-- Arrows to Triage -->
|
|
47
|
+
<line x1="220" y1="96" x2="300" y2="140" class="arr" marker-end="url(#arrow)"/>
|
|
48
|
+
<line x1="460" y1="96" x2="380" y2="140" class="arr" marker-end="url(#arrow)"/>
|
|
49
|
+
|
|
50
|
+
<!-- Triage -->
|
|
51
|
+
<g class="node c-purple">
|
|
52
|
+
<rect x="240" y="140" width="200" height="56" rx="8" stroke-width="0.5"/>
|
|
53
|
+
<text class="th" x="340" y="160" text-anchor="middle" dominant-baseline="central">Triage</text>
|
|
54
|
+
<text class="ts" x="340" y="180" text-anchor="middle" dominant-baseline="central">Nurse assessment, vitals</text>
|
|
55
|
+
</g>
|
|
56
|
+
|
|
57
|
+
<!-- Arrows from Triage to Priority -->
|
|
58
|
+
<line x1="280" y1="196" x2="140" y2="260" class="arr" marker-end="url(#arrow)"/>
|
|
59
|
+
<line x1="340" y1="196" x2="340" y2="260" class="arr" marker-end="url(#arrow)"/>
|
|
60
|
+
<line x1="400" y1="196" x2="540" y2="260" class="arr" marker-end="url(#arrow)"/>
|
|
61
|
+
|
|
62
|
+
<!-- Priority: Red - Trauma -->
|
|
63
|
+
<g class="node c-red">
|
|
64
|
+
<rect x="60" y="260" width="160" height="56" rx="8" stroke-width="0.5"/>
|
|
65
|
+
<text class="th" x="140" y="280" text-anchor="middle" dominant-baseline="central">Trauma bay</text>
|
|
66
|
+
<text class="ts" x="140" y="300" text-anchor="middle" dominant-baseline="central">Priority: critical</text>
|
|
67
|
+
</g>
|
|
68
|
+
|
|
69
|
+
<!-- Priority: Yellow - Exam rooms -->
|
|
70
|
+
<g class="node c-amber">
|
|
71
|
+
<rect x="260" y="260" width="160" height="56" rx="8" stroke-width="0.5"/>
|
|
72
|
+
<text class="th" x="340" y="280" text-anchor="middle" dominant-baseline="central">Exam rooms</text>
|
|
73
|
+
<text class="ts" x="340" y="300" text-anchor="middle" dominant-baseline="central">Priority: urgent</text>
|
|
74
|
+
</g>
|
|
75
|
+
|
|
76
|
+
<!-- Priority: Green - Waiting -->
|
|
77
|
+
<g class="node c-green">
|
|
78
|
+
<rect x="460" y="260" width="160" height="56" rx="8" stroke-width="0.5"/>
|
|
79
|
+
<text class="th" x="540" y="280" text-anchor="middle" dominant-baseline="central">Waiting area</text>
|
|
80
|
+
<text class="ts" x="540" y="300" text-anchor="middle" dominant-baseline="central">Priority: stable</text>
|
|
81
|
+
</g>
|
|
82
|
+
|
|
83
|
+
<!-- Arrows to Diagnostics -->
|
|
84
|
+
<line x1="140" y1="316" x2="220" y2="390" class="arr" marker-end="url(#arrow)"/>
|
|
85
|
+
<line x1="340" y1="316" x2="340" y2="390" class="arr" marker-end="url(#arrow)"/>
|
|
86
|
+
<line x1="540" y1="316" x2="460" y2="390" class="arr" marker-end="url(#arrow)"/>
|
|
87
|
+
|
|
88
|
+
<!-- Diagnostics container -->
|
|
89
|
+
<g class="c-teal">
|
|
90
|
+
<rect x="140" y="390" width="400" height="56" rx="12" stroke-width="0.5"/>
|
|
91
|
+
</g>
|
|
92
|
+
|
|
93
|
+
<!-- Labs -->
|
|
94
|
+
<g class="node c-teal">
|
|
95
|
+
<rect x="160" y="400" width="110" height="36" rx="6" stroke-width="0.5"/>
|
|
96
|
+
<text class="ts" x="215" y="418" text-anchor="middle" dominant-baseline="central">Labs</text>
|
|
97
|
+
</g>
|
|
98
|
+
|
|
99
|
+
<!-- Imaging -->
|
|
100
|
+
<g class="node c-teal">
|
|
101
|
+
<rect x="285" y="400" width="110" height="36" rx="6" stroke-width="0.5"/>
|
|
102
|
+
<text class="ts" x="340" y="418" text-anchor="middle" dominant-baseline="central">Imaging</text>
|
|
103
|
+
</g>
|
|
104
|
+
|
|
105
|
+
<!-- Diagnosis -->
|
|
106
|
+
<g class="node c-teal">
|
|
107
|
+
<rect x="410" y="400" width="110" height="36" rx="6" stroke-width="0.5"/>
|
|
108
|
+
<text class="ts" x="465" y="418" text-anchor="middle" dominant-baseline="central">Diagnosis</text>
|
|
109
|
+
</g>
|
|
110
|
+
|
|
111
|
+
<!-- Arrows to Outcomes -->
|
|
112
|
+
<line x1="215" y1="446" x2="160" y2="490" class="arr" marker-end="url(#arrow)"/>
|
|
113
|
+
<line x1="340" y1="446" x2="340" y2="490" class="arr" marker-end="url(#arrow)"/>
|
|
114
|
+
<line x1="465" y1="446" x2="520" y2="490" class="arr" marker-end="url(#arrow)"/>
|
|
115
|
+
|
|
116
|
+
<!-- Outcome: Admission -->
|
|
117
|
+
<g class="node c-coral">
|
|
118
|
+
<rect x="80" y="490" width="160" height="56" rx="8" stroke-width="0.5"/>
|
|
119
|
+
<text class="th" x="160" y="510" text-anchor="middle" dominant-baseline="central">Admission</text>
|
|
120
|
+
<text class="ts" x="160" y="530" text-anchor="middle" dominant-baseline="central">Inpatient ward</text>
|
|
121
|
+
</g>
|
|
122
|
+
|
|
123
|
+
<!-- Outcome: Surgery -->
|
|
124
|
+
<g class="node c-coral">
|
|
125
|
+
<rect x="260" y="490" width="160" height="56" rx="8" stroke-width="0.5"/>
|
|
126
|
+
<text class="th" x="340" y="510" text-anchor="middle" dominant-baseline="central">Surgery</text>
|
|
127
|
+
<text class="ts" x="340" y="530" text-anchor="middle" dominant-baseline="central">Operating room</text>
|
|
128
|
+
</g>
|
|
129
|
+
|
|
130
|
+
<!-- Outcome: Discharge -->
|
|
131
|
+
<g class="node c-coral">
|
|
132
|
+
<rect x="440" y="490" width="160" height="56" rx="8" stroke-width="0.5"/>
|
|
133
|
+
<text class="th" x="520" y="510" text-anchor="middle" dominant-baseline="central">Discharge</text>
|
|
134
|
+
<text class="ts" x="520" y="530" text-anchor="middle" dominant-baseline="central">Home with instructions</text>
|
|
135
|
+
</g>
|
|
136
|
+
|
|
137
|
+
<!-- Legend -->
|
|
138
|
+
<text class="ts" x="140" y="580" opacity=".5">Priority levels</text>
|
|
139
|
+
<g class="c-red"><rect x="140" y="592" width="14" height="14" rx="3" stroke-width="0.5"/></g>
|
|
140
|
+
<text class="ts" x="162" y="604">Critical</text>
|
|
141
|
+
<g class="c-amber"><rect x="240" y="592" width="14" height="14" rx="3" stroke-width="0.5"/></g>
|
|
142
|
+
<text class="ts" x="262" y="604">Urgent</text>
|
|
143
|
+
<g class="c-green"><rect x="340" y="592" width="14" height="14" rx="3" stroke-width="0.5"/></g>
|
|
144
|
+
<text class="ts" x="362" y="604">Stable</text>
|
|
145
|
+
</svg>
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Color Assignments
|
|
149
|
+
|
|
150
|
+
| Element | Color | Reason |
|
|
151
|
+
|---------|-------|--------|
|
|
152
|
+
| Entry points (Ambulance, Walk-in) | `c-gray` | Neutral starting points |
|
|
153
|
+
| Triage | `c-purple` | Processing/assessment step |
|
|
154
|
+
| Trauma bay | `c-red` | Critical priority (semantic) |
|
|
155
|
+
| Exam rooms | `c-amber` | Urgent priority (semantic) |
|
|
156
|
+
| Waiting area | `c-green` | Stable priority (semantic) |
|
|
157
|
+
| Diagnostics | `c-teal` | Clinical services category |
|
|
158
|
+
| Outcomes | `c-coral` | Final disposition category |
|
|
159
|
+
|
|
160
|
+
## Layout Notes
|
|
161
|
+
|
|
162
|
+
- **ViewBox**: 680×620 (standard width, extended height for 5 stages)
|
|
163
|
+
- **Stage spacing**: ~110-130px between stage rows
|
|
164
|
+
- **Diagonal arrows**: Connect nodes across columns naturally
|
|
165
|
+
- **Container with inner nodes**: Diagnostics uses outer `c-teal` rect with inner node rects
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# ML Benchmark Grouped Bar Chart with Dual Axis
|
|
2
|
+
|
|
3
|
+
A quantitative data visualization comparing LLM inference speed across quantization levels with dual Y-axes, threshold markers, and an inset accuracy table.
|
|
4
|
+
|
|
5
|
+
## Key Patterns Used
|
|
6
|
+
|
|
7
|
+
- **Grouped bars**: Min/max range pairs per category using semantic color pairs (lighter=min, darker=max)
|
|
8
|
+
- **Dual Y-axis**: Left axis for primary metric (tok/s), right axis for secondary metric (VRAM GB)
|
|
9
|
+
- **Overlay line graph**: `<polyline>` with labeled dots showing VRAM usage across categories
|
|
10
|
+
- **Threshold marker**: Dashed red horizontal line indicating hardware limit (24 GB GPU)
|
|
11
|
+
- **Zone annotations**: Subtle text labels above/below threshold for context
|
|
12
|
+
- **Inset data table**: Alternating row fills below chart with quantitative accuracy data
|
|
13
|
+
- **Semantic color coding**: Each quantization level gets its own color from the skill palette (red=OOM, amber=slow, teal=sweet spot, blue=fast)
|
|
14
|
+
|
|
15
|
+
## Diagram Type
|
|
16
|
+
|
|
17
|
+
This is a **quantitative data chart** with:
|
|
18
|
+
- **Grouped vertical bars**: Range bars showing min–max performance per category
|
|
19
|
+
- **Secondary axis line**: VRAM usage overlaid as a connected scatter plot
|
|
20
|
+
- **Threshold annotation**: Hardware constraint line
|
|
21
|
+
- **Inset table**: Supporting accuracy metrics
|
|
22
|
+
|
|
23
|
+
## Chart Layout Formula
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Chart area: x=90–590, y=70–410 (500px wide, 340px tall)
|
|
27
|
+
Left Y-axis: Primary metric (tok/s)
|
|
28
|
+
y = 410 − (val / max_val) × 340
|
|
29
|
+
Right Y-axis: Secondary metric (VRAM GB)
|
|
30
|
+
Same formula, different scale labels
|
|
31
|
+
Groups: Divide width by number of categories
|
|
32
|
+
Bars: Each group → min bar (34px) + 8px gap + max bar (34px)
|
|
33
|
+
Line overlay: <polyline> connecting data points across group centers
|
|
34
|
+
Threshold: Horizontal dashed line at critical value
|
|
35
|
+
Table: Below chart, alternating row fills
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Data Mapped
|
|
39
|
+
|
|
40
|
+
| Quantization | Model Size | Speed (tok/s) | VRAM (GB) | MMLU Pro | Status |
|
|
41
|
+
|-------------|-----------|---------------|-----------|----------|--------|
|
|
42
|
+
| FP16 | 62 GB | 0.5–2 | 62 | 75.2 | OOM / unusable |
|
|
43
|
+
| Q8_0 | 32 GB | 3–5 | 32 | 75.0 | Partial offload |
|
|
44
|
+
| Q4_K_M | 16.8 GB | 8–12 | 16.8 | 73.1 | Fits in VRAM ✓ |
|
|
45
|
+
| IQ3_M | 12 GB | 12–15 | 12 | 70.5 | Full GPU speed |
|
|
46
|
+
|
|
47
|
+
## Bar CSS Classes
|
|
48
|
+
|
|
49
|
+
```css
|
|
50
|
+
/* Light mode */
|
|
51
|
+
.bar-fp16-min { fill: #FCEBEB; stroke: #A32D2D; stroke-width: 0.75; }
|
|
52
|
+
.bar-fp16-max { fill: #F7C1C1; stroke: #A32D2D; stroke-width: 0.75; }
|
|
53
|
+
.bar-q8-min { fill: #FAEEDA; stroke: #854F0B; stroke-width: 0.75; }
|
|
54
|
+
.bar-q8-max { fill: #FAC775; stroke: #854F0B; stroke-width: 0.75; }
|
|
55
|
+
.bar-q4-min { fill: #E1F5EE; stroke: #0F6E56; stroke-width: 0.75; }
|
|
56
|
+
.bar-q4-max { fill: #9FE1CB; stroke: #0F6E56; stroke-width: 0.75; }
|
|
57
|
+
.bar-iq3-min { fill: #E6F1FB; stroke: #185FA5; stroke-width: 0.75; }
|
|
58
|
+
.bar-iq3-max { fill: #B5D4F4; stroke: #185FA5; stroke-width: 0.75; }
|
|
59
|
+
|
|
60
|
+
/* Dark mode */
|
|
61
|
+
@media (prefers-color-scheme: dark) {
|
|
62
|
+
.bar-fp16-min { fill: #501313; stroke: #F09595; }
|
|
63
|
+
.bar-fp16-max { fill: #791F1F; stroke: #F09595; }
|
|
64
|
+
.bar-q8-min { fill: #412402; stroke: #EF9F27; }
|
|
65
|
+
.bar-q8-max { fill: #633806; stroke: #EF9F27; }
|
|
66
|
+
.bar-q4-min { fill: #04342C; stroke: #5DCAA5; }
|
|
67
|
+
.bar-q4-max { fill: #085041; stroke: #5DCAA5; }
|
|
68
|
+
.bar-iq3-min { fill: #042C53; stroke: #85B7EB; }
|
|
69
|
+
.bar-iq3-max { fill: #0C447C; stroke: #85B7EB; }
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Overlay Line CSS
|
|
74
|
+
|
|
75
|
+
```css
|
|
76
|
+
.vram-line { stroke: #534AB7; stroke-width: 2.5; fill: none; }
|
|
77
|
+
.vram-dot { fill: #534AB7; stroke: var(--bg-primary); stroke-width: 2; }
|
|
78
|
+
.vram-label { font-family: system-ui, sans-serif; font-size: 10px; fill: #534AB7; font-weight: 500; }
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Threshold CSS
|
|
82
|
+
|
|
83
|
+
```css
|
|
84
|
+
.threshold { stroke: #A32D2D; stroke-width: 1; stroke-dasharray: 6 3; fill: none; }
|
|
85
|
+
.threshold-label { font-family: system-ui, sans-serif; font-size: 10px; fill: #A32D2D; font-weight: 500; }
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## Table CSS
|
|
89
|
+
|
|
90
|
+
```css
|
|
91
|
+
.tbl-header { fill: var(--bg-secondary); stroke: var(--border); stroke-width: 0.5; }
|
|
92
|
+
.tbl-row { fill: transparent; stroke: var(--border); stroke-width: 0.25; }
|
|
93
|
+
.tbl-alt { fill: var(--bg-secondary); stroke: var(--border); stroke-width: 0.25; }
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Layout Notes
|
|
97
|
+
|
|
98
|
+
- **ViewBox**: 680×660 (portrait, chart + legend + table)
|
|
99
|
+
- **Chart area**: y=70–410, x=90–590
|
|
100
|
+
- **Legend row**: y=458–470
|
|
101
|
+
- **Inset table**: y=490–620
|
|
102
|
+
- **Bar width**: 34px each, 8px gap between min/max pair
|
|
103
|
+
- **Group spacing**: 125px center-to-center
|
|
104
|
+
- **Dot halo**: White circle (r=6) behind colored dot (r=5) for legibility over bars/grid
|
|
105
|
+
|
|
106
|
+
## When to Use This Pattern
|
|
107
|
+
|
|
108
|
+
Use this diagram style for:
|
|
109
|
+
- Model benchmark comparisons across quantization levels
|
|
110
|
+
- Performance vs. resource usage tradeoff analysis
|
|
111
|
+
- Any multi-metric comparison with a hardware/software constraint
|
|
112
|
+
- GPU/TPU/accelerator benchmarking dashboards
|
|
113
|
+
- Accuracy vs. speed Pareto frontiers
|
|
114
|
+
- Hardware requirement sizing charts
|