Skip to content

[campaign #254] STEP 4 — BINDING-GAP DISCHARGE: ship AS bindings for "blocked on binding X" subset #274

@hyperpolymath

Description

@hyperpolymath

Part of #254. Blocked by step 2.

Goal

Discharge the AffineScript binding gaps that block ports in STEP 2's blocked on binding X bucket. For each missing binding the triage tool emitted, ship the AS binding (or escalate the binding as a permanent JS-residue if the API surface is fundamentally non-bindable).

Cross-reference: AffineScript bindings top-50 roadmap

This step depends directly on the AffineScript bindings top-50 roadmap (memory note project_affinescript_bindings_top50_roadmap.md, gated by affinescript repo issues). T1 of that roadmap covers idaptik blockers (PixiJS, sound/UI, motion, WASM-exports calling, Phoenix, DOM-unblock, Canvas2D, IPC, Ajv); T2-T5 cover estate near-term + web universals + backend + tooling. Many bindings this step needs will overlap with that roadmap — coordinate, do not duplicate.

Seam — shared dependency with #252 STEP 4

The ReScript umbrella #252 has a parallel "stdlib fill from RS surface" step that depends on the same AffineScript bindings top-50 roadmap. Cross-coordinate: when a binding closes a gap that unblocks both .res and .js files, count both campaigns toward the binding's discharge priority. Avoid shipping the same binding twice or in inconsistent shapes.

Acceptance

Sequencing

Blocks: STEP 5 re-triage iteration depends on bindings landing here.
Blocked by: STEP 2 (need the blocked on binding X bucket to know what to ship). Practically also paced by the AS top-50 roadmap's own progress.

Metadata

Metadata

Assignees

No one assigned

    Labels

    campaignMulti-PR multi-session estate campaignjs-to-affinescriptTracks the Unnecessarily-JavaScript → AffineScript migration campaign (umbrella #254)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions