Project_WL/AgentScripts/WL813c2_PROBE.txt

127 lines
9.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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="<color=#F2F5FA>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="<color=#F2F5FA>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="<color=#F2F5FA>9002[-]"
설정 seconds=2s fontPx=52 widthPx=560 lineHeightPx=68 rightMarginPx=40 centerOffsetPx=-120 panel=True 밝기하한=0.72 · 등급1 태그 <color=#a6a6a7> → <color=#F2F5FA>
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] 병합 문구 = "<color=#F2F5FA>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 ==