From a7fa1bd8fdec26ba920077900e636b5add5a02b4 Mon Sep 17 00:00:00 2001 From: "Yifeng \"Evan\" Wang" <7312949+doodlewind@users.noreply.github.com> Date: Sun, 23 Aug 2026 08:43:08 +0800 Subject: [PATCH] docs: restate PocketJS as a portable application runtime One positioning sentence now carries the project everywhere it is defined: "PocketJS is a portable application runtime that turns modern component code into native pixels across radically different hardware." It replaces the UI-runtime-minus-the-browser framing in the landing hero, the homepage and site-wide meta descriptions, the docs overview and architecture intros, and the npm package description. The landing headline becomes "UI runtime for every kind of computer"; the pinned hero copy in tests/site-stage.test.ts follows. The README keeps the chapter order it gained in #325 but drops the landing voice: section names are now plain technical headings (Programming model, Rendering and execution, Performance, Native modules, Hardware support, Applications, Getting started, Ahead-of-time compilation, Repository layout, Building and testing, Documentation), prose is third person, and the frameworks, styling, animation and target-admission material sits under subsections. Adds a Contents list and a Documentation index; keeps every measurement, receipt link and attribution. Verified: `bun run test` (11/11 stages), `bun run site:build`, and a headless Chrome measurement of the three-line headline (widest line 445 px against 651 px of plate at 1600w, no overflow at 1600/1280/820/390 px). Co-Authored-By: Claude Opus 5 (1M context) --- README.md | 304 +++++++++++++++------------ package.json | 2 +- site/build.ts | 2 +- site/content/docs/architecture.md | 7 +- site/content/docs/getting-started.md | 7 +- site/content/docs/overview.md | 13 +- site/home.html | 9 +- site/templates.ts | 4 +- tests/site-stage.test.ts | 6 +- 9 files changed, 200 insertions(+), 154 deletions(-) diff --git a/README.md b/README.md index 24673b71..a9958898 100644 --- a/README.md +++ b/README.md @@ -13,22 +13,36 @@ [Pocket Lab](https://pocketlab.build) · [Pocket Museum](https://museum.pocketlab.build/) -## Keeps JSX, Tailwind and reactive state. Removes every layer below them. - -PocketJS is a UI runtime with **no DOM, no CSS engine and no WebView**. An app -is a QuickJS guest on a Rust core that performs flexbox layout and draws every -pixel itself, in **one thread inside one process**. The frameworks, the class -strings and the reactive state stay the ones you already use; everything under -them is replaced. +PocketJS is a portable application runtime that turns modern component code into +native pixels across radically different hardware. Solid, Vue Vapor and Octane +components compile to one native tree, and a QuickJS guest drives a Rust core +that performs flexbox layout and draws every pixel **in one thread inside one +process**. There is **no DOM, no CSS engine and no WebView**. A wall of PocketJS software: music, deep-zoom graphics, messaging, a digital character, galleries, DevTools, dashboards, media, and a café app, alongside OpenStrike, Pocket Voxel and Pocket Figma on PSP, including Motion Lab studies credited to yui540 -## Write components as you already do +## Contents + +- [Programming model](#programming-model) +- [Rendering and execution](#rendering-and-execution) +- [Performance](#performance) +- [Native modules](#native-modules) +- [Hardware support](#hardware-support) +- [Applications](#applications) +- [Getting started](#getting-started) +- [Ahead-of-time compilation](#ahead-of-time-compilation) +- [Repository layout](#repository-layout) +- [Building and testing](#building-and-testing) +- [Documentation](#documentation) + +## Programming model + +### Frameworks Three frameworks compile to the same native tree and run on the same QuickJS -guest, so the framework you pick changes your code and nothing below it. +guest. The choice changes application code and nothing below it. | Framework | State and lifecycle | Source forms | | --- | --- | --- | @@ -36,7 +50,7 @@ guest, so the framework you pick changes your code and nothing below it. | **Vue Vapor** | `vue` | JSX and `