S68 Ziwei — 3 Features Design Overview

Tiểu Hạn toggle + Cung Can Tứ Hóa toggle + Settings page

1. Tiểu Hạn (小限) Toggle

Mỗi năm tuổi, Tiểu Hạn rơi vào 1 cung cố định. Khi bật toggle, overlay age label lên mỗi palace cell.

Option A — Badge trong footer strip
PHỤ MẪU
Thiên Đồng
2-11 TH:3t Giáp Dần
PHÚC ĐỨC
Liêm Trinh
12-21 TH:4t Ất Mão
ĐIỀN TRẠCH
Vũ Khúc
22-31 TH:5t Bính Thìn
SỰ NGHIỆP
Tử Vi Miếu
32-41 ★TH:31t Đinh Tỵ

TH:Xt = Tiểu Hạn năm X tuổi. Cung hiện tại highlight vàng ★

Option B — Overlay text nhỏ góc phải (Recommended)
3t
PHỤ MẪU
Thiên Đồng
2-11 Giáp Dần
4t
PHÚC ĐỨC
Liêm Trinh
12-21 Ất Mão
5t
ĐIỀN TRẠCH
Vũ Khúc
22-31 Bính Thìn
★31t
SỰ NGHIỆP
Tử Vi Miếu
32-41 Đinh Tỵ

Age overlay nhỏ gọn ở góc. ★ = cung Tiểu Hạn hiện tại. Không chiếm space footer.

A

Footer strip badge "TH:Xt"

Badge vào footer strip giữa age range và Can Chi. Nhất quán với layout hiện tại, nhưng footer khá chật.

B

Overlay text góc phải (Recommended)

Text nhỏ overlay góc trên phải cell. Clean, không chiếm space footer. Cung hiện tại highlight đặc biệt.

2. Cung Can Tứ Hóa Toggle

Mỗi cung có 1 Can → tra bảng → 4 sao (Lộc/Quyền/Khoa/Kỵ) rơi vào các cung khác. Khi bật: vẽ overlay lines + badge nguồn.

Khi tap 1 cung + Cung Can Tứ Hóa ON
PHỤ MẪU
Thiên Đồng
Lộc ← Mệnh
MỆNH CUNG
Tử Vi
Can: Giáp
Lộc→Phụ Mẫu · Quyền→Điền · Khoa→Tài · Kỵ→Thiên Di
ĐIỀN TRẠCH
Vũ Khúc
Quyền ← Mệnh
TÀI BẠCH
Thái Dương
Khoa ← Mệnh

Tap cung Mệnh (Can = Giáp): hiện badge Lộc/Quyền/Khoa/Kỵ ở cung đích + dashed lines nối.
Badge có label nguồn "← Mệnh" để biết tứ hóa đến từ cung nào.

A

Badge only (no lines)

Chỉ show badge Lộc/Quyền/Khoa/Kỵ trên sao ở cung đích. Clean nhưng khó thấy mối quan hệ.

B

Badge + Dashed lines (Recommended)

Badge ở cung đích + dashed lines overlay từ cung nguồn. Color-coded: Lộc=xanh lá, Quyền=đỏ, Khoa=xanh dương, Kỵ=tím.

C

Firm 13 style (center panel list)

Show tứ hóa mapping trong center panel thay vì overlay grid. Ít clutter nhưng phải đọc text.

3. Settings Page — 1 trang ScrollView, style Bazi

Cấu trúc sections theo Firm 13 nhưng dark cosmic + gold headers như BaziSettingsView.

Ziwei Settings — Section Structure
Xong Cài Đặt Tử Vi
HIỂN THỊ MỆNH BÀN
Tiểu Hạn
Cung Can Tứ Hóa
Tam Phương Lines
Lưu Tinh hiển thị
Phụ Tá Sát hiển thị
TÍNH TOÁN
Tý Sớm/Đêm
Tý Sớm Tý Đêm
Tuổi hiển thị Thực tuổi ›
Thiên Cần Tứ Hóa Trung Châu ›
Nhuận Nguyệt 15 ngày ›
LƯU VẬN
Đại Vận thuận/nghịch Chuẩn ›
Lưu Niên xếp Lưu Niên Chi ›
Lưu Nguyệt xếp Đẩu Quân ›
↺ Đặt lại mặc định

Mở từ nút ⚙ trên toolbar. Gold section headers, dark cards, violet tint — giống BaziSettingsView.

✅ Self-Verify Results — Implementation Complete

Branch feat/s68-ziwei-toggles-settings · 10 commits · Build SUCCEEDED on iPhone 17 sim

📱 Tiểu Hạn badge (★T.Hạn:1t footer)
Chart with Tiểu Hạn

✅ Verified:

  • Cung Quan Lộc footer hiển thị ★T.Hạn:1t với gold tint
  • Cung Thân Cung có THÂN label · Mệnh Cung gold border
  • Tứ Hóa badges render trên chính tinh

⚠️ Natal mode T.Hạn:1t (age 1 = năm sinh, namXem=nil). S69 có thể default tuổi hiện tại.

🔗 Cung Can Tứ Hóa — BADGES + LINES ✨ (FIXED!)
Cung Can Tứ Hóa badges fixed

✅ Verified — Toggle ON + Phu Thê selected:

  • Tử Tức: badges Lộc + Khoa (Thái Dương + Thái Âm cùng cung đích)
  • Tài Bạch: badge Quyền (Vũ Khúc/Thiên Phủ)
  • Tật Ách: badge Kỵ (Thiên Đồng)
  • Dashed lines từ Mệnh → 4 destinations với màu match badge

✅ FIXED: Move badges từ zone1 (overflow) → headerStrip ngay dưới tên cung. Visible 8pt heavy color-coded background.

🌟 Mệnh selected — overlay từ Can Mệnh
Mệnh cung can tứ hóa

✅ Tap Mệnh → mapping recalc:

  • Mệnh có Tử Vi/Phá Quân, can Bính → tứ hóa khác Phu Thê
  • Cyan + Pink lines render từ Mệnh ra 4 cung đích
  • Mệnh detail panel mở với Tả Phù/Hữu Bật/Mộc Dục/Tang Môn/Thiên Quý/Thanh Long/Nguyệt Sát/Địa Không
  • Lá số khác (Tử Vi/Phá Quân Mệnh, Hỏa Lục Cục — birth data tự reset khi relaunch sim)
⚙️ Cài Đặt Tử Vi — Settings sheet hoạt động
Settings Sheet

✅ Verified:

  • 3 sections render: HIỂN THỊ MỆNH BÀN · TÍNH TOÁN · LƯU VẬN
  • 5 toggles: Tiểu Hạn ✓ · Cung Can Tứ Hóa ✗ · Tam Phương ✓ · Lưu Tinh ✓ · Phụ Tá Sát ✓
  • Segmented controls violet tint khi active (Tý Sớm / Thực tuổi / Trung Châu / 15 ngày / Chuẩn / Lưu Niên Chi)
  • Gold uppercase tracked headers (port từ BaziSettingsView style)
  • Nav title "Cài Đặt Tử Vi" · Xong button violet ở top-left

⚠️ Entry point: Wired vào tab "Cài Đặt" trên bottomNav thay vì ⚙ trên ZiweiChartToolbar (toolbar deprecated, không render).

🚀 9 Tasks Executed

  1. ✅ ZiweiSettingsStore skeleton (12 keys, UserDefaults persist)
  2. ✅ tinhTieuHanChi engine (NamD / NamA / NuD / NuA)
  3. ✅ Wire Tiểu Hạn data flow (engine → result → ZiweiPalace) — 6 files touched
  4. ✅ Tiểu Hạn UI (PalaceCell footer badge + ThienBan luuVan row)
  5. ✅ cungCanTuHoaMapping computed (canIdByName + tuHoaByCanNam lookup)
  6. ✅ Cung Can Tứ Hóa badges (PalaceCell.zone1 với nhãn ← cung nguồn)
  7. ✅ Cung Can Tứ Hóa dashed lines overlay (Canvas, color-coded)
  8. ✅ ZiweiSettingsView UI (3 sections, Bazi-style helpers)
  9. ✅ Wire Cài Đặt tab → sheet + full sim verify

⏭️ Next Steps (S69 candidates)

Đã ghi nhận lựa chọn