Issue #3618694: Take every submodule out of the engine's words
Thirty-one references to the engine's own submodules, and most of them prose. A comment naming a submodule teaches the next reader that the engine may know about it, and the reach-ins the boundary suite guards were written by someone who had just read one: the comment above one of them talked about a picker having the hall open, and the code followed the words.
The theatre went with them. Two hundred and twenty-five occurrences of seat, seated, seating, hall, house, balcony, stalls and theatre now say unit, placed, placement, resource and part. An engine that books a hotel night in the language of a playhouse teaches the same lesson the comments did.
Two survive on purpose, and both name three domains rather than one — a resource may be a room of seats, a rack of equipment or a floor of offices. Listing them is how the prose says it is not about any of them.
Three were not rewordings.
- The translation pass ordered itself
OrderAfter(['yoyaku_ui', 'yoyaku_placement', 'yoyaku_order']), because it needs every link template any module means to add.Order::Lastis the same requirement without the names, and it covers a module that adds one and was not on the list. - The breadcrumb linked to an administration route by name. It asks a seam now (
AdminSectionInterface, one tagged provider), so whoever provides that section says so and a site running the engine without a UI simply has no step there — which is what the old route-exists check was reaching for without being able to say it. - A form id began
yoyaku_order_, and never named that module at all: the form sets weights, so it saysyoyaku_weight_. A false lead for anyone grepping core, and for the guard.
The guard reads the submodules off disk rather than listing them, so one added tomorrow is covered without anybody remembering to add it. Seen to fail for a name put back.
Verification. phpstan level 3 [OK], phpcs and cspell clean, eslint 0 errors. Thirteen kernel classes green, including both breadcrumb screen tests that exercise the new seam, the translation screens that depend on the ordering, and the seating classes whose flag was renamed (seated_around → placed_around, with both its readers).
Four traps found while sweeping, recorded because the next sweep will meet them: stalls matches inside "installs" and seAt inside releaseAt, so the pass has to be case-sensitive and word-bounded; seat is also a verb, and blanket substitution produced "nowhere in reach can unit them" five times; and rewrapping the lines that grew broke a docblock short description and a @param continuation, which phpcs caught.