把 Mac 創作工具延伸到 Vision Pro 空間預覽
Apple Developer short「Extend your Mac app into the space around you」點出 Spatial Preview 的核心:Mac app 不必重寫 visionOS app,也能把 spatial photo、immersive video frame、PDF、image 或 USD 3D 場景送到 Vision Pro 的 Quick Look 中檢視、同步與編修。
Spatial Preview 是給 Mac 創作與內容審查工具的 bridge:Mac 管資料與編輯狀態,Vision Pro 負責沉浸式尺度感、Quick Look 操作、即時 annotation 與 SharePlay 協作。
這支 short 背後,其實是四個 spatial workflow 問題
Mac app 仍是創作工具,Vision Pro 變成空間審查面
Spatial Preview 的重點不是把 Mac app 搬到 visionOS,而是讓既有 macOS workflow 在需要尺度、深度與沉浸檢視時,直接把內容投到 Vision Pro。
先取得 spatial endpoint,再啟動 preview session
如果使用者正在用 Mac Virtual Display,app 可用 connected endpoint;否則可把 SpatialPreviewDevicePicker 放進 SwiftUI UI,讓使用者選同一 iCloud account 附近的 Vision Pro。
Document preview 與 USD preview 是兩條路
DocumentPreviewSession 適合 spatial photos、Apple Immersive Video frames、PDF、image 與檔案;USDPreviewSession 則用 USDKit stage 把 3D 場景送進 volumetric / immersive view。
編輯、annotation、progress 與 playback 都要回到 Mac
Quick Look 不是只看結果。USD variant、object manipulation、annotation、animation playback events、progress reporter 都能變成 Mac app 可觀察或可同步的狀態。
導入 Spatial Preview 的實作路線
把「要預覽什麼」切成 document 或 USD
文件、影格、照片、PDF 走 DocumentPreviewSession;3D scene、layout review、material / camera / annotation workflow 走 USDPreviewSession。
取得 Vision Pro endpoint
先用 ConnectedSpatialEndpointObserver 對接 Mac Virtual Display;若不能假設使用者已連線,就把 device picker 做成明確 UI。
啟動 session,交給 Quick Look 呈現
start 之後 Vision Pro 端會開啟 Quick Look。Document preview 用 content URL 更新內容;USD preview 則提供 USDKit stage。
把更新與關閉狀態做成 app state
對 gallery 類體驗,重用同一個 session 並呼叫 updateContents。session invalidated 時要清理本機狀態,使用者結束時也要 close。
對 USD 開啟真正的雙向編輯
用 USD notices、spatialEditable metadata、session options 與 events,把 Vision Pro 上的 annotation、object manipulation、playback 與 progress 接回 Mac app。
重點 1:Spatial Preview 是 Mac 創作工具的 spatial review layer
Apple 在 short 中用一句話概括:「The Spatial Preview framework brings content from your Mac directly into visionOS。」完整 session 則把定位講清楚:這是給 content creation tools、review tools,以及任何處理 spatial content 的 macOS app 的 framework。
使用者不需要你另外寫一個 visionOS app 才能看內容。session 啟動後,Vision Pro 端由 Quick Look 接收內容,並提供沉浸式檢視、camera viewpoint、material override、annotation 與 USD export 等能力。
重點 2:Document preview 解決「送過去看,並在同一場景更新」
DocumentPreviewSession 的 session 可以從 Mac 端啟動,將 Apple Immersive Video frame、spatial photo、PDF、standard image 或檔案送到 Vision Pro。完整 session 特別強調 updateContents:如果你做的是一個 gallery 或 review queue,應該重用同一個 scene 更新內容,而不是每張圖都重新 start 一個 session。
重點 3:USD preview 才是 3D scene workflow 的主戰場
USDPreviewSession 搭配 USDKit stage,讓 Mac app 把 3D scene 送到 Vision Pro 的 volumetric view,使用者可以旋轉檢視、進入 immersive view、切 camera、套 material overrides,並在 visionOS 上進行 annotation 或 object manipulation。
Apple 也提醒性能邊界:Spatial Preview 預設會對 USD content 做最佳化,包括 mesh decimation、texture downsampling,必要時甚至重建 scene;如果需要 unmodified content,要明確 opt out,但太複雜的 scene 可能無法分享。
風險與遷移注意事項
對產品與工具團隊的啟發
來源
主要來源為 Apple Developer YouTube short、Apple Developer 官方 session「Discover the Spatial Preview framework」的 transcript、summary、chapters 與 code snippets,以及 Apple WWDC26 visionOS guide。YouTube:Extend your Mac app into the space around you。官方 session:Discover the Spatial Preview framework - WWDC26。visionOS guide:WWDC26 visionOS guide。
- →Spatial Preview 讓 Mac app 把內容送進 visionOS Quick Look,不必先重寫一個 Vision Pro app。
- →DocumentPreviewSession 適合影格、照片、PDF 與檔案;USDPreviewSession 適合 3D scene、live USD editing 與 immersive review。
- →導入時要處理 endpoint selection、session lifecycle、updateContents、progress、close / invalidated state。
- →真正的產品價值在 review workflow:annotation、variant switching、object manipulation 與 SharePlay collaborative review。