Skip to content

Demo Auditor: fixes from testing the whole page before 0.2.0 (part of #844) - #871

Open
ccoventry wants to merge 16 commits into
devfrom
fix/auditor-table-style
Open

ccoventry wants to merge 16 commits into
devfrom
fix/auditor-table-style

Conversation

@ccoventry

@ccoventry ccoventry commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Release note: Changed: in the Demo Auditor's duplicates list you can choose which copy to keep, in one group or for every group at once by folder, and the list now looks like the app's other tables.

Part of #844. The user found the list cramped while testing #863.

What changes

  • Table style: #audit-results-table had no class, so its cells had no padding, its headers were centred, and the list stopped at 400 px. It now uses analyzer-table, like the render list, and grows with the window the way that list does (Render tab: a recovered batch starts, and a page reload shows the queue again (#770, #771) #818), never shorter than 280 px.
  • Group header rows get their own shade.
  • One line per row: Status, Size and the row buttons stay on one line, and the buttons are the compact kind.
  • Wasted space reads in MB under a gigabyte (wastedSizeText). A 20 MB total used to read "0.02 GB".

Choosing the copy to keep (08a7ec2)

  • Per group: each row has a Keep button. The copy you pick moves to the top as the kept one, and the old pick becomes a copy, ticked by the usual rule (a copy the game or the project uses stays unticked).
  • Every group at once: "Keep the copies in a folder…" makes every group that has a copy in that folder (or in a folder inside it) keep that copy, so a long list needs no picking row by row. A toast says how many groups changed.
  • The kept copy is never sent to a delete (pinned by a test).

Tests

  • audit_duplicates.test.js gains a test for the size text: 583 unit tests pass.
  • duplicates.spec.js: 7 of 7 pass. Its harness carries the table's class now.

Preview with the app's CSS: local\review-images\863-audit-styled.png.

🤖 Generated with Claude Code

…window

The table had no class, so its cells had no padding, its headers were
centred and its list stopped at 400 px. It now uses analyzer-table like
the render list, grows with the window as that list does (#818), gives a
group's header row its own shade, keeps the status, size and buttons on
one line, and says wasted space in MB under a gigabyte ("0.02 GB" read as
nothing for 20 MB).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ccoventry ccoventry changed the title Demo Auditor: the duplicates list looks like the app's other tables and uses the window's height (part of #844) Demo Auditor: fixes from testing the whole page before 0.2.0 (part of #844) Oct 19, 2026
Each row has a Keep button: the copy picked moves to the top as the kept
one, and the old pick becomes a copy, ticked by the usual rule (a copy the
game or the project uses stays unticked). For a long list, "Keep the copies
in a folder…" makes every group with a copy in that folder keep it. The
kept copy is never in a delete.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ccoventry and others added 3 commits October 19, 2026 14:22
… this tab

The Duplicates tab had two ways to pick a folder: the page's Target Folder
row and its own Add Folder list, which repeated the Target Folder as its
first row. The row now hides on Duplicates (Split Maps and Rename Demos
still use it); the list starts from the Target Folder and follows it until
a folder is added or removed here, and every row can be removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It read as a move: Keep copies already in a folder..., and its tooltip and
its nothing-found message say it only picks which copy to keep.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… folder list follows the Target Folder

Find redrew the Split Maps list, which dropped a running split's progress
bar and the files it wrote; it's greyed out while a split runs. On
Duplicates, a folder list emptied by Remove follows the Target Folder
again, as it does at the start.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ccoventry and others added 9 commits October 19, 2026 17:41
… the button; Duplicates keeps its columns when empty

Split Maps' maps table gets the analyzer-table style and headers, and the
"Wrote 1 demo" result sits under Split Checked Maps instead of beside it.
On Duplicates the column widths hold with no rows (an empty or cancelled
list spread the headers across the table), and the empty footer says
"0.0 MB" like a filled one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s length only; the status bar follows the Demo Auditor's tab

- A map whose piece already sits next to the demo (the name Split Maps
  gives it) shows the file in an "Already split" column, starts unticked
  (tick it to write it again), and the demo gets an "Already split" chip.
  After a split, the written files fill that column.
- The Length column shows how long each map is: the start was a clock
  viewdemo never shows past the first map.
- The status bar's Demo Auditor line follows the tab: copies and wasted
  space on Duplicates, multi-map demos and how many are already split on
  Split Maps, demos listed and to rename on Rename Demos.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The number was only there when a map repeated; now every piece carries its
place in the original, so they sort in playing order, and the map drops
its dod_ prefix to keep long names shorter. Already split still finds
pieces written under the old names.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The lengths untick a map under a minute; a split started before them
would write it anyway.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
They showed ticked, then a short map unticked itself once its length was
read; now they're greyed out until then.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…emo once its lengths are read

Finding the demos, then reading each one's map lengths, run under one bar
with a step line ("Finding demos: n of N checked", "Reading map lengths:
2 of 13 demos (name)"). A demo's card appears once its lengths are in, its
ticks final and its button ready, so nothing on it changes after it shows.
Cancel stops the length reading after the demo being read; the demos
already listed stay usable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
It used to answer a click with a small note; a greyed-out button says it
before the click, and its tooltip says why.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…kes seconds, not minutes

The lengths came from a full parse of every multi-map demo (5-10 s each).
quick_segments walks the frame headers and finds the signons the way
quick_maps does, giving segments()'s exact answer; it falls back to the
full parse when a frame can't be walked. Checked against the full parse on
the CI fixture, and on all 47 multi-map demos in the PRE install (ignored
test, DOD_SPLIT_DEMOS or the PRE dod folder).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… put while it runs

Cancel stops the split at its next step (after the demo is read, between
maps, while a map is written, before it's saved); maps already saved stay
and are listed. The demo's tick boxes are locked while its split runs:
the split read them when it started.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant