Superseded — 2026-08-25

The pixels on this page are superseded by the 2026-08-25 UI corpus for every route it covers: the TNDM remediation changed 33 plugin files, so these images no longer show the shipped UI. Preserved as observed, for the feedback dialogue it records.

Every QuizWizz surface, persona and state reachable on the WRDP bench on 2026-08-20, captured as 315 screenshots and grouped by capture wave and route: each ### route section carries its fold, full-page and panel crops, an agent-written caption per shot, and the QA verdict that shot received. This is bench-local evidence at releaseEligible: false — no plugin file was edited to produce it, and nothing here authorises or describes a release.

Tour notes belong in the Feedback — <route-id> callout that closes each route section; write them there so a remark stays attached to the pixels it is about. Accepted or rejected notes are then appended, dated, to the Feedback log near the bottom, which is the running record of the dialogue.

Tour yamlsum

tour: qw-ui-tour-2026-08-20
target: QuizWizz 1.10.0 @ https://wrdp.loca.zone (WRDP bench, schema 1.6.7)
shots: 315 on disk / 320 in shotlist  # 315 captured + 5 blocked-with-evidence; orphans = 0
verdicts: {clean: 250, finding: 65, unresolved_retake: 0}
protocol:
  viewports: {d: 1280x900, m: 390x900, x: 320x720}   # deviceScaleFactor 1
  cache: setCacheEnabled(false) before every goto
  fullpage_prep: "#wpadminbar absolutised, sticky outcome card unstuck"
  no_lazy_gate: no loading card / spinner / "Checking availability…" / hydrating player / incomplete images
  interaction: real clicks and typing; DOM mutation only for the five -simulated theme crops
personas: [guest, qwtour_sub (subscriber), qwtour_admin (administrator), qwtour_editor (editor)]
fixtures: 3 temp users, locked/draft/subscriber-owned quizzes, fixtures page, error question, block-editor draft — all deleted, see Method & residue
option_mutations: snapshot -> mutate -> restore -> md5 re-verified for every variant (options-pre.json)
qa: every shot inspected by a read-only scout via inspect_image; coverage critic run twice until dry
releaseEligible: false

Coverage

WaveRoutesShotsCleanFindings
Wave A2114110536
Wave B413130
Wave C2513010426
Wave D7871
Wave E823212
Total6531525065

Blocked shots (kept in the shotlist, never silently dropped):

  • a02-d-p14-preview-modal-builder.pngblocked(dead-ui) — assets/js/qwizz-admin-settings.js:1584-1586 removes every [data-preview-tab] except “player” at runtime, so the Builder tab declared in includes/Admin/views/settings-page.php:998 can never render.
  • a02-d-p16-preview-modal-pdf.pngblocked(dead-ui) — Same runtime removal (qwizz-admin-settings.js:1584-1586) deletes the PDF tab declared at settings-page.php:1000.
  • s01-d-p04-notice.pngblocked(no-mutation-control) — Live DOM: p.qwizz-user__notice has height 0 and no text; the quiz row exposes zero buttons (PW-01), so no mutation can raise a notice.
  • a12d-d-p01-import-notice.pngblocked(unreachable-runtime) — ImportPage::maybe_print_notice() only fires after a successful/failed import POST, but both import forms ship without their nonce (ImportPage.php:96,123 pass $echo=false), so every submit is rejected with HTTP 403 (observed live). Capturing it would require editing plugin source, which this capture-only run does not do.
  • v01-d-p02-player-intro.pngblocked(no-such-state) — A fresh load of /?qw_quiz=zeitmaschine-geschichte with cleared storage and cookies mounts directly into question 1: .qwizz-player has data-autostart="1" and the only pre-question state is the transient “Loading quiz…” card. Verified live 2026-08-20; the frame was withdrawn rather than recaptured.

Blocking defects found during capture

Two owner-facing feature clusters are dead at runtime because wp_nonce_field() is called with $echo = false inside a bare <?php ?> tag, so the nonce markup is computed and thrown away:

ControlLive DOMHandler requirementSource
Protected backups → Restoreinputs action, backup_id onlycheck_admin_referer('qwizz_backup_restore', 'qwizz_backup_restore_nonce_<id>')includes/Admin/views/settings-page.php:930
Protected backups → Deleteinputs action, backup_id onlycheck_admin_referer('qwizz_backup_delete', 'qwizz_backup_delete_nonce_<id>')includes/Admin/views/settings-page.php:936
Question-pack importinputs action, qw_return, question_pack onlyAdminGuard::authorize_all(..., 'qwizz_import_question_pack', 'qwizz_question_pack_nonce')includes/Admin/ImportPage.php:123 (guard at :149)
Bundled-library importinputs action, qw_return, quiz_title, amount onlyqw_import / qw_import_nonceincludes/Admin/ImportPage.php:96

Observed live: clicking Delete on a snapshot lands on admin-post.php with WordPress’ expired-link screen; a scripted POST of the question-pack form returns HTTP 403. The correct pattern is used elsewhere in the same file at settings-page.php:67 (~863 lines above the broken calls), which is why the noscript fallback form still saves; the Download link two lines above the broken forms also signs itself correctly, with wp_nonce_url() at settings-page.php:926.

A third, cosmetic-but-total defect: the builder toast (g02-d-p22-toast) renders invisible text. assets/css/qwizz-builder.css sets .qwizz-toast{background:var(--qw-ink);color:var(--qw-card)}, but the token layer resolves --qw-ink to currentColor and --qw-card to color-mix(in srgb, currentColor 3%, #FFFFFF), so computed background and colour are both color(srgb 0.972 0.972 0.972). The message is announced via role="status" but never visible.

Boards

Board A — public surfaces as an anonymous guest board-A-public.png

Board B — the player state machine end to end board-B-player-states.png

Board C — dashboard rails and the nine settings panels board-C-admin-dashboard-settings.png

Board D — editors, filtered list tables, blocks and patterns board-D-editors-lists-blocks.png

Board E — mobile, 320px reflow, German UI, noscript and themes board-E-mobile-variants.png

Wave A — anonymous guest

g01 — landing/front page

/

Guest homepage fold: nav, hero heading, tagline, CTA buttons. g01-d.png · desktop 1280x900 · fold

Guest homepage full page: nav links, hero, CTA buttons, footer links. g01-d-full.png · desktop 1280x900 · full page

Mobile homepage fold: hamburger menu, hero heading, CTA buttons. g01-m.png · mobile 390x900 · fold

Mobile homepage full page: hamburger nav, hero, CTA, footer links. g01-m-full.png · mobile 390x900 · full page

Feedback — g01

(awaiting tour notes)

g02 — Builder (craft)

/?page_id=57

Builder page desktop fold: nav, 'Create a quiz' hero, 10 category cards g02-d.png · desktop 1280x900 · fold

Builder full page: nav, 12-topic category grid, Customize summary row. g02-d-full.png · desktop 1280x900 · full page

Mobile builder fold: header, intro copy, category tiles down to Art/Celebrities g02-m.png · mobile 390x900 · fold

Mobile builder full page: category grid, Customize row, footer links g02-m-full.png · mobile 390x900 · full page

Brand-panel crop shows page title/subtext, no distinct brand/logo header. g02-d-p01-brand.png · desktop 1280x900 · element crop · ⚠️ finding

Title panel crop: 'Create a quiz' heading text on white background. g02-d-p02-title.png · desktop 1280x900 · element crop

Category grid, two categories (Science + History) selected. g02-d-p03-categories-multi.png · desktop 1280x900 · element crop

Category grid, no selections: 12 topic tiles shown fully. g02-d-p03-categories-none.png · desktop 1280x900 · element crop

Category grid, one category (Science) selected with checkmark badge. g02-d-p03-categories-one.png · desktop 1280x900 · element crop

Category grid with 'Surprise me' tile selected, others unselected. g02-d-p03-categories-surprise.png · desktop 1280x900 · element crop

Collapsed 'Customize' accordion header: 'Dark · answer review on' summary, + expander g02-d-p04-advanced-closed.png · desktop 1280x900 · element crop

Expanded Customize panel: Difficulty, Questions, Shared exp, Print, Player, Completion g02-d-p05-advanced-open.png · desktop 1280x900 · element crop

Questions group: Difficulty pills (Any mix selected) + question-count stepper (10) g02-d-p06-group-questions.png · desktop 1280x900 · element crop

Difficulty pill row: Any mix, Easy, Medium, Hard, Increasing (Any mix active) g02-d-p07-difficulty.png · desktop 1280x900 · element crop

Question-type pills: 'Mixed' selected, 'True or false' sub-checked in mixed mode g02-d-p08-qtypes.png · desktop 1280x900 · element crop

Language pills: 'English' selected (dark pill), 'German' unselected g02-d-p09-langs.png · desktop 1280x900 · element crop

Question count control: 5/10/20 shortcuts plus −/10/+ stepper, 10 selected — same element as g19-d-p01-size-row (deliberate re-reference). g02-d-p10-count.png · desktop 1280x900 · element crop

Quiz title field showing editable 'Surprise quiz · 2026-08-20' with pencil icon g02-d-p11-title-field.png · desktop 1280x900 · element crop

Shared quiz experience group, both toggles (Question position, Banner) off g02-d-p12-group-shared-off.png · desktop 1280x900 · element crop

Shared exp group: Banner on, revealing Icon/Site/Upload picker, 'Banner ready' g02-d-p12-group-shared-on.png · desktop 1280x900 · element crop

Banner source row shows Site selected, not the Icon state the filename implies g02-d-p13-banner-panel-icon.png · desktop 1280x900 · element crop · ⚠️ finding

Identical to the 'icon' shot — no distinct banner preview thumbnail is visible g02-d-p13-banner-panel-preview.png · desktop 1280x900 · element crop · ⚠️ finding

Banner Upload tab: dashed dropzone, PNG/JPEG/WebP max 2MB, 'Banner ready' g02-d-p13-banner-panel-upload.png · desktop 1280x900 · element crop

Print details: Page numbers ON, Name/Date/Class lines ON (forced) g02-d-p14-group-print.png · desktop 1280x900 · element crop

Player options: Instant feedback ON, Auto-advance Manual, Sound OFF, Score anim ON g02-d-p15-group-player.png · desktop 1280x900 · element crop

Completion group: Retry, New quiz, Print, Share toggles all ON g02-d-p16-group-completion.png · desktop 1280x900 · element crop

Category grid pre-selection: 10 topic cards + Customize accordion g02-d-p17-outcome-hidden.png · desktop 1280x900 · element crop

Outcome card settled: 'YOUR QUIZ · 370 questions match' with Print/Play g02-d-p18-outcome-available.png · desktop 1280x900 · element crop

Empty-match outcome card: 'No questions match' + Change/Print/Play row g02-d-p19-outcome-empty.png · desktop 1280x900 · element crop

Red error alert: 'Quiz creation did not finish' — 'Tour demo error' g02-d-p20-error-alert.png · desktop 1280x900 · element crop

Draft-resume banner: 'unfinished quiz' with Resume draft / Discard g02-d-p21-draft-resume.png · desktop 1280x900 · element crop

Builder toast panel renders with invisible (light-on-light) text at bottom center g02-d-p22-toast.png · desktop 1280x900 · element crop · ⚠️ finding · re-captured logged-in as qwtour_admin (admin bar visible); the toast defect is persona-independent

Findings in this route

  • g02-d-p01-brand.png — Selector ‘header.qwizz-builder__brand’ crop renders the same ‘Create a quiz’ heading + subtext as the title panel, with no visible logo/brand mark distinguishing it from p02-title.
  • g02-d-p13-banner-panel-icon.png — Filename says ‘icon’ but the screenshot shows the ‘Site’ button highlighted/active with ‘Banner ready’ text — no icon-picker UI (icon swatches/color options) is visible, so the captured state does not match the labeled Icon-picker panel
  • g02-d-p13-banner-panel-preview.png — Filename implies a banner preview state but the image is pixel-equivalent to g02-d-p13-banner-panel-icon.png: same Site-selected Icon/Site/Upload row and ‘Banner ready’ text, with no visible preview thumbnail/image — suggests this state either wasn’t reached or the preview UI shows no thumbnail even when ‘Banner ready’
  • g02-d-p22-toast.png — Toast text is invisible: computed background-color and color are both color(srgb 0.972 0.972 0.972). CSS assets/css/qwizz-builder.css sets .qwizz-toast{background:var(—qw-ink);color:var(—qw-card)} while the token layer resolves —qw-ink to currentColor and —qw-card to color-mix(in srgb, currentColor 3%, ffffff), collapsing both to the same near-white value.
  • g02-d-p22-toast.png — DOM text “Saved draft discarded.” is announced via role=status aria-live=polite but never visible to sighted users.

Feedback — g02

(awaiting tour notes)

g02f — Fine-tune print studio modal

/?page_id=57 (Print → fine-tune modal; requires editor exposure — current bench config)

Fine-tune modal: toolbar (Undo/Redo/Cancel/Print) over editable Science quiz sheet g02f-d-p01-modal.png · desktop 1280x900 · element crop

Print paper preview: 'Science · 2026-08-20' with 3 numbered questions and answer choices. g02f-d-p02-paper.png · desktop 1280x900 · element crop

Question row hover state: delete icon highlighted red, Add answer choice button visible g02f-d-p03-row-actions.png · desktop 1280x900 · element crop

Fine-tune modal status bar: "Draft changed. Print will use the latest edits." g02f-d-p04-status.png · desktop 1280x900 · element crop

Modal toolbar clean state: Undo/Redo greyed, 'No local changes', Cancel/Print buttons g02f-d-p05-footer.png · desktop 1280x900 · element crop

Feedback — g02f

(awaiting tour notes)

g03 — Library fixture

/?page_id=1289

Library fixture desktop fold: nav, heading, filters, '15 quizzes found', card row 1 g03-d.png · desktop 1280x900 · fold

Library fixture full page duplicated — toolbar and quiz grid repeated twice g03-d-full.png · desktop 1280x900 · full page

Library fixture mobile fold: heading, filter form, '15 quizzes found', first card g03-m.png · mobile 390x900 · fold

Mobile full-page library capture with entire listing duplicated top-to-bottom g03-m-full.png · mobile 390x900 · full page

Library toolbar: Search field, Subject dropdown, Language dropdown, Apply filters button g03-d-p01-toolbar.png · desktop 1280x900 · element crop

Library results count label reads '15 quizzes found' g03-d-p02-count.png · desktop 1280x900 · element crop

Library grid: 12 quiz cards with flag, title, question count, subject, Play quiz g03-d-p03-grid.png · desktop 1280x900 · element crop

Single library card crop: 'Tour Sub Quiz', 10 questions · History, EN flag g03-d-p04-card.png · desktop 1280x900 · element crop

Library filter toolbar: Search='quiz', Subject/Language dropdowns, Apply/Clear g03-d-p05-filters-active.png · desktop 1280x900 · element crop

Library empty state: 'No published quizzes match these filters.' + Clear link g03-d-p06-empty.png · desktop 1280x900 · element crop

Library pagination control: page 1 active, page 2, next arrow g03-d-p07-pagination.png · desktop 1280x900 · element crop

Feedback — g03

(awaiting tour notes)

g04 — quiz archive (theme-rendered)

/?post_type=qw_quiz

Quiz archive fold: nav bar plus 'Blog' heading over first quiz teaser card g04-d.png · desktop 1280x900 · fold · ⚠️ finding

Quiz archive full page mislabels itself 'Blog' instead of a quiz-related heading g04-d-full.png · desktop 1280x900 · full page · ⚠️ finding

Mobile Blog archive fold: header, 'Blog' heading, first two quiz cards g04-m.png · mobile 390x900 · fold

Mobile Blog archive: full list of quiz cards with title, blurb, Start quiz button g04-m-full.png · mobile 390x900 · full page

Findings in this route

  • g04-d-full.png — Page heading reads ‘Blog’ for the qw_quiz post-type archive (/?post_type=qw_quiz), which is confusing theme-level UX — visitors landing on the quiz archive see a generic blog title, not ‘Quizzes’ or similar
  • g04-d.png — Same ‘Blog’ heading mislabel visible at the fold: theme renders qw_quiz archive under a generic ‘Blog’ title with post-style teaser cards (‘Answers are checked as you go.’ + Start quiz + date), not a quiz-specific archive layout

Feedback — g04

(awaiting tour notes)

g05 — Single quiz + full player flow

/?qw_quiz=world-quiz-english

Desktop player fold: Q1/58 with 4 answer options, sound toggle, Check answer button g05-d.png · desktop 1280x900 · fold

Desktop single-quiz full page: 'World Quiz — English', dark player card, Q1 of 58 g05-d-full.png · desktop 1280x900 · full page

Mobile 390px fold view of Q1/58 player card matching desktop content g05-m.png · mobile 390x900 · fold

Mobile 390px full-page player card, stacked answer options, no overflow g05-m-full.png · mobile 390x900 · full page

Full single-quiz shell: title plus player card with Q1 of 58 and answer options. g05-d-p01-shell.png · desktop 1280x900 · element crop

Single quiz page title crop: 'World Quiz — English'. g05-d-p02-title.png · desktop 1280x900 · element crop

Player mount: progress bar, Q1 architect question, 4 answer choices, Check answer button. g05-d-p03-player-mount.png · desktop 1280x900 · element crop

Thin purple progress bar (role=progressbar) for question 1 of 58 g05-d-p04-progress.png · desktop 1280x900 · element crop

Player banner renders as near-empty dark bar with only a small sparkle icon g05-d-p05-banner.png · desktop 1280x900 · element crop · ⚠️ finding

Question fieldset with Sagrada Família architect prompt plus 4 answer options g05-d-p06-question.png · desktop 1280x900 · element crop

Answers grid: Le Corbusier, Frank Lloyd Wright, Antoni Gaudí, Mies van der Rohe g05-d-p07-answers.png · desktop 1280x900 · element crop

Neutral validation feedback strip reading 'Choose an answer first.' g05-d-p08-validation-neutral.png · desktop 1280x900 · element crop

Green 'Correct' feedback banner after answering a question correctly. g05-d-p09-feedback-correct.png · desktop 1280x900 · element crop

Correct-answer reveal strip reading 'Correct answer: Jaws'. g05-d-p10-correct-answer.png · desktop 1280x900 · element crop

Red 'Not quite' feedback card with 'Correct answer: Jaws' below. g05-d-p10-feedback-incorrect.png · desktop 1280x900 · element crop

Sound icon shows unmuted speaker-waves glyph, not a muted/off state. g05-d-p11-sound-toggle-off.png · desktop 1280x900 · element crop · ⚠️ finding

Sound icon shows a muted speaker with an X, not an 'on' state. g05-d-p11-sound-toggle-on.png · desktop 1280x900 · element crop · ⚠️ finding

Result crop captured the full 58-question review list, not the summary card. g05-d-p12-result.png · desktop 1280x900 · element crop · ⚠️ finding

'Share, print and start again' action row with New/Print/Quiz/Score buttons. g05-d-p13-result-actions.png · desktop 1280x900 · element crop

Expanded 'more' details panel showing only a purple 'Retry' button. g05-d-p14-more-open.png · desktop 1280x900 · element crop

Share status message reads 'Could not share the quiz.' — share failed. g05-d-p15-share-status.png · desktop 1280x900 · element crop · ⚠️ finding

Full post-quiz review list: 58 Q&A rows with user answer vs. correct answer. g05-d-p16-review.png · desktop 1280x900 · element crop

Print-ready 58-question answer sheet for World Quiz — English, full question list g05-d-p17-print-sheet.png · desktop 1280x900 · element crop

320px reflow: title/meta row overlaps progress bar and question number g05-x-full.png · narrow 320x720 · full page · ⚠️ finding

Findings in this route

  • g05-d-p05-banner.png — Banner panel (.qwizz-player__banner) shows only a small purple sparkle icon centered on an otherwise empty dark background — no title, logo, or supporting text, so the panel reads as mostly blank/low-content despite occupying full banner width
  • g05-d-p11-sound-toggle-off.png — File is labeled ‘sound-toggle-off’ but the rendered icon is the unmuted speaker-with-sound-waves glyph, which visually reads as the ‘sound on’ icon; icon/label appear swapped relative to g05-d-p11-sound-toggle-on.png
  • g05-d-p11-sound-toggle-on.png — File is labeled ‘sound-toggle-on’ but the rendered icon is a muted-speaker-with-X glyph, which visually reads as the ‘sound off/muted’ icon; icon/label appear swapped relative to g05-d-p11-sound-toggle-off.png
  • g05-d-p12-result.png — Element crop for ‘result’ (section.qwizz-player__result) rendered a 9312px-tall image containing the full question-by-question review (identical in content/height to g05-d-p16-review.png), not the compact ‘Quiz complete / score’ summary card; selector likely matched a wrapping container instead of the intended result-only element
  • g05-d-p15-share-status.png — Visible text ‘Could not share the quiz.’ indicates the share/copy-link action failed rather than succeeding; worth flagging to the tour owner as a functional share-feature issue rather than a capture artifact
  • g05-x-full.png — header row ‘Question 1 of 58 / World Quiz — English’ visually collides with the purple progress bar directly beneath it at 320px width — text baseline sits almost on top of the bar, tighter than the 390px/1280px renders

Feedback — g05

(awaiting tour notes)

g06 — DE-content single quiz

/?qw_quiz=allgemeinwissen-kompakt

Desktop fold of Allgemeinwissen kompakt Q1/10, sound icon + Check answer g06-d.png · desktop 1280x900 · fold

German quiz 'Allgemeinwissen kompakt' Q1/10 fullpage, English-language answer choices g06-d-full.png · desktop 1280x900 · full page

Mobile fold of Allgemeinwissen kompakt Q1/10 player card g06-m.png · mobile 390x900 · fold

Mobile fullpage of Allgemeinwissen kompakt player, stacked card layout g06-m-full.png · mobile 390x900 · full page

Feedback — g06

(awaiting tour notes)

g07 — user surfaces anonymous → sign-in prompt

/?page_id=865

Mein QuizWizz page shows two identical sign-in cards side by side, no distinction g07-d.png · desktop 1280x900 · fold · ⚠️ finding

Mein QuizWizz shows two identical 'Sign in…' cards with no label differentiation g07-d-full.png · desktop 1280x900 · full page · ⚠️ finding

Mobile fold: duplicate stacked sign-in cards visible above the fold g07-m.png · mobile 390x900 · fold · ⚠️ finding

Mobile full page: same duplicate sign-in cards, now stacked vertically g07-m-full.png · mobile 390x900 · full page · ⚠️ finding

User surfaces sign-in prompt panel: underlined guest CTA text in rounded card g07-d-p01-sign-in.png · desktop 1280x900 · element crop

Findings in this route

  • g07-d-full.png — both the library card and the stats card render the exact same text ‘Sign in to view your QuizWizz library and statistics.’ side by side, giving no visual distinction between the two panels for a signed-out visitor
  • g07-d.png — Two duplicate ‘Sign in to view your QuizWizz library and statistics.’ cards render side-by-side under the same ‘Mein QuizWizz’ heading — redundant panel, likely an un-deduped double shortcode instance
  • g07-m-full.png — Same duplicated ‘Sign in to view your QuizWizz library and statistics.’ card appears twice, stacked, on the mobile full-page render
  • g07-m.png — Duplicate ‘Sign in to view your QuizWizz library and statistics.’ card repeated twice, stacked, visible without scrolling

Feedback — g07

(awaiting tour notes)

g08 — search with matches

/?s=quiz

Search results fold: 'Suchergebnisse für: quiz' heading, search box, first matched post g08-d.png · desktop 1280x900 · fold

Search results for 'quiz' full page: post match, library widget (x2), quiz cards, sidebar g08-d-full.png · desktop 1280x900 · full page

Mobile search results fold: heading, search field, Suchen button, first result title g08-m.png · mobile 390x900 · fold

Mobile full search results page: same content stacked, quiz cards and sidebar list g08-m-full.png · mobile 390x900 · full page

Feedback — g08

(awaiting tour notes)

g09 — search empty

/?s=zzzznomatch

Empty search fold: no-results message and start of 'Weitere Beiträge' fallback list g09-d.png · desktop 1280x900 · fold

Empty search 'zzzznomatch': German no-results notice plus 'Weitere Beiträge' fallback list g09-d-full.png · desktop 1280x900 · full page

Mobile search results fold — search box, 'no results' message, recent posts teaser g09-m.png · mobile 390x900 · fold

Mobile search 'zzzznomatch' — no-results copy + related posts list, footer links g09-m-full.png · mobile 390x900 · full page

Feedback — g09

(awaiting tour notes)

g10 — subject term archive

/?qw_subject=science-computers

Subject: Computers desktop fold — German no-results text amid English chrome g10-d.png · desktop 1280x900 · fold · ⚠️ finding

Subject archive 'Computers' shows German no-results copy on English-nav page g10-d-full.png · desktop 1280x900 · full page · ⚠️ finding

Mobile subject archive fold — 'Subject: Computers' heading, German fallback text g10-m.png · mobile 390x900 · fold · ⚠️ finding

Mobile subject archive 'Computers' — German empty-state text under English UI g10-m-full.png · mobile 390x900 · full page · ⚠️ finding

Findings in this route

  • g10-d-full.png — Page nav/header is English (QuizWizz, Terms of Use, etc.) but the empty-state copy reads ‘Es wurde leider nichts gefunden. Bitte versuche eine Suche mit anderen Suchbegriffen.’ — locale mismatch on the term archive fallback text
  • g10-d.png — Same German fallback copy ‘Es wurde leider nichts gefunden…’ visible under an all-English header/nav
  • g10-m-full.png — German no-results sentence persists on mobile viewport despite English site chrome
  • g10-m.png — Locale mismatch reproduced at mobile fold: German ‘Es wurde leider nichts gefunden…’ under English heading

Feedback — g10

(awaiting tour notes)

g11 — Privacy Policy

/?page_id=3

Privacy Policy desktop fold — date + responsible-party fields are raw placeholders g11-d.png · desktop 1280x900 · fold · ⚠️ finding

Privacy Policy full-height — every legal value is unfilled [INSERT-YOUR-DATA-HERE] g11-d-full.png · desktop 1280x900 · full page · ⚠️ finding

Privacy Policy mobile fold — heading plus intro sections show bracket placeholders g11-m.png · mobile 390x900 · fold · ⚠️ finding

Privacy Policy mobile full-height — placeholder tokens run through all sections g11-m-full.png · mobile 390x900 · full page · ⚠️ finding

Findings in this route

  • g11-d-full.png — Effective date, legal name, address, privacy email, retention/legal-basis fields, provider name, AI enablement date etc. all still read literal placeholder tokens like ‘[INSERT-YOUR-DATA-HERE: EFFECTIVE DATE]’ and ‘[INSERT-YOUR-DATA-HERE: LEGAL NAME / ORGANIZATION]’ — page is template-only, not production copy
  • g11-d.png — Visible unfilled tokens: ‘[INSERT-YOUR-DATA-HERE: EFFECTIVE DATE]’, legal name/address/privacy email all bracketed placeholders
  • g11-m-full.png — Same unfilled [INSERT-YOUR-DATA-HERE: …] tokens throughout retention, transfers, rights, and security sections on mobile viewport
  • g11-m.png — ‘[INSERT-YOUR-DATA-HERE: EFFECTIVE DATE]’ and legal-name/address/email placeholders visible immediately below the fold

Feedback — g11

(awaiting tour notes)

g12 — Terms of Use

/?page_id=1057

Terms of Use fold view shows unfilled placeholder legal text at top g12-d.png · desktop 1280x900 · fold · ⚠️ finding

Terms of Use page entirely unfilled: every clause reads [INSERT-YOUR-DATA-HERE] g12-d-full.png · desktop 1280x900 · full page · ⚠️ finding

Mobile Terms of Use fold: title and Section 1 with unfilled placeholder data g12-m.png · mobile 390x900 · fold · ⚠️ finding

Mobile Terms of Use, full page: same placeholder text throughout all 10 sections g12-m-full.png · mobile 390x900 · full page · ⚠️ finding

Findings in this route

  • g12-d-full.png — Every legal field (effective date, operator name, address, contact email, jurisdiction, liability terms) shows literal placeholder text ‘[INSERT-YOUR-DATA-HERE…]’ instead of real content — page is publicly reachable in this state
  • g12-d.png — Heading ‘Terms of Use’, effective date and Section 1 ‘Operator and acceptance’ all show ‘[INSERT-YOUR-DATA-HERE: …]’ placeholders
  • g12-m-full.png — Mobile rendering confirms desktop finding — all 10 numbered sections contain unfilled ‘[INSERT-YOUR-DATA-HERE]’ bracketed placeholders
  • g12-m.png — Same placeholder-text defect visible above the fold on mobile viewport

Feedback — g12

(awaiting tour notes)

g13 — Operator/Contact

/?page_id=1058

Operator & Contact fold view: intro notice plus unfilled Service operator fields g13-d.png · desktop 1280x900 · fold · ⚠️ finding

Operator & Contact page entirely unfilled: legal name, address, email all placeholders g13-d-full.png · desktop 1280x900 · full page · ⚠️ finding

Mobile Operator & Contact fold: title, notice, unfilled operator list g13-m.png · mobile 390x900 · fold · ⚠️ finding

Mobile Operator & Contact, full page: all fields unfilled g13-m-full.png · mobile 390x900 · full page · ⚠️ finding

Findings in this route

  • g13-d-full.png — Page explicitly states ‘This page is intentionally structured for the site operator to complete’ yet is live with every field ([Legal name/organization], [Postal address], [General email], etc.) still showing ‘[INSERT-YOUR-DATA-HERE]’
  • g13-d.png — Visible notice admits page is a template to be completed; ‘Legal name / organization: [INSERT-YOUR-DATA-HERE]’ and similar fields are unfilled
  • g13-m-full.png — Confirms desktop finding on mobile — every bracketed operator, contact, and regulatory field is still ‘[INSERT-YOUR-DATA-HERE]’
  • g13-m.png — Same unfilled-placeholder defect visible above the fold on mobile viewport

Feedback — g13

(awaiting tour notes)

g14 — bare share-play doc (autostart

/?qwizz_play=110

Bare share-play fold: minimal white bg, intro card centered g14-d.png · desktop 1280x900 · fold

Bare share-play doc: centered 'Zeitmaschine Geschichte' intro card, no chrome g14-d-full.png · desktop 1280x900 · full page

Bare share-play fold: quiz intro card 'Answers are checked as you go' + Start quiz g14-m.png · mobile 390x900 · fold

Bare share-play doc: 'Zeitmaschine Geschichte' intro card, Start quiz button g14-m-full.png · mobile 390x900 · full page

Feedback — g14

(awaiting tour notes)

g15 — denied share-play 404

/?qwizz_play=999999

Denied share-play id shows homepage hero, no denial/404 copy visible g15-d.png · desktop 1280x900 · fold · ⚠️ finding

Denied share-play id renders full homepage, not a 404/denied message g15-d-full.png · desktop 1280x900 · full page · ⚠️ finding

Mobile denied share-play fold: homepage hero, no error/404 copy g15-m.png · mobile 390x900 · fold · ⚠️ finding

Mobile denied share-play: homepage renders instead of a 404/denied notice g15-m-full.png · mobile 390x900 · full page · ⚠️ finding

Findings in this route

  • g15-d-full.png — Route qw?qwizz_play=999999 is documented as ‘denied share-play 404’ but the shot shows the ordinary QuizWizz homepage (nav ‘Mein QuizWizz · Operator & Contact · Privacy Policy · Quiz library (bench fixture) · QuizWizz · Qwizz · Terms of Use · Test · Tour Fixtures’, hero ‘QuizWizz / Build a quiz, play it online, or print the same prepared questions.’ with Create a quiz / Mein QuizWizz buttons) — no error/denied copy or 404 status visible anywhere in the pixels
  • g15-d.png — Same as g15-d-full: expected denied-quiz state but pixels show full site homepage nav+hero with no error text
  • g15-m-full.png — Mobile viewport of the same qwizz_play=999999 route shows the standard homepage (hamburger nav, ‘QuizWizz’ hero, Create a quiz / Mein QuizWizz buttons, footer links) — no denial or not-found messaging present
  • g15-m.png — Fold crop confirms no denied/404 UI is shown for the invalid share-play id — just the ordinary homepage hero and CTA buttons

Feedback — g15

(awaiting tour notes)

g16 — locked single (core password form)

/?qw_quiz=tour-locked-quiz

Locked quiz fold: 'Geschützt: Tour Locked Quiz' heading with password entry form g16-d.png · desktop 1280x900 · fold

Locked quiz password form: 'Geschützt: Tour Locked Quiz' German prompt + Passwort field g16-d-full.png · desktop 1280x900 · full page

Mobile fold: same locked-quiz password form, fits one viewport g16-m.png · mobile 390x900 · fold

Mobile: German password-locked quiz form (Geschützt: Tour Locked Quiz) g16-m-full.png · mobile 390x900 · full page

Password-form panel crop: 'Passwort:' input plus 'Absenden' submit button g16-d-p01-form.png · desktop 1280x900 · element crop

Wrong-password state: 'Das Passwort ist ungültig.' notice above the retry form g16-d-p02-wrong-pw.png · desktop 1280x900 · element crop

Feedback — g16

(awaiting tour notes)

g17 — fixtures page (4 embed states in one document)

/?page_id=<tour_fixtures_page>

Desktop fold: Tour Fixtures header plus locked and unavailable embed panels g17-d.png · desktop 1280x900 · fold

Desktop full page: fixtures with locked/unavailable panels, empty filter, library g17-d-full.png · desktop 1280x900 · full page

Mobile fold: fixtures title, locked and unavailable panels above fold g17-m.png · mobile 390x900 · fold

Mobile full page: fixtures, empty filter, 2-card library, pagination, footer g17-m-full.png · mobile 390x900 · full page

Desktop crop: 'Password required' embed panel with Open the quiz page link g17-d-p01-locked-embed.png · desktop 1280x900 · element crop

Desktop crop: 'Quiz unavailable' embed panel for draft-status quiz g17-d-p02-unavailable-embed.png · desktop 1280x900 · element crop

Desktop crop: zero-pool library empty state, 'No published quizzes match filters' g17-d-p03-zero-pool-library.png · desktop 1280x900 · element crop

Desktop crop: library pagination 1 2 3 … 8 → with page 1 active g17-d-p04-pagination.png · desktop 1280x900 · element crop

Feedback — g17

(awaiting tour notes)

g18 — PDF inline artifact in browser viewer

POST admin-post.php action=qw_pdf via builder Print

PDF worksheet: title, name/date/class fields, 4 MC questions, footer '1/4 · Balli' g18-d-full.png · desktop 1280x900 · full page

Feedback — g18

(awaiting tour notes)

g19 — guest question-count ceiling

/?page_id=57 (logged-out vs g-in comparison shot of count stepper max)

Count control: pills 5/10/20 (10 selected) plus stepper showing 10 — same element as g02-d-p10-count (deliberate re-reference: this route's evidence is the stepper max attribute). g19-d-p01-size-row.png · desktop 1280x900 · element crop

Feedback — g19

(awaiting tour notes)

g20 — themed player (data-theme=light)

/?qw_quiz=geografie-weltreise

Themed quiz desktop fold — same as full page (short view) g20-d.png · desktop 1280x900 · fold

Themed quiz 'Geografie-Weltreise' desktop full page: Q1/10, 4 answers, Check button g20-d-full.png · desktop 1280x900 · full page

Themed quiz mobile fold — identical to full page g20-m.png · mobile 390x900 · fold

Themed quiz mobile full page, single-column card, answers stacked g20-m-full.png · mobile 390x900 · full page

Feedback — g20

(awaiting tour notes)

Wave B — subscriber

s01 — user surfaces populated

/?page_id=865

Subscriber user-surfaces page fold: header nav + 'Mein QuizWizz' heading + quizzes card s01-d.png · desktop 1280x900 · fold

Subscriber 'Mein QuizWizz' full page: My quizzes list + My quiz statistics card, all zeros s01-d-full.png · desktop 1280x900 · full page

Mobile fold: hamburger header, 'Mein QuizWizz' heading, quizzes card top s01-m.png · mobile 390x900 · fold

Mobile full-page: My quizzes + My quiz statistics stack cleanly, hamburger nav collapsed s01-m-full.png · mobile 390x900 · full page

My quizzes list row: 'Tour Sub Quiz — Veröffentlicht', no manage controls (PW-01) s01-d-p01-my-quizzes.png · desktop 1280x900 · element crop

My quiz statistics panel, zero state: all 8 rows read 0 / 0 (0%) s01-d-p02-my-stats-zero.png · desktop 1280x900 · element crop

My quiz statistics populated: 1 attempt, 7/3 right/wrong, best/last 70%, 7 points s01-d-p03-my-stats-populated.png · desktop 1280x900 · element crop

Feedback — s01

(awaiting tour notes)

s02 — library as subscriber

/?page_id=1289

Library fold (top of duplicated page): filters + first 3 quiz cards s02-d.png · desktop 1280x900 · fold

Library page renders filter form + 15-quiz grid TWICE on one page s02-d-full.png · desktop 1280x900 · full page

Mobile library: search/subject/language filters, 15 quizzes, first card 'Tour Sub Quiz' s02-m.png · mobile 390x900 · fold

Mobile library page duplicates filter form + quiz grid, pager mismatch too s02-m-full.png · mobile 390x900 · full page

Feedback — s02

(awaiting tour notes)

s03 — builder as logged-in (higher count ceiling)

/?page_id=57

Question-count row: 5/10/20 preset pills (10 active) plus stepper at 10 s03-d-p01-size-row.png · desktop 1280x900 · element crop

Feedback — s03

(awaiting tour notes)

s04 — player logged-in (nonce present)

/?qw_quiz=world-quiz-english

Player Q1/10 True/False question, admin bar shows 'Willkommen, qwtour_sub' s04-d.png · desktop 1280x900 · fold

Feedback — s04

(awaiting tour notes)

Wave C — wp-admin (administrator + editor)

a01 — QuizWizz Dashboard

/wp-admin/admin.php?page=qw-dashboard

Dashboard fold: 118 quizzes, 9069 usable questions, getting-started checklist a01-d.png · desktop 1280x900 · fold

Dashboard: stats rail, onboarding, attention, recent quizzes, subjects, languages, ideas a01-d-full.png · desktop 1280x900 · full page

Mobile dashboard fold with hamburger nav and stat cards a01-m.png · mobile 390x900 · fold

Mobile full-page dashboard: stats, getting started, attention, recent quizzes, subjects a01-m-full.png · mobile 390x900 · full page

H1 'QuizWizz' + summary: 118 quizzes, 9.069 usable questions, 483 subjects a01-d-p01-header.png · desktop 1280x900 · element crop

5-card stats: Quizzes 118, Questions 9.069, Subjects 483, Plays 13, Languages 1/1 a01-d-p02-stats-rail.png · desktop 1280x900 · element crop

Primary actions row: Play a quiz, Print a quiz (focused), Create quiz a01-d-p03-actions.png · desktop 1280x900 · element crop

Getting started checklist: 2 steps done, 'Place a Qwizz block' still To do a01-d-p04-onboarding.png · desktop 1280x900 · element crop

Attention list: review, 100 drafts, 6 empty subjects, 451 undersupplied subjects a01-d-p05-attention.png · desktop 1280x900 · element crop

Recent quizzes table: published 'Tour Locked Quiz' row missing its Play link a01-d-p06-recent.png · desktop 1280x900 · element crop · ⚠️ finding

Subject grid tile literally named 'QW SVG Probe 4lHqFtjO' — debug artifact live a01-d-p07-subjects.png · desktop 1280x900 · element crop · ⚠️ finding

Language pools row: English (en) — 4.711 usable questions, status 'Ready' a01-d-p08-languages.png · desktop 1280x900 · element crop

'ideas' panel crop shows duplicate Attention content, not Next content ideas a01-d-p09-ideas.png · desktop 1280x900 · element crop · ⚠️ finding

Shortcodes panel: quiz, library, subjects, builder shortcode examples w/ copy icons a01-d-p10-shortcodes-open.png · desktop 1280x900 · element crop

Tools panel: Starter quizzes 4/4, Interface English, Theme Dark a01-d-p11-tools-open.png · desktop 1280x900 · element crop

Get started > Setting up QuizWizz help panel with 3-step setup guide a01-d-p12-help.png · desktop 1280x900 · element crop

Native WP contextual Help overlay showing Getting Started content a01-d-p13-help-tab.png · desktop 1280x900 · element crop

Findings in this route

  • a01-d-p06-recent.png — Row ‘Tour Locked Quiz’ has no visible Play link even though status is Published — only ‘Edit’ is shown, unlike every other published row which has ‘Edit Play’
  • a01-d-p07-subjects.png — Subject tile reads ‘QW SVG Probe 4lHqFtjO’ — a debug/test artifact term is present and rendered as a normal subject on the live dashboard, indistinguishable from real content
  • a01-d-p09-ideas.png — Filename/selector implies this crop targets ‘Next content ideas’ (readiness-gap suggestions e.g. ‘Abolition and Emancipation has 1 usable questions…’), but the captured pixels are identical in content to a01-d-p05-attention.png (same 4 lines about review/drafts/empty/undersupplied subjects) — wrong panel captured, likely a selector/anchor mismatch

Feedback — a01

(awaiting tour notes)

a02 — Settings (full admin, 9 always-visible panels)

/wp-admin/admin.php?page=qw-settings

Admin Settings General tab, desktop fold, stats rail and tab strip (Advanced cut at edge) a02-d.png · desktop 1280x900 · fold

Full-height Settings page: all 9 sections stacked (Builder, Player, PDF, Theme, AI, Data) a02-d-full.png · desktop 1280x900 · full page

Settings mobile fold: stats cards, General tab, tab strip clipped at edge a02-m.png · mobile 390x900 · fold

Mobile full-page stitch of entire QuizWizz Settings page, all nine sections stacked a02-m-full.png · mobile 390x900 · full page

Settings hero: 'Set the defaults once, then let every quiz follow the same clear rules' a02-d-p01-hero.png · desktop 1280x900 · element crop

Settings toolbar: search field, 'All changes saved' status, nav arrows a02-d-p02-toolbar.png · desktop 1280x900 · element crop

Settings anchor strip: 9 sections General…Advanced with icons a02-d-p03-anchor-strip.png · desktop 1280x900 · element crop

Settings search overlay for 'language' showing grouped matches a02-d-p04-search-overlay.png · desktop 1280x900 · element crop

General defaults panel: sources, outcomes, size, languages, difficulty a02-d-p05-qw-essential.png · desktop 1280x900 · element crop

Guest Builder panel — huge empty whitespace below content a02-d-p06-qw-builder.png · desktop 1280x900 · element crop · ⚠️ finding

Online Player Feedback panel — stray outline boxes on radio labels a02-d-p07-qw-player.png · desktop 1280x900 · element crop · ⚠️ finding

Presentation panel — stray border boxes on 'Clean'/'Two' labels a02-d-p08-qw-presentation.png · desktop 1280x900 · element crop · ⚠️ finding

PDF & Print panel: page numbers, banner, paper size, footer, icon picker a02-d-p09-qw-pdf.png · desktop 1280x900 · element crop

PDF theme picker — 'Dark' star-rating box looks misaligned a02-d-p10-qw-theme.png · desktop 1280x900 · element crop · ⚠️ finding

AI panel — minimal content, large blank area below a02-d-p11-qw-ai.png · desktop 1280x900 · element crop · ⚠️ finding

Data & Lifecycle panel: retention, portability, imports, backups card a02-d-p12-qw-data.png · desktop 1280x900 · element crop

Advanced settings panel: category-hierarchy toggles and support-diagnostics JSON download a02-d-p13-qw-advanced.png · desktop 1280x900 · element crop

Guest Preview modal showing player mode with two sample multiple-choice questions a02-d-p15-preview-modal-player.png · desktop 1280x900 · element crop

Findings in this route

  • a02-d-p06-qw-builder.png — Panel content (Editable quiz title, Language picker, Question-pool formats, Category availability) ends around y≈560 but the section container extends to ~y≈1310, leaving roughly 750px of blank white space with only the card border visible — looks like a fixed/min-height on the section not matching its content
  • a02-d-p07-qw-player.png — ‘Advance automatically’ and ‘Wait for a button’ radio labels are wrapped in visible rectangular border boxes that don’t match the rest of the form’s styling (looks like a stray/default outline, not styled to match the toggle rows below)
  • a02-d-p08-qw-presentation.png — The selected ‘Clean’ prefix option and ‘Two’ print-columns option render with visible rectangular outline boxes around just the text, inconsistent with the pill/segmented-control styling used elsewhere on the same panel (e.g. Off/Always/User toggles have no such artifact)
  • a02-d-p10-qw-theme.png — The blue selected-outline box around the star icon under the ‘Dark’ theme card looks offset/oversized relative to the star glyph, unlike the plain circular star buttons under the other theme cards
  • a02-d-p11-qw-ai.png — Only ~200px of real content (Enable AI card + collapsed Limits disclosure) followed by roughly 850px of blank white space in the cropped panel, same excessive-empty-container pattern as the Guest Builder panel
  • a02-d-p12-qw-data.png — Both import forms in Settings > Data & Lifecycle render WITHOUT their nonce fields: live DOM inputs are only [action, qw_return, question_pack] for form.qw-question-pack-form and [action, qw_return, quiz_title, amount, submit] for form.qw-import-form (no *_nonce, no _wp_http_referer).
  • a02-d-p12-qw-data.png — Source cause: includes/Admin/ImportPage.php:96 and :123 call wp_nonce_field(name,true,false) inside a bare tag; the 4th argument false makes wp_nonce_field RETURN the markup instead of echoing it, so it is discarded.
  • a02-d-p12-qw-data.png — Handlers require those nonces (ImportPage.php:149 AdminGuard::authorize_all(…, “qwizz_import_question_pack”, “qwizz_question_pack_nonce”)), so a real submit is rejected. Observed live: POST to admin-post.php with the form fields returned HTTP 403.

Feedback — a02

(awaiting tour notes)

a02x — editor-role import-only variant (qwtour_editor)

/wp-admin/admin.php?page=qw-settings

Editor-role Settings desktop fold: same import-only Portability card above the fold a02x-d.png · desktop 1280x900 · fold

Editor-role Settings page, desktop full page: import-only Portability card, no admin tabs a02x-d-full.png · desktop 1280x900 · full page

Editor-role Settings mobile fold: stats through Number of questions field a02x-m.png · mobile 390x900 · fold

Editor-role Settings, mobile full page: stats, notice, Portability + draft form a02x-m-full.png · mobile 390x900 · full page

Feedback — a02x

(awaiting tour notes)

a03 — quiz list table

/wp-admin/edit.php?post_type=qw_quiz

Quiz list table default view, full page — same 'Ready'/'Prepared' badge overlap visible a03-d.png · desktop 1280x900 · fold · ⚠️ finding

Quizzes list table, desktop full page: filters, saved views, and 118-row quiz listing a03-d-full.png · desktop 1280x900 · full page

Mobile Quizzes list: stats cards, Add New Quiz, tabs, rows a03-m.png · mobile 390x900 · fold

Mobile (390px) full-page quiz list with collapsed per-row action toggles a03-m-full.png · mobile 390x900 · full page

Quiz list stats rail: 118 quizzes, 9,069 questions, 483 subjects, 13 plays, 1/1 languages a03-d-p01-rail.png · desktop 1280x900 · element crop

Bulk actions row: 'Mehrfachaktionen' dropdown + 'Anwenden' apply button — byte-identical to a04-d-p01-filters.png: the qw_quiz and qw_question list tables render the same filter bar (re-verified live 2026-08-20, both crops md5 e719853a529181b36af55861359ee747). a03-d-p02-filters.png · desktop 1280x900 · element crop

Quiz table header: Titel, Details, Questions, Status/readiness, Source, Updated a03-d-p03-columns.png · desktop 1280x900 · element crop

Quiz row status badges overlap: 'Ready' clipped to 'Read' colliding with 'Prepared' a03-d-p04-row.png · desktop 1280x900 · element crop · ⚠️ finding

Active filters pill: 'Language: en' with 'Clear all' link a03-d-p05-active-filters.png · desktop 1280x900 · element crop

Empty-filter state text overlaps 'Create quiz' button and table header a03-d-p06-empty-actions.png · desktop 1280x900 · element crop · ⚠️ finding

Quizzes list filtered to Entwürfe (Drafts) tab, full desktop page a03-d-x01-draft.png · desktop 1280x900 · element crop

Quizzes list filtered by Source=Generated, 3 matching private quizzes a03-d-x02-source-generated.png · desktop 1280x900 · element crop

Findings in this route

  • a03-d-p04-row.png — Status/readiness cell shows ‘Veröffentlicht Read Prepared’ — the ‘Ready’ pill text is truncated to ‘Read’ and visually overlaps the adjacent ‘Prepared’ pill instead of wrapping/spacing normally
  • a03-d-p06-empty-actions.png — The empty-results message ‘content matches the current search and filters.’ visually overlaps the ‘Details’ column header and is interleaved with the ‘Create quiz’ / ‘Clear filters’ button text, making both illegible at this crop
  • a03-d.png — Row ‘Tour Sub Quiz’ shows ‘Veröffentlicht Read Prepared’ with ‘Ready’ truncated/overlapping ‘Prepared’, same defect as a03-d-p04-row.png

Feedback — a03

(awaiting tour notes)

a04 — question list table

/wp-admin/edit.php?post_type=qw_question

Base fold wrongly shows 'Pool: Undersupplied' filter still active a04-d.png · desktop 1280x900 · fold · ⚠️ finding

Desktop full-page Questions list: stats, filters, table rows a04-d-full.png · desktop 1280x900 · full page

Mobile fold: stats cards, heading, Add New Question, rows a04-m.png · mobile 390x900 · fold

Mobile full-page list scrolled to bottom: pagination, footer a04-m-full.png · mobile 390x900 · full page

Bulk-actions toolbar crop: 'Mehrfachaktionen' + 'Anwenden' — byte-identical to a03-d-p02-filters.png: the qw_question and qw_quiz list tables render the same filter bar (re-verified live 2026-08-20, both crops md5 e719853a529181b36af55861359ee747). a04-d-p01-filters.png · desktop 1280x900 · element crop

First row crop: Tour Err Question, English, Not set, Entwurf a04-d-p02-row.png · desktop 1280x900 · element crop

Filtered: 'Readiness: Ready' chip, 9.069 entries, page 1/454 a04-d-x01-valid.png · desktop 1280x900 · element crop

Filtered: 'Readiness: Needs review' shows sole Tour Err Question a04-d-x02-invalid.png · desktop 1280x900 · element crop

Filtered: 'Pool: Undersupplied' chip, 667 entries, 34 pages a04-d-x03-pool-under.png · desktop 1280x900 · element crop

Findings in this route

  • a04-d.png — Visible text ‘Active filters: Pool: Undersupplied — Clear all’ and ‘667 Einträge · 1 von 34’ appear in the plain a04-d capture, which per shotlist should be the unfiltered default Questions fold state; filter state appears to have bled over from the x03-pool-under capture, so this shot does not represent the intended baseline view

Feedback — a04

(awaiting tour notes)

a05 — quiz editor (58 questions)

/wp-admin/post.php?post=413&action=edit

Quiz editor fold: admin bar, dashboard stats, 'World Quiz — English' title, question list a05-d.png · desktop 1280x900 · fold

Quiz editor full page: 58-question drag list, publish box, Subjects tree sidebar a05-d-full.png · desktop 1280x900 · full page

Mobile fold: stat cards cut off and per-row action icons wrap onto orphan line a05-m.png · mobile 390x900 · fold · ⚠️ finding

Mobile full-page quiz editor; stats cards row is horizontally clipped a05-m-full.png · mobile 390x900 · full page · ⚠️ finding

Quiz Questions metabox: reorder instructions + full 58-row drag-handle list a05-d-p01-metabox.png · desktop 1280x900 · element crop

Question rows only: numbered list with edit/up/down/delete icons per row a05-d-p02-question-rows.png · desktop 1280x900 · element crop

Single question row crop: drag handle, edit pencil, reorder arrows, trash a05-d-p03-row-actions.png · desktop 1280x900 · element crop

Question search 'quiz': dropdown shows one DE result, checked/unchecked settings below a05-d-p04-search-open.png · desktop 1280x900 · element crop

Answers fieldset: 'Answer review for players' checked, 'Answer sheet in PDF' unchecked a05-d-p05-answers-controls.png · desktop 1280x900 · element crop

Subjects metabox: All Subjects/Meistgenutzt tabs, nested checkbox tree, Add New Subject a05-d-p06-subjects-box.png · desktop 1280x900 · element crop

Findings in this route

  • a05-m-full.png — Third stat card label is truncated to ‘Subje’ at the viewport edge instead of wrapping or scrolling, matching the same overflow seen on a05-m.png
  • a05-m.png — Stats card row overflows the 390px viewport — third card shows only ‘Subje’ instead of full ‘Subjects’ label or count
  • a05-m.png — Each question row’s up/down/trash icons are pushed onto a separate unlabeled line below the title+pencil row, disconnected from their parent row

Feedback — a05

(awaiting tour notes)

a05n — new quiz editor empty state

/wp-admin/post-new.php?post_type=qw_quiz

New Quiz page desktop fold showing Quiz questions panel and Answers checkboxes a05n-d.png · desktop 1280x900 · fold · ⚠️ finding

New Quiz page full-height: Quiz questions empty state + Subjects sidebar a05n-d-full.png · desktop 1280x900 · full page · ⚠️ finding

New Quiz page mobile fold: Quiz questions panel visible, title field off-screen a05n-m.png · mobile 390x900 · fold · ⚠️ finding

New Quiz page mobile full-height: metaboxes stacked, title field mid-page a05n-m-full.png · mobile 390x900 · full page · ⚠️ finding

Empty-state panel: 'No questions yet' with 3-step guidance and Create link a05n-d-p01-empty-state.png · desktop 1280x900 · element crop

Findings in this route

  • a05n-d-full.png — Answer checkbox labels run together with no separator: “Answer review for players Site policy forces the answer key” and “Answer sheet in PDF Per-quiz setting wins; site Forced only sets the default” read as one garbled sentence instead of a label + helper text.
  • a05n-d.png — Same concatenated checkbox label/description text as a05n-d-full: “Answer review for players Site policy forces the answer key” has no visual break between the control’s own label and its explanatory clause.
  • a05n-m-full.png — Same run-together checkbox text issue as desktop.
  • a05n-m-full.png — Title field (‘Titel hinzufügen’) is stacked below the Quiz questions metabox instead of at the top of the page, so on mobile a new quiz can be created without ever seeing the title input first.
  • a05n-m.png — Title input (‘Titel hinzufügen’) is not visible in the initial mobile fold at all — it only appears further down the page after the Quiz questions metabox, which is a discoverability problem for naming a new quiz.

Feedback — a05n

(awaiting tour notes)

a06 — question editor

/wp-admin/post.php?post=586&action=edit

Desktop Edit Question: choices with Python correct, Subjects sidebar a06-d.png · desktop 1280x900 · fold

Edit Question page full-height: stem, 4 choices, type/language/difficulty, explanation a06-d-full.png · desktop 1280x900 · full page

Mobile fold — same stats-card row horizontal clipping a06-m.png · mobile 390x900 · fold · ⚠️ finding

Mobile full page — stats card row clips 'Subje…'/'451 unde…' a06-m-full.png · mobile 390x900 · full page · ⚠️ finding

Question details metabox crop: stem textarea, answer choices, metadata dropdowns a06-d-p01-metabox.png · desktop 1280x900 · element crop

Question stem textarea crop showing Spanish question text about Guido van Rossum a06-d-p02-stem.png · desktop 1280x900 · element crop

Answer choices list: Python marked Correct, plus Ruby, Perl, Java with controls a06-d-p03-choices.png · desktop 1280x900 · element crop

Tight crop of the correct-answer row: radio marked Correct with 'Python' field a06-d-p04-choice-row.png · desktop 1280x900 · element crop

Question type/Language(Spanish)/Difficulty selects with hint text a06-d-p05-selects.png · desktop 1280x900 · element crop

Explanation textarea filled with Spanish rationale text a06-d-p06-explanation.png · desktop 1280x900 · element crop

Findings in this route

  • a06-m-full.png — Top stats cards row overflows the 390px viewport horizontally — ‘Subje’ and ‘451 unde’ text is cut off at the right edge instead of wrapping/stacking; non-responsive dashboard summary cards.
  • a06-m.png — Same as a06-m-full: stats cards row clipped/truncated at 390px width (‘Subje…’, ‘451 unde…’, ‘6 empty’ partly cut off), non-responsive grid.

Feedback — a06

(awaiting tour notes)

a06e — save-error summary notice (invalid save on FIXTURE only)

/wp-admin/post.php?post=<tour_err_question>&action=edit

Error banner: 'QuizWizz could not publish these changes' + review link a06e-d-p01-error-summary.png · desktop 1280x900 · element crop

Feedback — a06e

(awaiting tour notes)

a06n — new question editor

/wp-admin/post-new.php?post_type=qw_question

Desktop fold: empty Choice 1-3 fields and Subjects list a06n-d.png · desktop 1280x900 · fold

Desktop full Add New Question, draft status, empty choices/explanation a06n-d-full.png · desktop 1280x900 · full page · ⚠️ finding

Mobile fold: hamburger menu, stats cards, empty form start a06n-m.png · mobile 390x900 · fold

Mobile full Add New Question — stats row clipped, same as a06-m a06n-m-full.png · mobile 390x900 · full page · ⚠️ finding

Findings in this route

  • a06n-d-full.png — Stats-cards row is clipped at the far right even at 1280px desktop width, suggesting a fixed-width/overflowing row rather than a fluid grid.
  • a06n-m-full.png — Stats cards row overflows/truncates horizontally at 390px (‘Subje…’, ‘451 unde…’), identical defect to a06-m-full/a06-m.

Feedback — a06n

(awaiting tour notes)

a07 — subjects taxonomy screen

/wp-admin/edit-tags.php?taxonomy=qw_subject&post_type=qw_question

Subjects table fold; German chrome mixed with English 'Subjects'/'Add subject' text a07-d.png · desktop 1280x900 · fold · ⚠️ finding

Subjects list, 483 rows, full scroll; EN buttons mixed into German admin chrome a07-d-full.png · desktop 1280x900 · full page · ⚠️ finding

Mobile fold: icon bar, stat cards, Subjects heading, search box, table header rows a07-m.png · mobile 390x900 · fold

Mobile full page: stat cards then Subjects table rows with action links a07-m-full.png · mobile 390x900 · full page

Stats rail: 123 Quizzes, 9.069 Questions, 483 Subjects, 13 plays, 1 of 1 languages a07-d-p01-rail.png · desktop 1280x900 · element crop

Icon column crop: generic 28x28 file icon, not a custom subject icon a07-d-p02-icon-column.png · desktop 1280x900 · element crop · ⚠️ finding

Add-subject Icon field: Automatic icon toggle, Choose icon button, Advanced disclosure a07-d-p03-add-form-icon.png · desktop 1280x900 · element crop

Notice: subjects with <10 usable questions — 451 entries listed a07-d-x01-supply-under.png · desktop 1280x900 · element crop

Notice: subjects with no usable question — 6 zero-count subjects shown a07-d-x02-supply-empty.png · desktop 1280x900 · element crop

Findings in this route

  • a07-d-full.png — Title/buttons ‘Subjects’, ‘Add subject’, ‘Search Subjects’ stay English amid German ‘Beschreibung’/‘Anzahl’/‘von 25’
  • a07-d-full.png — Every row’s Icon column is the identical generic placeholder icon, not per-subject
  • a07-d-p02-icon-column.png — Same placeholder document icon used for all 483 subjects instead of distinct icons
  • a07-d.png — EN/DE string mixing: ‘Subjects’, ‘Add subject’, ‘Search Subjects’ vs German ‘Anwenden’
  • a07-d.png — Identical generic file icon repeated for every subject row

Feedback — a07

(awaiting tour notes)

a07t — term edit icon row

term.php?taxonomy=qw_subject&tag_ID=<science-computers-id>

Term-edit Icon field: Automatic icon, Choose icon button, Advanced disclosure a07t-d-p01-icon-row.png · desktop 1280x900 · element crop

Feedback — a07t

(awaiting tour notes)

a08 — Site Health status (QuizWizz checks expanded)

/wp-admin/site-health.php

Site Health Status fold, dark admin color scheme, same issue list a08-d.png · desktop 1280x900 · fold

Site Health Status: 1 critical issue, 4 recommended improvements list a08-d-full.png · desktop 1280x900 · full page

Site Health Status mobile fold, header through first critical-issue card a08-m.png · mobile 390x900 · fold

Site Health Status page, mobile viewport, full stacked-card layout a08-m-full.png · mobile 390x900 · full page

Feedback — a08

(awaiting tour notes)

a08i — Site Health Info QuizWizz section expanded

/wp-admin/site-health.php?tab=debug

Site Health Info tab fold, QuizWizz diagnostics table, all rows visible a08i-d.png · desktop 1280x900 · fold

Site Health Info tab, QuizWizz section expanded: diagnostics table a08i-d-full.png · desktop 1280x900 · full page

Site Health Info mobile fold, table scrolled to Guest assistant provider row a08i-m.png · mobile 390x900 · fold

Site Health Info tab, mobile full page, QuizWizz table expanded/stacked a08i-m-full.png · mobile 390x900 · full page

Feedback — a08i

(awaiting tour notes)

a09 — Privacy Guide QuizWizz panel expanded

/wp-admin/options-privacy.php?tab=policyguide

Privacy Policy Guide fold, QuizWizz policy text expanded a09-d.png · desktop 1280x900 · fold

Privacy Policy Guide, QuizWizz section expanded with full disclosure text a09-d-full.png · desktop 1280x900 · full page

Privacy Guide mobile fold: Datenschutz heading, tabs, intro copy, template link a09-m.png · mobile 390x900 · fold

Privacy Guide mobile full: Datenschutz tabs, WordPress+QuizWizz policy accordions expanded a09-m-full.png · mobile 390x900 · full page

Feedback — a09

(awaiting tour notes)

a10 — plugin row + Dashboard action

/wp-admin/plugins.php

Plugins list desktop fold: toolbar filters, QuizWizz row highlighted, empty row below a10-d.png · desktop 1280x900 · fold

wp-admin Plugins list desktop: QuizWizz row v1.10.0 with Dashboard/Deaktivieren links a10-d-full.png · desktop 1280x900 · full page

Plugins list mobile fold: QuizWizz card and empty second entry below it a10-m.png · mobile 390x900 · fold

Plugins list mobile full: Ansicht anpassen/Hilfe, QuizWizz card, bulk-action dropdown a10-m-full.png · mobile 390x900 · full page

Cropped QuizWizz plugin row: description, Dashboard/Deaktivieren, version 1.10.0 a10-d-p01-plugin-row.png · desktop 1280x900 · element crop

Feedback — a10

(awaiting tour notes)

a11 — personal data exporter page

/wp-admin/export-personal-data.php

Personal data exporter page: request form, empty requests table a11-d.png · desktop 1280x900 · fold

Feedback — a11

(awaiting tour notes)

a11e — personal data eraser page

/wp-admin/erase-personal-data.php

Personal data eraser admin page: request form, empty requests table a11e-d.png · desktop 1280x900 · fold

Feedback — a11e

(awaiting tour notes)

a12a — Protected backups EMPTY (fresh admin / post-cleanup)

qw-settings#qw-data

Protected backups empty-state text: 'No settings snapshots yet' explanation line a12a-d-p01-backups.png · desktop 1280x900 · element crop

Feedback — a12a

(awaiting tour notes)

a12b — Protected backups POPULATED (after v-wave mutations as same user)

qw-settings#qw-data

Protected backups card: 3 timestamped snapshots each with download/restore/delete icons a12b-d-p01-backups.png · desktop 1280x900 · element crop

Feedback — a12b

(awaiting tour notes)

a12c — Settings action-notice banner (coverage-critic addition)

Green success notice: "Settings snapshot restored." a12c-d-p01-notice-restored.png · desktop 1280x900 · element crop

Green success notice: "Settings snapshot deleted." a12c-d-p02-notice-deleted.png · desktop 1280x900 · element crop

Green notice: essential settings saved without JavaScript a12c-d-p03-notice-fallback-saved.png · desktop 1280x900 · element crop

Red error notice: essential settings save failed, previous kept a12c-d-p04-notice-fallback-failed.png · desktop 1280x900 · element crop

Red error notice: settings changed after load, reload before saving a12c-d-p05-notice-fallback-conflict.png · desktop 1280x900 · element crop

Feedback — a12c

(awaiting tour notes)

a13 — legacy redirect → dashboard#help landing

/wp-admin/admin.php?page=qw-get-started

Dashboard: stats rail, language pools, content ideas, collapsed Get started a13-d.png · desktop 1280x900 · fold

Feedback — a13

(awaiting tour notes)

a13i — legacy redirect → settings#advanced-portability landing

/wp-admin/admin.php?page=qw-import

Settings Data tab: import dropzone, disabled import btn, empty backups card a13i-d.png · desktop 1280x900 · fold

Feedback — a13i

(awaiting tour notes)

a14a — portability idle

qw-settings#qw-data

Full portability card idle: export/import icon buttons, no active job a14a-d-p01-portability.png · desktop 1280x900 · element crop

Feedback — a14a

(awaiting tour notes)

a14b — portability export job running (then Cancel)

qw-settings#qw-data

Portability mid-export, status 'queued (serialize_terms; 0/0)', tooltip clipped a14b-d-p01-portability.png · desktop 1280x900 · element crop · ⚠️ finding

Findings in this route

  • a14b-d-p01-portability.png — Tooltip text is truncated at the panel’s left crop edge, reading only ‘…lity export’ instead of the full label — the tooltip overflows/gets cut off by its container

Feedback — a14b

(awaiting tour notes)

Wave D — block editor

e01 — inserter Qwizz category (4 blocks)

/wp-admin/post-new.php?post_type=post

Block inserter search 'qwizz': Quiz, Builder, Library, Subjects blocks e01-d-p01-inserter.png · desktop 1280x900 · element crop

Feedback — e01

(awaiting tour notes)

e02 — quizwizz/craft Builder inspector (Profiles + Advanced groups incl. 25 controls)

Craft block inspector: banner source/icon, player toggles, completion buttons e02-d-p01-inspector.png · desktop 1280x900 · element crop

Craft block toolbar: three adjacent buttons all labeled 'Site default' e02-d-p02-canvas.png · desktop 1280x900 · element crop · ⚠️ finding

Findings in this route

  • e02-d-p02-canvas.png — Top toolbar row reads ‘Study | Any | Mixed | Site default | Site default count | Site default’ — three separate controls share the identical visible label ‘Site default’ with no distinguishing text, so a user cannot tell which control does what from the toolbar alone

Feedback — e02

(awaiting tour notes)

e03 — quizwizz/quiz inspector

Quiz block inspector: quiz search field plus Erweitert CSS class/CSS fields e03-d-p01-inspector.png · desktop 1280x900 · element crop

Feedback — e03

(awaiting tour notes)

e04 — quizwizz/library inspector

Library block inspector: quiz limit, columns, subject search, language, toggle e04-d-p01-inspector.png · desktop 1280x900 · element crop

Feedback — e04

(awaiting tour notes)

e05 — quizwizz/subjects inspector

Subjects block inspector: columns slider, show-counts toggle, Erweitert CSS e05-d-p01-inspector.png · desktop 1280x900 · element crop

Feedback — e05

(awaiting tour notes)

e06 — patterns tab QuizWizz category (5 patterns)

Inserter Patterns sidebar listing categories incl. QuizWizz among Blöcke/Vorlagen/Medien e06-d-p01-patterns.png · desktop 1280x900 · element crop

Feedback — e06

(awaiting tour notes)

e07 — builder block canvas summary

Craft block canvas: Builder preview card with Goal/Subject/Questions steps e07-d-p01-canvas.png · desktop 1280x900 · element crop

Feedback — e07

(awaiting tour notes)

Wave E — config & state variants

v01 — forced iface_lang=de — builder d

DE-localized builder home: 'Quiz erstellen' hero, draft-resume banner, category grid v01-d-p01-builder.png · desktop 1280x900 · element crop

DE player question: 'Frage 1 von 10', Oxford true/false item, Antwort prüfen v01-d-p03-player-question.png · desktop 1280x900 · element crop

DE player result: 'Quiz abgeschlossen', 7/10 (70%), Nochmal button, answer review v01-d-p04-player-result.png · desktop 1280x900 · element crop

German library grid: Suchen/Thema/Sprache filters, 15 Quizze gefunden v01-d-p05-library.png · desktop 1280x900 · element crop

German dashboard stats + Erste Schritte onboarding checklist v01-d-p06-dashboard.png · desktop 1280x900 · element crop

Withdrawn frame — v01

  • v01-d-p02-player-intro.png — withdrawn 2026-08-20 and moved to the blocked list. Re-verified live with cleared localStorage/sessionStorage and cookies: .qwizz-player carries data-autostart="1" and the mount goes straight from a transient “Loading quiz…” card to “Question 1 of 10” (observed at ~9.5 s, the REST …/quiz/110/start call taking ~10 s). There is no intro/start state in this flow, so the frame could never have existed.

Feedback — v01

(awaiting tour notes)

v02 — AI ON — settings

AI panel expanded: Enable AI on, access/privacy + budget fields v02-d-p01-ai-expanded.png · desktop 1280x900 · element crop

Quiz Wizzard for visitors: assistant toggle on, guest budget fields v02-d-p02-guest-wizard.png · desktop 1280x900 · element crop

Dashboard Tools drawer with AI enabled shows no AI status line v02-d-p03-dashboard-tools.png · desktop 1280x900 · element crop · ⚠️ finding

Findings in this route

  • v02-d-p03-dashboard-tools.png — Tools and system state drawer lists only ‘Starter quizzes 4/4’, ‘Interface English’, ‘Theme Dark’, ‘Quiz sources Generated + prepared’ — with global AI toggled ON in settings, no corresponding AI status row appears in this drawer, contradicting the shotlist expectation of ‘dashboard tools drawer AI lines’

Feedback — v02

(awaiting tour notes)

v03 — auto-advance ceiling ON — builder player-options row + player countdown timer panel

Player settings: Instant feedback on, Auto-advance Manual, Explanations on v03-d-p01-builder-player-options.png · desktop 1280x900 · element crop

Countdown banner 'Next question in 2 seconds' with Resume/Add 10s buttons v03-d-p02-player-timer.png · desktop 1280x900 · element crop

Feedback — v03

(awaiting tour notes)

v04 — reduced-motion player — Q1 manual-advance note + result (no score animation)

Reduced-motion Q2/10 with manual-advance note instead of timer animation v04-d-p01-question-note.png · desktop 1280x900 · element crop

Quiz complete: static 7/10 (70%) score, Retry button, answer review list v04-d-p02-result.png · desktop 1280x900 · element crop

Feedback — v04

(awaiting tour notes)

v05 — noscript — builder server form section.qwizz-no-js + settings fallback form.qwizz-settings-fallback

Noscript builder fallback: JS-unavailable notice, topics, Print/Play v05-d-p01-builder-noscript.png · desktop 1280x900 · element crop

Noscript fallback: essential settings form with source/outcome checkboxes. v05-d-p02-settings-fallback.png · desktop 1280x900 · element crop

Feedback — v05

(awaiting tour notes)

v06 — resume intro — two-button intro (Resume question N of M / Start over) on quiz 110

Dark resume card: Resume question 2 of 10 / Start over buttons. v06-d-p01-resume-intro.png · desktop 1280x900 · element crop

Feedback — v06

(awaiting tour notes)

v07 — 320x720 full reflow of /?qw_quiz=world-quiz-english

320px mobile reflow: toolbar, title, dark player card, Q1 of 58. v07-x-full.png · narrow 320x720 · full page

Feedback — v07

(awaiting tour notes)

v08 — player themes — site + light real; dark/retro/cyber/love/aqua as -simulated attr-swap crops

Site-default dark theme player: World Quiz, Q1 of 58. v08-d-p01-site.png · desktop 1280x900 · element crop

'Light' theme still renders near-black, not a light palette. v08-d-p02-light.png · desktop 1280x900 · element crop · ⚠️ finding

Simulated dark theme: near-black card, purple accent, indigo rows. v08-d-p03-dark-simulated.png · desktop 1280x900 · element crop · recaptured 2026-08-20 with data-theme="dark" applied to .qwizz-player; the original capture was byte-identical to v08-d-p02-light.png because the attribute had not taken effect

Simulated retro theme: cream bg, brown/red accent button. v08-d-p04-retro-simulated.png · desktop 1280x900 · element crop

Simulated cyber theme: indigo bg, bright yellow accent button. v08-d-p05-cyber-simulated.png · desktop 1280x900 · element crop

Simulated love theme: soft pink bg, magenta accent button. v08-d-p06-love-simulated.png · desktop 1280x900 · element crop

Simulated aqua theme: pale blue bg, teal accent button. v08-d-p07-aqua-simulated.png · desktop 1280x900 · element crop

Findings in this route

  • v08-d-p02-light.png — Card is styled with the same near-black background, dark inputs, and purple ‘Check answer’ button as the default/dark theme even though this is the ‘light’ theme instance — no visible light color scheme applied; contrasts with p06 (love) and p07 (aqua) simulated crops which clearly show light backgrounds.

Feedback — v08

(awaiting tour notes)

Feedback log

Dated entries are appended here as the tour dialogue proceeds.

  • 2026-08-25 — the 36 notes harvested from tandem session 46937fb4893da860 were triaged and fixed on the bench; see the resolution record. 36 implementation dispositions are complete; four user-owned branches remain open — item 02 taxonomy shape (2026-08-25-tndm-ui-review.md:456), item 15 logged-out navigation visibility (:458), fine-tune reachability (:460) and the mobile statistics rail height (:461).

  • 2026-08-25 — this gallery is superseded for every route it covers by the 2026-08-25 UI corpus. The remediation changed 33 plugin files, so these images no longer show the shipped UI. Two files here are also known to be mislabelled: g02-d-p12-group-shared-off/-on cannot show the answer-review toggle their names imply, because matrix.key was already forced in this tour’s own options-pre.json; inspection confirms both show only the Question position and Banner rows. Read this page as a historical record of the dialogue, not as current evidence.

  • 2026-08-20 — gallery published, tour ready for the first pass.

  • 2026-08-20 — duplicate-frame reconciliation closed: v08-d-p03-dark-simulated recaptured with data-theme applied, v01-d-p02-player-intro withdrawn as blocked(no-such-state), the two cross-route byte-identical pairs kept and disclosed in their captions, pixel-hash sweep recomputed to 19 groups over 42 frames.

  • 2026-08-20 — gallery imported as the first deck of the TNDM tandem-audit platform (tndm.loca.zone), 323 frames over 76 sections, and reviewed jointly over an append-only event bus.

  • 2026-08-21 — operator review pass: the full deck was navigated end to end (57 navigation events) and one frame ruled, coverage/1 keep. No operator kill or recapture request was raised, so no frame changed as a result of the pass.

  • 2026-08-21 — coverage-report.json findings[] reconciled to the qa-captions.json verdicts: two entries describing frames ruled clean (a02-d-p12-qw-data.png, a12b-d-p01-backups.png) were dropped, so findings[] is now exactly 65 and matches the 65 finding verdicts. Ledger unchanged at 315 on disk plus 5 blocked equals 320.

  • 2026-08-25 — second tandem review (session 46937fb4893da860) harvested, triaged and fixed on the bench: 2026-08-25 TNDM UI review — fixes.

Action items

Every row below was raised by the review agent during the first tandem pass over deck qwizz-2026-08-20 (session 53079ca8e3cfa575, events seq 11-21) — except the last two, which carry over from capture-time QA recorded above on this page — each cites evidence already recorded here, and all of them are agent-authored proposals awaiting the release owner rather than operator rulings, with nothing applied to plugin source.

ItemSurfaceEvidenceStatus
Give the builder one accented primary CTA and a single shared max-width grid for header and body; actions must not share styling with subject filtersg02 builder/craftg02-d — agent reading: page body in a ~640px column offset right of a full-width headerproposed
Give player options letter badges plus hover, focus and selected states, and keep the check-answer control in frame with the questiong05 player flowg05-d-p06-questionproposed
Refuse to publish legal pages that still contain INSERT-YOUR-DATA-HERE tokens, or gate them until filledg11 privacy, g12 termsg11-d-full, g12-d-fullproposed, release blocker
Filter probe and tour fixture subjects out of the dashboard grid, and make the Attention panel link to filtered views instead of restating the stat row above ita01 dashboarda01-d-full, a01-d-p07-subjects (probe subject QW SVG Probe 4lHqFtjO), stat row at a01-d-p02-stats-railproposed
Remove the min-height rule that leaves the Guest Builder panel a framed void from about y560 to y1320; same class affects neighbouring settings panelsa02 settingsa02-d-p06-qw-builder (page QA records content to y≈560, container to ~y1310), same pattern on a02-d-p11-qw-aiproposed
Fix the light theme palette values; the switch itself is proven working, the token set is notv08 themesv08-d-p02-light vs v08-d-p03-dark-simulatedproposed
Repair the wp_nonce_field($echo = false) regression that kills backup restore, backup delete, question-pack import and bundled-library importwp-admin owner featuresBlocking defects table above — settings-page.php:930, settings-page.php:936, ImportPage.php:96, ImportPage.php:123proposed, highest value per line changed
Stop stripping every [data-preview-tab] but player in qwizz-admin-settings.js:1584-1586, so the declared Builder and PDF preview tabs can rendera02 settings preview modal2 blocked frames — a02-d-p14-preview-modal-builder, a02-d-p16-preview-modal-pdf; tabs declared at settings-page.php:998 and :1000proposed

No plugin source was modified during the tour or the review: the bench patch surface for this audit is evidence and documentation only, and every code fix above belongs to the release owner through the locked pipeline.

Method & residue

  • Capture harness: evidence/2026-08-20-ui-tour/harness.js (bench-local, gitignored). Every harness-captured shot — 313 of the 315 files now on disk — appends one line to capture-log.jsonl with URL, selector, lazy-gate result and geometry. The two exceptions are e02-d-p02-canvas and e07-d-p01-canvas, cross-frame block-editor canvas crops taken outside the harness shot() path. Of the 313 logged shots, 139 passed the lazy gate outright and 174 tripped img-incomplete alone — lazily-loaded wp-admin chrome (avatars, plugin icons) outside every captured region, each cleared by independent per-shot QA.
  • Pixel-hash sweep (recomputed 2026-08-20 after the duplicate reconciliation): 19 byte-identical groups covering 42 frames. 17 are -full/fold pairs where the page is shorter than the viewport; 23 files are redundant, so the corpus is 315 files ≈ 292 distinct pixel images. The two cross-route pairs that remain are disclosed in their captions (a03-d-p02-filters/a04-d-p01-filters, g02-d-p10-count/g19-d-p01-size-row); the two former contradiction pairs were resolved by recapturing v08-d-p03-dark-simulated and withdrawing v01-d-p02-player-intro.
  • Screenshot coordinate trap: Puppeteer clip screenshots re-layout the page unless captureBeyondViewport:false is passed, and clip rects are page-space (add scrollX/scrollY, except for position:fixed elements). Both cost real retakes in this run.
  • Fixtures created and deleted: qwtour_admin, qwtour_editor, qwtour_sub, Tour Locked Quiz, Tour Draft Quiz, Tour Sub Quiz, Tour Err Question, Tour Fixtures page, one block-editor draft (post 10854). IDs in cleanup.json; verify.json records the proof: zero fixture IDs alive, zero exact-title matches, zero qwtour_* users, zero settings snapshots left inside the tour window, and qw_exposure_settings restored to the pre-tour bytes — the stored option_value is byte-identical to options-pre.json, 3 068 bytes, md5 c7cbf4c5e4300a8dc61562d6aadb2b06, recomputable with md5(maybe_serialize(get_option('qw_exposure_settings'))). Six tour-caused snapshot rows had to be removed with targeted DB deletes — three owned by qwtour_admin and three written with no user context (created_by = 0) by wp-cli option updates — because the Protected-backups Delete button is broken. The final check windows on created_at rather than creator, so a no-user row cannot hide from it; 195 pre-existing rows outside the tour window were left untouched. Play attempts on quizzes 110 and 413 remain as analytics rows and are disclosed, not hidden.
  • Option mutations (qw_exposure_settings): exposure matrix + question types + languages, iface_lang=de, AI master/guest on. Each restored from options-pre.json and re-verified before the next variant.
  • Non-mutating variants: reduced motion via media emulation, noscript via setJavaScriptEnabled(false), five theme crops via the runtime data-theme attribute (labelled -simulated). The theme root is .qwizz-player[data-theme] (per assets/css/qwizz-tokens.css, which defines light/dark/retro/cyber/love/aqua); swapping data-theme on document.documentElement produces zero pixel change, and unknown theme names fall back to the untokenised default. Re-verified live 2026-08-20: repeat captures of the same theme are byte-identical, and light vs dark differ, so each theme crop is real evidence.
  • One print-only element (g05-d-p17-print-sheet) was made visible with a temporary style override; it is display:none on screen media by design.
  • g18-d-full is page 1 of the real generated PDF (g18-artifact.pdf, 90 864 bytes) rasterised with pdf.js; headless Chromium renders its native PDF viewer blank.
  • Bench law: every shot is bench-local evidence, releaseEligible: false. No plugin file was edited during this run.