Apr 28 → Aug 29, 2026 · 28 screenshots
The journey, with receipts.
Every image below is an unedited original — original filenames, no re-encoding, bugs kept next to fixes. Why were they saved? Not to show off later — each one was captured to compare Morph's native render against what the browser renders for the same HTML/CSS. If you think this is fake, check the commit history: commits around each screenshot's date line up with the bug fixes and features the images show. Originals live in morph/records/ with manifest.json. This page only shows byte-identical copies.
Note: screenshots stop in August because documenting moved into docs/ and the layout engine was mostly done. These shots existed to compare Morph's render against the browser — with focus shifted to JS-to-C++ logic, states, and window management, there was nothing left to compare visually.
Apr 28, 2026 · web video editor
Phase 0 — Why Morph exists
Fighting frame accuracy in a browser timeline (studio.levizr.com) is what caused Morph: compile JSX + CSS to native instead.

Timeline component wired into the editor
VS Code: app/editor/page.tsx renders <Timeline />.
Screenshot from 2026-04-28 12-50-41.png

Timeline ruler 0–28s, empty canvas
localhost:3000/editor ruler renders but canvas stays empty.
Screenshot from 2026-04-28 21-43-45.png

Playhead math debug logs
Close-up ruler with Playhead.tsx:63 Calculated time logs.
Screenshot from 2026-04-28 21-52-29.png
May 8, 2026 · first native window
Phase 1 — HTML2GL birth
First native windows with no browser: lexer, parser, layout, OpenGL rendering.

First native window, garbled glyphs
HTML2GL App opens. Text rasterization bug renders garbled glyphs.
Screenshot from 2026-05-08 11-49-00.png

Test Page red H1 renders natively
VS Code html2gl source behind. H1 color:red works, no browser.
Screenshot from 2026-05-08 12-40-47.png

Body CSS class styling test
body{background:white;color:black} via <style>. CSS parser working.
Screenshot from 2026-05-08 12-45-34.png

Levizr Engine UI dashboard
System Status row, Run/Stop Engine buttons. HTML straight to GPU calls.
Screenshot from 2026-05-08 12-49-22.png
May 21–22, 2026 · bug-to-fix pairs
Phase 2 — Hero boilerplate
Build beautiful apps seamlessly hero. Bugs kept next to their fixes.

Hello World clipped bar bug
Red bar + white strip on black. Clipping/viewport bug, kept as evidence.
Screenshot from 2026-05-21 22-04-01.png

Hero buttons overlapped (bug)
Get Started and Learn More overlap. Positioning bug.
Screenshot from 2026-05-22 13-12-40.png

Hero centered (fix)
Same hero correctly centered with pill badge. Pair with previous shot.
Screenshot from 2026-05-22 13-38-25.png

Hero overflow clipped (bug)
Title cut off. Viewport regression, kept honestly.
Screenshot from 2026-05-22 13-52-04.png

Two-line title wrap
Title wraps and centers. Line-break handling verified.
Screenshot from 2026-05-22 22-45-38.png
May 23–24, 2026 · overlays and stretch bugs
Phase 3 — Layout and scroll
Nav, nesting, scroll viewport, modals. Failures included on purpose.

NovaEngine nav + Next-Gen Layout
Nav, Deploy App button, stacked cards. Scroll viewport test.
Screenshot from 2026-05-23 22-06-10.png

Scrolled: About Our Engine Layout
Custom bounds, nesting, scroll calculation. Core Architecture cards.
Screenshot from 2026-05-23 22-30-06.png

Flexbox Rules nested cards
Architecture, FreeType, Flexbox cards compute correctly.
Screenshot from 2026-05-23 22-30-12.png

Modal grey overlay bug — border + rounded corners
Grey box overflowed while implementing CSS border + border-radius. This is where the border-box sizing implementation landed — saved to compare against the browser render.
Screenshot from 2026-05-24 00-12-06.png

Get Started full-width stretch bug
Blue button stretches full width. Flex sizing bug.
Screenshot from 2026-05-24 11-39-14.png

Button row tearing bug
Blue bar fragments. Inline/block interop bug.
Screenshot from 2026-05-24 11-49-37.png
May 25, 2026 · side-by-side proof
Phase 4 — Browser vs Morph parity
Chrome (left) vs Morph (right) on a 12-section stress page. Pixel parity — plus one honest failure.

Stress 1–3: nesting, wrap, interleave
Deep nesting 8 levels, 25 inline wrap, block/inline groups match.
Screenshot from 2026-05-25 23-30-26.png

Stress 4–6: margins, display:none
Margin collapsing chain, display:none adjacency, min/max combo.
Screenshot from 2026-05-25 23-30-46.png

Stress 6–7: combo + siblings
Border+padding+min/max box and 10 siblings margins agree.
Screenshot from 2026-05-25 23-31-03.png

Stress 9–12: fonts, edge cases
Font sizes, zero-height empties, pure-inline and blocks-only rows.
Screenshot from 2026-05-25 23-31-12.png

Green overlay: 1000px border experiment
Border experiment: border set to 1000px to compare what the browser does vs what Morph does. The giant green block is Morph over-painting.
Screenshot from 2026-05-25 23-57-51.png
May 30 – Aug 29, 2026 · launch
Phase 5 — Real apps
Debugger, Calculator, public indexing, and auth lifecycle.

Box-model view: devtools experiment, later dropped
Wanted to see how the box model looks, so coded this into Morph devtools. Removed afterwards because many bugs arrived; dropped for now, may come back in future.
Screenshot from 2026-05-30 14-57-10.png

Calculator dark app
Working Morph Calculator. Real widget, not a mock.
Screenshot from 2026-08-06 21-46-07.png

Google indexes morph.levizr.com
Morph and Morph Docs appear in search. Public launch proof.
Screenshot from 2026-08-29 20-13-02.png

Morph Login welcome back
Glass login card with Username/Password and Sign in.
Screenshot from 2026-08-29 21-58-00.png

Login unmounted, memory freed — button transparent-bg bug
Signed-in state proves lifecycle and memory management (form unmounted, memory freed). Bug kept: Sign out button CSS does not support transparent background — renders solid instead.
Screenshot from 2026-08-29 21-58-09.png