Skip to content

ComputerWorld v0.2.0

Latest

Choose a tag to compare

@JacobFV JacobFV released this 21 Sep 02:02

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-web parses 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 https and 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.