Repo cleanup: fix PPM & asset handling (out.ppm, golden blobs, duplicated Kenney art) #27
Labels
No labels
area:ci
area:docs
area:input
area:net
area:rendering
area:repo
area:stdlib
area:tooling
area:types
cleanup
dx
priority:high
priority:low
priority:medium
proposal
status:in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: workshopsoft/ludic#27
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Binary blobs are scattered across the repo with unclear ownership and poor DX:
out.ppm(~230 KB) lives in the repo root. It is a program's renderoutput — a build artifact. It is
.gitignored, but programs still dump it intothe working root on every run, which litters
git status-adjacent tooling andthe project directory. Output should be written under
build/(or a.gitignoredout/), not the repo root.selfhost/golden/*.ppm— 4 checked-in binary PPM fixtures (see the separategolden-fixtures issue).
assets/ships 273 tracked PNGs plus the raw Kenney zips(
assets/kenney/tiny-dungeon.zip,assets/kenney/tiny-town.zip) and theirfully-extracted contents. Shipping both the archive and its expansion is
redundant, and
**.zipis in.gitignoreyet the zips are tracked — the intentis contradictory.
Proposal
build/(orout/), never the repo root;drop the
out.ppmroot entry once nothing writes there.demand in
bin/x) or the extracted tiles — not both. Reconcile with.gitignoreso the rule and the tracked files agree.License.txtfiles are retained wherever the art lands.Acceptance criteria
out.ppmno longer appears..gitignorematches what's tracked.Part of the repository-cleanup / DX pass.
Done in
fb728bb.Acceptance criteria
out.ppmno longer appears — the native runtime's headless dump was changed fromout.ppmtobuild/out.ppm(runtime/native/core.ludic).bin/x app --headless,bin/x clean, the messaging and.gitignorewere all updated to match. Nothing is written to the working root any more, so the root/out.ppmignore rule was removed as obsolete..gitignorematches what's tracked — the Kenney art is tracked in exactly one form (extracted PNG/tmx underassets/kenney/**). The*.ziparchives were already untracked (git never had them, despite sitting in the working tree); the redundant local copies were removed so the tree matches the.gitignoreintent.git ls-filesshows no zips and no rootout.ppm.License.txtfiles are retained in each pack (assets/kenney/tiny-dungeon/License.txt,assets/kenney/tiny-town/License.txt).One judgement call worth recording: I kept the two complete extracted Kenney tilesets rather than pruning them down to only the ~13 tiles the current examples reference. They're a small (~1.3 MB total), coherent CC0 art library meant for examples to draw from; pruning to the current call-sites would break that purpose and any new example, for little gain now that the archive/expansion duplication is resolved. Happy to prune aggressively in a follow-up if you'd rather ship only referenced tiles.
The golden
.ppmblobs mentioned here were handled in #30 (replaced by a text hash manifest).