jim800121chen 50a3f73acd feat(local-tool): 品牌視覺設計 + 內建模型首次啟動 seed
#8 首次啟動 seed 內建模型:
- app.go 新增 seedUserDataDir() 在 server spawn 之前執行
- 若 user data-dir 缺 models.json,從 locateBundleDataDir() 複製
  models.json + nef/ 預置模型過去
- 新增 locateBundleDataDir() / copyFile() / copyDirRecursive() helper
- user 第一次開 app 會看到 8 個 Kneron 預置 .nef 模型(kl520×5 + kl720×3)

#5 #6 #7 品牌視覺:
- 新增 branding/ 目錄存放設計資產與生成工具
  - logo.svg(向量原始稿)
  - icon-{16,...,1024}.png(10 種尺寸)
  - icon.ico(Windows 多解析度 ICO,PNG-in-ICO 格式)
  - icon.icns(macOS)
  - tools/gen_icon.go + gen_ico.go(純 Go 生成工具,未來調整 logo 用)
  - README.md + 色票表
- 部署:
  - visiona-local/build/appicon.png → Wails build 會嵌入 exe
  - visiona-local/frontend/icon.png → splash 使用
  - frontend/src/app/favicon.ico + icon.png → Next.js App Router favicon
- splash page 升級:加 logo icon + 品牌名 visionA Local + tagline Edge AI Workspace
- Wails window title: "visionA Local — Edge AI Workspace"
- wails.json productName: "visionA Local"
- Next.js metadata title + icons
- i18n: en/zh-TW 把殘留的 "Edge AI 平台" 字串改為 visionA Local 品牌
- .iss: SetupIconFile 指向 branding/icon.ico + UninstallDisplayIcon +
  ArchitecturesAllowed 改 x64compatible 修掉之前的 deprecation warning

品牌色票:
- 主色 #4F7EFF(電子藍)
- 輔色 #6EF3C5(mint 點綴)
- 深色背景漸層 #1A1F36 → #0E1222
- 警示 #FF6B6B

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-12 04:42:41 +08:00

55 lines
2.4 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" width="1024" height="1024">
<!-- visionA Local — Logo -->
<!--
設計理念:
- 外層 rounded square 作為 app icon 的標準容器
- 深色背景 (#1A1F36) 襯托鏡頭感
- 同心圓 = 相機鏡頭 / 視覺感測器
- 中央幾何 "V" (vision 的縮寫) 用電子藍點陣強調「AI / edge」感
- 一點 mint 點綴用來打破純藍的冰冷
-->
<defs>
<linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#1A1F36"/>
<stop offset="100%" stop-color="#0E1222"/>
</linearGradient>
<linearGradient id="lensGrad" x1="30%" y1="20%" x2="70%" y2="80%">
<stop offset="0%" stop-color="#6EA8FF"/>
<stop offset="100%" stop-color="#4F7EFF"/>
</linearGradient>
<radialGradient id="centerGrad" cx="50%" cy="45%" r="60%">
<stop offset="0%" stop-color="#6EF3C5" stop-opacity="0.9"/>
<stop offset="60%" stop-color="#4F7EFF" stop-opacity="0.2"/>
<stop offset="100%" stop-color="#4F7EFF" stop-opacity="0"/>
</radialGradient>
</defs>
<!-- 背景圓角方框 -->
<rect x="0" y="0" width="1024" height="1024" rx="220" ry="220" fill="url(#bgGrad)"/>
<!-- 外層鏡頭圓環(最粗) -->
<circle cx="512" cy="512" r="360" fill="none" stroke="url(#lensGrad)" stroke-width="36"/>
<!-- 中層鏡頭圓環(細) -->
<circle cx="512" cy="512" r="296" fill="none" stroke="#4F7EFF" stroke-width="14" stroke-opacity="0.6"/>
<!-- 內層光暈(中央感測器意象) -->
<circle cx="512" cy="512" r="240" fill="url(#centerGrad)"/>
<!-- 中央 "V" 幾何標誌vision -->
<!-- 用兩條粗線組成,線條頂端有 pixel dot底部交會 -->
<g stroke="#FFFFFF" stroke-width="44" stroke-linecap="round" stroke-linejoin="round" fill="none">
<path d="M 360 360 L 512 640"/>
<path d="M 664 360 L 512 640"/>
</g>
<!-- Pixel accent dots三個像素點強化 edge AI 的概念) -->
<circle cx="360" cy="360" r="22" fill="#6EF3C5"/>
<circle cx="664" cy="360" r="22" fill="#6EA8FF"/>
<circle cx="512" cy="640" r="26" fill="#FFFFFF"/>
<!-- 右上角 active indicator科技感點綴 -->
<circle cx="760" cy="264" r="14" fill="#6EF3C5" opacity="0.85"/>
<circle cx="760" cy="264" r="24" fill="none" stroke="#6EF3C5" stroke-width="3" opacity="0.4"/>
</svg>