wireframe-3d 是做什麼的?
把一個實體物件或生產過程做成可觀察、可拆解、可解釋的三維作品。按用戶目標分配製作重點:結構科普優先解釋機制;參考建模優先還原可見外形,再添加用戶需要的結構、運動與介面。
目標分兩項驗收:結構/交互可用與參考外形/視覺表達匹配。前者通過不能代替後者;舊案例效果不自動證明新題材品質。
用戶提供圖片並要求建模、復刻,或回饋「不像/不可用」時,在選構造方法、套模板和生成主體之前讀 參考建模與首次交付。先確認決定辨識度的輪廓、曲面、開口和材質;不能因調用本技能就自動改成簡化科普風格。一次用戶請求中主動完成渲染、審圖與必要返修,不等用戶充當第一輪視覺檢查員。
執行該分支時讀 參考建模工具:用來源記錄固定參考依據,按需使用分片曲面/真實開口/曲面附件工具,再生成鎖定相機的灰模與材質對照。工具檢查通過不代替看圖。
車輛等連續外殼被回饋過於簡化時,讀 連續外殼的逐輪返修:先重建可獨立控制的形體與共用邊界,診斷曲面裁孔後的網格品質,再修燈腔和連續塗裝;每輪保留對應原始碼與固定視圖。
參考產品需要材料層次、貼附部件或較多重複細節時,讀 產品建模的實際接入與驗收:材質必須在交付網格上生效,幾何接合要配置實際檢查,靜態合批不能破壞語意、運動與測量物件。先儲存改進前基線,再在同一參考任務中保留實際返修;已用於調優的案例屬於開發驗證,不能改稱獨立盲測。
製作結構或運動講解時讀 從 Anatomy 遷移的製作方法:確定「操作 → 構件變化 → 可觀察結果」,把精細度落實在有作用的介面、導向、端接和負空間上。其製作方法與本技能的 Three.js 實現分別追溯,不直接複製上游 SVG 排序體系。
選擇交付路線
- 用戶指定引擎時照做。未指定且要互動網頁:預設 Three.js,讀 Three.js 路線。
- 網頁交付引擎與幾何製作方法分別選擇。連續複雜曲面先驗證構造能否表達關鍵形體;必要時在可用的 Blender 中製作可編輯網格,再導入網頁。用戶要求純程式化建模時遵守該約束,選擇能表達局部曲面與開口的方法;不要只靠增加簡單放樣的取樣數。
- 要可編輯工程、離線渲染、鏡頭動畫:用 Blender,讀 Blender 路線。
- 要兩種交付:共享部件 ID、幾何和狀態含義,分別驗證兩端;一次運行不能代表另一個引擎通過。
- 普通產品建模而無需結構講解,可採用已安裝的
threejs-modeling-studio;本技能不要求它存在。 - 換題材或模型不像參考時,讀 題材與構造方法。建築先處理平立剖、體量/洞口和場地關係,機械先處理輪廓/軸線/空腔,工廠先處理工位和物流;按實際任務選分支。
從參考到結構
新建作品或整體返修時,先寫一句觀眾應看懂的主資訊,並從用戶要求整理「必須出現 / 必須保持 / 禁止出現 / 交付格式」。記錄實際觀看尺寸與預設狀態;已有要求直接沿用,不為填表反覆詢問。按 視覺對照與返修 製作,可複用 製作與交付檢查記錄;小改動只補受影響項。
- 從用戶的問題確定外觀還原、結構解釋、運動演示的實際需求。參考建模先鎖定外形和關鍵可見特徵;機制題再確定哪些內部部件必須可見。未要求的內部機構、工況動畫和控制面板不自動成為首輪工作重點。
- 建立簡短部件表:
id / 作用 / 所屬裝配 / 參數 / 連接物件 / 運動 / 來源。機制題先確定歸屬、連接與因果路徑,再選擇剖切、展開或引線表達;機構原理的來源核驗與動畫能否運行分別記錄。真實部件、視覺輔件、示意粒子分開。工廠另外列工位、物料路徑、上下層轉運和工序條件。 - 有圖紙/真實模型時優先使用;沒有尺寸時聲明示意比例,並保持內部參數一致。不要把原創範例說成參考作品的原始工程、復刻結果或公開模型。
- 先做體積、輪廓、連接和內部空腔;再做功能性細節。孔用真實開口,管有壁厚,支座能看出承力關係。不要用一組長方體加標籤替代核心機械結構。
- 建模預算按實際目標、可見程度與辨識度決定,不套用固定部件數或固定工時。複雜曲面用合適的分片曲面、細分網格、截面放樣、迴轉、掃掠或可靠資產;先驗證代表部位,再擴展全體。資產來源與程式化建模貢獻分別說明。
- 用戶要求還原已有作品時,先建立「參考特徵 → 原始檔案/函式 → 實現 → 截圖/狀態證據」表,鎖定可比較的相機。總覽和近景都要過關;源記錄數量不能代替造型相似度。具體步驟見 參考還原與動畫檢查。
- 白模先對齊主要輪廓、負空間和連接,再補構造、材質與燈光;原始資料不足時記錄推測。按 視覺對照與返修 分別記錄匹配、有差異、未核驗,發現關鍵形體問題繼續修模型。
遷移工廠 HTML 時讀 原顯示程式碼與設備恢復:逐工位恢復 robotSvg/toolSvg 外殼與截面方向,核對 draw() 外層時間偏移和載荷門控。先驗收代表工位,再按穩定 ID 擴展;assets/lib/source-frame.js 提供矩形臂段定向。案例專用狀態與設備不能當成任意題材的自動產生器。
必須保持的關係
有介面配合、滑動或管路的新主題,讀 介面與裝配檢查,用 assets/lib/assembly.js 將介面座標、法向、口徑、關係和真實網格檢查一起交付。pass 只覆蓋已配置規則;超預算/未配置須明確標記。用故意斷開介面、改錯實際孔徑等反例檢驗檢查器。
審計和預覽必須引用同一 root、語意部件及其真實網格;離樹副本、選中盒、審計包絡不能代測。孔口/接面探針保持獨立基準,故意改錯實際構件時必須能檢出。顯示細節是否完整仍需參考近景判定。
- 同一參數源生成幾何、裝配位置、動畫和讀數。
rest + explode * offset是基本拆解模型;復位回到儲存的 rest pose,避免累計平移。 - 動畫先列狀態和轉換條件,再接渲染。拆解後啟動,應等裝配實際收斂再播放工況;暫停凍結彈簧、雜訊、粒子與讀數;停機有尾跡時不能直接刪除效果。需要錯峰彈簧時,以獨立部件狀態驅動,不把滑塊目標值當實際位置。
- 網頁優先複用
assets/lib/motion.js與scene-runtime.js,讓 UI、狀態取樣與截圖檢查經過同一個setPose;複雜工況可擴展純狀態模組。讀 共享狀態與可回放驗收,避免為每個案例重寫時鐘或在重複呼叫中累加位移。 - 樞軸放在真實旋轉軸或裝配介面,子部件隨所屬裝配運動。先命名部件再做互動,禁止按建立順序猜物件。
- 遇到展開重疊、黑色切面、薄葉片背面或動作偏位,讀 展開與動作返修:按語意模組配置階段,檢查實際網格間距並注入重疊反例;不只檢查按鈕或百分比。執行庫在
setPose後施加展開,遷移舊程式碼時避免重複位移。 - 工藝流向依附真實路徑和當前狀態。拆開後斷開的連接不繼續顯示「暢通」的物流或流體;可隱藏流線或改成明確的虛線說明。
- 部件隱藏、透明觀察、裁剪平面與帶封口的實體剖切是不同功能,按實際實作命名。裁剪平面沒有封口時不要宣稱完成了實體剖切。
- 示意相位、演示速度可以展示;真實轉速、溫度、流量、節拍、壓力等需要來源或計算。粒子流動不等於 CFD,齒輪旋轉不等於動力學求解。
- 工廠場景按樓層/車間/工位組織,再將工藝狀態映射到設備和物料。工藝說明來自資料,視覺分組是實作選擇;不要混淆。
- 工廠遷移核對
draw()的外層偏移、HOME 視窗和載荷歸屬。可複用assets/lib/process-timing.js的獨立時鐘與邊界取樣;在每個交接點前、當時、後各查一幀,不能只用等間隔取樣跳過邊界。
視覺與互動
要求保持兩原項目畫風時,讀 統一插畫渲染,使用 illustrationPalette() 與 renderStyle:'anatomy-light'。共享紙面、受控法線明暗、深度測試細輪廓和語意強調色;同機位對照最終截圖,不能以同色值或測試通過替代畫風驗收。
結構科普且沒有指定外觀風格時,繼承 Anatomy 的清晰輪廓、克制材質和語意強調色。參考復刻時由參考與用戶要求決定風格:寫實產品顯式選擇適當的受光材質與 renderStyle:'studio' 起點;只有需要插畫表達時使用 anatomy-light。切換風格不能修復錯誤曲面,必須實際看圖。
結構科普首屏看清主體、關鍵內部結構和可理解的運動;外觀展示首屏以完整裝配的主體為主,不用全透明外殼展示未經參考支援的內部結構。提供足夠空間的主視圖;標籤隨真實部件定位,按遮擋和螢幕空間篩選,避免一屏幾十根引線。
網頁通常提供旋轉縮放、拆裝、部件選擇、暫停/復位;工廠按需增加樓層與工序篩選。原生表單控制項可鍵盤操作,遵守 reduced-motion,畫面離屏或頁面隱藏時暫停計算。不要為湊功能添加和講解無關的儀表板。
預設網頁起點使用緊湊頂欄、標籤面板、常駐演示控制與專注模式;複雜說明按需展開。新建或優化預覽介面時讀 預覽 UI,複用 assets/web/preview-ui.css / preview-ui.js,同時檢查模型取景安全邊距與窄屏可操作性。佈局可按用戶風格調整。
可運行起點
新 Three.js 主題優先使用 buildScene() 獨立建構器和 prepare_web.py --builder;預設預覽按傳入部件 ID 工作,不再需要借用泵的 hub/rotor/cover。讀 構件庫與主題介面,按需要呼叫 assets/lib/ 的空心迴轉、變徑管、帶孔法蘭/樓板、石牆洞口/窗框、緩坡河道及鏡頭/光照工具。這些是可修改的原始構件,不是任意物件自動建模器。
--example river-pavilion / --example flanged-chamber 是原創建築/機械工具驗證題;不能代替用戶指定的復刻物件。原有 scripts/make_demo.py、prepare_web.py --scene 與 build_blender.py 保留離心泵共用清單路線。JS 新構件和通用預覽不自動支援 Blender;分別實作與驗證。
--example pneumatic-press 提供新的介面、實際網格特徵、行程、連接圖和插畫渲染範例。新 JS 介面檢查和 shader 未自動遷移到 Blender,不將網頁驗證寫成雙引擎驗證。
--example contact-switch 提供 Anatomy 按鈕機制的獨立三維重建:真實導向孔、可變螺距彈簧、六個端接、導線對底板的淨距,以及實際觸點間隙驅動的讀數。它是開發例,不能當成所有新題材的盲測結果。
--example indexed-workcell 是原創工藝開發例,演示不同設備建構器、獨立週期與 HOME、物料歸屬和多色動態快取。複用 factory-process.js 的明確設備映射與條件取樣,未知設備不能靜默降級成通用方塊。執行 verify_migration.py --three <three路徑> --report <JSON> 檢查這些關係與配色/投影反例,再實際查看頁面。
- 共享資料約定:座標、幾何、狀態和核驗邊界。
- 來源與遷移映射:精確到上游檔案/函式的啟發、重新實作的部分、授權。
- 用戶指定已有開源案例時,讀 已有作品的三維遷移:顯示幾何與審計代理、純狀態提取、實例化和真實瀏覽器驗收。
scripts/validate_scene.py:檢查 ID、有限數、退化面、閉合網格和正有向體積。只檢查適用的封閉實體;開放曲面需調整規則並說明。- 修改介面檢查後執行
scripts/verify_assembly.py --three <已安裝three路徑> --report <輸出JSON>,再對新主題配置實際孔/接面/間隙與錯誤反例;目前只實現 Three.js 檢查。 - 修改共享 JS 構件後執行
scripts/verify_components.py --three <已安裝three路徑> --report <輸出JSON>,核對洞口、壁厚、不同尺寸與鏡頭安全區;隨後實際打開受影響範例。數值檢查不評定美觀。 - 修改展開或取景後執行
scripts/verify_explosion.py --three <已安裝three路徑> --report <輸出JSON>;實際題材配置explosionChecks並用verify_scene.py驗收,未配置不能算通過。預覽用serve_preview.py --root <生成目錄> --port <起始埠>,只綁定本機空閒埠並停用開發快取;生成後重載核對當前產物。 - 新主題可執行
scripts/verify_scene.py --builder <subject.js> --three <已安裝three路徑> --report <輸出JSON>;隨後用當前環境允許的瀏覽器工具操作和截圖。允許獨立瀏覽器自動化時可執行node scripts/verify_preview.mjs --url <本地預覽URL> --out <證據目錄>,記錄截圖、狀態和錯誤,再人工審圖。用法、工具限制與範圍見 共享狀態與可回放驗收。
不要為了使用技能複製整個上游倉庫進運行項目。上游 iso-kit、tube、lathe 是 SVG 生成體系;本技能的 Three.js/Blender 幾何、深度測試和互動是獨立實作。
驗收與交付
根據實際功能執行,並保留可複查結果:
- 幾何:檢查參數/ID/單位/有限數;關鍵孔、壁厚、軸心、接觸和間隙有針對性驗證。資料檢查不能替代圖像檢查。
- 狀態:檢查裝配、半拆、全拆、復位;運行時讀數與幾何相位一致,暫停不跳變。碰撞只對預期不接觸的零件對測,別把正常裝配接觸一律判錯。
- 畫面:在實際觀看尺寸檢查預設首屏、主視圖與背/側視圖,核對主體佔比、遮擋、穿模、懸空、材質差異、陰影和文字可讀性。網頁試一個窄屏;Blender 重新開啟
.blend核對物件、驅動與幀狀態。 有原作時增加同機位總覽和功能近景對照;有透明、煙霧或火焰時檢查其前後遮擋與停機過程。幾何與純狀態通過後,仍須實際編譯 shader 並觀察畫面。 - 交付回讀:重開用戶將收到的入口或檔案,在目標檢視器按四類要求逐項記錄
PASS / FAIL / NOT_RUN。有匯出時分別檢查原生工程、匯出物與最終載體;有動畫時完整播放用戶會經歷的流程,核對動作、文案和讀數,抽幀不代替連續檢查。檢查控制台或 Blender 日誌;只有測量後才報告效能。
當前 Three.js 範本由 prepare_web.py 生成檔案雜湊清單和 build-info.js。用 verify_preview.mjs --expect-build <清單id> 將截圖綁定到實際版本、頁面、相機、狀態與讀回的視口;影像仍需人工查看。無法讀取對應版本或視口時,不沿用舊截圖作為新結果。批量實例變化後同步面與輪廓的矩陣、數量;保留原始材質語意,不能靠加粗所有細桿製造細節。
交付入口、可編輯原始檔、必要資源和少量關鍵截圖。報告來源事實、原創/改編部分、已執行驗證和未驗證項。用戶要復刻時,匹配實際參考,不以附帶泵範例替代。
有匯出、多版本或明確交付要求時讀 證據與交付工具:將要求與最終回讀對應,綁定原始碼與截圖雜湊,阻止過期記錄;用獨佔埠啟動本地預覽,以校驗後的獨立快照保留版本。工具只能檢查證據關聯與檔案完整性,不能自動評判視覺還原程度。
疊代技能本身時,按變更選 evals/evals.json 中的獨立題目與實際輸入;這些是待運行的評測提示,不是通過記錄。開發例、歷史迴歸、新題材評測分別記錄,避免只靠同一案例反覆調優得出泛化結論。