Commit Graph
100 Commits
Author SHA1 Message Date
Ryan Fleury 81be64dac6 more covergence, freeze controls on applicable ctrl entities when evalled 2025-02-14 13:41:02 -08:00
Ryan Fleury ecb4e0d282 rich hover for thread-hover editors 2025-02-14 09:43:19 -08:00
Ryan Fleury c5de847fa5 ctrl entity rich hovering 2025-02-14 09:19:25 -08:00
Ryan Fleury 35ba41f712 correctly hook up watch window commands to their associated cfg; plug in ctrl entity detection / fancy rows 2025-02-14 09:04:46 -08:00
Ryan Fleury 87ee37d19e if cell activates on single-click, disable double-click path 2025-02-13 21:55:04 -08:00
Ryan Fleury af8f1ff162 frontend cleanups, cmd running from watch 2025-02-13 21:33:40 -08:00
Ryan Fleury f58c13b3a0 plug full data member calculation path & padding member visualization back in 2025-02-13 15:26:21 -08:00
Ryan Fleury 141dd69eba correct rich hovering for rich watch window rows; distinguish between single/double-click watch cells; more convergence 2025-02-13 15:12:34 -08:00
Ryan Fleury c39cc5d642 call stack rows -> module evaluation column 2025-02-13 11:36:57 -08:00
Ryan Fleury 18010db753 per-row command cells in watch windows when evaluating cfgs; table-drive per-collection commands 2025-02-13 11:20:10 -08:00
Ryan Fleury 6498666619 begin moving per-row style info to per-cell style info 2025-02-13 09:26:05 -08:00
Ryan Fleury fba0053e9b preserve ambiguous path rendering 2025-02-13 08:21:48 -08:00
Ryan Fleury 863d98c43e do the same reuse of the computed irtree for array-index expr extensions 2025-02-13 08:13:53 -08:00
Ryan Fleury 50b195deb3 eliminate member-expr-extension irtree/oplist/etc. recomputations; just convert lhs irtree to bytecode and attach that to new expr as a leaf bytecode 2025-02-13 06:51:50 -08:00
Ryan Fleury c31b15524a ensure threads match before visualizing call stack frame selection 2025-02-12 17:53:41 -08:00
Ryan Fleury 4dfa4a120f re-add special-case watch cell style for call stack frame selection 2025-02-12 17:50:18 -08:00
Ryan Fleury 374317abd7 call stack info extraction in watch row building; special style for call stack frames 2025-02-12 17:39:17 -08:00
Ryan Fleury f165eb7b8e recompute row infos on watch column drag 2025-02-12 16:58:24 -08:00
Ryan Fleury 96afe943c2 multi-row-topology watch window column dragging & saving to cfg tree 2025-02-12 16:54:48 -08:00
Ryan Fleury e84f8e66f5 precompute watch row infos before build 2025-02-12 16:05:37 -08:00
Ryan Fleury c8fb9a0ec9 clean up panel drop site jank 2025-02-12 14:27:14 -08:00
Ryan Fleury 204ac60999 extend fancy string lists to include per-node rasterization flags, to correctly mix flags from various fonts; pull command tables into the vocabulary map & accelerate lookups; drive icons/display-strings for commands with vocabulary map; plug in commands/fstrs to command evaluations in watch windows 2025-02-12 14:01:21 -08:00
Ryan Fleury 295cfa8698 fix new window creation 2025-02-11 17:21:24 -08:00
Ryan Fleury c555166af6 visualize *.N ptrs in single-line eval visualization; eliminate old hover eval code 2025-02-11 16:58:17 -08:00
Ryan Fleury 5f88db68ec preserve fancy string list on a per-ui_box basis - do not rely on fancy *run* list for truncated-string-hover, as this will invalidly hold onto stale render handles (fixes crash on font resizes) 2025-02-11 16:48:12 -08:00
Ryan Fleury 6c37db2105 more inline visualization; do not require qualifier if view rule names collide with locals 2025-02-11 16:36:20 -08:00
Ryan Fleury 98ec6ee3bb extend constructed type info with 'pointer depth', to distinguish between inline-depths; use in symbolizing & call stack expression formation 2025-02-11 16:16:44 -08:00
Ryan Fleury 312ddd5899 fix array-index ir tree generation - was incorrectly applying array value rules to address value evaluations; plug in ir-generation hooks for slices, arrays, etc.; eliminate old view rule code 2025-02-11 15:25:42 -08:00
Ryan Fleury 50e4f6a22a move watch window to using exclusively view ui rule input eval, rather than looking at the expression string itself 2025-02-11 14:14:55 -08:00
Ryan Fleury fa7143a3e4 never build hover evals if we cannot evaluate the root expression successfully 2025-02-11 14:07:43 -08:00
Ryan Fleury 82803e710e plug in fancy member names to watch views 2025-02-11 14:03:28 -08:00
Ryan Fleury ee984877b0 work on multi-topology watch tables; fancy evaluation for cfgs, regardless of where they are spawned 2025-02-11 13:30:07 -08:00
Ryan Fleury 1162841b6e begin sketching out watch row button cells, for intermixing fancy buttons for cfgs/entities/etc. with regular watch rows 2025-02-11 11:14:38 -08:00
Ryan Fleury 045aad8578 request reanimation on view loading-persist 2025-02-10 16:54:29 -08:00
Ryan Fleury 2a543ee7d7 fix environment string piping to control thread 2025-02-10 16:36:53 -08:00
Ryan Fleury 80b0138ea3 fix expansion rules being applied to traditionally non-expandable type info; plug memory view back in 2025-02-10 16:32:07 -08:00
Ryan Fleury 29033fe6cc fix incorrect type usage in default lookup-range eval path; fixes broken pointer/reference expansions to structs/unions/classes 2025-02-10 16:14:11 -08:00
Ryan Fleury 052efc7f64 meta command evaluation in frontend eval/eval-viz 2025-02-10 16:11:34 -08:00
Ryan Fleury 428617de91 re-add id stability to top-level-cfg evaluation expansions 2025-02-10 15:51:36 -08:00
Ryan Fleury f3c17a4e2c target environment string editing 2025-02-10 15:32:48 -08:00
Ryan Fleury 300231ad75 require file handle validity for file stream cache submits; simply retry on missing files 2025-02-10 14:22:42 -08:00
Ryan Fleury 3b19334075 tear out old meta evaluation code; robustify filesystem streaming async reads 2025-02-10 14:12:44 -08:00
Ryan Fleury d48cd460d1 begin prepping watch window ui for reintroduction of fancy rows; extend target/thread evaluations with .environment & .call_stack sketch; more convergence progress 2025-02-10 12:15:03 -08:00
Ryan Fleury 2da83dd732 bump to 0.9.15 - hook disasm back up 2025-02-10 09:47:37 -08:00
Ryan Fleury 4b85df0725 fix expr chain parsing; fix panel tree building 2025-02-10 09:44:32 -08:00
Ryan Fleury 3de43b8c74 view params, pulled either from cfg trees or view rule params (tag calls); expr chain parsing; correctly use tags in nested single-line eval visualization 2025-02-07 15:20:19 -08:00
Ryan Fleury 3582ab10e2 eliminate old watch view column state; plug in on-the-fly computed per-row cells; eliminate old table helper usage in watch window; plug in visualizers to watch window 2025-02-07 12:45:30 -08:00
Ryan Fleury 412c55a474 plug in visualizer view ui rules in new eval viz code; cfg-tree/vocab-driven tab titles 2025-02-07 11:40:49 -08:00
Ryan Fleury 31b0772137 eval viz: view rule -> expansion rule; rd: view rule -> view ui rule 2025-02-07 09:21:06 -08:00
Ryan Fleury e88f2e2e82 eliminate old entity tables 2025-02-06 12:51:59 -08:00
Ryan Fleury 712162af4a correctly apply root view rules; apply inherited view rule tags first, since we apply all view rules in order, and we want explicitly-stored tags (nearest to the expression) to be strongest 2025-02-06 12:32:09 -08:00
Ryan Fleury 7bc1dd7362 eliminate old eval vis view rule paths; sketch out view-rule-lookup & expr-tag-equipping, & expr tag (view rule) inheritance 2025-02-06 12:14:12 -08:00
Ryan Fleury d1541d3989 fix handling of root-expr editing in watch views; eliminate dead code 2025-02-06 11:36:56 -08:00
Ryan Fleury eaa65a6b3d raddbg: cast basic type value commits to destination type; ensures numeric things are casted appropriately (fixes f32/f64 value writes) 2025-02-06 11:26:02 -08:00
Ryan Fleury 295778f1ca eval: prohibit identifier overrides in macro maps; raddbg: correctly mark dirty state & recompute given watch window mutations; do not escape unquoted value eval strings 2025-02-06 11:17:42 -08:00
Ryan Fleury 43222e8511 tweak cfg tree mutations a bit to recycle old nodes/identities where possible 2025-02-06 09:35:19 -08:00
Ryan Fleury be039496c7 rd: watch window editability progress, implicit root vis rules; eval: fix call args parser 2025-02-06 09:15:13 -08:00
Ryan Fleury 66ab9c0ba3 rd: watch cell string edit commits 2025-02-05 16:21:51 -08:00
Ryan Fleury f2a958e5b6 rd: progress on reintroducing watch window editability 2025-02-05 16:09:20 -08:00
Ryan Fleury ffe8a01699 uid <-> num mapping for top-level cfg collection expansions; fix incorrect expansion for watches 2025-02-05 14:15:50 -08:00
Ryan Fleury 836b671491 move from ptr*gen handles -> id; eliminate all handle code in frontend and convert to using 64-bit ids 2025-02-05 13:37:58 -08:00
Ryan Fleury edbce2713f eliminate RD_Entity code entirely 2025-02-05 13:11:06 -08:00
Ryan Fleury 92d4f3ebb1 eliminate old config code 2025-02-05 13:02:12 -08:00
Ryan Fleury a80bd6664d collapse all watch-table watch window view rules into specializations of singular watch view path 2025-02-05 12:44:33 -08:00
Ryan Fleury ad4e6cbce5 size hover eval watch window by predicted block tree 2025-02-05 11:38:55 -08:00
Ryan Fleury 8a8f1e4fc2 work on new hover eval ui, built using the new cfg data structure, immediate-mode view states, etc.; all watch window features -> hover eval 2025-02-05 10:34:47 -08:00
Ryan Fleury 50f8732e63 fix num/idx/vidx/vnum coordinates to correctly apply to root row in watch windows 2025-02-04 19:38:57 -08:00
Ryan Fleury a003a11425 progress on mixing control (command, insertion) rows in cfg-list evaluation, for watch windows; e.g. empty row in watch window, add-new buttons in targets/breakpoints/watchpins/etc. 2025-02-04 16:44:04 -08:00
Ryan Fleury de16c9cdef keep active tab view states hot, even if their ui is not built on any given frame (because they are not selected) 2025-02-04 14:13:01 -08:00
Ryan Fleury 90c86dc812 eval/eval-viz: pull out rules for mapping exprs/irtrees -> lookup/expansion rules; use this path in the single-line value string generator; eliminate old non-view-rulified string generation paths 2025-02-04 13:20:25 -08:00
Ryan Fleury afd113adcc rd: derive schema tree parse on startup rather than recomputing every time 2025-02-04 12:16:28 -08:00
Ryan Fleury b9756d222a eval: sketch out parse/ir cache 2025-02-04 10:29:52 -08:00
Ryan Fleury 657b78c4ef eval: separate ir_ctx -> ir_state & ir_ctx; ir_state for implicit thread-local caching mechanisms for eval, ir_ctx for explicitly supplied user info 2025-02-04 09:57:13 -08:00
Ryan Fleury 9a405bee20 eval: lookup info hook -> just pass irtree, do not recompute; cache for type-key -> auto hook tag exprs; use tags/auto-tags in lookup rule for . operator; fix tag poisoning in ir generation pass; cache for type-key -> unpacked type info; replace all unpacked type info paths with cache usage 2025-02-03 13:21:08 -08:00
Ryan Fleury 59fe6c79cb distinguish root block from non-root blocks; in root case, we do not want to do a lookup-range to generate the block's expression (but in all other cases we do) 2025-02-03 10:07:20 -08:00
Ryan Fleury 6f4533d8f5 rd: new ctrl entity meta evaluation path; ctrl entity meta evaluation cache; eval: auto-view-rules (via 'auto hook map'), + support for 'type patterns', e.g. for templates; ir generation / typechecking hook application + source-tag coloring (to avoid infinite recursion of repeatedly-applied auto view rules 2025-02-02 17:08:14 -08:00
Ryan Fleury eab5c7c971 eval_visualization: eliminate expansion-range hook; move expansions & block tree building completely to new eval hooks for lookups 2025-02-02 14:39:43 -08:00
Ryan Fleury 5bbd9f1c7e eliminate expr resolution hook in eval visualization layer; now succeeded by irgen hook 2025-02-02 12:46:59 -08:00
Ryan Fleury 07c9268941 eval: specify formal way in which tags (view rules) can fit into expression language, both in parsing & in structure; introduce ir-generation hook step in eval pipeline, transfer most of the default non-vbisualization view rule features to that layer 2025-02-01 20:50:31 -08:00
Ryan Fleury aac93b5952 move over all expansion view rules to new eval-system lookup hooks; eliminate most of old hooks 2025-02-01 17:37:24 -08:00
Ryan Fleury b1829af8c6 eliminate old per-frame cfg group cache 2025-01-30 16:52:15 -08:00
Ryan Fleury 5b82fc2339 eliminate member-filtering hack for cfg views; eliminate deref-space-ptr hack 2025-01-30 15:52:26 -08:00
Ryan Fleury 68966ba55f eval: more progress on 'sets', plug primary watch group into it; rd: more progress on watch ui based on new sets/lookups 2025-01-30 15:43:41 -08:00
Ryan Fleury 12784d9ae9 partial transition to new flexible watch table structure; more work on 'set' types; checkpoint before replacement of old view-rule-hacks with proper-eval-system support for sets/collections/etc. 2025-01-30 14:11:01 -08:00
Ryan Fleury 92e68701d0 eval: lookup rule map building; eval: use general 'set' type-kind to specify custom lookup rule; watch: new table <-> stable-point mappings 2025-01-30 10:57:29 -08:00
Ryan Fleury 394d35287a fix default lookup rule 2025-01-29 17:00:50 -08:00
Ryan Fleury baa19f3de4 begin introducing 'lookup' hook path in eval ir-tree generation, to collapse/universalize all 'access' operations, such that ., ->, and [] operations can be overridden via view rules, for cfg evaluations, and so on 2025-01-29 16:41:14 -08:00
Ryan Fleury 136a6a6d80 eval visualization: vidx <-> num mappings; helpers to move from logical nums -> rows, feed through windowed row production path 2025-01-29 10:38:04 -08:00
Ryan Fleury 84d55c8939 make some progress on watch window refinement for various row topologies 2025-01-28 18:31:34 -08:00
Ryan Fleury 2a1ab9b3be fix incorrect bytecode writing for deref-space-ptr 2025-01-28 10:42:41 -08:00
Ryan Fleury 4cc5f636fe cfg tree collection evaluation 2025-01-27 15:33:35 -08:00
Ryan Fleury b085acbc32 strip out collection type - instead we will implement collections via arrays of exprs which map to meta evals 2025-01-27 11:02:49 -08:00
Ryan Fleury c0f23c3807 further tweaks to support meta cfg eval 2025-01-27 09:22:34 -08:00
Ryan Fleury 730e8a4720 commit cfg changes to eval blob cache immediately 2025-01-24 15:55:08 -08:00
Ryan Fleury aa03955a45 first pass at meta-cfg-space writes, for cfg editing 2025-01-24 13:22:14 -08:00
Ryan Fleury 04e6eae49d progress on meta-evaluation of cfg trees & plugging into watch/eval system 2025-01-24 12:28:52 -08:00
Ryan Fleury 50000c0d6b adjust metagen to support correctly-escaped multiline string generations; sketch out setting schemas; eliminate old settings hack, move to using cfg tree & settings schema 2025-01-23 11:39:55 -08:00
Ryan Fleury 45f02b7a41 sketch out top-level schema for cfg tree 2025-01-22 15:42:21 -08:00
Ryan Fleury 9a54ae50c1 old config code elimination 2025-01-22 14:23:39 -08:00
Ryan Fleury 443fee10ec more entity code deletion 2025-01-22 09:57:40 -08:00