<feed xmlns='http://www.w3.org/2005/Atom'>
<title>strategy-lab.git/frontend/src/pages, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>http://git.somhairle.bid/strategy-lab.git/atom?h=main</id>
<link rel='self' href='http://git.somhairle.bid/strategy-lab.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/'/>
<updated>2026-09-18T10:36:34+00:00</updated>
<entry>
<title>[实现方案] 结果页默认折叠 Collapsible「技术口径」渲染 result.assumptions 键值对；warnings Alert 仅显示真实警告（无 assumptions 字段不渲染）</title>
<updated>2026-09-18T10:36:34+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-18T10:36:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/commit/?id=b2c2f9db4b334427c34b2111a4b6609b7af0339b'/>
<id>urn:sha1:b2c2f9db4b334427c34b2111a4b6609b7af0339b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[变更性质] 用户旅程重排：项目首页指标摘要+项目卡、结果页首屏 capital 三卡+交易分页、数据/策略/回测 CTA 与三态统一，token 白名单清扫（docs/ui-user-journey-round6.md §1/§2）</title>
<updated>2026-09-18T10:11:53+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-18T10:11:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/commit/?id=c52a727d11b87d70ec00a7e2569841e6e6abcd9c'/>
<id>urn:sha1:c52a727d11b87d70ec00a7e2569841e6e6abcd9c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[变更性质] feat(frontend)</title>
<updated>2026-09-18T07:49:44+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-18T07:49:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/commit/?id=a7aab01f051487327e5ce52b6a8905208c546e8c'/>
<id>urn:sha1:a7aab01f051487327e5ce52b6a8905208c546e8c</id>
<content type='text'>
[新增功能] 12 页面组件全量 shadcn：Card/Button/Table/Tabs/Select/Alert；375 底部 Tab Bar 改用 Tabs 组件实现
[实现方案] 页面级手写 class 全部移除（.btn/.banner/table.data/.badge/.tabs/.metric-row/.m-tile/.hint 等改为 shadcn + tailwind 工具类）；Modal/DatasetWizard/DatasetCard/DiffView/CodeEditor/Status/Layout 同步
[影响范围] src/pages/*.svelte、src/components/*.svelte
</content>
</entry>
<entry>
<title>[变更性质] feat(frontend)</title>
<updated>2026-09-18T07:49:44+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-18T07:49:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/commit/?id=375584174fb7191a57c5423fea45924ad6d812d5'/>
<id>urn:sha1:375584174fb7191a57c5423fea45924ad6d812d5</id>
<content type='text'>
[新增功能] round5 主题基线重置：shadcn preset b6t6C6CTw CLI init、app.css 仅保留 tailwind + shadcn 主题变量层
[实现方案] 删除 round3 自定义 token/布局原语/legacy 别名；theme.ts 删除；mobileCss 守门测试重写
[影响范围] src/app.css、components.json、lib/utils.ts、lib/theme.ts、测试
</content>
</entry>
<entry>
<title>[变更性质] feat(frontend)</title>
<updated>2026-09-18T04:03:32+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-18T04:03:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/commit/?id=61f5c545953bb4ee20b123bf9671ac35d7f1f3c1'/>
<id>urn:sha1:61f5c545953bb4ee20b123bf9671ac35d7f1f3c1</id>
<content type='text'>
[新增功能] round3 页面组件全量迁移 shadcn-svelte（12 页面 + Modal/DatasetWizard/DatasetCard/Status）
[实现方案] .btn→Button、.banner→Alert、table.data→Table.Root、.badge→Badge、.tabs→Tabs.Root、.metric-card/form.card→Card.Root；ProjectStrategyTab div 配对修复
[影响范围] src/pages/*.svelte、src/components/*.svelte
</content>
</entry>
<entry>
<title>feat(frontend): 回测结果页与对比表接入投入口径一行三项</title>
<updated>2026-09-18T02:36:17+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-18T02:36:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/commit/?id=cad7b02266c6fc582f4ea70422f0128fd0178f02'/>
<id>urn:sha1:cad7b02266c6fc582f4ea70422f0128fd0178f02</id>
<content type='text'>
[变更性质] 页面集成，任务 A1/A2 前端口径统一。
[新增功能] 结果页 metric 区新增累计投入/最终持仓估值/投入回报率三卡（data-testid=capital-reporting，注明"不含初始账户闲置现金"口径），复用现有 .metric 与 formatMoney 数字格式、不加新字色；实验记录页条件差异表新增同口径三行（逐 run 对照，动作同步深化到 status/time 之后）。
[实现方案] 共享 capitalReporting 推导；resultsAccounting.test 断言更新为 9 张 metric 卡并新增三卡 DOM 实测断言。
[影响范围] ProjectResultsTab、RunsPage、resultsAccounting.test；vitest 84/84。
</content>
</entry>
<entry>
<title>feat(frontend): 质感打磨——微过渡、卡片悬停、登录页留白与字阶</title>
<updated>2026-09-18T01:51:16+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-18T01:51:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/commit/?id=4462473fcc185611b6de209f39b3077fed007b75'/>
<id>urn:sha1:4462473fcc185611b6de209f39b3077fed007b75</id>
<content type='text'>
[变更性质] 视觉打磨，前端重设计第二轮之四。
[新增功能] 全局 150ms transition 层；hover:hover 且 768px+ 卡片 hover 上浮；登录/注册页留白重排（2rem/2.4rem 按宽度断点）；h1/h2/h3 字阶统一（1.55/1.18/1.02）。
[实现方案] 单层 app.css 聚合，动效仅在支持 hover 的桌面指针设备生效，避免移动端粘滞态；清理 .hint 重复规则。
[影响范围] app.css、AuthPages.svelte；无行为变化。
</content>
</entry>
<entry>
<title>feat(frontend): 图表增强——网格、hover 当日净值/回撤、回测区间阴影带</title>
<updated>2026-09-18T01:51:10+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-18T01:51:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/commit/?id=ac55af50d93427b91db9f52415c3e7a749943420'/>
<id>urn:sha1:ac55af50d93427b91db9f52415c3e7a749943420</id>
<content type='text'>
[变更性质] 图表层能力扩展，前端重设计第二轮之三。
[新增功能] Chart 网格线使用主题 border 色；hover 手柄提示补充"当日净值+回撤"；回测区间 belowMarks 渲染半透明阴影带（bandShaded 可关）；series 支持 dashed/opacity，Area 填充渲染；equity 行内合并回撤列，drawdown 图改为百分比格式化。
[实现方案] 基于 layerchart marks/belowMarks 泳道与自定义 tooltip snippet（lcExtras 透传绕开字面量类型检查），宽度扩展点保持 resolvedWidth 合同不变。
[影响范围] Chart.svelte、ProjectResultsTab.svelte；图表 probe 断言（svgs 渲染、溢出为 0）不变。
</content>
</entry>
<entry>
<title>feat(frontend): 375px 底部 Tab Bar、窄标题栏与项目面包屑</title>
<updated>2026-09-18T01:50:57+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-18T01:50:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/commit/?id=4390ca3472b8a4a201835e358ad0ad2065e8b7c6'/>
<id>urn:sha1:4390ca3472b8a4a201835e358ad0ad2065e8b7c6</id>
<content type='text'>
[变更性质] 新增移动端导航形态，前端重设计第二轮之二。
[新增功能] ≤767px 呈现底部 Tab Bar（projects/datasets/runs/account 徽标+标签+aria-current）与窄标题栏（品牌/面包屑/账户），≥768px 原桌面布局不变；ProjectPage 顶部新增"我的项目/项目名/功能页"面包屑。
[实现方案] matchMedia('(max-width: 767px)') 反应式驱动的 （Safari &lt;14 兼容addListener 回退），tests 以 matchMedia stub 驱动真实渲染断言；保留 900px 既有断点结构以兼容 mobileCss.test.ts 正则。
[影响范围] Layout.svelte、ProjectPage.svelte；新增 mobileTabbar.test.ts。
</content>
</entry>
<entry>
<title>feat(frontend): 项目列表接入指标卡行与最近回测 sparkline 列</title>
<updated>2026-09-18T01:50:49+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-18T01:50:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/strategy-lab.git/commit/?id=e6ff0f697160ce152b363be97ecbeee13792cf6f'/>
<id>urn:sha1:e6ff0f697160ce152b363be97ecbeee13792cf6f</id>
<content type='text'>
[变更性质] 页面集成，属于前端重设计第二轮功能延展。
[新增功能] ProjectsPage 引入 ProjectMetricRow 顶部指标卡，表格新增"最近回测"列内嵌 sparkline（无回测的项目不渲染）。
[实现方案] records 并行拉取 listDatasets/listRuns/getAIUsage 经 Promise.allSettled 容错；sparkline 按项目 id 懒取最近 result.equity。
[影响范围] ProjectsPage.svelte；新增真实渲染断言测试 projectSparkline.test.ts。
</content>
</entry>
</feed>
