Project_WL/AgentScripts/WL813c2_PROBE.txt

127 lines
9.3 KiB
Plaintext
Raw Normal View History

# 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 ==