build(ui): move the rule's played-word set into the lazy dict chunk
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Successful in 11s
CI / integration (pull_request) Successful in 19s
CI / ui (pull_request) Successful in 1m16s
CI / conformance (pull_request) Successful in 10s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 2m27s
CI / changes (pull_request) Successful in 3s
CI / unit (pull_request) Successful in 11s
CI / integration (pull_request) Successful in 19s
CI / ui (pull_request) Successful in 1m16s
CI / conformance (pull_request) Successful in 10s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 2m27s
Building the set of words a game has already used belonged with the rest of the rule, behind the same lazy import as the evaluator that consumes it, rather than in the always-loaded game screen. What is left in the app entry — the per-game flag on the decoded GameView and the caption that names a rejected word — costs more than the budget had free, so raise it by the usual kilobyte with the reason recorded alongside the earlier raises.
This commit is contained in:
@@ -41,8 +41,12 @@ const DIST = 'dist';
|
||||
// + the update-available nudge) and the unified-lobby / create-flow wiring ride the always-loaded
|
||||
// transport / App / Lobby / New Game screens (the dict-availability guard's `getDawg` stays lazy). The
|
||||
// heavy parts — the dict loader, the move generator and the preload orchestration — still stay in lazy
|
||||
// chunks. Scoped CSS lands in the CSS chunk, not this JS budget.
|
||||
const BUDGET = { app: 130, shared: 31, landing: 5 };
|
||||
// chunks. Raised to 131 for the Erudit no-repeat-words rule: the per-game flag rides the decoded
|
||||
// GameView (codec + model), and the always-loaded game screen has to name the word its preview
|
||||
// rejected, since a repeated word is a real word and the board alone cannot say why the play is
|
||||
// refused. The rule's own logic — the played-word set and the rescoring — sits with the evaluator in
|
||||
// the lazy dict chunk. Scoped CSS lands in the CSS chunk, not this JS budget.
|
||||
const BUDGET = { app: 131, shared: 31, landing: 5 };
|
||||
|
||||
// gzipped returns the gzipped byte size of a built asset, or 0 when the reference is not a
|
||||
// local file (e.g. the Telegram SDK loaded from a CDN) or is missing.
|
||||
|
||||
Reference in New Issue
Block a user