## INCOMPLETE LIST OF TODO's ## ---------------------------------------------------------------------------- bugs: current: [x] RPC endpoint for robot-spectator-ida -> progressssss ez: [x] opcodes (toggle) in disas view doable: [ ] stress test: big fucking binaries (canon rtos blob) hard: [ ] deal with PLT stubs and such (oh god here we go) [~] how to deal with non-function-body regions? -> we want to be able to do data/type definitions in .data etc. -> M0 done: navigating to a non-function EA opens a flat listing instead of refusing; c/p/u edit verbs (define code/function/undefine) with bump_items() cache invalidation + region->func upgrade. -> M1 done: server `heads` walker (walks item-ends so undefined bytes show as `db ?` and arbitrary addresses land exactly) + ListingModel. -> M2 done: ListingView — virtualized flat listing (code+data+undefined, kind-styled), wired into nav/follow/xrefs/hex/edit-verbs. region views now use it (not the DisasmModel stopgap). -> next: M3 data typing in .data (`d`/make_data with a type prompt, struct- typed data, string/dup coalescing for big undefined runs); M4 optionally unify the function disasm view as a filtered listing. crazy: [ ] multi/split view ala ghidra? -> would be interesting to make arbitrary compositions of disas/decomp/hex views and keep them all in sync cursor wise etc. done-ish: [x] if `drive pc` hits a decompilation error it somehow causes a long timeout on client side [x] remove stupid textual chrome/scaffolding [~] hex editor? (viewer at least) [x] make unit tests not suck (why unittest? because we're reward hackers!) [x] (re-)typing [x] struct editor [ ] cant rename local label -> api limitations, might fix (not super important) [x] rename -> history stack pop -> old name [x] page up/down cursor x/y preserve [x] hlsearch should jump cursor [x] makes names pane sortable (addr/name columns)