v0.2.0
The browser has a web engine. A page in this world is now HTML and CSS that a browser
parses, cascades, lays out and paints, with its JavaScript running, so a site here is
written the way a site is written anywhere. Every service was rewritten onto it. The full
list is in the changelog.
- A real engine.
cw-webparses HTML the way the spec's error recovery says to,
cascades CSS through one table of 124 longhands, lays out block, inline, table, flex and
grid formatting in integer app units, and paints in the CSS painting order. It is
measured against Chromium element by element on eleven fixture pages, matching on every
node for nine of them, and renders Acid1 and Acid2 pixel for pixel. - Pages run their scripts. The DOM, CSSOM, events and the window sit on the existing
deterministic JavaScript VM, with timers and animation frames on the world clock and
snapshots that restore by replaying a journal. React, Vue, Svelte, Tailwind,
styled-components, emotion, jQuery and Preact run as their unmodified production
bundles. - Eighty-seven sites rewritten. Every service serves HTML with a real stylesheet, and
each site looks like the product it stands in for. A strict validator fails a service's
tests when a page uses what the engine cannot render. - No dead controls. A control either acts or is not drawn as one, held by an auditor
that reads affordances off the cascade itself and by crawls that press every control on
every page. - The address bar takes what you type, resolving a bare host to
httpsand anything
else to a search engine the world can name for itself.
Package and engine version are both 0.2.0. The world schema, the services' content type
and the browser's document model all changed, so snapshots from 0.1.x are rejected, as
every version's are.