debugTree method
Returns a deterministic, redaction-aware tree summary for humans.
Use toJson for protocol consumers. This string is intentionally optimized for failure messages, debug panels, and quick terminal output.
Implementation
String debugTree({bool includeState = true}) {
final buffer = StringBuffer()
..write('SemanticInspectionSnapshot(')
..write('schemaVersion: ')
..write(schemaVersion)
..write(', nodeCount: ')
..write(nodeCount)
..write(', actionCount: ')
..write(actionCount)
..write(', focusedNodeId: ')
..write(focusedNodeId ?? 'none')
..write(', roleCounts: ')
..write(_debugMap(roleCounts))
..writeln(')');
root._writeDebugTree(buffer, depth: 0, includeState: includeState);
return buffer.toString().trimRight();
}