appplayer_ui_view
Read-only Flutter viewer for target-native UI outputs. No abstract IR — each
target registers a UiRuntimePort that interprets its own native snapshot
shape and renders a Flutter Widget. Device frame, viewport zoom/pan,
validation overlay, multi-target layout, and status strip are all composed
internally.
Features
- Pluggable targets — register a
UiRuntimePortper UI target (Flutter, LVGL, Qt, …); each renders its own native snapshot. - Device frame —
DeviceFrame/BezelConfigwith a registry of common device bezels. - Viewport — zoom / pan around the rendered target.
- Validation overlay — surface
ValidationIssues over the view. - Multi-target layout — show several targets side by side.
- Status strip — render state / target metadata.
Usage
import 'package:appplayer_ui_view/appplayer_ui_view.dart';
final registry = UiRuntimeRegistry()
..register(MyFlutterRuntime())
..register(MyLvglRuntime());
Widget build(BuildContext ctx) => UiView(
adapter: MyHostAdapter(),
target: 'ui-lvgl:home',
registry: registry,
frame: DeviceFrameRegistry.standard.bySlug('phone.iphone15'),
);
Multi-target layouts use UiViewMulti(targets: [...], layout: MultiLayout.row).
Platform
Flutter — all platforms (macOS / Windows / Linux / iOS / Android / web).
Libraries
- appplayer_ui_view
- Read-only Flutter viewer for target-native UI outputs.
- viewer
- Minimal barrel — widget + adapter/port interfaces only. Prefer
package:appplayer_ui_view/appplayer_ui_view.dartwhen you need the full type surface.