01 · 設計端
在畫布上拖一個 Hero
設計師直接在無限畫布排版:拉出區塊、調整間距、換上品牌漸層。每一次移動都被記錄成語意化的版面結構。
02 · 設計端
改一次色票,全站跟上
設計端把主色從琥珀調成珊瑚,所有引用該 token 的按鈕、圖表、插畫即時重繪,不需要任何人開票追蹤。
brand / primary
oklch(0.72 0.19 45) · 3 秒前更新
brand / surface
oklch(0.16 0.01 260)
03 · 設計端
像看設計稿一樣看歷史
每一次儲存都是一個可回放的版本。左右拖動就能對照改版前後,評論直接釘在像素上,不再截圖貼 Slack。
Before
After
04 · 設計端
設計師按下「發佈」
不用等排程、不用等 handoff。設計端確認視覺 QA 通過,按一下發佈,改動就進入部署管線——設計師第一次擁有 deploy 鍵。
上次由設計師發佈:38 分鐘前 · 零事故 127 天
04 · 工程端
管線自動跑完
型別檢查、視覺回歸測試、預覽環境、正式部署,14 秒完成。工程師只在需要時介入,其他時間交給雙流。
1$ syncline deploy --from canvas2✓ 型別檢查通過(tsc, 0 errors)3✓ 視覺回歸 42/42 snapshots4✓ 預覽環境 preview-8f2c.syncline.app5✓ 正式部署完成 · 14.2s67→ 由 Aria Chen(Design)觸發8→ 0 個工程師被打斷 🎉
03 · 工程端
Diff 精確到 property
視覺差異同步映射成程式 diff。誰改了圓角、誰動了間距,一行一行說清楚,code review 與 design review 合而為一。
1@@ components/PricingCard.tsx @@2- <div className="rounded-lg border p-6">3+ <div className="rounded-2xl border p-84+ shadow-lg shadow-orange-500/10">5 <h3>專業版</h3>6- <p className="text-3xl">$29</p>7+ <p className="text-4xl font-bold">$24</p>89// 由 Aria(設計)於畫布修改,自動生成
02 · 工程端
tokens.ts 自動同步
程式端的 design tokens 與畫布是同一份真相。改程式,畫布動;改畫布,程式動。雙向、即時、零漂移。
1// design-tokens.ts — 由畫布即時同步2export const tokens = {3 brand: {4 primary: "oklch(0.72 0.19 45)", // ← 3 秒前更新5 surface: "oklch(0.16 0.01 260)",6 },7 radius: { card: 16, pill: 999 },8 space: [4, 8, 12, 16, 24, 40],9} as const
01 · 工程端
右邊同秒長出 JSX
工程師看到的不是截圖,而是可直接 commit 的元件。className、props、語意標籤全部自動對齊團隊規範。
1export function Hero() {2 return (3 <section className="grid gap-8 py-24">4 <Badge>全新上線</Badge>5 <h1 className="text-6xl font-bold">6 設計與程式,同一條時間軸7 </h1>8 <CTAGroup primary="免費開始" />9 </section>10 )11}