Brand and design · Hi-fi screens · Hi-fi screens

Hi-fi: S12 Diagnostic · Diagnostic · processing

Contract, a board per state (uploading, transcribing, assessing, failed, unreliable, loading, empty, error, offline), tokens and strings.

Generated by botgumi-design index from ../../screens.json. Edit that file, not this page.

Stage: hifi · Key: diagnostic/diag-processing · Data-binding map: bindings.md

Drawn in the gallery: Diagnostic. Each board is the committed HTML in screens/, drawn on the example data in docs/api/examples/.

Contract

  • uploading: Real pipeline (not a demo). Same processing states as the daily loop.
  • transcribing: Real pipeline (not a demo). Same processing states as the daily loop.
  • assessing: Real pipeline (not a demo). Same processing states as the daily loop.
  • failed: Real pipeline (not a demo). Same processing states as the daily loop.
  • unreliable: Real pipeline (not a demo). Same processing states as the daily loop.

Flows: F1 First launch → diagnostic → paywall → first real session.

Reads and calls:

  • GET /v1/attempts/{id}

Local state:

  • none

Boards

One row per state. A state without boards of its own says what shows it.

State Board Example data
uploading zh-Hans · en article-diagnostic.json (zh-Hans · en)
transcribing zh-Hans · en article-diagnostic.json (zh-Hans · en)
assessing zh-Hans · en article-diagnostic.json (zh-Hans · en)
failed zh-Hans · en article-diagnostic.json (zh-Hans · en)
unreliable zh-Hans · en article-diagnostic.json (zh-Hans · en)
loading no board of its own: From states.md (Diagnostic processing): diag-processing--uploading, diag-processing--transcribing, diag-processing--assessing
empty no board of its own: From states.md (Diagnostic processing): —
error no board of its own: From states.md (Diagnostic processing): diag-processing--failed · fatal: non-retryable → generic error
offline no board of its own: From states.md (Diagnostic processing): processing--offline

The boards

Each state as drawn (393 × 852), one board per locale. Open a board on its own for its spec panel.

uploading

transcribing

assessing

failed

unreliable

Tokens used

By path in ../../system/tokens.source.json.

Token Where
color.accentPrimary .btn--primary
color.accentPrimaryPressed .btn--primary
color.bgCanvas .device, .dock, .navbar, .screen
color.bgInverse .pbtn, .player, inline
color.bgInverseRaised .bar, .icon-btn
color.bgSunken .bar, .btn, .card--sunken, .icon-btn …
color.bgSurface .card, .list
color.lineHairline .list-row, .progress-hair
color.lineStrong .player, .track
color.reward inline
color.statusDanger .c-danger, inline
color.statusInfoSoft .banner--info
color.statusSuccess .c-success
color.statusWarning inline
color.textDisabled .btn
color.textOnAccent .btn--primary
color.textOnInverse .icon-btn, .pbtn, .player
color.textPrimary .banner--info, .bar, .device, .home-indicator …
color.textSecondary .btn--ghost, .c-secondary, .state-illo
color.textTertiary .c-tertiary, .list-row, .step-count
radius.button .btn
radius.card .card
radius.md .card--md, .list
radius.pill .bar
radius.sm .banner
space.gutter .dock, .navbar, .pad
space.s5 .card
space.s6 .screen
space.safeBottom .dock, .dock-tall, .has-dock, .screen
space.safeTop .device, .screen
space.sizeCtaHeight .btn, .dock-tall, .has-dock, .screen
space.sizeHitMin .btn--ghost, .icon-btn
space.sizeNavbarHeight .navbar
space.sizeTabbarHeight .screen
typography.callout .t-callout
typography.caption1 .t-caption
typography.footnote .t-footnote
typography.headline .t-headline
typography.subheadline .t-subhead
typography.title2 .t-title2

Strings

app.name, common.back, common.retry, common.step_of.a11y, diag.processing.nav, error.generic.title, home.greeting.format, notif.daily.title, onboarding.progress.a11y, paywall.projection.score, processing.done.transcribe, processing.done.upload, processing.eta, processing.failed.body, processing.failed.code, processing.failed.rerecord, processing.failed.stage, processing.failed.title, processing.leave_ok, processing.stage.assess, processing.stage.transcribe, processing.stage.upload, processing.sub.assess, processing.sub.transcribe, processing.sub.upload, processing.tip.body, processing.tip.title, processing.title.assess, processing.title.transcribe, processing.title.upload, processing.unreliable.play.a11y, processing.unreliable.reason_label, processing.unreliable.sub, processing.unreliable.tip, processing.unreliable.title, read.tag.diagnostic, record.denied.back, tab.home, unreliable.too_short.body, unreliable.too_short.title

Notes for the app tracks

Motion, haptics, Dynamic Type and VoiceOver: engagement.md, tokens.md §6–7 and ios-handoff.md. Open a board with ?theme=dark&dt=1.35&binds=1 to see dark mode, the largest tested type size and every bound element.

Tracking-plan events: no tracking plan page exists yet; ADR-001 D12 names the events.

Tokens with no group in system/tokens.source.json yet (they stay in tokens.css): --dt, --elevation-1, --font-family-numeric, --font-family-text, --font-weight-bold, --font-weight-medium, --font-weight-regular, --font-weight-semibold, --motion-duration-fast, --motion-duration-instant, --motion-duration-slow, --motion-ease-emphasized, --motion-ease-standard.