morph-icons, morph-animateStatus: future · Priority: low
Note: This is a future plan, not a commitment. The syntax and API shown here are proposals — they can be completely different when actually implemented.
The developer-experience and ecosystem layer. Nothing here is a prerequisite for the core framework — it all compounds on top of a stable core.
Planned: the extension is the front door most devs walk through — it gets the full treatment, not just highlighting:
.mx (JSX + TS + CSS regions, plus windowConfig and morphShared/morphEvent scope tinting so misplaced calls look wrong before the linter says so)morph check output as squiggles with fixes (rename-on-ambiguous-import as a one-click code action, not a chore)route.mxmorph dev / morph build / `morph test` as tasks with problem matchers; failing tests jump to the exact line.mx mapped through to generated C++ (the source-map story from the compiler pipeline, surfaced where devs live)morph-icons (first-party package)Full design now lives at Icons & SVG: <svg> path subset first, then the tree-shaken morph-icons set, then morph icons:add for project sets. This section keeps the package-angle summary — the icon set ships via morph pkg install morph-icons (see Packages) once the bridge lands.
morph-animate (animation library)Full design now lives at Animations: enter/exit transitions, springs, shared-element morphing, page-transition orchestration. morph-animate survives as the imperative escape hatch (animate(el, { opacity: 0 }, { duration: 300 }), timelines) for the 5% declarations can't express — same dependency on Packages.
.mx in any editor todaymorph-icons / morph-animate: depend on the package bridge; the CSS animation engine must be stable first| Piece | State |
|---|---|
Editor .d.ts (autocomplete) |
✅ Shipped |
| CSS animation engine | ✅ Shipped |
| Package CLI | ✅ Shipped |
| Package build bridge | ❌ (see Packages) |
| VSCode extension (full spec above) | ❌ Not started |
morph test runner |
❌ Spec at Test Runner |
| Icons / animate (full designs linked above) | ❌ Not started |