feat(729-3): 단가산출 못옮김 잇기 창 · 단위 성격 다른 후보 계수 칸 · 남은 줄 표 못옮김 단추(729-4 이음)

- 새 Hopyo_Lost: 못옮김 줄마다 찾기(노임 LB · 자재 MT) · 기계(EQ) · 우리에 없음(뺌) → 캐시 m02-hopyo-lost 모두를 [잇기 만들기] 한 번에(서버가 부를 때마다 그 블록 잇기 전부로 다시 셈) · 바탕 = 그 SK 문서 바탕(로직 · 입력값 · 환산)
- 단가산출 칸: 만든 줄 표 못옮김 열 · [잇기 (n)] · 만든 줄 모아 둠 · 고름 대기 후보 계수(성격 다른 단위) = 계수 칸 → 환산 {계수} · 729-5 남은못옮김 칸 미리 받음
- 안 이은 줄 표: 못옮김 남은 SK 를 쓰는 줄(단산 · SK · 못옮김) = [못옮김 잇기 (n)]
- 시험 test_729_3_hopyo_left_screen 소스 확인 더함(계수 · 잇기 모두 · 바탕)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-02 11:57:47 +09:00
co-authored by Claude Opus 5.5
parent ee2c5b1de3
commit fe78849463
6 changed files with 304 additions and 10 deletions
@@ -100,7 +100,16 @@ def test_마법사_끝내기_막음_단가산출_칸_목록_열():
assert "finish.disabled = !!n?.줄;" in wizard # 띠 · 남은 수 · [끝내기] 막음
assert "sangeunStep(scope, file.키)" in wizard and "/sangeun`" not in wizard
sk = _text("M02_MasterTemplete_Hopyo_WizardSk.ts")
assert "makeSangeun(scope, key, picks)" in sk and "picks[no] = { 로직: s.value }" in sk
assert "makeSangeun(scope, key, picks)" in sk
assert "picks[no] = { 로직: s.value, ...(need ? { 환산: { 계수: c } } : {}) };" in sk # 계수 칸
lost = _text(
"M02_MasterTemplete_Hopyo_Lost.ts"
) # 못옮김 잇기 = 캐시 모두 · 바탕 = SK 문서 바탕
assert "const links = Object.values(loadLinks(k));" in lost and "잇기: links," in lost
assert "로직: doc.바탕.로직, 입력값: doc.입력값 ?? {}" in lost
assert "row.못옮김?.length && row.단산 !== undefined && row.SK" in _text(
"M02_MasterTemplete_Hopyo_Left.ts"
)
lib = _text("M02_MasterTemplete_Library_List.ts")
assert 'L("M02_LibUnlinked"), (r) => (r.안이은줄' in lib
assert "unlinkedBar(doc, edit)" in _text("M02_MasterTemplete_Labor_Grid.ts")
@@ -108,6 +117,7 @@ def test_마법사_끝내기_막음_단가산출_칸_목록_열():
"M02_MasterTemplete_Hopyo_Left.ts",
"M02_MasterTemplete_Hopyo_WizardSk.ts",
"M02_MasterTemplete_Labor_Unlinked.ts",
"M02_MasterTemplete_Hopyo_Lost.ts",
):
src = _text(name)
assert len(src.splitlines()) <= 700, name