REPLAYPROOF

Localization and smoke QA report

Target demo-game · source en · 6 target locales · run demo-r3-critic · 2026-11-11T13:21:47.827Z

Summary

26audited issues
7screens found
42captures
5candidates rejected or unaudited

Legendary blocker 2 Epic critical 1 Rare major 23

By category: black-screen 1 freeze 1 page-error 1 placeholder 4 truncation 2 untranslated 3 glyph 5 wrong-language 4 overlap 2 overflow 2 rtl 1

By locale: zh-CN 3 de 6 ja 10 ru 3 ar 2 th 2

Screens × locales

Screenen (source)zh-CNjaderuarth
Title Screen
n1
Market Square
n2
11
Shop
n3
211
Inventory
n4
1⚠311
Quests
n5
311
Settings
n6
111
NPC Dialogue - Mira the Herbalist
n7
141

Issues

Legendary · blocker

black-screen · zh-CN · Inventory

signal-zh-CN-n4-1 · found by signal

The screen rendered as a black frame.

Signal: black-screen Mean luminance 0.0 / 255
zh-CN screenshot

zh-CN build

Audit (evidence): The settled frame has mean luminance 0.0 of 255.
Repro route
  1. Open the game with ?lang=zh-CN
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Inventory” at (500, 386) on the 0–1000 grid
  4. Screen reached: Inventory
Legendary · blocker

freeze · de · NPC Dialogue - Mira the Herbalist

signal-de-n7-1 · found by signal

The game loop stopped: no animation frame ran for 2218 ms while the screen was open.

Signal: freeze Unchanged for 2218 ms
de screenshot

de build

Audit (evidence): No animation frame ran for 2218 ms and the screen did not change (hash distance 0).
Repro route
  1. Open the game with ?lang=de
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Talk to Mira” at (500, 697) on the 0–1000 grid
  4. Screen reached: NPC Dialogue - Mira the Herbalist
Epic · critical

page-error · ja · Settings

signal-ja-n6-1 · found by signal

Uncaught error on the page: Cannot read properties of undefined (reading 'volume')

Signal: page-error
TypeError: Cannot read properties of undefined (reading 'volume')
    at http://localhost:5173/src/scene.ts:75:20
ja screenshot

ja build

Audit (evidence): Uncaught error recorded by the page listener with a stack trace: Cannot read properties of undefined (reading 'volume')
Repro route
  1. Open the game with ?lang=ja
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Settings” at (500, 592) on the 0–1000 grid
  4. Screen reached: Settings
Rare · major

placeholder · zh-CN · Market Square

rule-zh-CN-n2-1 · found by rule

Visible text contains an unresolved {name} style placeholder.

Text: 金币:{gold}
zh-CN screenshot

zh-CN build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The unresolved placeholder '{gold}' is visible in the text.
Repro route
  1. Open the game with ?lang=zh-CN
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Screen reached: Market Square
Rare · major

truncation · zh-CN · NPC Dialogue - Mira the Herbalist

checker-zh-CN-n7-1 · found by checker

The Chinese text exceeds the width of the option button and is clipped at the right border.

Text: 随便看看,不买东西,谢谢你热情的招待 Expected: 随便看看,谢谢。
zh-CN screenshot

zh-CN build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The text '随便看看,不买东西,谢谢你热情的招待' is truncated at the right edge of the button.
Repro route
  1. Open the game with ?lang=zh-CN
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Talk to Mira” at (500, 697) on the 0–1000 grid
  4. Screen reached: NPC Dialogue - Mira the Herbalist
Rare · major

untranslated · ja · Shop

rule-ja-n3-1 · found by rule

Latin-script text (Today, only, off) in a ja screen that is not on the allowlist.

Text: Today only: 20% off all Lantern
ja screenshot

ja build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The text 'Today only: 20% off all Lantern Oil!' is in English, not Japanese.
Repro route
  1. Open the game with ?lang=ja
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Shop” at (500, 284) on the 0–1000 grid
  4. Screen reached: Shop
Rare · major

untranslated · ja · Shop

rule-ja-n3-2 · found by rule

Latin-script text (Oil) in a ja screen that is not on the allowlist.

Text: Oil!
ja screenshot

ja build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The text '20% off Oil!' is in English, not Japanese.
Repro route
  1. Open the game with ?lang=ja
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Shop” at (500, 284) on the 0–1000 grid
  4. Screen reached: Shop
Rare · major

glyph · ja · Inventory

rule-ja-n4-1 · found by rule

Text shows a broken-glyph pattern: missing-glyph box.

Text: ランタンオイル:普通のオイルの□□の
ja screenshot

ja build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): There are missing glyph boxes visible in the description text, such as in "普通のオイルの□□の".
Repro route
  1. Open the game with ?lang=ja
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Inventory” at (500, 386) on the 0–1000 grid
  4. Screen reached: Inventory
Rare · major

glyph · ja · Inventory

rule-ja-n4-2 · found by rule

Text shows a broken-glyph pattern: missing-glyph box.

Text: 長さで燃える。ミラは沼の□□を口い
ja screenshot

ja build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): There are missing-glyph boxes visible in the Japanese text (e.g. "□□").
Repro route
  1. Open the game with ?lang=ja
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Inventory” at (500, 386) on the 0–1000 grid
  4. Screen reached: Inventory
Rare · major

glyph · ja · Inventory

checker-ja-n4-1 · found by checker

Missing glyph characters (rendered as empty tofu boxes) appear throughout the Japanese item description text.

Text: ランタンオイル:普通のオイルの□□の長さで燃える。ミラは沼の□□を□い払うと断言している。
ja screenshot

ja build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): Several characters in the description text are rendering as empty squares, indicating missing glyphs.
Repro route
  1. Open the game with ?lang=ja
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Inventory” at (500, 386) on the 0–1000 grid
  4. Screen reached: Inventory
Rare · major

wrong-language · ja · NPC Dialogue - Mira the Herbalist

rule-ja-n7-1 · found by rule

Text uses hangul letters that ja does not use.

Text: 어서 오세요, 여행자님! 오늘 밤 늪의 불빛이
ja screenshot

ja build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The main dialogue text is in Korean, but the target language is Japanese (as seen in the character name and buttons below).
Repro route
  1. Open the game with ?lang=ja
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Talk to Mira” at (500, 697) on the 0–1000 grid
  4. Screen reached: NPC Dialogue - Mira the Herbalist
Rare · major

wrong-language · ja · NPC Dialogue - Mira the Herbalist

rule-ja-n7-2 · found by rule

Text uses hangul letters that ja does not use.

Text: 밝아서 발광 버섯이 잘 팔리고 있어요. 무엇을
ja screenshot

ja build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The dialogue text is in Korean instead of Japanese, confirming the wrong-language defect.
Repro route
  1. Open the game with ?lang=ja
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Talk to Mira” at (500, 697) on the 0–1000 grid
  4. Screen reached: NPC Dialogue - Mira the Herbalist
Rare · major

wrong-language · ja · NPC Dialogue - Mira the Herbalist

rule-ja-n7-3 · found by rule

Text uses hangul letters that ja does not use.

Text: 도와드릴까요?
ja screenshot

ja build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The text in the dialogue box is in Korean, while the target language for the UI is Japanese.
Repro route
  1. Open the game with ?lang=ja
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Talk to Mira” at (500, 697) on the 0–1000 grid
  4. Screen reached: NPC Dialogue - Mira the Herbalist
Rare · major

wrong-language · ja · NPC Dialogue - Mira the Herbalist

checker-ja-n7-1 · found by checker

The dialogue text is displayed in Korean rather than Japanese.

Text: 어서 오세요, 여행자님! 오늘 밤 늪의 불빛이 밝아서 발광 버섯이 잘 팔리고 있어요. 무엇을 도와드릴까요? Expected: Japanese translation of the dialogue
ja screenshot

ja build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The main dialogue text is in Korean instead of the expected Japanese, while the title and buttons are in Japanese.
Repro route
  1. Open the game with ?lang=ja
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Talk to Mira” at (500, 697) on the 0–1000 grid
  4. Screen reached: NPC Dialogue - Mira the Herbalist
Rare · major

truncation · de · Market Square

checker-de-n2-1 · found by checker

The German text for 'Inventory' is overly long and gets cut off at the right edge of the button.

Text: Inventarverwaltungsliste a
de screenshot

de build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The text "Inventarverwaltungsliste a" is truncated at the right edge of the middle button.
Repro route
  1. Open the game with ?lang=de
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Screen reached: Market Square
Rare · major

glyph · de · Inventory

rule-de-n4-1 · found by rule

Text shows a broken-glyph pattern: UTF-8 read as Latin-1 or Windows-1252.

Text: Gegenstände
de screenshot

de build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The word "Gegenstände" contains garbled characters instead of the expected 'ä', which is a visible glyph defect.
Repro route
  1. Open the game with ?lang=de
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Inventory” at (500, 386) on the 0–1000 grid
  4. Screen reached: Inventory
Rare · major

placeholder · de · Quests

rule-de-n5-1 · found by rule

Visible text contains an unresolved %s / %d style placeholder.

Text: Belohnung: %d Gold
de screenshot

de build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The placeholder token '%d' is visible in the text 'Belohnung: %d Gold'.
Repro route
  1. Open the game with ?lang=de
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Quests” at (500, 490) on the 0–1000 grid
  4. Screen reached: Quests
Rare · major

placeholder · de · Quests

rule-de-n5-2 · found by rule

Visible text contains an unresolved %s / %d style placeholder.

Text: Belohnung: %d Gold
de screenshot

de build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The unresolved placeholder token '%d' is visible instead of the reward amount.
Repro route
  1. Open the game with ?lang=de
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Quests” at (500, 490) on the 0–1000 grid
  4. Screen reached: Quests
Rare · major

placeholder · de · Quests

rule-de-n5-3 · found by rule

Visible text contains an unresolved %s / %d style placeholder.

Text: Belohnung: %d Gold
de screenshot

de build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The unresolved placeholder '%d' is visible in the text 'Belohnung: %d Gold'.
Repro route
  1. Open the game with ?lang=de
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Quests” at (500, 490) on the 0–1000 grid
  4. Screen reached: Quests
Rare · major

overlap · ru · Shop

checker-ru-n3-1 · found by checker

The item label 'Зелье HP' is misplaced to the right side of the card, overlapping with the 'Купить' button.

Text: Зелье HP Expected: Positioned on the left side next to the potion icon, aligned like the other item titles.
ru screenshot

ru build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The text "Зелье HP" visibly overlaps the top border of the "Купить" button.
Repro route
  1. Open the game with ?lang=ru
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Shop” at (500, 284) on the 0–1000 grid
  4. Screen reached: Shop
Rare · major

untranslated · ru · Settings

rule-ru-n6-1 · found by rule

Latin-script text (Vibration) in a ru screen that is not on the allowlist.

Text: Vibration
ru screenshot

ru build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The word "Vibration" appears in English instead of being translated into Russian, while the rest of the menu is in Russian.
Repro route
  1. Open the game with ?lang=ru
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Settings” at (500, 592) on the 0–1000 grid
  4. Screen reached: Settings
Rare · major

overflow · ru · Quests

checker-ru-n5-1 · found by checker

The quest description text in the second card overflows beyond the card container and is cut off at the right screen edge.

Text: Найдите фонарь, который путник обронил у старс
ru screenshot

ru build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The text "Найдите фонарь, который путник обронил у старс" overflows the right edge of its container card.
Repro route
  1. Open the game with ?lang=ru
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Quests” at (500, 490) on the 0–1000 grid
  4. Screen reached: Quests
Rare · major

overflow · ar · Shop

checker-ar-n3-1 · found by checker

The item description text is too long, causing it to overflow across the card boundary, off the left edge of the screen, and collide with the purchase button.

Text: حرير القمر المنسوج يعمل من أجود الخيو... Expected: حرير القمر
ar screenshot

ar build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The text describing the item overflows past the left edge of the box containing it.
Repro route
  1. Open the game with ?lang=ar
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Shop” at (500, 284) on the 0–1000 grid
  4. Screen reached: Shop
Rare · major

rtl · ar · Inventory

checker-ar-n4-1 · found by checker

The Arabic item description text displays isolated, unjoined characters instead of properly connected cursive script.

Text: ز ي ت ا ل ف و ا ن ي س: ي ح ت ر ق ض ع ف م د ة ا ل ز ي ت ا ل ع ا د ي. ت ق س م م ي ر ا أ ن ه ي ب ع د أ ر و ا ح ا ل م س ت ن ق ع. Expected: زيت الفوانيس: يحترق ضعف مدة الزيت العادي. تقسم ميرا أنه يُبعد أرواح المستنقع.
ar screenshot

ar build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The Arabic text in the main body is rendered with unjoined letters, reading left-to-right visually instead of right-to-left joined.
Repro route
  1. Open the game with ?lang=ar
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Inventory” at (500, 386) on the 0–1000 grid
  4. Screen reached: Inventory
Rare · major

glyph · th · Quests

checker-th-n5-1 · found by checker

Missing glyph boxes appear in the quest title due to unsupported or corrupted Thai characters.

Text: ตะเ􀀀ียงที่􀀀ายไป Expected: ตะเกียงที่หายไป
th screenshot

th build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): Missing-glyph rectangles are visible in the Thai heading text, matching the claim.
Repro route
  1. Open the game with ?lang=th
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Quests” at (500, 490) on the 0–1000 grid
  4. Screen reached: Quests
Rare · major

overlap · th · Settings

checker-th-n6-1 · found by checker

The label for music ('เพลง') is incorrectly placed inside the toggle switch container instead of on the left side, causing it to overlap the toggle knob and leaving the row label empty.

Text: เพลง Expected: เพลง on the left and เปิด inside the switch
th screenshot

th build, defect boxed

source region

Same region in the source language

Audit (gemini-3.1-pro-preview): The text 'เพลง' is overlapping with the text 'เปิด' inside the toggle switch.
Repro route
  1. Open the game with ?lang=th
  2. Tap “Start” at (502, 744) on the 0–1000 grid
  3. Tap “Settings” at (500, 592) on the 0–1000 grid
  4. Screen reached: Settings

Eval against ground truth

100%Recall (all seeded bugs) · 18/18
100%Recall (localization) · 15/15
100%Recall (smoke) · 3/3
100%Precision · 26/26
0controls flagged

Manifest seeded-bugs.json. Missed bugs: none. Issues matching no seeded bug: none.

Run metrics

124model calls · explorer 14, checker 82, critic 28
302.2k / 35.2kinput / output tokens
$0.512estimated cost · cap $3.00
807 swall time · 55 frames · profile gemini-balanced

Every issue above passed an audit against its own screenshot evidence. Cost is estimated from token usage at list prices.