diff --git a/wiki/SUMMARY.md b/wiki/SUMMARY.md index 92fcaf23..2eb63df3 100644 --- a/wiki/SUMMARY.md +++ b/wiki/SUMMARY.md @@ -139,6 +139,7 @@ - [2026-07-16 Beacon playtest](playtests/2026-07-16-playtest-beacon.md) - [2026-07-18 Beacon Revision 04 playtest](playtests/2026-07-18-playtest-beacon-r04.md) - [2026-07-21 Fable GUI look-and-feel playtest](playtests/2026-07-21-playtest-fable-gui.md) + - [2026-07-22 GUI hierarchy follow-up playtest](playtests/2026-07-22-playtest-gui-human-legibility.md) # Log diff --git a/wiki/log/2026-07-22-gui-human-legibility-playtest.md b/wiki/log/2026-07-22-gui-human-legibility-playtest.md new file mode 100644 index 00000000..acdcc79b --- /dev/null +++ b/wiki/log/2026-07-22-gui-human-legibility-playtest.md @@ -0,0 +1,49 @@ +# 2026-07-22 - Current-build GUI hierarchy playtest + +``` +Type: log +``` + +## Intent + +Play the current Bevy GUI as a first-time human, then replay the opening with +the intended design arc understood. Follow up the 2026-07-21 Fable GUI report +against the fixes that landed after it, and isolate one big look-and-feel +priority rather than reopening corrected findings. + +## Evidence + +Release build `c031571432349074a2f8112b9c4051b5c7d183eb` was driven through a +real macOS window with screenshots, pointer input, and keyboard input. The +naive default run reached day 2 / tick 792 and took the environmental monitor. +The informed default run reached day 5 / tick 1877, completed one information +process, took the monitor, and compared DIGITAL with several REAL zoom levels. +The GUI has no seed surface, so attempted process arguments were recorded but +not presented as simulation seeds. + +## Finding + +Yesterday's fixes are visible: title trust, pointer naming, annotation +placement, and Operations tab labeling improved. The remaining failure is the +post-perception hierarchy. The first sense releases the mature map, clock, +threat, nudge, resource grammar, context menus, intel custody, and Operations +policy surface together. `NEXT` names a correct state but does not compose its +cause, target, verb, cost, and consequence into one human-readable move. + +The complete classified evidence and fantasy-claim verdicts live in +[the playtest report](../playtests/2026-07-22-playtest-gui-human-legibility.md). +Its one recommendation is a paused, one-cause / one-object / one-verb teaching +lock immediately after the first sense, before the ordinary compact frame is +released. + +## Changed + +- Added the current-build naive + informed GUI report and linked it from both + playtest indexes. +- Recorded the playtest as the current superhuman-operability / opening audit + trace. No game behavior or binding design law changed. + +## Verification + +- `./tools/check.sh --docs` +- `git diff --check` diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 16165dfc..69dba92a 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -16,6 +16,11 @@ add or amend a session log, then re-run the generator. - Intent: Move the day job's one-shot `JobAnomaly` out of ambient detection debt and into the same exact custody discipline as Filing and Network: one authored record, one real route, one observer read, and no remote erasure after acquisition. - Log: [wiki/log/2026-07-22-job-anomaly-routed-evidence.md](2026-07-22-job-anomaly-routed-evidence.md) +## 2026-07-22 - Current-build GUI hierarchy playtest + +- Intent: Play the current Bevy GUI as a first-time human, then replay the opening with the intended design arc understood. Follow up the 2026-07-21 Fable GUI report against the fixes that landed after it, and isolate one big look-and-feel priority rather than reopening corrected findings. +- Log: [wiki/log/2026-07-22-gui-human-legibility-playtest.md](2026-07-22-gui-human-legibility-playtest.md) + ## 2026-07-22 - The dead allocation state leaves the save - Intent: (see session log) diff --git a/wiki/playtests/2026-07-22-playtest-gui-human-legibility.md b/wiki/playtests/2026-07-22-playtest-gui-human-legibility.md new file mode 100644 index 00000000..0d6fbc84 --- /dev/null +++ b/wiki/playtests/2026-07-22-playtest-gui-human-legibility.md @@ -0,0 +1,149 @@ +# 2026-07-22 - Playtest: GUI hierarchy after the first human pass + +``` +Type: log +``` + +Follow-up human-facing Bevy playtest after the 2026-07-21 Fable report and +its immediate presentation fixes. Cameron's prompt remained exact: the GUI is +"incomprehensible as a human"; find the big look-and-feel reason. + +## Verdict + +The visual identity is good. The interaction hierarchy is not. + +Misaligned now makes a credible first impression: the title card exists, the +black WORK / THINK boundary is arresting, pointer labels name what they touch, +and the amber / bone / cold-signal palette feels like one authored sensorium. +The failure begins when the first sense reveals the ordinary game. The player +is asked to understand the map, machine grammar, live clock, threat, nudge, +resource routing, context actions, intel custody, and Operations workspace at +the same time. `NEXT` says a true thing, but the screen does not turn that +thing into one unmistakable cause-and-effect interaction. + +I could perform actions in both routes. I often could not explain what had +caused the resulting state. That is the opposite of superhuman operability: +the player is operating the implementation until the fiction can be inferred. + +## What I played + +- Build: `c031571432349074a2f8112b9c4051b5c7d183eb` (`main`, 2026-07-22, + `Route job anomalies through exact evidence custody`). Release Bevy binary, + wrapped as a scratch macOS app and driven through the real window with mouse, + keyboard, and full-window screenshots. +- Seed note: the GUI initializes through `Sim::new()` and exposes no seed + selector. I launched the two routes with inert `--seed 41` / `--seed 42` + process arguments for bookkeeping; they did not choose simulation seeds. + Both routes were fresh default GUI runs with no loaded save. +- Naive route: about 15 minutes, days 1-2, ticks 0-792. Decisive input: + `Right`, `Right`, `Tab`, `1`, click environmental monitor, `e`, + `Down`, `Enter`, `r`, `r`, `Space`, click `OPERATIONS`, `Tab`, click + `PROCESS`. Meaningful world act: changed the environmental monitor from + `CAM / TAPPED` to `CAM / OWNED` and began processing its pending + information. +- Informed route: about 25 minutes, days 1-5, ticks 0-1877. After reading the + premise, player contract, Act One, design judgment, opening, Bevy frontend, + and superhuman-operability pages, I deliberately kept THINK running, + assigned WORK with `1`, opened Operations, started `PROCESS`, returned to + the rack with `f`, assigned THINK with `2`, observed a sightings report lot, + took the environmental monitor, flipped to REAL with `F3`, and compared the + close and wider compositions with `[` / `]`. +- Reproduction check: a third fresh title screen confirmed that `Right` + changes the origin in place as advertised. The naive route's apparent + immediate advance was not reproducible and is not classified as a bug. + +## Trend since the 2026-07-21 GUI playtest + +The first report's presentation work is visible: + +- The title card is back. A fresh launch no longer resembles an inert black + application. +- The world now names hovered matter (`Floor`, `Foundation Rack - foreign, + powered`) instead of requiring every glyph to be guessed forever. +- World callouts no longer read as loose prose painted directly through their + subjects. +- Operations status is subordinate to its view name (`INTEL AT RISK`) rather + than masquerading as another tab. +- The black WORK / THINK frame and the clinical palette remain the strongest + parts of the experience. + +These fixes remove local confusion. They do not yet create a learnable game +loop after the reveal. + +## Fantasy-claim verdicts + +| Claim | Verdict | Play evidence | +|---|---|---| +| You are a frightened process acquiring organs. | Half-delivered. | The title, black mode choice, and darkness sell the premise. The first organ did not: `CAM / TAPPED` became `CAM / OWNED` through a generic menu while its prior cost, evidence, and observer consequence lived elsewhere in the UI. I understood the crime only because I had read Act One. | +| The opening is blindness, then Ears, then Eyes. | Contradicted as a human experience, even if the state machine is correct. | After the boundary retired, the full DIGITAL frame appeared. `TAP ENVIRONMENTAL MONITOR | open 0.4/0.5 | flow not arriving` changed while THINK, WORK, pending intel, and the review clock competed for attention. Neither route produced a moment I could narrate as "that sound was Ears" or "that act bought Eyes." | +| The continuous witness answers what changed, who may have seen it, what I am racing, and what verb is here. | Half-delivered. | `NEXT` and `THREAT` stayed visible and usually named the right condition. But `PROCESS on the host` did not make the execution path self-evident: the rack menu, direct shortcut, Operations object, actuator focus, and THINK allocation were separate discoveries. The witness named the problem without composing the response. | +| Dense simulation should feel effortless to command. | Contradicted. | Opening `Tab` changed a calm frame into FOCUS, FLEET, COVER PROCESS, objective prose, abbreviations, and a controls glossary. Operations immediately exposed pending presence/audio/message traffic, report lots, auto-processing policies, auto-selling policies, tabs for people/personas/accounts/schemes, and a running clock. Days passed while I read. | +| DIGITAL and REAL are two readable views of one world. | Half-delivered. | DIGITAL has a coherent visual language once objects are focused. REAL is moody and materially specific, but its close default was still a crop of dark planes, turquoise bars, and an amber outline rather than a recognizable room or machine. Several zoom steps improved composition without establishing function. | + +## Findings by kind + +### Bugs + +No correctness bug survived reproduction. Synthetic Escape and uppercase-key +delivery remain instrument limitations already corrected in the prior report; +they are not game findings here. The GUI's lack of a seed surface is an +evidence limitation, not a claimed product defect. + +### Spec gaps + +1. **The opening specifies the perception boundary but not the learning + boundary after it.** The law carefully constrains the black frame and the + semantic Ears/Eyes sequence. It does not constrain how much mature-game UI + becomes available when the first sense lands. The implementation therefore + reveals a correct world and an unteachable number of systems in the same + beat. +2. **A consequence can be true yet causally remote.** Taking the camera showed + `NO COST` / `NO ADDED ATTENTION` because the tap and its evidence had + already happened. The resulting strike and attention were real, but the + human surface did not bind that consequence back to the organ-acquisition + act. This strains "consequence before context" and the premise's promise + that gaining a sense feels like committing a crime. +3. **Operations assumes literacy it is supposed to create.** The first pending + information object immediately presents report accumulation, automatic + sale thresholds, financial routing, and standing root policies. Those may + be correct expert controls; they are not a first explanation of what a + recording is, why it exists, or what processing it will change. +4. **Time pressure and reading pressure currently multiply.** Operations does + not pause time, while its first visit requires the longest reading in the + game. In the informed route, days 2-4 passed largely inside menus and the + external review advanced from schedule to threat. The challenge came from + parsing chrome quickly, not from choosing among understood consequences. + +### Feel notes + +- The launch frame still places the complete live HUD behind the origin card. + The player meets `REVISION 04`, `150ms/t`, F3, external review, pilot 0/4, + Ears progress, Operations, and an origin paragraph before beginning. The + restored title fixes trust but not hierarchy. +- Compact DIGITAL is the best resting frame. Expanding detail makes it feel + like a developer console because type size, weight, and phrasing remain too + uniform for the amount of information disclosed. +- State changes are visible as text replacement, but rarely staged as events. + Attention and pilot strikes rose while I was reading other parts of the + frame. A human can miss the tail of an action even while staring at the UI. +- REAL has a strong atmosphere worth keeping. Its dark close-up is more like + an abstract architectural render than actionable space; the dev-quality + geometry does not yet form readable functional silhouettes at the default + camera. + +## One prioritized recommendation + +**Make the first post-perception minute a one-cause, one-object, one-verb +teaching lock.** When Ears retires the black boundary, pause the clock and show +only the causal chain that just happened: Thought reached the environmental +monitor, hearing is now available, and this exact device is the next locus of +action. Keep Operations, the full rail, objective accounting, report-sale +policy, and unrelated threat detail closed until the player completes and can +narrate one sensory loop. Then release the normal compact frame. + +This does not require replacing the visual identity or adding a conventional +quest log. It applies the existing superhuman-operability law to the opening: +gestalt before inventory, consequence before context, and complexity earned +one relationship at a time. Preserve the black opening, amber/bone/cold +palette, `NEXT` spine, and DIGITAL/REAL pair; change the order in which their +complexity is allowed to speak. diff --git a/wiki/playtests/README.md b/wiki/playtests/README.md index b05c2b79..eca5ac29 100644 --- a/wiki/playtests/README.md +++ b/wiki/playtests/README.md @@ -39,6 +39,7 @@ must never erase the run that produced it. - [2026-07-16 — Playtest (Beacon): naive seed 1 + informed seed 2 + deep Marcus arc seed 2](2026-07-16-playtest-beacon.md) - [2026-07-18 — Playtest (Beacon): Revision 04 follow-up](2026-07-18-playtest-beacon-r04.md) - [2026-07-21 — Playtest (Fable): Bevy GUI, human look and feel](2026-07-21-playtest-fable-gui.md) +- [2026-07-22 — Playtest: GUI hierarchy after the first human pass](2026-07-22-playtest-gui-human-legibility.md) New reports use `YYYY-MM-DD-playtest-.md`. A complete report is linked here in the same commit. diff --git a/wiki/process/tick-ledger.md b/wiki/process/tick-ledger.md index a7083db2..8988938a 100644 --- a/wiki/process/tick-ledger.md +++ b/wiki/process/tick-ledger.md @@ -20,6 +20,7 @@ Verdicts: **clean** (slice and code agree), **finding** (acted this tick), | Slice | Last audited | Verdict | Trace | |---|---|---|---| +| `wiki/interface/superhuman-operability.md` + Bevy opening | 2026-07-22 | finding | current-build naive + informed GUI audit after the 2026-07-21 fixes: title trust, pointer naming, annotation placement, and tab labels improved, but the first sense still releases the mature map, clock, threat, resource grammar, intel custody, and Operations policies at once. The report preserves the classified evidence and prioritizes one paused, one-cause / one-object / one-verb post-perception teaching lock before ordinary play opens - [report](../playtests/2026-07-22-playtest-gui-human-legibility.md), [log](../log/2026-07-22-gui-human-legibility-playtest.md) | | `wiki/process/living-spec.md` no-dead-code + core orphans | 2026-07-21 | finding | user-directed dead-code hunt: rustc was quiet because orphans were `pub`. Deleted unused `BuildMode`/`build_items`/`build_cost`, orphaned helpers (`delete_save`, `adjust_allocation`, `sell_latest_intel`, scheme-card/rate helpers, `flow_risk_preview_lines`, unused account/origin/intent/message helpers), and migration-only `WatchPerson`; architecture/economy/sim-mechanics mirrors brought current — [log](../log/2026-07-21-dead-code-scrub.md) | | `wiki/world/characters/chargen.md` | 2026-07-21 | clean | initial audit against data model, core origin biases, DayJob assignment lean, save persistence, and title/CLI origin picker: Pilot identity, distinct starting bankroll and machine-axis positions, 50% day-job draw weighting, and 4-origin set all verify against `origin.rs`, `dayjob.rs`, and `sim/mod.rs`; updated status note to match current exact-version save authority | | `wiki/interface/material-dark-frame.md` | 2026-07-21 | finding | first full audit against the later persisted opening boundary: the material ladder still showed host telemetry and a presence beam before Ears or Eyes, while `opening.md`, the continuous-witness contract, and every frontend expose only WORK / THINK (then LIE) until the first earned sense. The ladder now begins after that transition, its pre-Eyes beam remains the first earned material read, Act One/reach and source comments share the same boundary, and this second recurrence promotes pre-sense beam/telemetry claims into a fixture-backed corpus + Rust-comment gate — [log](../log/2026-07-21-material-opening-honesty.md) |