D3DIM vertex-buffer handler aliases

2026-09-22: four byte-identical VertexBuffer7 handlers now enter their existing VertexBuffer counterparts via api_table.handler: Release, Lock, GetVertexBufferDesc and ProcessVertices. Both public API identities and vtable slots remain. The specialized vertex-buffer final release still frees backing data and descriptor storage; this is not a generic COM-release substitution. No implementation behavior or historical nargs metadata was changed.

The interface method spec carries the same aliases. At the time of this change, gen_d3dim_stubs.js is still a one-time scaffold, not a reproducible source generator: running it rewrote 1,176 lines of the hand-maintained file. That unrelated rewrite was completely undone, then only the four duplicate bodies were removed (26 lines). Making the full generator authoritative remains an open review candidate; do not regenerate this file blindly. The follow-up below resolves that obsolete tool, not the broader review's generation work.

Validation:

This is a sharing/dispatch regression, not new native Direct3D conformance or a game performance result. Existing buffer validation, locking semantics and allocator edge cases are unchanged and remain separate concerns.

Follow-up: retire the one-time scaffold

The scaffold's own instructions explicitly transferred authority to the hand-maintained WAT after its first run and warned against rerunning it. Repository consumers confirmed no build/test invoked it. It has now been deleted (recoverable from git), along with the unused ret, body and delegate recipe fields in d3dim-methods.js. The WAT banner and API-generator comments now describe the actual authority: interface identities, aliases and vtable order are metadata; handler implementations are WAT source.

This is retirement of a completed migration tool, not replacement of runtime implementations with stubs or a claim that all review generation work is done. All consumer-visible metadata (names, nargs, handler aliases, vtable mappings) was compared with pre-change HEAD and is identical. Runtime WAT is identical after stripping comments/whitespace. Dispatch regeneration check still passes.

test-d3dim-interface-spec.js checks all 211 methods against actual API aliases, runtime handler declarations and vtable order; negative controls reject a reintroduced body recipe, wrong alias, absent target and reordered vtable.