Skip to content

docs(reports): native mobile (iOS/Android) feasibility study + validation - #141

Draft
intendednull wants to merge 1 commit into
mainfrom
worktree-docs-native-mobile-feasibility
Draft

intendednull wants to merge 1 commit into
mainfrom
worktree-docs-native-mobile-feasibility

Conversation

@intendednull

Copy link
Copy Markdown
Owner

What

One-shot feasibility desk study: could Buiy ever target native iOS/Android? Adds docs/reports/2026-07-11-native-mobile-feasibility.md (report) + the catalog entry at the top of docs/README.md ### Reports. Docs-only; no code changes.

Produced by two multi-agent workflows: a 6-dimension subsystem probe (render/GPU, windowing+input+lifecycle, text+IME, a11y, platform-services+build, ecosystem) with accuracy + completeness critics, then a 6-agent validation pass (5 web fact-checks + 1 prior-art corpus scan).

Verdict

Feasible — unbuilt, not blocked. The render/text/layout core is already target-agnostic (wgpu auto-selects Metal/Vulkan, shaders uniformity-clean, fonts+shaders embedded), and the wasm port de-risked the same portability work.

  • Mechanical (minor): arboard cfg gate, band.wgsl 16-attr fold, Rgba16Float GLES gate, first-tap touch activation, mobile build scaffold.
  • Hard blockers (upstream-gated): robust soft-keyboard/IME and OS a11y — winit/Bevy maturity, not Buiy code (iOS a11y already on Bevy main @ accesskit_winit 0.33).
  • Sleeper: foreground-idle battery drain from Bevy's default continuous redraw — a one-liner that maps onto Buiy's MVU dirty-state.

Validation overturned two first-pass claims (recorded transparently)

  • winit does raise the mobile soft keyboard (set_ime_allowed) — it's app-driven and Android-flaky (bug #4126), not "unimplemented."
  • accesskit Android multiplexing predates 0.33 (opt-in feature Bevy doesn't enable); only iOS needs the ≥0.33 bump (already on Bevy main).

Full CONFIRMED/REFUTED ledger with source URLs is in §9 of the report. Slint is the one App-Store-grade Rust precedent; §6 maps the relevant prior-art/ folders; §8 flags slint-mobile / bevy-mobile as researching-prior-art promotion candidates (flagged, not spawned).

Checks

All 18 cited prior-art paths + 4 source files resolve; header matches the organizing-buiy-docs convention; every load-bearing in-repo anchor re-verified present on current main @ 6e07954.

🤖 Generated with Claude Code

…tion

One-shot feasibility desk study: could Buiy ever target native iOS/Android?
Maps the current stack (render/GPU, windowing+input+lifecycle, text+IME,
a11y, platform-services+build, operational) against a native mobile port,
then validates the load-bearing claims against current upstream sources.

Verdict: feasible, unbuilt-not-blocked. The render/text/layout core is
already target-agnostic (wgpu auto-selects Metal/Vulkan, shaders are
uniformity-clean, fonts+shaders embedded), and the wasm port de-risked the
same portability work. Mechanical items are minor (arboard cfg gate,
band.wgsl 16-attr fold, Rgba16Float GLES gate, first-tap activation, mobile
scaffold); the two hard blockers (robust soft-keyboard/IME, OS a11y) are
upstream winit/Bevy-gated; the sleeper is foreground-idle battery drain from
Bevy's default continuous redraw (a one-liner that maps onto MVU dirty-state).

Validation (6-agent web fact-check + prior-art scan) overturned two first-pass
claims and is recorded transparently: winit DOES raise the mobile soft keyboard
(set_ime_allowed, just Android-flaky), and accesskit Android multiplexing
predates 0.33 (opt-in feature Bevy doesn't enable). Full CONFIRMED/REFUTED
ledger with source URLs is in the report.

- Adds docs/reports/2026-07-11-native-mobile-feasibility.md (report,
  Date/Status header per organizing-buiy-docs convention).
- Adds the catalog entry at the top of docs/README.md ### Reports.
- §6 maps the relevant prior-art/ folders; §8 flags slint-mobile / bevy-mobile
  as researching-prior-art promotion candidates (flagged, not spawned).

Docs-only; no code changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant