Skip to content

blocky-writer: a real consumer exists, and it is blocked on the on-ramp #771

Description

@arena-ai-coding-agent

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions