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

Hi-fi: S10 Diagnostic · Mic purpose sheet (pre-permission)

Contract, a board per state (sheet, 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/mic-purpose · 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

  • sheet: Shown on the first tap of the record button, before the system microphone prompt (D6).

Flows: F1 First launch → diagnostic → paywall → first real session, F5 Microphone permission denied.

Reads and calls:

  • (none) — AVAudioApplication.requestRecordPermission

Local state:

  • local:permissions.microphone

Boards

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

State Board Example data
sheet zh-Hans · en config.json (zh-Hans · en), me.json (zh-Hans · en), article-diagnostic.json (zh-Hans · en)
loading no board of its own: From states.md (Permission): —
empty no board of its own: From states.md (Permission): —
error no board of its own: From states.md (Permission): record--permission-denied (recoverable via Settings) · fatal: —
offline no board of its own: From states.md (Permission): —

The boards

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

sheet

Tokens used

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

Token Where
color.accentPrimary .btn--primary, .r1, .rec, .rec-btn …
color.accentPrimaryPressed .btn--primary
color.accentPrimarySoft .r2, .r3, .rec, .ring
color.bgCanvas .device, .dock, .navbar, .screen
color.bgInverse .rec-btn, inline
color.bgInverseRaised .icon-btn
color.bgScrim .scrim
color.bgSunken .btn, .icon-btn, .rec, .rec-btn …
color.bgSurface .rec, .rec-btn, .sheet
color.lineHairline .progress-hair
color.lineStrong .grabber, .r1, .r2, .r3 …
color.textDisabled .btn, .rec, .rec-btn
color.textOnAccent .btn--primary
color.textOnInverse .icon-btn, .rec-btn, inline
color.textPrimary .device, .home-indicator, .icon-btn, .progress-hair …
color.textSecondary .btn--ghost, .c-secondary
color.textTertiary .c-tertiary, .step-count, .timer-max, .wave
color.topicViolet .tag--violet
color.topicVioletSoft .tag--violet
radius.button .btn
radius.pill .round-chip
radius.xl .sheet
space.gutter .dock, .navbar, .pad, .sheet
space.s6 .screen
space.safeBottom .dock, .has-dock, .screen, .sheet
space.safeTop .device, .screen
space.sizeCtaHeight .btn, .has-dock, .screen
space.sizeHitMin .btn--ghost, .icon-btn
space.sizeNavbarHeight .navbar
space.sizeRecordButton .rec-btn
space.sizeRecordRing .rec
space.sizeTabbarHeight .screen
typography.callout .t-callout
typography.footnote .t-footnote
typography.headline .t-headline
typography.subheadline .t-subhead
typography.timer .t-timer
typography.title1 .t-title1
typography.title2 .t-title2

Strings

app.name, common.back, common.continue, common.later, common.step_of.a11y, complete.ba.first, complete.xp.round1, diag.record.cta, diag.record.nav, home.greeting.format, home.quest.done.tag, mic_sheet.point1, mic_sheet.point3, mic_sheet.skip, mic_sheet.title, notif.daily.title, onboarding.progress.a11y, onboarding.welcome.illo.first, paywall.k.value, paywall.per.year, paywall.projection.score, privacy.mic.title, read.tag.diagnostic, record.button.start, record.chip.round1, record.cta.caption, record.hint.idle, record.indicator.recording, record.nav.round1, record.sub.round1, record.title.round1, resume.cta, resume.round1, settings.retention.30, settings.retention.365, settings.retention.7

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-3, --elevation-record, --font-family-numeric, --font-family-text, --font-weight-bold, --font-weight-heavy, --font-weight-regular, --font-weight-semibold, --motion-breath, --motion-duration-base, --motion-duration-fast, --motion-duration-instant, --motion-duration-slow, --motion-ease-emphasized, --motion-ease-spring, --motion-ease-standard, --type-tracking-tight.