Skip to content

Glossary

Short names used in this codebase that aren't self-explanatory — kept deliberately small. Not a place for everything; if a name is already obvious from context (or already fully explained where it's defined), it doesn't belong here. Update this alongside any change that introduces, renames, or repurposes one of these.

  • BMFT — this author's namespace prefix, used across every mod in the portfolio (not just X-Lifestyle): JS namespace window.BMFT, Twee variable/macro prefix bmft_. Derived from the author identity (author: "BinaryMisfit" in every mod's .meta), not from any single product's name — deliberately, so it survives a future product rename or reuse in an unrelated mod without becoming a stale artifact. Full rationale: CLAUDE.md's "Naming convention" section.

  • "PC" (docs) vs. Identity (code) — "PC" (player character) is this project's standing term in prose across docs/pc/ (the xls umbrella repo) and this repo's own plan docs, kept there deliberately. Code identifiers spell out "Character" instead (bmft_character_* macros, not bmft_pc_*) since a bare identifier doesn't carry the surrounding docs context, and "PC" is genuinely ambiguous outside game-dev writing (personal computer, program counter, ...). The JS namespace holding that state is window.BMFT.Identity (merged from the earlier BMFT.Character/BMFT.Preferences split, 2026-08-18 — see docs/ai/core-preference-profile-plan.md section 5); macro names are unaffected by that merge.

  • GE — the base game's own shared global namespace (window.GE), not this mod's. Deliberately not an acronym worth decoding — X-Change Source's own src/scripts/10-init/01-init.js calls it "an unique private namespace to contain custom code," just the shared bucket almost every base-game subsystem attaches to.

  • BMFT.Features — a code-only feature gate (scripts/00-features.js, not a player-facing setting) so a fix can ship without also enabling newer/incomplete functionality, or an already-shipped feature can be switched off independently if it breaks. The FLAGS table in that file is the master list of every gated feature and its current state. Full design: docs/ai/feature-gates.md.

  • XCL — the base game's own namespace prefix (XCLMod, XCLPlayerData, XCLCharacterDossier, etc. — short for X-Change Life). Not this mod's own; BMFT was chosen specifically so it can't be confused with or collide against this (see CLAUDE.md's naming-convention section for why XLC was rejected as an anagram of it).

Zlib Licensed