Each standalone profile records where its version is read: the source
at its pin (clk 2026-07-23-136-g9020107, shadps4 0.20.1 WIP, eden
v0.2.0-401-g26a03d2), the APK, binary or archive read (kind package),
or, where no reading can be made, kind unverified with the reason: a
host the tools cannot read, a forge gone or not answering, no build
recorded as read, a pin on another branch. Those keep their value,
unconfirmed.
Pin 704f603 to 63770cd. The three new hashes in platforms/config.sh are
dependency revisions the build fetches: the bgfx patch, libaltsound and
libdof. libdof moved to 5c54ef7 with GetGlobalConfigPath unchanged at
src/DOF.cpp:36-45, and libaltsound still appends altsound/<rom> to the
base folder, so only the libdof revision in the notes changes.
prose_written_at records that the notes were read at the new pin.
Starter tables are now .vpz folder packs, segment textures load a -cov.png coverage atlas beside them, table music falls back to the folders 10.8 searched (ScriptGlobalTable.cpp:120-148) and a Windows-only BAM plugin is staged. The build fetches pinmame d5e1921 now (platforms/config.sh:11): container sets unchanged, cited lines remapped.
Same chain as the first pass: no ref to review, no file name or hash
literal added to a cited file since the pin, no profile a single
platform builds at a fixed commit, refs recaled with their pins, and the
written prose read again.
emulator: carried the file stem on 67 profiles, so site links read like ids. Each now takes the project's own name (libretro .info corename, README title, window title or site title). tests/test_profile_names.py allows the stem only on a commented list: lowercase project names, test cores, aliases and the template.
Build scripts now fetch PinMAME 652249e2; its cited lines only shifted. Music accepts an absolute script path, and PUP packs gain a PUPSOUNDS/ sound bank.
Nixie's layouts at vpinball e4a79a5, PinMAME memmaps at tomlogic/pinball-memory-maps 68c1b337 and game definitions at vpinball/pinmame-game-defs 6eece7e5: the subset every platform build copies into third-party/. 1,280 files, each matched to its upstream git blob, documented as three directory entries.
ScoreView became Nixie with .nix layouts, B2SLegacy was removed, the PinMAME plugin ships memmaps/ and gamedefs/, the HRTF file is bundled, fonts are looked up by TextRenderer and a table gets a .info file. PinMAME refs are re-read at 5386aa17, the revision the build fetches.
Profiles, the wiki, comments, docstrings, command output and schema descriptions carried em-dashes, clause-joining semicolons, unicode arrows, box-drawing banners and check-mark glyphs. Each sentence was rewritten rather than having its character swapped. Hashes, paths, source_ref values and every cited file:line are unchanged, which a comparison of each parsed profile against the previous revision confirms.
validate_pr comments now say PASS and FAIL in words, and source_ref values in a profile's structured blocks render as code. test_prose_style fails if any of these comes back, in tracked files or in the generated site.
VPX moved file location into one class. FileLocator holds the read-only
application path and the preferences path, and picks between two layout
modes from where the application ini sits: AppPrefData splits static
data, settings and tables across three roots, AppOnly keeps everything
in the application folder. The profile still described m_szMyPath and
m_szMyPrefPath, identifiers the tree no longer carries.
Script lookup changed shape with it. SearchScript walks ten locations
case-insensitively, rooted on the table's own folder rather than the
working directory, where the profile documented seven. The editor's
completion parser left that search entirely: ParseVPCore opens core.vbs
at the Scripts subfolder alone and warns when it is absent.
The PinMAME root now prefers a pinmame folder beside the table before
the global setting and the platform default. vpx.html is served by the
web server, the LiveUI no longer naming it.
Four PinMAME citations read as external again: the project word is only
recognised behind a list delimiter, and one of them sat behind "at".
41 refs, 37 anchored, 4 external, none left to read.