fix(m01-sl): 바깥 값 — 옛 답은 버리고 다시 받음 · 아직 고르지 않은 상자는 묻지 않음

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PSXsvyDxjNmufteN5bqmt
This commit is contained in:
2026-10-01 13:42:50 +09:00
co-authored by Claude Opus 5.5
parent fdc06bbc26
commit 90f4e6ab20
@@ -103,6 +103,9 @@ export function outsidePlaces(M: Mods, sl: SheetLogic): SlOutsideAt[] {
const at = new Map<string, SlOutsideAt>();
const put = (p: SlOutsideAt): void => {
const k = `${p.sheet}!${p.cell.toUpperCase()}`;
// 아직 고르지 않은 상자(빈 번호)는 묻지 않음
const it = p.item as { key?: string; table?: string; element?: string };
if (!(it.key ?? it.table ?? it.element)) return;
if (!at.has(k)) at.set(k, p);
};
M.item.itemOutsides(sl).forEach(put);
@@ -184,7 +187,11 @@ export function showPaper(
outsideTimer = setTimeout(() => {
const from = sl;
void fillOutside(M, from).then(({ sl: next, errors }) => {
if (sl !== from) return; // 그 사이 또 바뀜 — 다음 그리기가 다시 받음
if (sl !== from) {
// 그 사이 또 바뀜 — 지금 것으로 다시 받음(옛 답 · 옛 까닭은 버림)
outsideSig = "";
return refreshOutside();
}
if (savedSl === from) savedSl = next;
sl = next;
outsideSig = sigOf(next);