feat(chart): add a read-only natal chart page
Independent Staging Quality Gate / validate (push) Canceled after 5m23s
Independent Staging Quality Gate / publish (push) Canceled after 0s

Open /chart from the sidebar without billing or a model. Five tabs; Western and Qizheng stay unavailable until those endpoints land. Ephemeris nav points at /ephemeris (404 until that page ships).
This commit is contained in:
jesse-ux
2026-09-15 16:27:50 +08:00
parent a3dbbde4a3
commit 830799fafb
30 changed files with 6438 additions and 1 deletions
+26
View File
@@ -576,3 +576,29 @@ Admin 的 antd `<Spin>` 是独立设计系统,不在此表。
禁止再引入 900 / 720 / 760 / 639 / 620 / 430 这类与壳层或彼此错位的切点。新切点必须先改白名单和 `viewport-breakpoint-contract.test.ts`
## 15. 只读星盘页
独立 route `/chart`,不进 `page.tsx`。打开即有,不扣点、不调模型、不出现 spinner / 骨架 / 「正在加载」。盘面从现有路径复用 `VedicChartSvg`,不搬家。
### 结构
页眉:眉标「直接计算 · 打开即有 · 不消耗点数」+ 标题「星盘」+ 出生资料一行。五个 Tab 按体系分:**星盘 / 基础信息 / 大运 / 西洋盘 / 七政四余**。分盘 chip(D1–D30)只出现在印度「星盘」Tab 内部,不得把西洋盘或七政四余做成第 13 个 chip。
侧栏在「新建对话」之后、「我的报告」之前加「星盘」「星历」两个入口;折叠轨(64px)仍用既有 `report-nav-button` 图标行,当前项用白玻璃面 + 2px 深棕标记,不新造选中态。星历入口指向 `/ephemeris`(由另一单交付,合入前 404 是预期)。
### 中宫排盘参数卡
北印盘几何中心叠一张参数卡。桌面(≥768)六行:钟表时间与校正状态、出生地与经纬、岁差、交点模式、上升与月亮星宿、当前大运分运与引擎名。手机(≤767)中宫只留岁差与交点两行;完整六行改到盘下方一张卡。切点跟壳层,不另造 390。
盘内 SVG 文字用 CSS 提到 16px viewBox 单位,使约 318px 盘宽下实际像素不低于 12px。Tab、分盘 chip、返回均 44px。
### 三套坐标系
每一套必须在自己的 Tab 里写明自己是什么,并显式点名不能互相换算、也不能叠成「双重印证」:
- 印度盘:恒星黄道,岁差用资料里选的那一套。
- 西洋盘:回归黄道,宫位 Placidus;右栏第一张是边界卡。端点未上线时 Tab 仍在,渲染静态说明,整页不失败。
- 七政四余:宿度自角宿初度起算。必须同时出现计都派别与庙旺未闭合。端点未上线时同样只渲染静态说明。
「传统象征」是词条式释义,带边界句「不是对你个人的判断」,不得写成运势。大运 Tab 底部固定:「只有两条同时指向同一段时间才算证据,单轨命中要降一级来看。」Chara 的正式名称是 **Chara Dashakn_rao 变体)**,不要写成 Narayana。