You have a real consumer, and it is currently blocked on you
blocky-writer's frontend is written in AffineScript: src/popup.affine,
src/content.affine, src/background.affine, src/components/Block.affine,
src/components/FormFiller.affine, and src/core/{PdfTool,Storage,ProvenMount}.affine.
The extension manifest declares AffineScript surfaces, and the Rust/WASM core
sits behind them.
None of it can be compiled. This checkout has no AffineScript compiler
configuration, no JavaScript package manifest and no reproducible extension
bundle pipeline. The deno.json that used to carry the build tasks was deleted
by blocky-writer#43 on 2026-08-24 and never replaced. So the frontend is a
prototype in the strict sense: sources exist, nothing builds.
What this gives you
A concrete downstream project with a real shape, which is usually more useful
than a synthetic one:
- A WASM core behind a two-function boundary (
detect_blocks, fill_blocks),
which is a good test of AffineScript's FFI and Uint8Array interop.
- A Firefox extension target — popup, background service worker and content
script, all in one crate.
- IndexedDB local storage (
src/core/Storage.affine) and a provenance mount
(src/core/ProvenMount.affine), so the resource-safety guarantees have
somewhere to bite.
- A hard error-taxonomy requirement: 20 stable
BW_* codes must cross the
boundary as structured {code, message, context} payloads, never as bare
strings.
What we would need from you
Whatever the smallest thing is that turns src/*.affine into something that
compiles — a compiler config template, a just recipe, or a documented
"here is how a consumer wires you up" page. We are not asking for a toolchain
commitment; we are asking for the on-ramp.
If there is already an example consumer repo, point us at it and we will follow
it.
Ref: hyperpolymath/blocky-writer#73
You have a real consumer, and it is currently blocked on you
blocky-writer's frontend is written in AffineScript:
src/popup.affine,src/content.affine,src/background.affine,src/components/Block.affine,src/components/FormFiller.affine, andsrc/core/{PdfTool,Storage,ProvenMount}.affine.The extension manifest declares AffineScript surfaces, and the Rust/WASM core
sits behind them.
None of it can be compiled. This checkout has no AffineScript compiler
configuration, no JavaScript package manifest and no reproducible extension
bundle pipeline. The
deno.jsonthat used to carry the build tasks was deletedby blocky-writer#43 on 2026-08-24 and never replaced. So the frontend is a
prototype in the strict sense: sources exist, nothing builds.
What this gives you
A concrete downstream project with a real shape, which is usually more useful
than a synthetic one:
detect_blocks,fill_blocks),which is a good test of AffineScript's FFI and
Uint8Arrayinterop.script, all in one crate.
src/core/Storage.affine) and a provenance mount(
src/core/ProvenMount.affine), so the resource-safety guarantees havesomewhere to bite.
BW_*codes must cross theboundary as structured
{code, message, context}payloads, never as barestrings.
What we would need from you
Whatever the smallest thing is that turns
src/*.affineinto something thatcompiles — a compiler config template, a
justrecipe, or a documented"here is how a consumer wires you up" page. We are not asking for a toolchain
commitment; we are asking for the on-ramp.
If there is already an example consumer repo, point us at it and we will follow
it.
Ref: hyperpolymath/blocky-writer#73