feat: 完成70%全局样式与可读性优化

This commit is contained in:
rain
2026-07-31 11:27:15 +08:00
parent 96524e4d6c
commit 555aa00043
116 changed files with 1928 additions and 1169 deletions
+30 -2
View File
@@ -47,6 +47,8 @@ foreach ($required in @(
'v-for="row in generationRows"',
':style="generationBandStyle(row)"',
'const treeMetrics = computed(',
'const NODE_HALF_HEIGHT = 112;',
'const GENERATION_GAP = 296;',
':style="treeState === ''tree'' ? treeMetricsStyle : undefined"',
'const recenterSelectedMember = async () =>',
'class="tree-recenter"',
@@ -87,17 +89,43 @@ if ($invalidatedGuardIndex -lt 0 -or $contextWriteIndex -le $invalidatedGuardInd
if ($page -match '<scroll-view\s+class="tree-stage"') {
throw 'T01 outer vertical tree owner must preserve the stage grid instead of wrapping its grid children'
}
if ($page -notmatch '(?s)\.tree-stage--lineage\s*\{[^}]*display:\s*grid;[^}]*grid-template-columns:\s*144rpx minmax\(0, 1fr\);') {
throw 'T01 generation rail must stay beside the tree canvas'
if ($page -notmatch '(?s)\.tree-stage--lineage\s*\{[^}]*display:\s*grid;[^}]*grid-template-columns:\s*72rpx minmax\(0, 1fr\);') {
throw 'T01 generation rail must use the compact rail beside the tree canvas'
}
if ($page -notmatch '(?s)\.generation-band__copy text\s*\{[^}]*writing-mode:\s*vertical-rl;') {
throw 'T01 generation labels must use vertical text in the compact rail'
}
if ($page -notmatch '(?s)\.generation-band__copy text\s*\{[^}]*text-orientation:\s*upright;') {
throw 'T01 generation numerals must stay upright in the vertical labels'
}
if ($page -notmatch 'class="generation-band__line"') {
throw 'T01 generation divider must use the vertical orientation'
}
if ($page -notmatch '(?s)\.generation-band__line\s*\{[^}]*border-left:\s*1rpx solid') {
throw 'T01 generation divider must be a vertical line between the labels'
}
if ($page -notmatch '(?s)\.generation-band\s*\{[^}]*height:\s*104rpx;') {
throw 'T01 generation labels must have enough height for the readable text size'
}
if ($page -notmatch 'row\.y - NODE_HALF_HEIGHT.*span 21') {
throw 'T01 generation labels must align to the readable member-node height'
}
if ($page -notmatch '(?s)\.member-node\s*\{[^}]*position:\s*relative;') {
throw 'T01 graph node must retain its positioned tree layout'
}
if ($page -notmatch '(?s)\.member-node\s*\{[^}]*height:\s*224rpx;') {
throw 'T01 graph nodes must have room for the readable text size'
}
if ($pedigree -match 'scroll-x|treeScrollLeft|changeGeneration =') {
throw 'T02 must leave horizontal gestures to the native swiper, not an outer scroll or click pager'
}
if ($page -notmatch 'openPage\(\s*"T02"') {
throw 'T01 must expose the pedigree page from the tree header'
}
if ($page -notmatch 'member\.treeYears\s*\|\|\s*member\.years' -or
$pedigree -notmatch 'member\.treeYears\s*\|\|\s*member\.years' -or
$pedigree -notmatch 'text-combine-upright:\s*all') {
throw 'Tree readers must use compact year ranges instead of clipping full dates in narrow columns'
}
Write-Output 'T01-TREE-STATE-CONTRACT PASS'