beacon_widget 0.2.0
beacon_widget: ^0.2.0 copied to clipboard
Tap a widget in your running Flutter app and get its file:line, theme properties and geometry on your clipboard, ready to paste into an AI coding agent.
0.2.0 #
The desktop bridge now ships inside this package. beacon_bridge is
discontinued — there is nothing to install globally any more.
Migrating from 0.1.x: drop beacon_bridge, and run the bridge from your
project instead:
dart pub global deactivate beacon_bridge
dart run beacon_widget:bridge --vmservice-out-file=.ref/vm.json
The Flutter API is unchanged; Beacon.attach and everything on it keep their
names and behaviour. The paste format and the .ref/ layout are unchanged too,
so an existing setup keeps working once the command is swapped.
- Add the
bridgeexecutable, runnable withdart run beacon_widget:bridgefrom any project that depends on this package. Nodart pub global activate, no~/.pub-cache/binon yourPATH. - Add
package:beacon_widget/bridge.dart, the bridge's library surface. It is deliberately not exported frombeacon_widget.dart— it targets your development machine, not the widget tree. - Add
meta,pathandvm_serviceas dependencies. They are needed to resolve the bridge executable from a consuming project, and are not reachable from the Flutter API.
0.1.1 #
- Shorten the package description to pub.dev's recommended 60–180 characters.
- Point the repository links at the renamed GitHub repository.
- Set the formatter's page width to 120 to match the codebase, and format accordingly.
0.1.0 #
Initial release.
Beacon.attach(child)— one-line install, wraps your app in the select-mode overlay. A genuine no-op outside debug builds: returnschildunmodified, with no overlay and no VM service traffic.- Tap-to-resolve: resolves a tapped widget to the exact
file:lineit was created at, using Flutter's--track-widget-creationinstrumentation, and walks past framework internals to the nearest widget in your own code. - Rich payload per selection: resolved theme properties (with provenance — it
reports
colorScheme.primaryrather than a raw hex value where it can), geometry, constraints, enclosing route and state, ancestor chain, and a cropped screenshot of the widget. - Selection stack: tap several widgets, then send them as one combined reference.
Beacon.hide()/Beacon.show()/Beacon.setVisible(bool)to control the on-screen overlay, plus automatic (best-effort) hiding when a screenshot is detected.- Broadcasts selections over the Dart VM Service for
beacon_bridgeto pick up.
Requires beacon_bridge running on your development machine to get selections
onto your clipboard.