# Presentation And Lifecycle This file owns user-visible workflow, presentation authority, presence, and Browser lifecycle promises. Component structure, CSS, exact copy, and routine UI tests belong in source code. ## Product Surface The first screen is the working tool, not a marketing page. Once site access is available, starting a share and joining a room are equally discoverable actions; joining expands the four-digit room form in place, while `/join` remains a direct entry route. Users never choose a media topology. Host entry requires both site access and a validated capability description. Initial entry, retry and password recovery load the same prerequisites; failed authentication cannot leave a later successful entry using absent capability state. A capability-load failure remains retryable and does not imply that a service is available or disabled. Viewer/Join entry does not need this Host-only description. The Host workspace centers the capture preview, room code, invitation and common share controls. The Viewer workspace centers one persistent 16:9 video stage, room identity, current state, roster, and one manual media-reconnect action. Controls and text must remain usable without overlap or horizontal overflow on desktop and mobile viewports. A capable, opted-in authenticated room session outlives its current publication. Stopping capture retires media, not chat; restoring an existing room joins it without starting capture. Entering the page alone does not create a room. Room close, lost authority and page teardown still retire the session. Connected Viewers may keep interacting while the Host page is absent, provided the room service and their admitted sessions remain available. [Rooms and access](./rooms-access.md#room-interactions) owns interaction authority and retention; [status](../status.md#accepted-interaction-phase) owns release readiness. Piik App opens this same application in the system Browser. Its small startup surface selects Local, temporary public invitation, or a configured Site before entering the Host workspace. Viewer links opened at that activated origin may use the same running App without changing the Viewer UI. Starting a share offers the Browser picker and any exact App-owned native windows. It never chooses a window automatically. A reproduced Browser-window, capture, or background failure is required before introducing an embedded Web runtime. Opening the system Browser is an asynchronous convenience action. One pending OS handoff is allowed; a slow or failed handler cannot block readiness or App exit. The console retains the entry address and reports the underlying error. The App does not terminate the user's browser to enforce a handoff deadline. Server and App share one control layout and vocabulary. Deployment capabilities may fix a control on or off, but do not remove its place in the interface; disabled controls explain their reason in text and pure-visual modes. Real workflow differences remain explicit: site authorization, opt-in diagnostics and the capture/audio capabilities of the connected device are not alternate versions of the product UI. A remembered App activation permits discovery when choosing a source or receiving media; it does not make App a prerequisite for sharing. Idle Host pages hold no App control session. The shared source selector orders Browser, Camera, Window and Screen, defaulting to Window after App detection. Without an App it shows only Browser and Camera, defaulting to Browser. Discovery never blocks Browser selection or overrides an explicitly chosen tab. Refresh remains reachable after failed App discovery; pending attempts are shared, completed failures do not suppress later discovery. Cancelling the selector or ending a share releases its unused control session; an obsolete operation cannot install or retire another operation's media. Camera thumbnails own only temporary preview inputs; leaving their tab or picker retires them. An active shared camera is borrowed, never reopened or stopped by preview. Optional native ingress uses an already available connection without another scan. If it is not ready at Browser startup, that share keeps Browser senders. Native Host startup acquires its required Browser media connection before starting capture. Cancellation owns that connection immediately, while native share ownership and required audio tracks come from the accepted App response. Browser initialization failure remains distinct from capture permission failure. A reachable Piik App with an incompatible control protocol is distinct from an absent App. Discovery continues looking for a compatible process before reporting the mismatch; the source selector retains Browser operation and offers update/ refresh guidance. Discovery metadata may grow, while known identity and capability types remain validated. Missing optional capabilities are unavailable; control commands and responses retain their strict protocol contract. An empty source list means enumeration succeeded for the selected category. Connection, capture-capability and enumeration failures keep their own feedback. Discovery has one bounded deadline that allows time for browser local-network consent; a failed fetch alone cannot establish that consent was denied. Optional Viewer reception uses Browser media immediately when the browser reports that local App access still needs consent or is denied. It rechecks permission on a later connection attempt; a later grant does not replace healthy Browser media. App Local needs no cross-address-space consent. Browsers without a permission query retain bounded discovery. ## Visual Language Chinese, English, and pure-visual modes are three expressions of the same typed state and command catalog. On first use, the App and Server UI match the Browser's primary system language against registered locales, using English when none matches. Current catalogs cover Simplified Chinese and English. Both Simplified and Traditional Chinese system locales select the current Chinese catalog across App, Server UI and website; this includes region and script tags such as `zh-CN`, `zh-TW`, `zh-HK`, `zh-Hans` and `zh-Hant`. Pure-visual mode remains an explicit choice. An explicit later choice is persisted and takes precedence over that default, including App launch handoff. Explicit launcher choices apply only to the presentation domains the user chose. Older launchers cannot distinguish defaults from explicit choices; updated Sites preserve their saved preferences when receiving those unmarked hints. The App console uses its own supported presentation languages and falls back to English for additional UI languages. Text modes use concise copy. The [visual language](./visual-language.md) is the single owner of illustrative roles and objects, semantic colour, panel grammar, motion, accessible input and responsive hierarchy. ## Playback Ownership One `