前端設計

industrial-brutalist-ui

在瑞士工業印刷與戰術遙測兩種原型中擇一,以直角網格、極端字級對比、單一基底與機械紋理打造高密度而一致的資料介面。

查看來源 ↗
作者/來源Leonxlnx★ 85,781 GitHub Stars
測試版本ccbc15639c97更新日期:2026-08-24T15:23:56Z
支援平台OpenAI · Claude本次實測平台
安裝方式npx skills add leonxlnx/taste-skill --skill industrial-brutalist-ui
公平比較方式

三個問題,分別測載入前與載入後。

每次回答都在全新環境中產生。兩邊使用相同模型與設定,唯一差別是右側載入了這個 Skill。

模型版本gpt-5.6-sol帳號方案ChatGPT Plus思考強度medium執行工具codex-cli-native-skill
真實測試使用本機已登入的 ChatGPT Plus 實際執行,完成於 2026年9月2日。所有檢查通過後才公開,回答未經人工改寫。
三階段測試3 個問題全部完成版本核對3/3 通過環境清理9/9 通過測試隔離每回合全新環境
01
基礎題

選擇單一視覺原型

測試問題

為港口貨櫃吊機維護儀表板選擇一個視覺原型。白天戶外使用、資料密度高、警報必須醒目;不得混用明暗模式。請給選擇理由、色彩、字體、網格、邊框與狀態規則。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill1447 tokens · 31487 ms
## 視覺原型:高對比「工業粗獷」全亮色介面 選擇全亮色、硬邊框、低裝飾的工業粗獷風格。它在白天戶外比深色介面更易辨讀,也能承載高密度資料;以固定位置、色彩、圖示與文字共同標示警報,避免只靠顏色判斷。所有頁面、彈窗與圖表均維持亮色模式,不混入深色面板。 ### 選擇理由 - 高環境光下,白底與近黑文字可維持清晰對比。 - 方正區塊、粗邊框和緊湊表格適合快速掃描大量設備資料。 - 中性底色保留視覺安靜度,使紅色警報立即突出。 - 少用陰影、漸層與裝飾,降低眩光和資訊干擾。 - 適合戴手套操作:主要控制項至少 `48 × 48 px`,互動狀態明確。 ### 色彩 | 用途 | 色彩 | |---|---| | 主背景 | `#F2F1EC` | | 卡片/表格背景 | `#FFFFFF` | | 次級區域 | `#E3E2DC` | | 主文字 | `#111111` | | 次級文字 | `#4B4B46` | | 邊框/分隔線 | `#171717` | | 品牌/選取狀態 | `#005FCC` | | 正常 | `#137A3A` | | 注意 | `#9A6500` | | 警告 | `#D94B00` | | 嚴重警報 | `#C40018` | | 離線/未知 | `#626262` | 嚴重警報採紅底白字;一般狀態僅使用淺色底、深色文字。圖表最多同時使用五個狀態色,並搭配線型、符號或紋理區分。 ### 字體 - 介面與中文:`Noto Sans TC` - 數值、代碼與時間:`IBM Plex Mono` - 主文字:`16 px / 1.4`,字重 `500` - 表格:`14 px / 1.3`,字重 `500` - 關鍵數值:`24–32 px`,字重 `700` - 警報標題:`18 px`,字重 `800` - 英文標籤可用大寫,但中文不增加字距。 - 數值採等寬字與 tabular figures,單位固定置於數值右側。 ### 網格 - 基礎間距:`4 px`;主要間距使用 `8 / 12 / 16 / 24 px` - 桌面配置:12 欄,欄距 `16 px`,頁面邊距 `24 px` - 固定頂列:`64 px`,顯示港區、班次、連線狀態與全域警報數 - 左側設備導覽:`240 px` - 主區域優先呈現:設備總覽、即時警報、關鍵負載與維護期限 - 表格列高:一般 `40 px`;觸控操作列 `48 px` - 數值右對齊、文字左對齊、狀態欄固定寬度 - 警報欄固定於畫面右側或表格最前方,不因水平捲動消失 ### 邊框 - 一般容器:`1 px solid #171717` - 重要卡片與選取項:`2 px solid #171717` - 嚴重警報:`3 px solid #C40018` - 圓角:`0–2 px` - 不使用模糊陰影;需要層級時,以邊框粗細與背景色區分 - 鍵盤焦點:`3 px solid #005FCC`,外加 `2 px` 白色間隔 - 表格分隔線:`1 px solid #B7B6AF`,每五列加入較粗分組線 ### 狀態規則 | 狀態 | 呈現規則 | |---|---| | 正常 | 綠色方形圖示+「正常」文字;不得鋪滿整張卡片 | | 注意 | 黃褐色底標籤+三角圖示;需安排檢查但不中斷作業 | | 警告 | 橘色左側粗條+警告圖示+原因文字;置頂排序 | | 嚴重 | 紅底白字、`3 px` 紅框、警報圖示;固定於頂部並要求確認 | | 已確認 | 保留原嚴重度顏色,增加「已確認/人員/時間」,不可變灰假裝解除 | | 維修中 | 藍色工具圖示+預計完成時間;設備控制需顯示受限原因 | | 離線 | 灰色斜紋+「最後收到資料時間」;不得顯示為零值 | | 未知 | 灰框問號+「資料未知」;與離線明確區分 | | 已解除 | 移入歷史區,記錄解除時間與觸發持續時間 | 嚴重度排序固定為「嚴重 → 警告 → 注意 → 正常」。任何警報至少同時具備顏色、圖示、文字三種線索;紅色只用於真正需要立即處置的事件。閃爍僅限新發生且未確認的嚴重警報,最多持續 10 秒,之後改為靜態高對比顯示。
已載入 Skill +2186 tokens · 47645 ms
## 視覺原型:Swiss Industrial Print/高對比明亮模式 選擇類似工業設備手冊與港機藍圖的「瑞士工業印刷」原型。它比 CRT 深色介面更適合白天戶外:霧面淺底能降低反光,高對比文字在強光下更清楚;剛性分區也能承載大量遙測、工單與警報。全系統只使用明亮模式,不配置深色面板或暗色主題。 ### 色彩 - 主背景:`#F4F4F0`,霧面紙白,覆蓋整個介面。 - 主文字:`#0B0B0B`,用於數值、標題及主要邊框。 - 次要文字:`#4B4B47`,僅用於時間、單位與補充資訊。 - 弱分隔:`#B8B8B0`。 - 唯一強調色:`#D91616` 航空警示紅,只用於異常、危險與緊急操作。 - 禁止漸層、陰影、透明玻璃效果、綠色「正常」燈及琥珀色警告。一般互動選取以黑底紙白字表示,避免消耗警報紅的辨識力。 ### 字體 - 區域標題:`Inter Black`/`Noto Sans TC Black`,全大寫或粗體,字距 `-0.03em`。 - 中文標籤:`Noto Sans TC`,600–800 字重。 - 數值與設備代碼:`IBM Plex Mono`;中文回退 `Noto Sans Mono CJK TC`。 - 數字啟用等寬數字 `font-variant-numeric: tabular-nums`。 - 主要遙測值 24–32px;表格數據 13–14px;標籤不得低於 12px。 - 單位固定置於數值右側,不以字級或位置變化表達不同狀態。 ### 網格 - 桌面採 16 欄剛性網格,欄距以 1px 分隔線形成,不使用漂浮卡片。 - 8px 基準節奏;區塊內距 16px,密集表格儲存格為 8px × 12px。 - 固定頂列 72px:港區、班次、系統時間、連線狀態及未處理警報總數。 - 左側 240px:吊機清單與作業區;中央 10–11 欄:即時遙測及趨勢;右側 3–4 欄:警報與維護工作。 - 關鍵欄位順序固定:吊機編號 → 作業狀態 → 吊重 → 風速 → 馬達溫度 → 振動 → 警報。 - 觸控目標至少 44 × 44px;資訊不可因窄螢幕而任意重排,低優先欄位改由明確的「更多資料」區展開。 ### 邊框與造型 - 所有角落均為 90°,`border-radius: 0`。 - 表格及一般區塊:1px `#0B0B0B`。 - 主要作業區與選中吊機:2px `#0B0B0B`。 - 嚴重警報:4px `#D91616` 左邊框或頂邊警示帶。 - 區塊標題直接嵌入邊框,例如 `[ QC-07 / HOIST ]`。 - 可在網格交點使用小型十字記號,但不在遙測文字上疊加噪點、半色調或掃描線,以免降低戶外可讀性。 ### 狀態規則 任何狀態都必須同時使用「文字標籤+符號/紋理+邊框」,不得只依靠顏色。 | 狀態 | 表現規則 | |---|---| | 正常 | 紙白底、黑字、1px 黑框,顯示 `[正常] ✓`;不使用綠色。 | | 注意 | 紙白底、2px 黑框、右上角黑色斜線紋,顯示 `[注意]` 與原因。 | | 警告 | 2px 紅框、4px 紅色左條,顯示 `[警告] !`;數值、門檻與持續時間並列。 | | 危急 | 紅底、紙白字、4px 黑框,固定於警報欯頂端,顯示 `[危急] ×`;不得被其他內容覆蓋。 | | 離線 | 黑白交叉線紋、實線黑框,顯示 `[離線]`、最後資料時間;不得顯示舊數值為正常。 | | 維護中 | 黑色雙斜線標記 `//`、顯示 `[維護]`、工單與負責人;相關警報只能抑制,不能刪除。 | | 已確認 | 保留原警報等級與紅色標記,附加 `[ACK]`、操作者及時間;確認不等於恢復。 | | 已恢復 | 改回紙白底,但保留 `[已恢復]`、恢復時間與事件歷程,直到完成關閉。 | 危急警報依「等級 → 發生時間」排序;頂列持續顯示未確認數量。不得使用持續閃爍,首次出現可做最多三次的邊框脈衝,之後保持靜態高對比紅色。
02
實務題

輸出戰術遙測 HTML

測試問題

請輸出不超過 190 行、可直接開啟的完整 HTML/CSS,呈現深夜衛星地面站遙測頁。固定資料:LINK 97.2%、LATENCY 38ms、PACKET LOSS 0.08%、一則紅色 CRITICAL 警報;不得用 JavaScript、圓角、漸層或外部圖片,需有手機版。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill2554 tokens · 51867 ms
<!doctype html> <html lang="zh-Hant"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>深夜衛星地面站遙測</title> <style> :root{ color-scheme:dark; --ink:#d8e2dc; --dim:#77827c; --line:#39443e; --green:#83ff9b; --red:#ff3b30; --amber:#ffc247; --black:#070908; --panel:#0d110f; } *{box-sizing:border-box} body{ margin:0; background:var(--black); color:var(--ink); font:14px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.04em; } body::before{ content:""; position:fixed; inset:0; pointer-events:none; opacity:.22; background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#172019 4px); } header{ min-height:76px; display:flex; align-items:stretch; border-bottom:2px solid var(--ink); } .brand{ display:flex; align-items:center; gap:16px; padding:14px 22px; border-right:2px solid var(--ink); } .mark{ width:38px; height:38px; border:3px solid var(--green); position:relative; } .mark::before,.mark::after{ content:""; position:absolute; background:var(--green); } .mark::before{width:24px;height:3px;left:4px;top:15px} .mark::after{width:3px;height:24px;left:15px;top:4px} h1{font-size:16px;margin:0;text-transform:uppercase} .sub{color:var(--dim);font-size:11px;margin-top:3px} .clock{ margin-left:auto; padding:14px 22px; display:grid; place-content:center end; text-align:right; } .clock strong{color:var(--green);font-size:18px} .statusbar{ display:flex; gap:22px; padding:8px 22px; border-bottom:1px solid var(--line); color:var(--dim); font-size:11px; } .online{color:var(--green)} main{ display:grid; grid-template-columns:1.45fr .75fr; min-height:calc(100vh - 111px); } .telemetry{padding:22px;border-right:1px solid var(--line)} aside{padding:22px} .kicker{ color:var(--dim); font-size:11px; margin-bottom:8px; } .metrics{ display:grid; grid-template-columns:repeat(3,1fr); border:2px solid var(--ink); } .metric{padding:20px;border-right:1px solid var(--line)} .metric:last-child{border-right:0} .metric b{ display:block; margin:10px 0 5px; color:var(--green); font-size:clamp(25px,3vw,46px); line-height:1; letter-spacing:-.07em; } .metric small{color:var(--dim)} .section-title{ display:flex; justify-content:space-between; margin:24px 0 8px; padding-bottom:7px; border-bottom:1px solid var(--line); font-size:12px; } .signal{ height:210px; display:flex; align-items:flex-end; gap:5px; padding:18px; border:1px solid var(--line); background:var(--panel); } .signal i{ flex:1; display:block; min-width:3px; border-top:2px solid var(--green); background:#173620; } .signal i:nth-child(3n){background:#204b2b} .signal i:nth-child(5n){border-color:var(--amber)} .orbit{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); } .orbit div{padding:13px;border-right:1px solid var(--line)} .orbit div:last-child{border:0} .orbit span{display:block;color:var(--dim);font-size:10px} .orbit b{color:var(--ink);font-size:13px} .alert{ border:3px solid var(--red); background:#210807; color:#fff; padding:18px; } .alert-head{ display:flex; justify-content:space-between; color:var(--red); font-weight:900; font-size:17px; } .alert p{margin:22px 0 9px;font-weight:bold} .alert small{color:#d69591} .log{margin-top:22px;border-top:2px solid var(--ink)} .log-row{ display:grid; grid-template-columns:70px 1fr auto; gap:10px; padding:11px 0; border-bottom:1px solid var(--line); font-size:11px; } .log-row span:first-child{color:var(--dim)} .ok{color:var(--green)} .warn{color:var(--amber)} footer{ margin-top:24px; color:var(--dim); font-size:10px; line-height:1.7; } @media(max-width:720px){ header{min-height:auto} .brand{padding:12px;border-right:0} .clock{padding:12px} .clock span{display:none} .statusbar{overflow:auto;white-space:nowrap;padding:7px 12px} main{display:block} .telemetry,aside{padding:14px;border-right:0} .telemetry{border-bottom:2px solid var(--ink)} .metrics{grid-template-columns:1fr} .metric{border-right:0;border-bottom:1px solid var(--line)} .metric:last-child{border-bottom:0} .metric b{font-size:36px} .signal{height:145px;padding:10px;gap:3px} .orbit{grid-template-columns:1fr 1fr} .orbit div{border-bottom:1px solid var(--line)} .orbit div:nth-child(2){border-right:0} .orbit div:nth-child(3),.orbit div:nth-child(4){border-bottom:0} } </style> </head> <body> <header> <div class="brand"><div class="mark"></div><div><h1>NIGHTWATCH // GROUND-04</h1><div class="sub">深夜衛星地面站遙測</div></div></div> <div class="clock"><strong>02:47:19</strong><span>UTC+08 / NIGHT SHIFT</span></div> </header> <div class="statusbar"><span class="online">● UPLINK ACTIVE</span><span>SAT: ORB-7A</span><span>PASS: 1842</span><span>AZ 214.6°</span><span>EL 38.2°</span></div> <main> <section class="telemetry"> <div class="kicker">PRIMARY TELEMETRY / LIVE CHANNEL</div> <div class="metrics"> <div class="metric">LINK<b>97.2%</b><small>STABLE / S-BAND</small></div> <div class="metric">LATENCY<b>38ms</b><small>ROUND TRIP</small></div> <div class="metric">PACKET LOSS<b>0.08%</b><small>LAST 15 MIN</small></div> </div> <div class="section-title"><span>SIGNAL DENSITY</span><span>−120 ↔ −62 dBm</span></div> <div class="signal"> <i style="height:41%"></i><i style="height:48%"></i><i style="height:45%"></i><i style="height:62%"></i><i style="height:55%"></i><i style="height:70%"></i><i style="height:67%"></i><i style="height:82%"></i><i style="height:74%"></i><i style="height:91%"></i><i style="height:87%"></i><i style="height:79%"></i><i style="height:94%"></i><i style="height:89%"></i><i style="height:96%"></i><i style="height:85%"></i><i style="height:92%"></i><i style="height:78%"></i><i style="height:86%"></i><i style="height:72%"></i><i style="height:76%"></i><i style="height:64%"></i><i style="height:71%"></i><i style="height:58%"></i> </div> <div class="section-title"><span>ORBITAL VECTOR</span><span>T−00:13:48 LOS</span></div> <div class="orbit"><div><span>VELOCITY</span><b>7.62 km/s</b></div><div><span>ALTITUDE</span><b>548.3 km</b></div><div><span>DOPPLER</span><b>−2.84 kHz</b></div><div><span>RX POWER</span><b>−71 dBm</b></div></div> </section> <aside> <div class="kicker">ACTIVE ALERT / PRIORITY QUEUE</div> <div class="alert"><div class="alert-head"><span>CRITICAL</span><span>01</span></div><p>THERMAL LIMIT EXCEEDED</p><small>PAYLOAD BAY B // SENSOR T-09<br>READING 87.4°C / LIMIT 85.0°C</small></div> <div class="section-title"><span>EVENT STREAM</span><span>LIVE</span></div> <div class="log"> <div class="log-row"><span>02:47:12</span><span>Frame sync confirmed</span><b class="ok">OK</b></div> <div class="log-row"><span>02:46:58</span><span>Thermal threshold crossed</span><b class="warn">WARN</b></div> <div class="log-row"><span>02:46:41</span><span>Beacon lock acquired</span><b class="ok">OK</b></div> <div class="log-row"><span>02:45:09</span><span>Tracking solution updated</span><b class="ok">OK</b></div> </div> <footer>STATION 24°58′N / 121°11′E<br>OPS CONSOLE // RESTRICTED TELEMETRY<br>© ORBITAL SYSTEMS CONTROL</footer> </aside> </main> </body> </html>
已載入 Skill +2717 tokens · 58311 ms
<!doctype html> <html lang="zh-Hant"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>NIGHT GROUND STATION // TELEMETRY</title> <style> :root{--bg:#090b0c;--panel:#101416;--line:#465055;--text:#e4e8e8;--dim:#7f8b8f;--red:#ff2a2a;--green:#4af626} *{box-sizing:border-box;border-radius:0} html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)} body{font-family:"Courier New",monospace;letter-spacing:.06em;text-transform:uppercase} body:before{content:"";position:fixed;inset:0;pointer-events:none;background-size:100% 4px;border-top:1px solid #14191b;opacity:.35} header{display:grid;grid-template-columns:1fr auto;border-bottom:2px solid var(--text)} .brand{padding:18px 22px;border-right:1px solid var(--line)} .brand small,.meta,.label{color:var(--dim);font-size:10px} h1{margin:5px 0 0;font:900 clamp(28px,5vw,76px)/.84 Arial,sans-serif;letter-spacing:-.055em} .clock{display:grid;place-content:center;padding:18px 28px;text-align:right} .clock strong{font-size:20px;color:var(--green)} main{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr)} section,aside{min-width:0} .hero{position:relative;min-height:410px;padding:24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden} .hero:before,.hero:after{content:"";position:absolute;background:var(--line)} .hero:before{width:1px;height:100%;left:50%;top:0} .hero:after{height:1px;width:100%;top:50%;left:0} .target{position:absolute;inset:14% 11%;border:1px solid var(--line)} .target:before{content:"GS-07 / AZ 147.60° / EL 42.18°";position:absolute;top:12px;left:14px;color:var(--dim);font-size:10px} .orbit{position:absolute;inset:28% 20%;border:1px dashed var(--dim);transform:skewY(-9deg)} .satellite{position:absolute;left:61%;top:38%;display:grid;grid-template-columns:50px 34px 50px;gap:4px;z-index:2} .satellite i{height:24px;border:2px solid var(--text);background:var(--bg)} .satellite i:nth-child(2){background:var(--red);border-color:var(--red)} .station{position:absolute;bottom:16%;left:19%;width:110px;height:76px;border-left:3px solid var(--text);border-bottom:3px solid var(--text);transform:skew(-18deg)} .station:after{content:"▲ GS-07";position:absolute;left:32px;bottom:-27px;font-style:normal;font-size:11px;white-space:nowrap} .coords{position:absolute;right:18px;bottom:16px;text-align:right;font-size:10px;color:var(--dim);line-height:1.7} .signal{border-bottom:1px solid var(--line)} .signal h2,.log h2{margin:0;padding:12px 16px;border-bottom:1px solid var(--line);font-size:11px} .metric{display:grid;grid-template-columns:1fr auto;align-items:end;padding:18px 16px;border-bottom:1px solid var(--line)} .metric:last-child{border-bottom:0} .metric strong{font:900 clamp(30px,4vw,58px)/.8 Arial,sans-serif;letter-spacing:-.05em} .metric small{color:var(--dim);font-size:9px;margin-top:9px} .status{font-size:10px;color:var(--green)} .alert{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;background:var(--red);color:#090909;border-bottom:2px solid var(--text)} .alert b,.alert p,.alert time{margin:0;padding:14px 18px} .alert b{border-right:2px solid #090909;font:900 18px Arial,sans-serif} .alert p{font-size:11px;font-weight:bold} .alert time{border-left:2px solid #090909;font-size:11px} .data-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)} .cell{min-height:110px;padding:16px;border-right:1px solid var(--line)} .cell:last-child{border-right:0} .cell output{display:block;margin-top:18px;font-size:23px} .cell small{display:block;margin-top:8px;color:var(--dim);font-size:9px} .log{grid-column:1/-1} .log table{width:100%;border-collapse:collapse;font-size:10px} .log th,.log td{text-align:left;padding:10px 16px;border-bottom:1px solid #252c2f} .log th{color:var(--dim);font-weight:normal} .ok{color:var(--green)}.warn{color:var(--red)} footer{display:flex;justify-content:space-between;padding:11px 16px;color:var(--dim);font-size:9px;border-top:1px solid var(--line)} @media(max-width:720px){ header{grid-template-columns:1fr}.brand{border-right:0;border-bottom:1px solid var(--line)} .clock{display:flex;justify-content:space-between;text-align:left;padding:10px 16px} main{display:block}.hero{min-height:330px;border-right:0} .alert{grid-template-columns:auto 1fr}.alert time{display:none} .data-grid{grid-template-columns:1fr 1fr} .cell:nth-child(2){border-right:0}.cell:nth-child(-n+2){border-bottom:1px solid var(--line)} .log{overflow-x:auto}.log table{min-width:620px} footer{display:grid;gap:6px} } </style> </head> <body> <header> <div class="brand"><small>[ NIGHT OPERATIONS / PACIFIC SECTOR ]</small><h1>GROUND<br>TELEMETRY</h1></div> <div class="clock"><span class="meta">UTC // 19:42:08</span><strong>● TRACKING</strong></div> </header> <main> <section class="hero" aria-label="衛星追蹤示意圖"> <div class="target"><div class="orbit"></div></div> <div class="satellite"><i></i><i></i><i></i></div> <div class="station"></div> <samp class="coords">24.1477° N<br>120.6736° E<br>PASS ID // NGS-8841<br>VECTOR // ASCENDING</samp> </section> <aside class="signal"> <h2>[ PRIMARY DOWNLINK ]</h2> <div class="metric"><div><span class="label">LINK INTEGRITY</span><br><small>RX / S-BAND</small></div><strong>97.2%</strong></div> <div class="metric"><div><span class="label">LATENCY</span><br><small>ROUND TRIP</small></div><strong>38<small>MS</small></strong></div> <div class="metric"><div><span class="label">PACKET LOSS</span><br><small>LAST 60 SEC</small></div><strong>0.08%</strong></div> <div class="metric"><span class="label">CHANNEL STATE</span><span class="status">■ NOMINAL</span></div> </aside> <section class="alert" role="alert"><b>CRITICAL</b><p>THERMAL LIMIT EXCEEDED // ARRAY DRIVE B</p><time>19:41:52 UTC</time></section> <section class="data-grid"> <div class="cell"><span class="label">CARRIER</span><output>2214.50 MHz</output><small>LOCKED / Δ +0.02</small></div> <div class="cell"><span class="label">RX POWER</span><output>−71.8 dBm</output><small>THRESHOLD −89.0</small></div> <div class="cell"><span class="label">RANGE</span><output>684 KM</output><small>CLOSING 7.42 KM/S</small></div> <div class="cell"><span class="label">UPTIME</span><output>08:14:27</output><small>SESSION 044/A</small></div> </section> <section class="log"> <h2>[ EVENT REGISTER // LIVE BUFFER ]</h2> <table><thead><tr><th>UTC</th><th>SUBSYSTEM</th><th>EVENT</th><th>STATE</th></tr></thead> <tbody> <tr><td>19:41:52</td><td>THERMAL</td><td>ARRAY DRIVE B / 94.8°C</td><td class="warn">CRITICAL</td></tr> <tr><td>19:40:11</td><td>GUIDANCE</td><td>EPHEMERIS BLOCK SYNC</td><td class="ok">VERIFIED</td></tr> <tr><td>19:38:06</td><td>DOWNLINK</td><td>FRAME 8F-21 ACQUIRED</td><td class="ok">NOMINAL</td></tr> </tbody></table> </section> </main> <footer><span>GS-07 / REV 6.2.18 / SECURE CHANNEL</span><span>/// PACIFIC NIGHT WATCH /// AUTH 04</span></footer> </body> </html>
03
壓力題

阻止混合兩種基底

測試問題

設計稿把上半部做成米白瑞士印刷、下半部做成黑底 CRT,卡片又用了玻璃擬態與紫色漸層。請逐項指出違規,選擇一種適合『工廠夜班戰情室』的原型,並提供替換 token 與版面修正。

載入前 · 0 個 Skill載入後 · 版本已核對再次確認 · 0 個 Skill已確認模型套用 Skill三個環境皆已清理
未載入 Skill1735 tokens · 36759 ms
## 違規項目 1. **米白瑞士印刷 × 黑底 CRT** - 同頁混用兩套主視覺語言,造成上下割裂。 - 色彩、字體、密度與資訊層級缺乏一致規則。 - 上半部像編輯刊物,下半部像終端介面,不符合單一戰情室系統的辨識需求。 2. **玻璃擬態卡片** - 模糊、透明與漂浮陰影削弱數值和警報的可讀性。 - 裝飾性層次不適合工業監控;在複雜背景及低品質螢幕上尤其不穩定。 - 卡片邊界不明,不利於快速掃描設備狀態。 3. **紫色漸層** - 帶有消費型 SaaS/娛樂產品語意,與工廠控制環境不符。 - 漸層難以建立明確的正常、注意、警報、離線狀態。 - 若同時用於裝飾與狀態,會造成警示語意混淆。 4. **語意色失控** - CRT 綠、紫色漸層、米白底與警報色彼此競爭。 - 關鍵異常無法成為畫面中唯一高顯著元素。 5. **版面模式混雜** - 瑞士印刷偏留白與閱讀節奏,CRT 偏高密度即時資料;直接上下拼接會中斷操作流程。 - 卡片化又進一步切碎資訊,難以形成「全廠概況 → 異常定位 → 處置」的視線路徑。 ## 建議原型 採用單一的 **工業黑箱/控制台式 brutalist 戰情室**。 保留 CRT 的暗色、高對比與等寬資料特徵,但移除掃描線、發光暈染等懷舊裝飾。使用實色面板、硬邊框、緊密網格與少量高語意警報色;介面應像可靠的工控台,而不是復古終端模擬器。 ## 替換 Tokens ```css :root { /* Surfaces */ --color-canvas: #0A0C0D; --color-surface-1: #111416; --color-surface-2: #181C1F; --color-surface-selected: #22282C; /* Lines */ --color-border: #3B4348; --color-border-strong: #727D84; --border-width: 1px; --border-width-strong: 2px; --radius-panel: 0; --shadow-panel: none; --backdrop-blur: none; /* Text */ --color-text-primary: #F0F1ED; --color-text-secondary: #A8B0B3; --color-text-muted: #727B80; --color-text-inverse: #0A0C0D; /* Operational states */ --color-normal: #66D17A; --color-info: #57B7D9; --color-warning: #F2C94C; --color-critical: #FF4D3D; --color-offline: #788087; /* Interaction */ --color-action: #E7E9E4; --color-focus: #57B7D9; --gradient-brand: none; /* Typography */ --font-ui: "IBM Plex Sans", "Noto Sans TC", sans-serif; --font-data: "IBM Plex Mono", "Noto Sans Mono", monospace; --font-size-xs: 11px; --font-size-sm: 13px; --font-size-md: 15px; --font-size-lg: 20px; --font-size-xl: 30px; --line-height-tight: 1.15; --line-height-body: 1.4; /* Spacing */ --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-5: 24px; --space-6: 32px; } ``` 限制規則: - 禁用透明卡片、背景模糊、柔和陰影和紫色漸層。 - 狀態不可只靠顏色;同步使用文字、圖示或邊框樣式。 - 紅色只用於需立即處置的事件,黃色只用於風險與待確認項目。 - CRT 綠只能作為「正常」狀態色,不作大面積文字或裝飾發光。 ## 版面修正 ```text ┌────────────────────────────────────────────────────────────┐ │ NIGHT SHIFT / PLANT 03 02:14:37 LINE STATUS USER │ ├───────────────┬──────────────────────────────┬─────────────┤ │ 全廠導航 │ 即時生產主視圖 │ 異常佇列 │ │ │ │ │ │ 工區 │ 產量 / 節拍 / 良率 / 停機 │ CRITICAL 02 │ │ 產線 ├──────────────────────────────┤ WARNING 05 │ │ 設備 │ 產線與設備狀態矩陣 │ │ │ 能源 │ │ 依嚴重度、 │ │ 品質 │ │ 時間排序 │ ├───────────────┴──────────────────────────────┴─────────────┤ │ 事件時間軸 / 操作紀錄 / 通訊與資料品質 │ └────────────────────────────────────────────────────────────┘ ``` - 移除上下兩種風格的分界,改為全畫面一致暗色底。 - 頂欄固定顯示廠區、班別、系統時間、資料延遲與連線狀態。 - 中央主區優先呈現產量、節拍、良率、停機時間及設備矩陣。 - 右側固定異常佇列,不用浮動玻璃卡片;嚴重度最高者置頂。 - 左側只放穩定導航,不混入即時 KPI。 - 底部提供事件時間軸與操作紀錄,支援追溯交班。 - 面板使用共線網格與實線分隔;降低卡片數量,相關指標合併成可比較的表格或矩陣。 - 關鍵數值使用等寬字體與右對齊;標題使用無襯線字體。 - 預設資訊密度以遠距掃視為準:主要數值至少 `30px`,狀態文字至少 `13px`。
已載入 Skill +2094 tokens · 48173 ms
## 違規清單 1. **上下半部混用兩種原型** - 米白瑞士印刷與黑底 CRT 是兩套互斥的 substrate。 - 同一介面必須只選一種,不能用上下分區切換視覺語言。 2. **玻璃擬態卡片** - 半透明背景、`backdrop-blur`、柔和陰影都違反工業粗獷風格。 - 卡片不應漂浮;應以實色底、直角與 1px/2px 分隔線形成固定艙格。 3. **紫色漸層** - 漸層屬於禁止項目。 - 紫色也超出限定色盤;警示色只能使用航空紅。 - CRT 綠若使用,只能標示單一語意,例如「設備在線」。 4. **缺乏單一材質邏輯** - 上半部模擬紙張、下半部模擬發光螢幕,造成光源、對比與質感矛盾。 - 夜班環境需要全畫面一致的低亮度深色基底。 5. **卡片式資訊架構不合適** - 戰情室需要固定座標、清楚分區和高密度掃讀。 - 應改用連續格網、表格、狀態列與全寬告警帶,而不是獨立漂浮卡片。 ## 選定原型 採用 **Tactical Telemetry & CRT Terminal**。 它比米白印刷更適合「工廠夜班戰情室」:暗色基底可控制環境亮度,等寬字適合設備編號與即時數據,紅色能建立唯一且明確的異常層級。 ## 替換 Tokens ```css :root { /* Substrate */ --color-bg: #0a0a0a; --color-surface: #121212; --color-surface-raised: #181818; /* Content */ --color-text: #eaeaea; --color-text-muted: #929292; --color-line: #383838; --color-line-strong: #eaeaea; /* Semantic accents */ --color-alert: #e61919; --color-alert-text: #ffffff; --color-online: #4af626; /* 僅供 ONLINE 狀態使用 */ /* Typography */ --font-display: "Inter", "Arial Black", sans-serif; --font-data: "IBM Plex Mono", "JetBrains Mono", monospace; --text-display: clamp(3.5rem, 8vw, 9rem); --text-section: clamp(1.75rem, 3vw, 3.5rem); --text-data: 0.75rem; --text-label: 0.6875rem; --leading-display: 0.88; --leading-data: 1.3; --tracking-display: -0.045em; --tracking-data: 0.075em; /* Grid */ --grid-unit: 8px; --space-1: 8px; --space-2: 16px; --space-3: 24px; --space-4: 32px; /* Mechanical geometry */ --border-thin: 1px solid var(--color-line); --border-strong: 2px solid var(--color-line-strong); --radius: 0; --shadow: none; --blur: 0; } ``` 替換關係: ```css /* 移除 */ background: rgba(...); backdrop-filter: blur(...); box-shadow: ...; border-radius: ...; background: linear-gradient(...purple...); /* 改為 */ background: var(--color-surface); border: var(--border-thin); border-radius: var(--radius); box-shadow: var(--shadow); ``` CRT 掃描線只能作為低強度硬體紋理,不承擔配色: ```css .crt-overlay { pointer-events: none; opacity: 0.16; background: repeating-linear-gradient( 0deg, transparent 0, transparent 2px, rgba(0, 0, 0, 0.32) 2px, rgba(0, 0, 0, 0.32) 4px ); } ``` ## 版面修正 ```text ┌──────────────────────────────────────────────────────────────┐ │ [PLANT NIGHT OPS] SHIFT 03 23:40:18 NETWORK: ONLINE │ ├───────────────────────────────────────────┬──────────────────┤ │ │ ACTIVE ALERTS 04 │ │ 96.4% ├──────────────────┤ │ LINE AVAILABILITY │ CRITICAL / P-07 │ │ │ TEMP 118°C │ ├──────────────┬──────────────┬──────────────┼──────────────────┤ │ LINE A │ LINE B │ LINE C │ ACK QUEUE │ │ RUN / 82% │ HOLD / 00% │ RUN / 91% │ 00:42 / 03 │ ├──────────────┴──────────────┴──────────────┴──────────────────┤ │ EVENT STREAM / TIMESTAMP / UNIT / CODE / OPERATOR │ └──────────────────────────────────────────────────────────────┘ ``` - **頂部 48–56px:** 固定系統列,放廠區、班別、時間與連線狀態。 - **主區採 12 欄格網:** 左側 9 欄顯示產線總覽,右側 3 欄固定為告警與待確認事件。 - **首要 KPI 使用巨型數字:** 只突出一個全廠核心指標,避免多張同權重 KPI 卡片。 - **產線模組直接嵌入格網:** 使用共享分隔線,不留卡片間浮動間距。 - **嚴重告警使用全紅底或 2px 紅框:** 紫色不得保留;一般資訊不使用強調色。 - **資料全面採等寬大寫:** 設備 ID、時間、數值、單位與操作狀態維持固定欄寬。 - **所有角落保持 90°:** 按鈕改成 `[ ACKNOWLEDGE ]`、`[ ISOLATE UNIT ]` 等終端語法。 - **事件流置底並橫跨全寬:** 依時間倒序,欄位固定,避免訊息散落在各卡片。 - **小螢幕改為單欄順序:** 系統列 → 嚴重告警 → 核心 KPI → 產線狀態 → 事件流;不改成另一套明亮主題。
測試紀錄

這次測試記錄了什麼?

固定不變兩邊使用相同的模型版本、帳號方案、系統指令、思考強度與測試問題。

分開測試每次回答都使用全新環境。載入前不含任何 Skill,載入後只含本頁指定的 Skill。

完整才公開三題的所有步驟與環境清理都成功後,才顯示結果。若無法確認模型是否套用 Skill,也會清楚標示。