Commit Graph

2064 Commits

Author SHA1 Message Date
Bartosz Taudul
5ea1ab28d0 Make the achievements star rotatable and scalable. 2026-10-11 23:27:32 +02:00
Bartosz Taudul
d55cee0601 Add a ghost zone achievement. 2026-10-09 23:49:59 +02:00
Bartosz Taudul
4a5bb61f60 Add an application info achievement. 2026-10-09 23:49:59 +02:00
Bartosz Taudul
52af3c95fe Add a zone annotation achievement. 2026-10-09 23:49:59 +02:00
Bartosz Taudul
924cd6cc20 Polish the achievement texts. 2026-10-09 23:49:59 +02:00
Bartosz Taudul
56442f1c0f Language improvements. 2026-10-09 23:49:58 +02:00
Bartosz Taudul
eb56ebe43a Make the achievement text consistent with the manual. 2026-10-09 23:49:55 +02:00
Bartosz Taudul
1faedaf04c Add CJK font. 2026-10-09 22:21:37 +02:00
Bartosz Taudul
988f5c0a77 Default llama.cpp port has been changed. 2026-10-09 22:05:04 +02:00
Bartosz Taudul
afb16f68d3 Add a user manual achievement. 2026-10-07 21:21:54 +02:00
Bartosz Taudul
6e1f51ae70 Point the welcome screen's Manual button at the built-in manual. 2026-10-07 21:18:09 +02:00
Bartosz Taudul
e56fbefc05 Extract the manual window from View into a standalone class.
The manual rendering was a View method bound to View members. Move it
into a ManualWindow class that owns the active chunk, scroll-reset and
shown state and holds a reference to the shared manual data.
2026-10-07 21:18:08 +02:00
Bartosz Taudul
e33ccfda76 Share a single manual data instance across views.
The manual data is invariant — derived only from the embedded manual — so
each View re-parsed it needlessly. It's now computed once and shared by all
Views and the LLM.
2026-10-07 21:18:08 +02:00
Bartosz Taudul
bae66a2ad9 Add labels to the achievement admonitions. 2026-10-07 21:18:08 +02:00
Bartosz Taudul
f16dacc1de Capitalize the About window name in the global settings text. 2026-10-07 21:18:08 +02:00
Bartosz Taudul
66e934fc17 Note trace version compatibility in the load trace text. 2026-10-07 21:18:08 +02:00
Bartosz Taudul
3789cf85df Match the Save trace button label with its ellipsis. 2026-10-07 21:18:08 +02:00
Bartosz Taudul
06df3c85d1 Clarify the Tracy library integration step. 2026-10-07 21:18:08 +02:00
Bartosz Taudul
58852328f7 Lowercase the generic achievement terms in the intro text. 2026-10-07 21:18:08 +02:00
Bartosz Taudul
7e2cf84da4 Restructure the Find zone achievement text. 2026-10-07 21:18:07 +02:00
Bartosz Taudul
54cd242b49 Fix Instrumentating typo in instrumentation achievement name. 2026-10-07 21:18:07 +02:00
Bartosz Taudul
ba4a19bb45 Only record achievements when the feature is enabled.
The intro and global-settings achievements recorded state even while
achievements were disabled, so the intro toast could be consumed before the
user ever enabled the feature — and then never appear when they later opted
in. The intro now fires at the enable points, so it shows the first time the
feature is enabled.
2026-10-07 21:18:07 +02:00
Bartosz Taudul
c4683bdf38 Fix achievement unlock propagation.
Achieve() now propagates a category unlock to the category's remaining
items, matching the constructor's load-time behavior. This lets an
achievement complete in the session where its category first unlocks.
2026-10-07 21:18:05 +02:00
Bartosz Taudul
7d8c7caea7 Label deadlocked threads in thread lists and trace information. 2026-09-24 22:21:53 +02:00
Bartosz Taudul
7a8e9bb727 Mark deadlocked threads and locks on the timeline. 2026-09-24 22:21:53 +02:00
Bartosz Taudul
7a975bea44 Show a deadlock notification with cycle details. 2026-09-24 22:21:53 +02:00
Bartosz Taudul
ae32c0fff8 Share the lock display name resolution. 2026-09-24 22:21:53 +02:00
Bartosz Taudul
fe86d1ac8f Keep threads that participate only in locks visible in the timeline. 2026-09-21 18:14:12 +02:00
Bartosz Taudul
aa54183ea0 Draw lock timelines from engine segments.
The differences against the previous renderer are deliberate: the
drawn state is canonical from event 0, HasBlockingLock clears when the
blockers drain, same-state neighbors merge, a waiting thread shows as
holding only on its true acquire, a shared holder waiting for exclusive
draws as blocking, the Blocked and Sharing lists contain only genuinely
blocked roles, and the tooltip holder count follows the cursor position
in the holder-change log.
2026-09-21 18:14:11 +02:00
Bartosz Taudul
a6d16f5515 Move LockHighlight to the timeline draw header. 2026-09-14 21:02:00 +02:00
Bartosz Taudul
edc649cdec Bind Ctrl+plus / Ctrl+minus / Ctrl+0 to the user interface scale. 2026-09-13 16:53:42 +02:00
Bartosz Taudul
1381f40bd9 Represent the user interface scale as a preset table index.
Replace the userScale float with a zoomLevel index into s_zoomPresets;
the ini key changes accordingly and previously saved floats are ignored.
2026-09-13 16:21:05 +02:00
Bartosz Taudul
63ffadc852 Load the startup trace in a background thread.
Opening and parsing on the browser main thread froze the tab for the
whole load; the file selector path already loads in a worker thread,
so boot now uses the same thread, progress modal, and error dialogs.
2026-09-12 22:19:59 +02:00
Bartosz Taudul
af3432cfde Fetch the startup trace instead of preloading the embedded one.
The preloaded data package made every ?t= load download embed.tracy
as well. The startup glue now fetches embed.tracy only when no URL is
given, into the same /url.tracy slot, and the boot code has a single
open path.
2026-09-12 22:19:59 +02:00
Bartosz Taudul
27f12a4eb5 Report unloadable trace files on the command line instead of crashing.
Version and integrity checks throw from the View constructor, which
was outside the try/catch guarding the file open, so a bad argv trace
terminated the process. Catch and report it there as well.
2026-09-12 22:19:58 +02:00
Bartosz Taudul
1c50138f85 Report failed second-trace loads in compare instead of crashing.
The compare load thread caught only UnsupportedVersion, so a
corrupted or otherwise unloadable second trace escaped the thread as
std::terminate. Catch the same set as the main trace load and route
it to the existing bad-version dialog.
2026-09-12 22:19:58 +02:00
Bartosz Taudul
2191885f86 Show a generic message for unreadable or corrupted trace files.
FileReadError now also signals truncated or malformed traces, not just
mapping failures, so the mmap-specific text misled users.
2026-09-12 22:19:58 +02:00
Bartosz Taudul
8a5f2c6f8c Show error dialogs instead of aborting the page on trace load errors.
Exception catching was off by default in the web build, so the
try/catch handlers around trace loading were dead code and any
failure unwound through the page.
2026-09-12 22:19:58 +02:00
Bartosz Taudul
8107754a3c Support loading trace files from URL in web version. 2026-09-12 13:08:04 +02:00
Bartosz Taudul
4332b43c3b Serve the web development files with CORS enabled.
The server doubles as a host for trace files to be loaded by the web
version from another origin, for example when profiling over the
local network.
2026-09-12 12:46:11 +02:00
Bartosz Taudul
0d6916273b Remove the trace filename from window title in web version.
The filename in the web build is an internal temporary name, either
embed.tracy or upload.tracy, and carries no information for the user.
2026-09-12 12:45:56 +02:00
Bartosz Taudul
e8a6be173f Ensure minimum find zone window width. 2026-09-11 22:34:04 +02:00
Bartosz Taudul
7370f3a6b6 Prefix GPU zone names in the find list with the display icon. 2026-09-11 22:08:37 +02:00
Bartosz Taudul
4f0edd1304 Use the display icon for GPU zones. 2026-09-11 22:08:35 +02:00
Bartosz Taudul
ec4e36074b Merge pull request #1469 from wolfpld/slomp/gpu-stats
GPU Zone Statistics
2026-09-11 20:42:41 +02:00
Bartosz Taudul
159567701c Enable OBJC language on Apple builds.
glfw 3.5.1 enables OBJC build-wide under CMake 4.x, remapping nfd's
nfd_cocoa.m to a language its scope never loaded; generate then fails on
CMAKE_OBJC_COMPILE_OBJECT. Initialize OBJC at the top level so sibling
scopes get the rules.
2026-09-11 00:47:18 +02:00
Marcos Slomp
e75106a16f removing [GPU] tag from source location listing (it does not work as I expected) 2026-09-09 22:36:02 -07:00
Marcos Slomp
9535a39fba refactoring 2026-09-09 22:36:02 -07:00
Marcos Slomp
661f4de636 addressing code duplication 2026-09-09 22:36:01 -07:00
Marcos Slomp
a71d7c2ee2 fix load-time data race on the GPU map 2026-09-09 22:36:01 -07:00