# WL813c2 Probe 2026-09-09 14:46:39 (edit mode · Play False) ── ⓪ 값 — 이번 작업으로 늘어난 SO 필드 실측(코드 상수 0) [PASS] WLHudLayoutSettings 에셋 보스 바 : poll=True @10Hz · 아레나추종=True · 사망숨김=True · 재바인드조건(BossSpawned)=True · 눈금=0.70,0.40 · 숨김지연=1.2s [PASS] WLCombatTextSettings 에셋 토스트 : 줄상한=3 · 표시=2s · 병합창=0.5s(보이는동안=True) · 넘침페이드=0.15s · 큐=6 · 골드포함=False [PASS] WLZonePickupSettings 에셋 픽업카드: 부활중정지=True · 전용캔버스=True · sortingOrder=40 · 타임아웃=10s · 열기지연=0.35s 부활 : reviveSortingOrder=60 [PASS] 카드 sortingOrder 40 < 부활 60 (발주서 §1-3) 런 UI : bossResetOnRunStart=True · bossBarRebindOnRunStart=True · bossBannerRetriggerOnRunStart=False ── ① 합성 캔버스(1080×1920 Expand) · IngameUIs/WL_HUD · 보스 바 · 토스트 · 부활 팝업 BossHpBar.Initialize : initialized subscribed=True · layout size=(1564.44, 117.33) unitsPerPx=1.7778 ticks=2 · 늦은구독: 살아 있는 보스 없음(스캔 0) [PASS] 보스 바 조립 LootToast.Initialize : 구독 ON · lines=3 root pos=(-71.11, -213.33) size=(962.67, 362.67) unitsPerPx=1.7778 · 부모=607.5px · 폭 560→541.5px(상한 560) · 우여백 40→40.0px · pad=26.0px · 슬라이드 60→14.0px · 우측 최대 침범 0.0… [PASS] 토스트 조립 ReviveDialog.Initialize : initialized · 폴백 팝업 box size(1351.11, 675.56) unitsPerPx=1.7778 [PASS] 부활 팝업은 닫힌 상태로 시작 ── ② D-26 — 보스 HP 바가 실제 HP 를 따라가는가 (Q6 `PD3_05` = 프로브 869/1800 인데 바 3칸 만피) RaiseFakeBossSpawned(100) : dispatched Spawned(isBoss=true) subscribers=1 [PASS] 물린 직후 ratio=1.000 (실측 1.000) [PASS] 폴링 off → 갱신 0(C8 롤백 = 813q2 동작) [PASS] 🔴 D-26 재현 — 실제 869/1800 = 0.483 인데 바는 1.000 (MaxHP 가 폴백 100 에 굳어 Clamp01(869/100)=1.000) [PASS] 폴링 on → 갱신 1회 [PASS] MaxHP 보정 1회(100 → 1800) [PASS] 발주서 §1-5 — 1800→869 → fill 0.483 (기대 0.483) [PASS] Image.fillAmount 실측 = 0.483 [PASS] HP 가 올라가도 따라간다(회복 경로) ratio=0.695 [PASS] 10 % 구간 ratio=0.100 [PASS] 페이즈 눈금 2개 = 3칸 분할 유지(0.70 / 0.40) 눈금 위치 : Tick_0@0.70 Tick_1@0.40 [PASS] HP 0 → fill 0.000 RaiseFakeKilled : dispatched Killed subscribers=2 [PASS] 처치 이벤트 수신 → 0 유지(숨김은 bossBarHideDelaySec 뒤) [PASS] 물림 해제 상태 + BossSpawned=false → 폴링이 바를 다시 켜지 않는다 [BossHpBar] subscribed=True visible=False ratio=0.000 hp=0/1800 seen(Spawned/Hit/Killed)=1/0/1 늦은구독=False(스캔 0 · BossArena.Boss=없음) [813c2] 폴링 4회 · MaxHP 보정 1회 · 아레나 재바인드 0회 · hp=0/1800 · BossArena.BossSpawned=False · 설정 poll=True@10Hz 아레나추종=True 사망숨김=True 재바인드조건=True [813q2] 런 리셋 1회 · 런 보스 HP=없음 (본적=False) · RunStarted 구독=1 CombatEvents subscribers Spawned=1 HitConfirmed=1 Killed=2 Enabled=True root pos(0.00, -337.78) size(1564.44, 117.33) aMin(0.50, 1.00) aMax(0.50, 1.00) bar size(0.00, 49.78) aMin(0.00, 0.00) aMax(1.00, 0.00) fill=0.000 ticks=2 Tick_0 at=0.700 w=7.1 Tick_1 at=0.400 w=7.1 설정 sizePx=(880.00, 28.00) topMarginPx=190 ticks=0.70,0.40 ── ③ D-23 잔여 — 「다음 런」 뒤 이전 런 보스 바 잔존 (Q6 `PD3_07`) [PASS] BossArena.s_armed 필드 확보(리플렉션 · 읽기/쓰기 1회) [PASS] 아레나가 보스를 잡고 있다 [PASS] 🔴 원인 — `BossArena.ResetGate()`(다음 런) 뒤에도 `BossArena.Boss` 가 **그대로 남는다** → 813q2 리셋 직후 `BindExistingBoss()` 가 이전 런 보스를 즉시 다시 문다(= 화면상 「잔존」) [PASS] 반면 `BossSpawned` 는 ResetGate 가 false 로 되돌린다 → 이 값을 재바인드 조건으로 쓴다 RaiseFakeBossSpawned(1800) : dispatched Spawned(isBoss=true) subscribers=1 [PASS] 런1 — 바 표시 중(ratio 0.483) RunStarted 구독자 = 1 [PASS] RunStarted → 런 시작 리셋 1회 [PASS] ✅ D-23 — 「다음 런」 직후 보스 바 **숨김**(visible=False) [PASS] 결과 화면이 읽는 런 단위 HP 값도 비워졌다(-1.00) [PASS] 그 뒤 폴링을 돌려도 다시 켜지지 않는다(재바인드 조건 미충족) 조건 off 리셋 결과 : 런시작리셋 → 늦은구독: 살아 있는 보스 없음(스캔 0) [PASS] C8 롤백 — 조건을 끄면 곧바로 `BindExistingBoss()` 로 간다(813q2 동작) [PASS] C8 — bossResetOnRunStart=0 → 리셋 자체 생략(813q 동작) ── ④ D-31 — 획득 토스트 (Q6: 60 s 21건 · 「창 안 6줄」) 🔴 실측 구분 — Q6 의 「창 안 6줄」은 프로브가 **표시 시간 창 안의 Picked 이벤트 수**를 센 값이다 (`Assets/WL/Tools/WL813_ScoreProbe.cs:437~443`). 화면 동시 줄 수는 813g 때부터 lootToastLines 로 막혀 있다. [PASS] 서로 다른 21건 → 화면 동시 최대 3줄 ≤ 상한 3 [PASS] 넘친 만큼 오래된 줄을 즉시 페이드시켰다(1회 · 0.15s) [PASS] 나머지는 큐에서 자리를 기다린다(대기 6 · 큐버림 12) LootToast subscribed=True killedSeen=1 push=3 merge=0 drop=1 visible=3 [813c2] 상한=3 대기=6/6 큐버림=12 넘침페이드=1회 · 병합창=0.50s(보이는동안=True) · 페이드=0.15s [0] used=True item=9000 x1 alpha=1.00 pos=(0.00, 0.00) size=(962.67, 120.89) font=92.4 panel=#08080DAD off(-32.00, -10.67)(32.00, 10.67) text="9000[-]" [1] used=True item=9001 x1 alpha=1.00 pos=(0.00, -120.89) size=(962.67, 120.89) font=92.4 panel=#08080DAD off(-32.00, -10.67)(32.00, 10.67) text="9001[-]" [2] used=True item=9002 x1 alpha=1.00 pos=(0.00, -241.78) size=(962.67, 120.89) font=92.4 panel=#08080DAD off(-32.00, -10.67)(32.00, 10.67) text="9002[-]" 설정 seconds=2s fontPx=52 widthPx=560 lineHeightPx=68 rightMarginPx=40 centerOffsetPx=-120 panel=True 밝기하한=0.72 · 등급1 태그 clamp = 부모=607.5px · 폭 560→541.5px(상한 560) · 우여백 40→40.0px · pad=26.0px · 슬라이드 60→14.0px · 우측 최대 침범 0.0px · clamp=True edge = LiberationSans SDF Material (WL813y Edge) shader=TextMeshPro/Mobile/Distance Field outlineW=0.240 outlineC=080505FF underlay=000000B2 off(0.40,-0.40) soft=0.18 UNDERLAY_ON=True [PASS] 자리가 나자 큐에서 3건이 나갔다(대기 6 → 3) [PASS] 큐가 나가도 동시 줄 수는 상한 유지(실측 3) 첫 배치 대기 6 · 두 번째 배치 대기 6 [PASS] 같은 아이템 8건 → 줄 1개(병합) [PASS] 병합 문구 = "2[-] x8" (형식 {0}[-] x{1} · 표 미로드라 이름은 ID) [PASS] 병합 창(0.5s) 밖이어도 보이는 동안이면 한 줄 — 실측 1 [PASS] C8 — 스위치를 끄면 창 밖은 새 줄(813g 동작) 실측 2 [PASS] C8 — 페이드 0 이면 큐를 쓰지 않는다(대기 0) [PASS] 그래도 동시 줄 수는 상한 3 유지(실측 3) [PASS] C8 — lootToastEnabled=0 → 표시 0 ── ⑤ D-29 — 부활 팝업이 카드를 덮는 동안 카드 타이머 정지 (Q6 `R3_15`) [PASS] table_selectskill.Ins(원본 Awake 경로) ZonePickup.Bind : 연결 IngameUIs/WL_HUD · box(1742.22, 1280.00) 카드=3 unitsPerPx=1.7778 [PASS] 카드 노드 조립 [PASS] 카드 전용 Canvas sortingOrder = 40 [PASS] ✅ 카드(40) < 부활 팝업(60) = 부활이 위로 온다 [PASS] 카드 열림 — phase=Open open=True zone=0 picks=0 cards=3 sec=10 timerPaused=True worldHeld=False actorsStopped=True orig=False bound=True · [813c2] 부활정지=False(정지 0회 · 재개 0회 · 틱 0 · 누적 0.00s) sortingOrder=40(부활 60) raycaster=True 3 s 경과 — 남은 초 표시 = 7초 후 자동 선택 (7) ReviveDialog.ShowNowOnce : 폴백 팝업 표시 msg="존 시작점에서 부활합니다. 무료" [PASS] 부활 팝업 Busy = True [PASS] 카드는 닫히지 않는다(부활 아래에 그대로 있다) [PASS] 타이머 정지 상태 = True [PASS] ✅ D-29 — 부활 중 9 s 가 흘러도 자동 선택 0(열림=True timeout=0) [PASS] 남은 초 표시도 멈춰 있다 7 → 7 ("7초 후 자동 선택") [PASS] 누적 정지 9.00s (기대 9.00) [PASS] 정지 진입 1회 — 실측 1 [PASS] 부활 팝업 닫힘 [PASS] 재개 1회 — 실측 1 [PASS] 재개 직후에도 아직 열려 있다(남은 7초부터) [PASS] 정지분(9 s)을 뺀 남은 시간이 다 지나면 그때 자동 선택(timeout=1) [PASS] C8 — 카드 다시 열림 ReviveDialog.ShowNowOnce : 폴백 팝업 표시 msg="존 시작점에서 부활합니다. 무료" [PASS] 🔴 C8 재현 — 스위치를 끄면 부활 팝업 아래에서 타이머가 흘러 자동 선택된다(= Q6 D-29 그대로) [PASS] C8 — ownCanvasEnabled=0 → overrideSorting 해제(형제 순서만 · 813o 동작) [PASS] 복구 sortingOrder=40 ── ⑥ GC — 매 프레임 경로(보스 바 폴링 · 카드 틱 · 토스트 수명)에서 할당 0 보스 바 폴링 20,000회 : 1185767424 → 1185767424 (0 B) [PASS] 폴링 경로 할당 ≈ 0 (실측 0 B / 20,000회) 픽업 Tick(대기 상태) 20,000회 : 0 B [PASS] 카드 틱 경로 할당 ≈ 0 (실측 0 B / 20,000회) == 합계 PASS 65 · FAIL 0 ==