From a850745f853cee2f558cacd692147e12c3be583d Mon Sep 17 00:00:00 2001 From: hyungi Date: Wed, 17 Jun 2026 12:32:25 +0900 Subject: [PATCH] =?UTF-8?q?feat(docpage):=20asme=20=EC=A0=88=EB=B7=B0=20Pa?= =?UTF-8?q?rt=20=EC=A0=91=EC=9D=B4=20=EA=B7=B8=EB=A3=B9=20=EB=A0=8C?= =?UTF-8?q?=EB=8D=94=20=E2=80=94=20SectionOutline=20rail=20+=20[id]=20tree?= =?UTF-8?q?Nav=20(asme=20D8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit flat 1030 절뷰를 read-time 표현계층에서 front-matter 단일 접이그룹 + PART/APPENDIX 접이그룹 (기본 전부 접힘)으로. 빌더/재분해 무접촉, 검색 무관(in_corpus=false 불변). - partitionOutlineItems: 순서기반 carry-forward 그룹핑(비-PART top-segment 항목은 직전 PART 흡수). buildPartOutline = partitionOutlineItems∘collapseWindows 로 통일. PART_MARKER_RE = case-sensitive PART/SUBSECTION/APPENDIX(+대문자제목 가드) — 본문 cross-ref/문장 false match 차단 (5210 'Part D…'·'PART UW 규정은…' 거부). 한글제목 PART 미인식은 D3 재정련(주석 박제). - partGroupViews/groupKeyByChunkId: front-matter 첫 그룹 평탄화 + auto-expand 역인덱스. - SectionOutline.svelte: Part 접이 모드 + groupOrFlat 폴백 + activeKey auto-expand. - [id]/+page.svelte: treeNav 그룹 접이(treeNode 스니펫·d3 시안 보존) + 기본선택=첫 본문 Part + selectedSectionId auto-expand. 데스크탑/모바일 treeNav 공유. - 리뷰 반영: rail max-height calc() 공백 fix / treeNode a11y role 조건부 / 문서 전환 접이상태 리셋 / 모바일 본문 스코프 주석. real-data 검증(prod read-only): 5180 → front-matter231 + 15 PART + 6 APPENDIX = 22 접이그룹· 커버리지 1030/1030·PG-27 정상. 5210(D3 재분해 전 stale) → 깨끗 PART 0 → hasParts=false → flat 폴백(무회귀). 단위 26/26, vite build PASS. Co-Authored-By: Claude Opus 4.8 (1M context) --- .../src/lib/components/SectionOutline.svelte | 71 +++++++- frontend/src/lib/utils/headingPath.test.ts | 167 +++++++++++++++++- frontend/src/lib/utils/headingPath.ts | 126 +++++++++---- .../src/routes/documents/[id]/+page.svelte | 67 ++++++- 4 files changed, 383 insertions(+), 48 deletions(-) diff --git a/frontend/src/lib/components/SectionOutline.svelte b/frontend/src/lib/components/SectionOutline.svelte index ab213aa..ea7f61f 100644 --- a/frontend/src/lib/components/SectionOutline.svelte +++ b/frontend/src/lib/components/SectionOutline.svelte @@ -1,13 +1,18 @@