brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
audit-icon-pipelineDetect missing glyphs, icons, and HD variants by comparing registries against glyph mapping files, icon directories, and manifests. Reports gaps for skills, agents, and teams across all palettes.
Independent GitHub snapshot · Automated classification · Original documentation governs
以註冊表校之於字形映射文件、圖標目錄、清單,察缺字形、缺圖標、陳舊清單。生結構化之缺口報告,覆 skills、agents、teams。
skill、agent、team 或 all(預設:all)cyberpunk——參考調色板)自真源之註冊表採諸實體之識別符。
skills/_registry.yml——取所有域中之 skill IDagents/_registry.yml——取所有 agent IDteams/_registry.yml——取所有 team ID預期: 三實體識別符之列,其數合於 total_skills、total_agents、total_teams。
失敗時: 某註冊表文件缺失時,報其路徑而略此實體類型。
自字形映射文件採所有已映射之實體識別符。
viz/R/glyphs.R——取 SKILL_GLYPHS 列中所有鍵viz/R/agent_glyphs.R——取 AGENT_GLYPHS 列中所有鍵viz/R/team_glyphs.R——取 TEAM_GLYPHS 列中所有鍵預期: 三已映射識別符之列。
失敗時: 某字形文件缺失時,報之並將該類實體全標為未映射。
以註冊表之識別符減已映射之識別符。
registry_skill_ids - mapped_skill_idsregistry_agent_ids - mapped_agent_idsregistry_team_ids - mapped_team_ids預期: 存於註冊表而無字形函數映射之實體識別符之列。
失敗時: 減之算失敗時,驗註冊表與字形文件間之識別符格式是否合(如下劃線 vs 連字號)。
驗已映射字形有對應之已渲圖標文件。
viz/public/icons/<palette>/<domain>/<skillId>.webpviz/public/icons/<palette>/agents/<agentId>.webpviz/public/icons/<palette>/teams/<teamId>.webpviz/public/icons-hd/ 中之 HD 變體預期: 有字形而無已渲圖標之實體列(標準 / HD)。
失敗時: 若圖標目錄不存,則管線未曾運行——報全為缺。
以清單之數比註冊表之數。
viz/public/data/icon-manifest.json——計條目viz/public/data/agent-icon-manifest.json——計條目viz/public/data/team-icon-manifest.json——計條目預期: 清單之數合於註冊表之數。有差則示清單陳舊。
失敗時: 清單文件不存時,先須運行數據管線(node build-data.js && node build-icon-manifest.js)。
走 viz/public/icons*/,標 WebP 文件之 <palette>/<domain>/<skillId> 三元組不在 icon-manifest.json 者。
find viz/public/icons* -name "*.webp"<domain>/<id><domain>/<id> 於 icon-manifest.json 有無條目# Quick orphan count per palette
node -e "
const fs = require('fs');
const manifest = JSON.parse(fs.readFileSync('viz/public/data/icon-manifest.json'));
const ids = new Set(manifest.map(e => e.domain + '/' + e.id));
const orphans = require('child_process')
.execSync('find viz/public/icons -name \"*.webp\"').toString().trim().split('\n')
.filter(p => { const parts = p.split('/'); const id = parts.slice(-2).join('/').replace('.webp',''); return !ids.has(id); });
console.log('Orphans:', orphans.length);
orphans.forEach(p => console.log(' ', p));
"
預期: 孤兒為零。有孤兒示 skills 已遷至他域而未清(每遷 18 孤兒 = 9 調色板 × 2 尺寸)。
失敗時: 手刪孤兒——無清單條目,不再被提供。遷域事罕,手清可受。
生結構化之總。
=== Icon Pipeline Audit ===
MISSING GLYPHS (no glyph function):
Skills: 5 missing — [list]
Agents: 2 missing — [list]
Teams: 0 missing
MISSING ICONS (glyph exists, no rendered WebP):
Standard (512px): 3 skills, 1 agent
HD (1024px): 8 skills, 3 agents, 1 team
STALE MANIFESTS:
icon-manifest.json: 320 entries vs 326 registry (stale)
agent-icon-manifest.json: 66 entries vs 66 registry (OK)
team-icon-manifest.json: 15 entries vs 15 registry (OK)
預期: 完整之缺口報告,附可行之下一步。
失敗時: 若諸查皆過而無缺口,報「管線已完全一致」為正果。
create-skill),字形映射或用下劃線鍵——比較時須標準化icons-hd/)——勿與標準混build.sh 於新路徑創圖標而不刪舊路徑——遷域後務行步六孤兒之查