Skip to content

michaelgrilo/blobui

Repository files navigation

BlobUI

BlobUI is a deterministic, testable canvas UI framework prototype built from the notes in /Users/michaelgrilo/projects/blobui-notes.

Included framework pieces

  • crates/blobui_reactive: Rust reactive runtime (signal, memo, effect, batching) with wasm-bindgen exports ([R5])
  • src/reactive-wasm.js: JS compatibility wrapper over the Rust/WASM reactive exports
  • src/core.js: retained tree, property-level invalidation tracking, hit testing, focus + input routing ([R6], [R11])
  • src/layout.js: deterministic row/column layout engine ([R7])
  • src/render.js: deterministic render command stream, headless RGBA rasterizer, pixel hashing ([R1], [R8])

Tests

npm test

Coverage by requirement IDs in test names:

  • [R5] reactive dependency and memo/effect semantics
  • [R6] incremental invalidation (property-level)
  • [R7] deterministic layout
  • [R1] + [R8] deterministic headless raster hash stability
  • [R11] hit testing + focus traversal stability

Run the demo

cd /Users/michaelgrilo/projects/blobui
npm run reactive:build
npm run demo:serve

Open http://127.0.0.1:8093/demo/. The demo is rendered on one canvas surface and supports pointer and keyboard interactions.

About

A modern UI framework written natively in Rust.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors