OPENHOOPS / 2K14Final team archive · November 9, 2026Reference libraryChecksums

Dated source reference. Current release status: handoff state. Full original relative paths are in the developer archive.

OpenHoops roster editor checkpoint

Roster Studio56, web0.3.0.dev1/source56d, is live at https://openhoops.io/rostereditor with public email-code accounts, offline recovery, synced My workspaces, self-service creation/folders/favorites/archive/reopen, named owner/editor/viewer invitations and complete workspace backup/recovery.46 account/backup cases pass both locally and on Cloudflare with actual controlled email delivery;40 existing production collaboration cases,41 local legacy cases,12 injected save/recovery failures,28 frontend cases and16 live route/access cases pass. The exact186-test55t Python writer payload is unchanged; prior905-team native authoring/export evidence retains its scope. Existing private links and the original empty owner workspace remain intact. Presentation, real supplied-mod/custom-art acceptance, full RED MC semantics/career/IFF, hook/API companion consumption and pixel/physical cross-browser certification remain separate. No game/API/native/public ZIP/MVP/shared input or billing-plan change.

Current October18 addition: college authoring53 supplies private editor dev8/91 optional standard fields, guided forms and hash-bound metadata CSV.148 Windows tests,32 overlapping standalone-runtime cases and16 exact-EXE control/save checks pass. Native conference research supports a separate stable-ID mapping; no native conference expansion or hook/API metadata consumption is delivered. Hosted editor dev7 and historical checkpoints below remain unchanged.

The user subsequently requested a shareable Windows preview and combined college/expanded-roster hook. Current source is0.1.0.dev7; see distribution handoff for URLs, public catalog/runtime provenance and exact new checks. Earlier build identifiers, hashes and no-public-package statements below remain dated evidence.

Updated October16,2026 UTC. Current independent editor is 0.1.0.dev6, Dell C:\Users\brent\OpenHoops\roster-editor41f\OpenHoopsRoster.exe, SHA256 7c7b44a677e1709bbff48e251914ebacc7ad1da0ce4bb6a289feff226a70fac4. The exact41f source archive SHA256 is 04f316949418f40015b74b71f2bf300184c7bfebab779cd81adf636697cbfb6d. See usage and extension format. No public release was created.

Dev6 workspace and authoring additions

The modern Windows workspace retains all39 tables and original field groups. Players, Teams, Jerseys, Staff and Arenas have common tabs; menus group the remaining commands, and a right-side inspector explains selected fields. Report headers were resized after rendered inspection.

Roster health checks verified typed links, text, duplicate identities, stored roster membership and selected capacities without automatic repairs. Dell scan reports zero errors/warnings for stock140,456 checked references and combined625,304 references. The latter completed in0.833seconds. These checks are not universal game-mode certification. The final health dialog presents the same scoped report.

Review changes compares the working copy with an immutable opened state. Another roster can also be compared. Reports show named before/after values, added/deleted records and unmapped stored-bit changes; they compare physical row IDs and do not infer identity matches. Details are capped while complete summary counts are retained. Double-click navigates to a current record; JSON export preserves the report. GUI CSV export now uses every matching row and visible field, including ID, across all pages. CLI export still defaults to the full table. Same-value edits no longer create empty undo transactions.

OpenHoops extra fields support namespaced text, number, boolean or null values for a record or roster. A versioned .ROS.openhoops.json companion binds to the exact ROS hash/size and consumes no native text. Metadata uses the same transactional undo/redo, follows explicit row moves, and is removed/restored with deleted rows. Cloning/import intentionally leaves external metadata blank. The writer checks both source files for staleness and exclusively creates/read-backs a new pair, with ROS published last and handled failures removing only owned outputs. Power-loss atomicity, native-game-save reconciliation and future readers have explicit limits in the format contract. The native hook/public API do not consume these fields yet. No custom in-game presentation is claimed.

101 Windows tests passed against exact41c writer source. Final41f only changes C# report-header sizing and README; acceptance hash-verifies the other70 source/reference/test files against41c, and build identifies its separately compiled client. Final GUI41g performed a real extra-field edit, reviewed it, and saved/read back the pair. Independent GUI-output audit verifies exactly one extra-field change and byte-identical ROS data, with both source files unchanged. Earlier GUI41d separately verified undo back to zero changes. Both owned runs closed normally. No new game run, native hook change or public API change occurred in this pass.

Final preservation and combined dev6 receipt record source identity, exact validation scope, original-save/stable-game preservation and closure. Earlier load/game-save/fresh-reload of906 teams/13,680 players/3,790 jerseys remains the native capacity evidence below. Full RED MC workflow/file-format parity remains unfinished.

Previous dev5 inventory and native integration checkpoint

Updated October 16, 2026 UTC (October 15 locally). At this earlier checkpoint the independent Windows editor was 0.1.0.dev5. It supports original PC ROS files and the opt-in expanded representation. The complete RED MC NBA 2K14 named-column inventory is represented across 39 tables, including the free-agent pool; Players has 356 columns including ID. This is field inventory coverage, not full semantic, UI or file-format parity with RED MC.

Use editor instructions for the Windows executable, CSV/CLI workflows and current limitations. The earlier tested Dell build is roster-editor40k\OpenHoopsRoster.exe, SHA256 7ef31b42420b4bb9dc58c643f08f27c9f588a53c53a5c7d35b42215c646996c0. The exact implementation snapshot is 40k source manifest, archive SHA256 e4a0c49d3b53a25f61b63a3cfa87675ef3fe6f199ed98dd2f9011e7070e257e8. Later current documentation can differ from that immutable checkpoint's README. No public package was created or promoted.

Implemented roster workflows

The Windows grid exposes all mapped fields, original descriptions and field groups, common player enum dropdowns, RGB color editing, field/name/ID search, numeric/text conditions, full-table sorting, reference navigation, CSV import/export, clipboard paste, selected/filtered/global edits, team/row cloning, transactional undo/redo and bounded TURK scripts. Twenty-two explicit enum associations across five player tables use original labels; unassociated animation and other codes remain raw-editable. CSV export remains numeric, while supported labels are accepted on input. RGB edits preserve separate alpha bits. References, signed boosts, signed-magnitude headshapes, packed dates/trades, split minutes, independent appearance-team pointers, full headshape handles and native-width scalar fields have focused coverage.

Cross-roster team import copies assigned players, all associated uniforms, and linked staff, arenas, actual/default playbooks, colleges, headshapes, stats, records, awards and boosts. Text is re-interned and identities are allocated separately. External teams/players must match uniquely by their identity and names; ambiguous or absent matches refuse the transaction. This is a standalone editing workflow, not automatic in-game intake or a public API endpoint. It does not copy external artwork.

Physical row moves update typed pointer slots recovered from original serializers, including unnamed slots, plus known packed statistics indices. Deletion refuses incoming references. Team and actual/default playbook physical row changes remain protected because they have additional index relationships; the free-agent singleton is also protected. The boost collection is derived from boost records and updated explicitly, with a 2,000-slot guard. Base player ratings are separate from boost slots.

Windows and native evidence

76 Windows tests pass against preserved real stock and expanded files; originals retain their hashes. The final build log records compilation. Original RED MC encoder/game serializer emulation supplied scoped layout evidence; original community installer/DLL initialization was not executed. Provenance and original licenses remain with the reference data. Emulation is not live gameplay certification.

The final40k client was rendered on Windows against the combined specimen in GUI40l. Original field-group selection passed. A real position dropdown edit changed row0 from Point Guard to Shooting Guard; undo restored it. The native RGB picker committed 12AB34 to Jerseys.TColor0, then undo restored EBEBEB and zero pending operations. The source file hash stayed unchanged, and the owned app closed normally. Alpha preservation is independently covered by writer tests. Earlier39d verified GUI cell edit/save/read-back, and39x verified a field filter selecting the last player; those older checks remain separate. GUI40l did not save a new file.

The combined specimen contains 906 teams, 13,680 players and 3,790 uniforms: 105 preserved teams plus 800 clones with 15 separate player records/four uniforms each, and one imported team with 15 additional player records/all11 uniforms. Its new clone names include 12,000 distinct full-length synthetic pairs. Artwork and attributes are templates, not 801 finished real teams.

Arena A uses 743,714 bytes within a 1,048,576-byte capacity, across six chunks. Native37ch completed load acknowledgment; read-back matches all13,680 first/last-name pairs and27,360 player ASA/ID2 values. The game then saved successfully. Independent audit verifies every named editor-table record unchanged. The game additionally rebuilt internal pool46 with the11 imported boost handles and count1984→1995; this was isolated and recorded, not hidden as byte-identical transport.

Game-written AllFixed.ROS SHA256 73140bbb51ae160f3d24b73269c0da253426adc5aa1860c3baa65f27ce886b28 then passed fresh-process37ci read-back after acknowledgment. The dev4 writer regenerates the same meaningful serialized bits, including pool46, in AllReady. Comparison excludes only the CRC and unused padding/opaque tail: the editor retains original tail data while native save clears it. AllReady is not byte-identical or an independently exercised live filename. Dev5 adds field presentation and labeled enum input; the existing numeric serialization path retains current Windows test coverage. The combined verification receipt separates these scopes.

The earlier 905-team writer specimen independently passed native load/save/fresh reload at703,876 text bytes across six chunks. Prior last-team gameplay/uniform evidence used an older capacity fixture and remains separate; no new combined full-match certification is claimed.

Failures corrected and limits retained

The first combined import/move specimen reached a load-success popup but failed after acknowledgment. Native37cf exited at04:14:54UTC; debugger retry37cg encountered privileged-instruction exception c0000096 and was then stopped explicitly. It did not produce a useful complete stack trace. The failed artifact/logs remain preserved.

Investigation found two concrete writer defects: repeated non-byte-sized row changes drifted the logical end by one byte, and imported default playbooks lacked paired actual rows. Absolute-end rounding, parser boundary validation and paired imports were added, with focused regressions. The corrected combined artifact passed. This does not isolate one of those fixes as the sole exit cause.

Further native comparison exposed boost-list normalization; current source now maintains that list and refuses overflow. A mixed raw free-agent edit followed by arena growth also gained a consistency fix and regression. ASA allocation reserves player, dormant boost, award and trade-history identities; new players do not silently inherit unrelated old boosts/awards.

The representation remains finite:16MiB backing, twoMiB maximum arenaA,16-bit table handles,14-bit transaction-compatible automatic ASA allocation,20 team roster slots,1,000 free-agent slots and2,000 verified boost-collection slots. No additional365/8000/850 hard row caps were established. Existing RED MC/Sigil extended-file compatibility, career/association/playoff/draft-class containers, IFF editing, undocumented enum label associations, unrestricted team/playbook rearrangement, arbitrary identity reconciliation and full RED MC workflow parity remain unfinished. An actual affected community roster has not been supplied for end-to-end acceptance.

Preservation and architecture

The native candidate remains37bx, DLL c93fa3ff7ba4ccd955f8f30435e560ef3e11d9826a29d17477e9c52fb8c4c08d, with196 compiled checks. Public API0.2.0.dev36/HTTPv1/snapshotABI14/eventABI4 and college/court versions did not change. Existing272 API/34schema evidence was not rerun for standalone editor changes.

Final Windows preservation,05:26:55UTC, verifies all95 original saves, stable35 DLL and original EXE; zero game/debugger/editor-worker processes and no production-API listener; artwork hosting alive. Thirteen completed owned research tasks were removed cumulatively after action/closure checks: twelve in40h, then GUI40l in40p. No unrelated tasks were removed. Stable reference-game, original corpus, original settings backup, SSH configuration, historical packages and artwork hosting were preserved. Mac work was editing/storage/control; builds, debugging and tests ran on the Dell. No agent delegation, recurring automation, public release or unrelated rare-rule testing was added.