Logbook progress map in the style of decomp.dev: "<project> is NN.NN% decompiled", a layered Code bar (exact solid, verified lighter, readable hatched, with per-segment tooltips), a Data bar (named globals of the data addresses the code touches), Previous / Next / Latest through the history reports, a Units dropdown and filter (text, <70%, >10kb), and a canvas treemap of units (original source files, else 64 KB blocks) that drills into functions
- GET /api/logbook/progress-map: one compact document, cached until an input changes (main's HEAD, the Logbook symbol table and statistics, match/emulator/library results, facts, names, source files, globals, deferral notes); ?have=<version> answers {"same": true}
- definitions follow the Logbook's progress.py (pc102.csv category game, status decompiled or later), so the headline equals game_bytes_decompiled_percent; engine, library and unsorted code are shown but not counted
- history points now record the commit and the game-code bytes
- the page lays out once per load, filter or size change, hit-tests hover on the computed rectangles, builds the 600-entry units list only when opened, and polls once a minute only while the Logbook is visible
This commit is contained in:
1 parent
315b63b571
commit
d5eb82261e
5 files changed
+556
-4
No files matched your search
@@ -330,6 +330,11 @@ class Handler(http.server.BaseHTTPRequestHandler):
|
||||
"stopped": any(h.stopped(a) for a in h.project.ai_names)})
|
||||
return self._reply(200, out)
|
||||
h, lock = REGISTRY.get(name)
|
||||
if path == "/api/logbook/progress-map":
|
||||
# its own connection and lock, like the Decomp view; cached until an input changes
|
||||
from . import progress_map
|
||||
status, body = progress_map.handle(h.project, query)
|
||||
return self._reply(status, body)
|
||||
if path == "/api/logbook":
|
||||
from . import logbook
|
||||
return self._reply(200, logbook.read_all(h.project, log_limit=min(int(query.get("limit", 80)), 500)))
|
||||
|
||||
Reference in new issue
Block a user