Summary
One wildloop screen, rendered as real UIViews on the simulator, with one working interaction. Not navigation, not lists, not Android. The single question this answers: does the architecture work end to end?
Why this shape
packages/stx-native has renderers for both platforms (ios.swift 765 lines, android.kt 1,305) and a bridge protocol, and none of it has ever rendered anything. Until IR reaches a device and a signal update changes a pixel, every other estimate in this effort is a guess.
The slice
- A wildloop screen in
.stx— static layout, one label bound to a signal, one button. - stx renders it; the translator produces IR (see the parser issue).
ios.swiftmaterialises the IR as a real view hierarchy inside a Craft shell.- Tapping the button calls a handler over the bridge; the signal updates; the
UILabelchanges.
Explicitly out of scope
Navigation, lists and cell recycling, Android, hot reload, gestures, the component library. Each is a separate issue and each is cheaper to scope once this one has run.
Done when
- The screen renders on the simulator with no WebView in the hierarchy.
- Tapping the button updates the label.
- The round trip from tap to repaint is measured and recorded in the issue.
- Everything that had to be stubbed or faked is written down — that list is the real project plan.