-
-
Notifications
You must be signed in to change notification settings - Fork 0
[campaign] AffineScript top-50 framework bindings roadmap (UMBRELLA) #446
Copy link
Copy link
Open
Labels
bindingsABI, FFI, WASM, and cross-language interop surfacesABI, FFI, WASM, and cross-language interop surfacesdocumentationDocs, prose, diagrams, READMEs, ADRsDocs, prose, diagrams, READMEs, ADRsfeeds:valence-shellFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes thereFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes theremajorMajor issue — significant scope, broader impact than a feature/bugMajor issue — significant scope, broader impact than a feature/bugmeta:campaignCoordinated multi-repo push with a defined end stateCoordinated multi-repo push with a defined end statemeta:umbrellaParent issue aggregating child issuesParent issue aggregating child issuespriority:p3Low - nice to haveLow - nice to havescope:estateAffects many or all repos across the estateAffects many or all repos across the estate
Description
Activity
Metadata
Metadata
Assignees
Labels
bindingsABI, FFI, WASM, and cross-language interop surfacesABI, FFI, WASM, and cross-language interop surfacesdocumentationDocs, prose, diagrams, READMEs, ADRsDocs, prose, diagrams, READMEs, ADRsfeeds:valence-shellFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes thereFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes theremajorMajor issue — significant scope, broader impact than a feature/bugMajor issue — significant scope, broader impact than a feature/bugmeta:campaignCoordinated multi-repo push with a defined end stateCoordinated multi-repo push with a defined end statemeta:umbrellaParent issue aggregating child issuesParent issue aggregating child issuespriority:p3Low - nice to haveLow - nice to havescope:estateAffects many or all repos across the estateAffects many or all repos across the estate
Campaign overview
Land the AffineScript top-50 framework bindings roadmap. Compiled 2026-05-28 during post-PR-#107 (idaptik dlc-reversible pilot) planning, five tiers × 10 bindings. Drives the framework-binding development arc going upstream from idaptik into
hyperpolymath/affinescript+affinescript-pixijs+ new packages.State: planning UMBRELLA. List captured in memory (
project_affinescript_bindings_top50_roadmap); this issue lands it canonically + opens per-binding tracking once tier-issues are filed.Why this matters now
This roadmap is the shared Layer-4 dependency for THREE estate campaigns:
hyperpolymath/standards#252ReScript→AffineScript — STEP 4 (feat(parser): CORE-01 pt2 — &mut e exclusive-borrow surface (zero conflict delta) #269 stdlib gap-fill) depends on Belt/Js/RescriptCore equivalentshyperpolymath/standards#254JS→AffineScript — STEP 4 (feat(stdlib): ESC-03 — Dict/Map keyed container (stdlib/dict.affine) #274 binding-gap discharge) directly references this roadmaphyperpolymath/standards#239TS→AffineScript — STEP 6 (ESC-01: AffineScript has no raw/FFI escape — %%raw port target (Refs 229) #245 plugin-host bindings) is the same axisWithout this roadmap landing, all three campaigns' STEP-4 work is unscheduled.
Current state of binding packages (2026-05-28 inventory)
stdlib/Deno.affinestdlib/Vscode.affine,VscodeLanguageClient.affinestdlib/Http.affine,Crypto.affine,Network.affine,Sqlite.affine,Grammy.affine,Ajv.affineaffinescript-domfor-in/whilebug blocks runtimeaffinescript-pixijs.asfile + 1 Idris2 ABI + 1 Zig FFI; NOT functional. Largest single unblocker for idaptikaffinescript-viteaffinescript-teaaffinescript-deno-testThe 50 bindings (tier summaries)
Tier 1 — idaptik blockers (10): PixiJS core + sound + UI; motion; WASM-exports calling pattern; Phoenix Channels / WebSocket; DOM (unblock affinescript#255); WebGL/Canvas2D; IPC/postMessage for Gossamer; Ajv coverage audit.
Tier 2 — estate near-term (10): GitHub API (rewire to hpm-github-api-rsr); Anthropic API; HTTP coverage; raw WebSocket; SQLite coverage; Crypto rewire to hpm-crypto-rsr; Tauri 2.0; Dioxus; Zig FFI canonical patterns doc; Grammy coverage.
Tier 3 — broadly useful (10): Web Audio; Gamepad; Pointer/Touch/Keyboard/IME; IndexedDB; Workers; Streams (Fetch); Storage / Cache; Notifications; Geolocation/sensors; MediaDevices.
Tier 4 — backend/cloud (10): Postgres; Redis; S3/object-storage; GraphQL client; OpenTelemetry; OpenAI; Cloudflare API (not Workers, banned); Stripe; Supabase; Slack + Discord APIs.
Tier 5 — tooling/interop (10): Idris2 ABIs; Rust FFI; OCaml interop; Just integration; Vite plugin pattern; esbuild/Rollup plugin; Playwright; Testing coverage; VSCode coverage; generic LSP.
Recommended kickoff
wasm_export_call); unblocks idaptik vm/wasm AND every future WASM-host integration. Estimated < 1 day.Step plan (deferred — file as sibling issues when work begins)
docs/bindings-roadmap.adoc(this issue's deliverable)Excluded by policy
Cross-references
hyperpolymath/standards#252,#253,#254,#239project_affinescript_bindings_top50_roadmap.mdhyperpolymath/idaptik#107(MERGED)