Parent
Part of #478 — PWA first-class excellence/hardening.
Product opportunity
The PWA can reach phones/tablets immediately, without a separate mobile binary. That is not merely compatibility: WorldScript can offer a purpose-built mobile writing/capture surface that complements the full desktop workspace.
The goal is not to squeeze the desktop UI onto a phone. It is to design a focused mobile mode around browser-native viewport, touch, sharing and installed-PWA capabilities.
Primary workflows
Prioritize workflows that make sense on mobile:
distraction-free manuscript writing/editing;
scene/note quick edits;
Capture Inbox triage (pwa(capture): make WorldScript an OS share target and offline research/idea inbox #484 );
character/world reference;
writing-session timer/progress;
local/lightweight AI where device capability admits it;
offline writing and later normal project continuation.
Complex desktop-only panels may remain available but should not dictate mobile layout.
Virtual keyboard / viewport correctness
Mobile editors commonly fail when the on-screen keyboard changes the visual viewport.
Use standards-based capability detection (VisualViewport, Virtual Keyboard API where available) to ensure:
caret remains visible;
selected text/toolbars are not hidden behind keyboard;
bottom controls respect keyboard geometry;
scrolling does not jump unpredictably on focus;
dialogs/popovers remain reachable;
orientation changes preserve editing position;
fallback works when Virtual Keyboard API is absent.
Do not hard-code keyboard heights.
Safe areas / installed mode
Respect:
env(safe-area-inset-*);
display cutouts/notches;
standalone browser chrome differences;
portrait/landscape transitions;
zoom/text scaling.
Touch editor ergonomics
minimum practical touch targets;
avoid hover-only controls;
long-press/context behavior must not conflict with native text selection;
drag/drop affordances have touch alternatives;
selection handles and formatting UI do not obscure text;
sidebars become drawers/sheets rather than tiny fixed columns;
preserve keyboard-only accessibility for tablets/hardware keyboards.
Distraction-free writing mode
Provide a mobile-focused shell with:
manuscript/scene title;
editor;
compact save/offline status;
word/session progress;
minimal navigation;
optional focus timer;
quick AI action sheet rather than permanent heavy AI panels.
The mode should be usable in a normal browser tab and installed PWA.
Screen Wake Lock — opt-in
During an explicit writing/focus session, offer an optional “Keep screen awake during session” feature where Screen Wake Lock is supported.
Rules:
user explicitly enables it;
release on session end/visibility loss as required;
reacquire only according to API/lifecycle semantics;
no battery-draining always-on default;
unavailable API simply hides/disables the option.
Mobile performance policy
Mobile is not a smaller desktop GPU.
avoid eager loading large AI/model chunks;
prioritize editor-ready time;
lazy-load heavy workspace views;
bound image previews;
avoid background model initialization;
use device/capability admission for local AI;
preserve autosave responsiveness under thermal/memory pressure.
Coordinate with #450 /#483 .
Offline behavior
A mobile PWA should be especially strong for disconnected writing:
Accessibility
Test:
screen reader;
large text/browser zoom;
high contrast;
reduced motion/transparency;
external hardware keyboard;
switch/keyboard navigation where applicable;
focus restoration after drawers/dialogs.
Tests / evidence matrix
At minimum representative:
Android Chromium normal tab;
Android installed PWA;
iOS/iPadOS Safari/PWA according to support policy;
tablet landscape + hardware keyboard;
keyboard open/close loops;
orientation changes;
offline launch/edit/relaunch;
low-memory/background discard;
large project;
Capture Inbox launch;
local-AI capability unavailable/available.
Acceptance criteria
Non-goals
matching every desktop workspace panel on a phone;
requiring installation;
always-on Wake Lock;
loading multi-GB local models automatically on mobile;
creating a separate divergent mobile domain model.
Parent
Part of #478 — PWA first-class excellence/hardening.
Product opportunity
The PWA can reach phones/tablets immediately, without a separate mobile binary. That is not merely compatibility: WorldScript can offer a purpose-built mobile writing/capture surface that complements the full desktop workspace.
The goal is not to squeeze the desktop UI onto a phone. It is to design a focused mobile mode around browser-native viewport, touch, sharing and installed-PWA capabilities.
Primary workflows
Prioritize workflows that make sense on mobile:
Complex desktop-only panels may remain available but should not dictate mobile layout.
Virtual keyboard / viewport correctness
Mobile editors commonly fail when the on-screen keyboard changes the visual viewport.
Use standards-based capability detection (
VisualViewport, Virtual Keyboard API where available) to ensure:Do not hard-code keyboard heights.
Safe areas / installed mode
Respect:
env(safe-area-inset-*);Touch editor ergonomics
Distraction-free writing mode
Provide a mobile-focused shell with:
The mode should be usable in a normal browser tab and installed PWA.
Screen Wake Lock — opt-in
During an explicit writing/focus session, offer an optional “Keep screen awake during session” feature where Screen Wake Lock is supported.
Rules:
Mobile performance policy
Mobile is not a smaller desktop GPU.
Coordinate with #450/#483.
Offline behavior
A mobile PWA should be especially strong for disconnected writing:
Accessibility
Test:
Tests / evidence matrix
At minimum representative:
Acceptance criteria
Non-goals