endfield-mcp
Version:
MCP Server for Arknights: Endfield (TypeScript / stdio + Streamable HTTP)
39 lines • 1.69 kB
JavaScript
/**
* Worldview data types — shared between the lore/wiki reader and its tools.
*
* Mirrors the in-game PRTS archive system and the in-game encyclopedia as
* shipped in `endfield-worldview.zip` (v0.4 mirror). All tables are
* `{id: entry}` dicts at the top level — same shape as CharacterTable.json.
*
* ## Localized text convention
*
* Every human-readable field is a {@link LocalizedText} (`{id, text}` where
* `text` is empty upstream and the real string lives in i18n keyed by `id`).
* These resolve through `texts.ts:resolveText()` exactly like character
* fields do.
*
* ## The contentId string-key indirection
*
* PRTS document/record/multimedia entries carry a `contentId` that is a
* **string key** (e.g. `"text_v0d8_10"`), NOT a direct int64 hash. The body
* text is resolved through RichContentTable.json, whose entry is a titled
* list of content segments:
*
* `RichContentTable[contentId]` = `{ title: {id, text}, contentList: [{content: {id, text}}, ...] }`
*
* Each segment's `content.id` is an int64 hash looked up in i18n/CN.json
* (shipped in the v0.2.0 tables bundle). `worldviewCore.resolveContent()`
* concatenates the resolved segments into the body string.
*
* This is the one place the worldview domain extends beyond the existing
* text pipeline; it lives in `worldviewCore.ts` so it does not leak into
* `texts.ts` (which is hash-only by design).
*
* ## Wiki ↔ Prts cross-link
*
* `WikiEntryData.prtsId` points into a `PrtsDocument` id — each in-game
* encyclopedia entry (monster/item/etc.) has an associated lore document.
* `ef_get_wiki_entry` follows this link.
*/
export {};
//# sourceMappingURL=worldviewTypes.js.map