canon_flutter 0.13.1 copy "canon_flutter: ^0.13.1" to clipboard
canon_flutter: ^0.13.1 copied to clipboard

Flutter bindings for canon — router delegate, screen/entity scopes, and reactive view-state widgets over the pure-Dart canon runtime.

0.13.1 #

  • BREAKING BEHAVIOUR: navigation now survives process death on every mount path. Restoration moved from ScreenManager onto NavDelegate, so MaterialApp.router(routerDelegate:) restores too — it never did. No consumer wiring: the delegate claims the root restoration bucket itself, and an app that relied on a cold start landing at the seed will now land where the user left.

0.13.0 #

  • A store read says which subscription it means: idsOf for the key sequence, entitiesOf for the rows. of is gone — it read ids while looking like it read entities, and a screen that summed or filtered subscribed to the wrong thing.

0.12.2 #

  • EntityScope survives mounting for an id absent from the store.

0.12.1 #

  • README regency example on the one-store cache pattern.

0.12.0 #

  • canon ^0.31.0 (the grammar reads .again; .cycled retired).
  • ScreenGraph — the face-bearing graph construction: root/chrome/pageOf/observers typed here; .delegate and ScreenManager take it.

0.11.1 #

  • Docs: consumer-named row globals, the identity unit read.

0.11.0 #

  • UnitMemory.idOf(context) — the identity read; rebuilds only when the state's id changes.

0.10.0 #

  • canon ^0.30.0 (regent 0.12: Regency graphs, CRUD bricks; the @regents enum retires).

0.9.0 #

  • canon ^0.29.0 (regent 0.11: judgments).

0.8.0 #

  • canon ^0.28.0 (the engine folds: NavOps over NavState).
  • Identity ambience: ScreenScope, EntityScope, and the new IdScope all plant their id, NODE-TAGGED (the screen's grammar node; the store's generated tag; IdScope(node:)) — typed reads resolve to the nearest MATCHING node, so erasure can never answer with another identity's id; untagged plants stay wildcards. the raw IdScope reads (of/navOf/screenOf/itemOf) are @internal — runtime-unchecked type claims; consumers read through the generated <Node>ID faces, which supply the node. EntityScope.idOf reads the entity's only, context.idOf(.screen) a named screen's.
  • store.item(id, child: …) — the itemBuilder spelling of planting an EntityScope.
  • Ambient-id reads: store.entityOf(context, [id]) (the keyed reactive read — ambient id when omitted, explicit when passed; replaces store(id).of(context)), store.idOf(context) (the enclosing scope's id ONLY if planted from this store — identity with provenance, null otherwise), and setUnit.containsIdOf(context) (the in-flight membership idiom).

0.7.0 #

  • BREAKING: loadingOf removed — in-flight status is a ledger row; read it with of.
  • canon ^0.27.0.

0.6.0 #

  • canon ^0.26.0 (the read-callback guard wave).

0.5.0 #

  • canon ^0.25.0, canon_codec ^0.3.0.

0.4.0 #

  • FragmentPath.of reactive read; canon 0.23 wave.

0.3.0 #

  • The canon 0.22 / regent 0.4 wave.

0.2.1 #

  • Track canon 0.21.1 (regent 0.3 line).

0.2.0 #

  • ScreenScope wraps the consumer's page chrome (the chrome hook) — context reads work in scaffolds and nav bars.

Changelog #

0.1.1 #

  • README leads with the Flutter-binding identity.

0.1.0 #

  • Initial release: the Flutter presentation binding for pure-Dart canonNavHost delegate, ScreenScope/EntityScope, reactive reads (store(id).of(context), Unit.of, loadingOf, Query/Fragment view-state), path URL strategy.

  • Initial release: the Flutter layer split out of canon.

1
likes
150
points
547
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Flutter bindings for canon — router delegate, screen/entity scopes, and reactive view-state widgets over the pure-Dart canon runtime.

Repository (GitHub)
View/report issues

Topics

#navigation #router #state-management #deep-linking #codegen

License

BSD-3-Clause (license)

Dependencies

canon, canon_codec, flutter, flutter_web_plugins, meta

More

Packages that depend on canon_flutter