Ole André Vadla Ravnås
69c706789f
Follow the pattern compiler's module API
...
Compile, then decode through the module. Pass platform before arch,
and default both to the host rather than darwin/arm64.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
53d2c52f1c
gtk: Stop leaking every event controller
...
Add controllers through the binding, which now takes the widget's ref
itself, so the extra ref the helper took no longer outlives them.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
374007158d
core: Free host call arguments when a call fails
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
ff39657cd8
gtk: Let the completion provider forget its view
...
Hold the view unowned, so the view's own completion object no longer
keeps it alive.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
1ffe1e7470
gtk: Unparent context menus when they close
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
703a953ab3
gtk: Fold code and preview colours in the editor
...
Put fold chevrons in the gutter, fading in while the pointer is over
it, a guide down each open scope, and a placeholder after a folded one.
Number lines past folded ones, and put a swatch before each colour the
server reports.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
a744f8ce24
gtk: Encode VM screenshots with GDK
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
a8d412e202
gtk: Show decoded patterns in the inspector
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
5d5cfe2ffe
gtk: Add a patterns section with an editor
...
List pattern files and their types in the sidebar, and create, import,
rename, delete and edit them.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
6eaa8115ea
gtk: Move insight refreshes to the sidebar menu
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
531468e7b9
gtk: Visualize decoded patterns
...
Open a field's visualizer from its tree row, and draw each kind in the
render tests.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
1885b87427
gtk: Decode hex dumps against pattern types
...
Outline decoded fields over the hex view, list them in a tree beside
it, and place types from its context menu. Read more of an insight's
memory when a decode runs out.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
ebd2b8ad3a
gtk: Wrap the hex caret across rows
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
72621a231d
ui: Show decoded patterns in the inspector
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
2fd413ec9c
core: Decode patterns from Pharo
...
Answer the image's requests on a task and signal a semaphore once
done, so only the asking process waits.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
0659f5f14e
core: Expose virtual machines to LLMs
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
660946f2c0
Share VM keystroke events
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
a8816543d8
core: Pass tool images over MCP
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
3d20980966
ui: Read more memory when a decode runs out
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
bbf63ec269
core: Expose patterns to LLMs
...
Let a model list, check and write patterns, decode memory with them,
and place them on insights.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
a3cdd5df5f
core: Derive the approval-gated tool list
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
f96764edf7
ui: Move insight refreshes to the sidebar menu
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
b93116f9e9
ui: Collapse patterns in the sidebar
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
f3e36dbeba
ui: Visualize and navigate decoded patterns
...
Show detached visualizers in popovers and inline ones in place. Move
through the tree with the keyboard, and scroll the hex view and the
tree separately.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
ad61503b47
core: Decode pattern visualizers
...
Interpret each of ImHex's visualizers from its arguments, and
disassemble through r2.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
65e2cab5ae
ui: Give the pattern editor a pane's chrome
...
Drop its padding and border for a divider along the top, so it sits
flush against the sidebar as Xcode's editor does.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
a6f769221f
ui: List pattern types in the sidebar
...
Show each file's declared types under it, with a browse popover when
there are many, and reveal a type's declaration when it is chosen.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
5e81f32cba
ui: Fold code and preview colours in the editor
...
Draw line numbers and the current line's band in a gutter, with fold
chevrons that fade in while the pointer is over it, and a guide down
each open scope. Collapse a folded range behind a placeholder, and put
a swatch before each colour the server reports.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
d4823dc950
core: Fetch folding ranges and colours
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
b83995dcce
ui: Add a patterns section with an editor
...
List the library's files in the sidebar with new, import, rename and
delete, and edit each in the code editor, which now colours by syntax.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
1a4ff666ee
core: Manage pattern files in the library
...
Create from a template, import, write, rename and delete, with .hexpat
for patterns and .pat for libraries.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
465d8f1b92
core: Lex and describe pattern sources for editing
...
Give the lexer a keyword set and a regex switch, and add a pattern
flavour on top of it. Let the decoder describe text that is not yet a
file.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
3f70d259d3
core: Persist pattern placements
...
Store them with the REPL cell and the address insight, as a JSON
column each, and bind the decode view to them. Older rows and wire
cells without the field decode as none.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
82a228204d
ui: Decode hex dumps against pattern types
...
Place a struct at any byte from the context menu, or run a file's own
placements. Outline each leaf field in the hex view, and select the
innermost field on a byte click.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
f2883eb24c
core: Add a pattern library and decoder
...
Scan the data directory's Patterns folder for .hexpat and .pat files,
and describe and decode them through Frida.PatternCompiler.
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
3916fbf131
ui: Wrap the hex caret across rows
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
1aa3cbca29
deps: Bump frida-core, frida-swift and gir2swift
2026-10-01 20:49:11 +02:00
Ole André Vadla Ravnås
11c9de137d
emulator: Prewarm backend before listing AVDs
...
availability() reads the AVD cache that only reloadAVDs()
fills, so the check found no AVD until prewarm() ran. Call
prewarm() first.
2026-09-30 15:12:13 +02:00
Ole André Vadla Ravnås
78789032c2
emulator: Convert display frames off main actor
...
The per-frame RGBA-to-BGRA conversion ran on the main actor
and starved the async continuations that drive injection, so
attaching to a booted emulator stalled. Move it into
nonisolated helpers that adopt() awaits, and mark
SharedFrameBuffer Sendable so it can cross the actor hop.
2026-09-30 15:12:13 +02:00
Ole André Vadla Ravnås
c94525fb8a
ui: Match the machines empty state to the notebook
...
Share the notebook's heading, add a button that boots a machine, and
leave out the panel title while there is nothing under it.
2026-09-29 15:38:58 +02:00
Ole André Vadla Ravnås
19071308ce
ui: Lay out the side panel without HSplitView
...
HSplitView sizes itself to its panes' preferred widths rather than the
window, so at narrow widths the panel ran past the window's edge and
was clipped. Hold the panel's width ourselves and resize it through a
handle, keeping it within what the detail pane leaves.
2026-09-29 15:38:58 +02:00
Ole André Vadla Ravnås
f4b1b8ab08
gtk: Follow light and dark themes in the hex view
...
Pick light or dark variants of the byte colours, dim the ASCII column
and zero bytes from the theme's foreground, and redraw on a switch.
2026-09-28 20:11:25 +02:00
Ole André Vadla Ravnås
2bb14e1dff
gtk: Keep the hex view fast at any size
...
Draw the bytes once, a glyph run per colour per row, and show the
selection as themed bands beneath them, so a drag repaints only what
changed. Lay the rows out on a character grid, as the SwiftUI view
does.
2026-09-28 20:03:23 +02:00
Ole André Vadla Ravnås
c888fcdc83
gtk: Carry the app icon on a spawn target
2026-09-28 19:40:57 +02:00
Ole André Vadla Ravnås
df18361fd5
ui: Render hex view rows lazily
...
Draw each row as a single Text in a LazyVStack, redraw only rows whose
selection changed, and hit-test from the font's metrics instead of
measuring every cell.
2026-09-28 18:50:12 +02:00
Ole André Vadla Ravnås
6a4389b5cb
core: Drop a stale single-core comment
2026-09-28 17:35:15 +02:00
Ole André Vadla Ravnås
f599f7c785
core: Stream the emulator at its native size
2026-09-28 17:35:15 +02:00
Ole André Vadla Ravnås
d03d600547
ui: Show a boot screen while the VM starts
2026-09-28 17:35:15 +02:00
Ole André Vadla Ravnås
9edcbd969e
ui: Span the event stream across the window
2026-09-28 17:35:15 +02:00
Ole André Vadla Ravnås
e0ad16494c
ui: Make the detach banner error readable
2026-09-28 17:35:15 +02:00