Proposal
The affinescript-dom and affinescript-pixijs binding packages need to be production-ready, not work-in-progress, before idaptik (and presumably other ecosystem repos) can start app-layer .res→.affine migration. Without typed bindings every migration accumulates new %raw debt — exactly the pattern AffineScript was supposed to eliminate.
Source observation
idaptik's Main.res has %raw blocks for log/console (Console.log binding), error page rendering (Dom.replaceBody / Dom.div / Dom.h1 / Dom.p), exception introspection. The pilot's migration/main/StartupError.affine shows the typed-DOM target. The pilot only works if those bindings exist.
What "production-ready" means here
- Covers the DOM/Pixi surface idaptik actually uses (~25 functions, can produce a checklist)
- Has the affinescript-vite plugin wired to load them
- Has tests that survive an idaptik build pass
- Documented effects (
Dom.foo : ... / {IO})
- Stable API — won't churn as the language evolves
Companion
Pairs with the "%raw decision tree" Human Guide issue — that decision tree's recommended option ("use the typed binding") is only sound if the binding exists.
Filed from idaptik Wave 3 pilot. See LESSONS.md and PILOT.md. Idaptik commit hyperpolymath/idaptik@aef38db.
Proposal
The
affinescript-domandaffinescript-pixijsbinding packages need to be production-ready, not work-in-progress, before idaptik (and presumably other ecosystem repos) can start app-layer .res→.affine migration. Without typed bindings every migration accumulates new%rawdebt — exactly the pattern AffineScript was supposed to eliminate.Source observation
idaptik's Main.res has
%rawblocks for log/console (Console.log binding), error page rendering (Dom.replaceBody / Dom.div / Dom.h1 / Dom.p), exception introspection. The pilot'smigration/main/StartupError.affineshows the typed-DOM target. The pilot only works if those bindings exist.What "production-ready" means here
Dom.foo : ... / {IO})Companion
Pairs with the "%raw decision tree" Human Guide issue — that decision tree's recommended option ("use the typed binding") is only sound if the binding exists.
Filed from idaptik Wave 3 pilot. See LESSONS.md and PILOT.md. Idaptik commit hyperpolymath/idaptik@aef38db.