genesis_foundation 0.2.0
genesis_foundation: ^0.2.0 copied to clipboard
Dependency-free diagnostics protocols and typed, versioned tree snapshots.
Changelog #
0.2.0 #
- Breaking:
debugFillPropertiesnow receives aDiagnosticsBuilder— replaceproperties.add(...)list calls with the builderadd(); wire format unchanged.
0.1.2 #
- Docs only, no API changes: ship the LICENSE, CHANGELOG, and README that the 0.1.1 archive was published without.
0.1.1 #
Initial release.
DiagnosticableandDiagnosticableTree— a dependency-free, pure-Dart diagnostics protocol. Implementers contribute their own properties viadebugFillPropertiesand their own children viadebugDescribeChildren, and gettoStringDeep()for free. Types become diagnosable without any change to a central projector.DiagnosticsProperty— a sealed union overstring,int,double,flag,enumValue,duration,timestampandobject, each carrying aDiagnosticsLevel(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, carryingcontractVersionandprojectedAt. A deliberate divergence from Flutter, whose inspector ships an untypedMap<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.