diff options
| author | blasty <blasty@local> | 2026-08-06 22:12:56 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-08-06 22:12:56 +0200 |
| commit | 6f9cf89c0804eba19fb2d87469d2d2ab28f8049b (patch) | |
| tree | bb3bb136ff5847765128f79b655420322b3f0efd /idatui/_sync.py | |
| parent | tests: one front door (diff) | |
| download | ida-tui-6f9cf89c0804eba19fb2d87469d2d2ab28f8049b.tar.gz ida-tui-6f9cf89c0804eba19fb2d87469d2d2ab28f8049b.tar.xz ida-tui-6f9cf89c0804eba19fb2d87469d2d2ab28f8049b.zip | |
app: lift trace navigation out of IdaTui
First cut at the 4000-line class. Trace is the cleanest seam: 348 contiguous
lines, one coherent job (where we are in time and everything that moves us),
and two suites already covering it.
TraceController owns the state now -- the trace, the timestamp, the trail maps.
IdaTui keeps the keys, because Textual only merges BINDINGS from DOMNode
subclasses and a mixin's would be silently dropped, and it keeps the @work entry
points, because the worker machinery wants a DOMNode host. Both are one-line
delegates.
_trace/_t/_trail_map/_trail_map_ea/_trail_line_of stay readable on the app as
properties: the pilot suite and rpc.py read the position by those names, and a
property means one owner rather than a copy that can drift. rpc.py itself now
goes through the controller.
The parallel line-map that _apply_split_map used to poke into five attributes is
now one adopt_map() call -- same single shared index, but the sharing is stated
rather than implied by two places assigning the same fields.
731 checks, unchanged.
Diffstat (limited to 'idatui/_sync.py')
0 files changed, 0 insertions, 0 deletions
