veratown-prototype

BC Source Compatibility Review: 2026-11-03

Comparison scope

Item Value
Previous prototype pin 614937bb8856713d18dc6709af09638b276f465e
New pin 51df6acc01f8fa185079d8deebf591fe3642a148
Upstream ref inspected origin/master in the local Bondage-College clone
Upstream head timestamp 2026-11-02T23:30:58-05:00
GameVersion R133 at both revisions
Commit range 46 commits: 30 non-merge and 16 merge
Changed paths 130 files; 2,840 insertions and 1,197 deletions

This updates the prototype’s source pin, not the deployed BC server. The generators read pinned Git blobs; they do not depend on the BC checkout’s working tree. The upstream comparison contains the full range.

Upstream changes and disposition

Wire declarations and map tethers

The protocol adds optional ChatRoomMapData.Tether, the ChatRoomMapTether state shape, ChatRoomMapTetherObjectConfig, and the MapViewTether variant in BC’s chat-message dictionary. This is not a new Socket.IO event: the 26 client-to-server and 30 server-to-client event names remain unchanged, as do the acknowledgement classifications.

The protocol generator now preserves the tether and map-position declarations and resolves references inside preserved types. A compile-time regression test covers tether state, map configuration, and the chat-message variant.

BC marks map objects 1020 (X-Cross) and 1090 (Pole) as CanBeTetherPoint. The generated catalog retains this serializable flag and continues to omit executable callbacks. Veratown does not implement tether actions or infer tether state from map metadata.

Appearance catalog

The regenerated catalog contains 85 groups and 2,662 assets: four new assets, no removed assets, and 87 existing assets with changed metadata. 209 unsupported-source diagnostics remain explicit. The new assets are:

The changed metadata includes color and lock-layer updates for existing items. OpenFaceHood now permits locks. LegSpreadDisplayStand adds the CanBackElbowTouch and CanKneelingSpread prerequisites, both covered by the headless pose evaluator, and Gender: "F". BC’s browser uses that gender tag to filter assets against the room’s allowed-gender settings; Veratown does not reproduce that browser UI filter. Review any operator-owned itemset using this asset against its intended room before activation.

The BodyUpper and Pussy catalog entries used for the bot’s body-condition facts are unchanged. No database itemsets were read, rewritten, or migrated. Operators should still review itemsets that rely on changed colors, selectors, or eligibility metadata.

Map catalog and runtime boundary

The map catalog remains at 170 tiles and 372 objects. The new tetherable flag is descriptive metadata; BC’s tether interaction, leash behavior, and room-state validation remain upstream browser/server behavior and are not implemented in the bot. Teleport-pad update changes in upstream browser code are not copied into the runtime.

R133 compatibility boundary

Both pins identify as R133, so the existing /R133/ qualification path remains unchanged. This does not establish that a configured BC server serves the updated content. Qualifying a specific server build still requires a separate approved run against that build using a dedicated BC account. Offline checks do not certify live asset availability or room behavior.

Verification

Regenerate deterministically from the selected revision:

BC_REPO=/path/to/Bondage-College npm run sync:bc
npm run lint
npm run format:check
npm run check
npm test
npm run build

No live BC connection, database inspection/write, deployment, or source-database copy is part of this sync. Live qualification remains a separate approval.