-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.gitignore
More file actions
98 lines (87 loc) · 4.67 KB
/
Copy path.gitignore
File metadata and controls
98 lines (87 loc) · 4.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# === Inputs you must supply manually ===
# Sony stock firmware -> artifacts/stock/NW_WM_FW.UPG (~112 MB)
# Walkman One firmware -> artifacts/walkmanone/WalkmanOne.UPG (~375 MB)
# Both are too large and not redistributable. See CLAUDE.md Part D1
# for where to download them.
# === Everything under artifacts/ is regenerable by `make phaseN` ===
# (built tools, unpacked firmware, mounted rootfs, repack tests, cloned
# repos, phase sentinels, and the firmware inputs above).
artifacts/
# === Analysis ===
# Text findings and per-phase logs ARE tracked (they're the actual
# research output and let a new dev read prior conclusions without
# rerunning the whole pipeline). The large derived dumps are not.
analysis/binwalk/
analysis/boot_image/
analysis/ramdisk/
# ui_assets: only UI_FEATURE_MAP.md — our own map of the stock UI — is tracked. What it was built
# from (the QML, English labels and images extracted from Sony's player) is Sony's and stays out of
# the repository; keep a local copy under artifacts/. Decompiler output from Sony's libraries too:
# the RE notes are tracked, the listings they were read from are not. See docs/HISTORY_REWRITE.md.
analysis/ui_assets/*
!analysis/ui_assets/UI_FEATURE_MAP.md
analysis/**/decomp_*
analysis/F_appmgr_home/*.c
analysis/G_player_ipc/*.c
# === Replacement-player Rust workspace (player/) ===
# Source, Cargo.lock, and the bundled OFL fonts ARE tracked. Build output and
# the rendered screen previews are regenerable, so they're not.
player/target/
player/out/
# `cargo run -p cinder-host` writes out/ in whatever directory it runs from. Two such runs were
# committed in August (432 PNGs, 32 MB of a UI that no longer exists); golden.txt catches pixel
# regressions now, CI publishes a fresh render as an artifact, and the README's images are
# regenerated by tools/render_screenshots.sh.
player/cinder-host/out/
player/cinder-ui/src/out/
# Stray Cargo build dirs anywhere else (e.g. spikes outside artifacts/).
**/target/
# === Editor ===
.vscode/
.idea/
*.swp
*.swo
# === OS ===
.DS_Store
Thumbs.db
# === session output that kept landing at the repo root ===
# battery_track.tsv (tools/battery_track.sh) and the timestamped cinder_screen_*.png dumps are
# per-session measurements, regenerable and specific to one device run — the same reasoning that
# already excludes the rendered screen previews above. Both had drifted into being tracked at the
# top level. They live under artifacts/session/ now, which is ignored wholesale.
/battery_track.tsv
/cinder_screen_*.png
# === the dev channel's built payload is NOT tracked ===
# dist/stable/ IS tracked: it is the flashable deliverable, the ARM toolchain is not reproducible
# on a hosted runner, and tools/release.sh verifies the committed payload byte-for-byte against a
# fresh build before it will tag. That reasoning applies to what users install. It does not apply
# to the dev channel.
#
# WHY (measured 2026-09-01): .git had reached 1.3 GB, and 863 MB of it — 66% of the repository —
# was cinder-home/dist/. Stripped ARM binaries share no deltas, so every build rewrites ~3.5 MB in
# full, and dist/dev accounted for 74 of the 117 revisions. A `git clone` of a ~60,000-line project
# was transferring 1.3 GB, and dev builds are not what anyone installs.
#
# Build them when you need them — `cinder-home/build.sh dev` then `tools/pack_upg.sh dev`. An
# installer compiled with CINDER_CHANNEL=dev and no dist/dev/ present says exactly that and exits 2
# (installer/build.rs collects them into MISSING; src/main.rs prints the two commands).
cinder-home/dist/dev/
# === C++ build intermediates + linked binaries (rebuild: bash cinder-home/build.sh) ===
# .crt223/*.o stay tracked — they are glibc-2.23 toolchain INPUTS, not outputs.
cinder-home/*.o
cinder-home/cinder-home
cinder-home/cinder-probe
ldac-bridge/*.o
ldac-bridge/cinder-ldac-bridge
# Installer build output — built from dist/, published by CI; never committed.
cinder-home/dist/*/cinder-installer*
# === Off-device harness build output (rebuild: cinder-home/harness/run.sh) ===
# Objects, the linked scenario runner, and the two tables regenerated from main.cpp and the
# public headers on every run — none of it is a source of truth for anything.
.harness/
# Debug symbols for the ARM binaries: build.sh writes these next to the stripped output so a crash
# address can be resolved with addr2line. They are BUILD BYPRODUCTS — 6 MB each, rewritten on every
# single build, and they were tracked for 36 commits (docs/SHORTCOMINGS.md D5), which is most of why
# a ~19k-line source tree clones as hundreds of MB. Nothing reads them from the repo; only build.sh
# writes them. Untracked 2026-08-26 — the local copies stay, so symbolising a crash still works.
*.unstripped