The active (or tag's) spreadsheet-language pack — the MERGE of every contributor's plane: the
function-owning packages (@sheetxl/formulas, @sheetxl/formulas-extended) supply function names
and help via DefaultLanguagePackService.registerPack; the SDK supplies error/boolean literals;
the host app's pack overrides any of them. utils returns the packs opaquely (getPacks); the
merge semantics (which fields deep-merge, how functionHelp loaders compose) live HERE, the one
layer that knows what these fields mean.
The merged pack is cached per tag and invalidated on language change, so it is a STABLE object for a
given (tag, contributor-set) — FunctionSymbolProvider and the function-help overlay both key their
caches on the pack identity, which requires that stability.
The active (or
tag's) spreadsheet-language pack — the MERGE of every contributor's plane: the function-owning packages (@sheetxl/formulas,@sheetxl/formulas-extended) supply function names and help via DefaultLanguagePackService.registerPack; the SDK supplies error/boolean literals; the host app's pack overrides any of them. utils returns the packs opaquely (getPacks); the merge semantics (which fields deep-merge, howfunctionHelploaders compose) live HERE, the one layer that knows what these fields mean.The merged pack is cached per tag and invalidated on language change, so it is a STABLE object for a given (tag, contributor-set) —
FunctionSymbolProviderand the function-help overlay both key their caches on the pack identity, which requires that stability.