genesis_foundation 0.3.0-dev.2 copy "genesis_foundation: ^0.3.0-dev.2" to clipboard
genesis_foundation: ^0.3.0-dev.2 copied to clipboard

Dependency-free diagnostics protocols, typed, versioned tree snapshots, and marker annotations for genesis analyzer rules.

Changelog #

0.3.0-dev.2 #

  • Add the marker annotations genesis_lint reads: deriveOnly (DeriveOnly) for classes constructed only inside their own library, effect (EffectMarker) for members that perform an effect, and effectLeaf (EffectLeafMarker) for classes that own effects through their lifecycle. Additive; the package stays dependency-free.

0.3.0-dev.1 #

  • Breaking: TreeNode.componentType replaces the source spelling seedType; migrate TreeNode(seedType: 'Node', ...) to TreeNode(componentType: 'Node', ...). Deprecated constructor, getter, and copyWith bridges remain, and version-1 JSON continues to use the literal seedType key.

0.2.0 #

  • Breaking: debugFillProperties now receives a DiagnosticsBuilder — replace properties.add(...) list calls with the builder add(); wire format unchanged.

0.1.2 #

  • Docs only, no API changes. The LICENSE, README and CHANGELOG were already present in the 0.1.1 archive — pub publishes the working tree, and they were added there before that upload — but they were untracked in git. This release reconciles the repository with what shipped.

0.1.1 #

Initial release.

  • Diagnosticable and DiagnosticableTree — a dependency-free, pure-Dart diagnostics protocol. Implementers contribute their own properties via debugFillProperties and their own children via debugDescribeChildren, and get toStringDeep() for free. Types become diagnosable without any change to a central projector.
  • DiagnosticsProperty — a sealed union over string, int, double, flag, enumValue, duration, timestamp and object, each carrying a DiagnosticsLevel (fine / info / warning / error) so severity travels with the value. Exhaustive switches are compiler-checked.
  • TreeSnapshot / TreeNode — the typed, versioned wire contract for out-of-process consumers, carrying contractVersion and projectedAt. A deliberate divergence from Flutter, whose inspector ships an untyped Map<String, Object?>.

This package sits below genesis_tree, so a consumer that only reads diagnostics depends on it alone and never pulls in a tree engine. It has no runtime dependencies.

The diagnostics contract and snapshot types were previously developed as grid_diagnostics_contract in the_grid, and briefly carried as genesis_diagnostics; neither was ever published. Value types are hand-written rather than generated, which is permanent for the foundation and the spine.

0
likes
150
points
3.58k
downloads

Documentation

API reference

Publisher

verified publishermemento.engineering

Weekly Downloads

Dependency-free diagnostics protocols, typed, versioned tree snapshots, and marker annotations for genesis analyzer rules.

Repository (GitHub)
View/report issues

License

BSD-3-Clause (license)

More

Packages that depend on genesis_foundation