Add bounded runtime-state inspection - #175
Conversation
📊 PR Size: size/XLTotal changes: 3081 lines (11 files) Top files changed:
...and 1 more files Size calculated as additions + deletions. Labels: XS (<10), S (<50), M (<250), L (<1000), XL (1000+) |
|
| Test Suite | Result |
|---|---|
| Valdi Smoke Tests | ✅ success |
| API Surface Check | ✅ success |
| Linux: Module Tests | ✅ success |
| valdi_web Integration Test | ✅ success |
| Linux: Build Compiler | ✅ success |
| macOS: C++ & Platform Tests | ❌ failure |
| Test Coverage Delta | ✅ success |
| Snapshot Tests | ✅ success |
| Linux: C++ Tests | ❌ failure |
| Linux: Registry Validation | ✅ success |
| Linux: Build & Export | ✅ success |
| Linux: Hotreload Smoke | ✅ success |
Some tests failed. Please check the workflow logs for details.
🚀 Bazel remote cache is now enabled - future builds will be faster!
Workflow: Valdi CI
clholgat
left a comment
There was a problem hiding this comment.
Review of bounded runtime-state inspection. Capture budgets and read-only semantics look consistent with the property-inspection path. One low-severity performance note:
- 🟢 Low —
renderRuntimeStateSectioncallsparseRuntimeState(record.source)for every filtered component (including collapsed rows) on everystateFilterinputkeystroke. With up to the hierarchy cap of stateful components each holding up to ~64 KiB of captured state, each keystroke re-parses all of them → UI jank on large hierarchies. Suggested fix: memoize the parsed result per record (keyed by source identity/revision) and/or parse lazily only for expanded/visible rows, so filtering doesn't re-parse the whole tree on each keystroke.
Note for the squash: please carry this feedback into the squashed PR that contains runtime-state inspection.
|
Superseded by #180, which consolidates this patch into the reviewed debugger capabilities landing unit. The replacement carries forward the feedback and fixes discussed here. Closing this draft to reduce the active stack; this PR and its discussion remain the historical review record. |
Description
Adds bounded runtime-state capture and browsing as the final core debugger-stack capability.
Type of Change
Testing
bazel test //...)Testing Details
//src/valdi_modules/src/valdi/web_renderer:testpassed after 11,519 actions.bazel query //...passed.9607de6e04b2d332e1573ae450488f7f1bfa5274633e4a432e00c89e96618fd0.Checklist
Related Issues
Relates to #154
Additional Context
Stack 22/22. Stacked on #174 (
bjd/debugger-component-property-edit). Review this PR as the single incremental commit8334cd63against that base; do not merge it before its parent.