# ❔ How to address the developer-logo splash — no content rule, but `GP_TITLE` needs none **Status:** ❔ **undecodable as a general predicate, with reach** — and ✅ **exact for `GP_TITLE`**, which is the only archive in scope. Answers the port's *"I need a predicate, not an index."* ## The ask The splash has no `.rat` layout child, so `is_build` rejects it and it is reachable only through `--all` / `is_composable`, which disc-wide also admits ~1 786 non-screen bundles. The port wanted a rule that admits the splash and not those. ## ✅ In `GP_TITLE` the problem does not arise ``` $ sylpheed-cli screen list GP_TITLE.pak 12 builds — entries 0-9, 12, 15 $ sylpheed-cli screen list --all GP_TITLE.pak 16 bundles — entries 0-15 ``` `--all` adds exactly **four** bundles: entries **10, 11, 13, 14**. All four are real screens, and **not one fragment appears**. So within this archive `is_composable` *is* the predicate — it is exact, with no filtering needed. ⚠️ And the renumbering worry is moot here: in `GP_TITLE` the `--all` index equals the pak entry index **1:1 across all 16**. That is an accident of this archive having 16 composable bundles at entries 0…15, not a general property — but it means the port can address these by entry index without the index meaning something different from elsewhere. ## ✅ And there are TWO splash screens, not one Rendered with `screen render --all --build --primitives` ([grid](captures/title-builds/splash-both-halves-rendered.png)): | entry | elements | what it draws | |---|---|---| | **10** | 3 | **SQUARE ENIX** publisher wordmark, `™` | | **11** | 7 | **GAME ARTS** / **SETA** / **studio anima** developer logos | | **13** | 3 | SQUARE ENIX, `®` — the twin of 10 | | **14** | 7 | the twin of 11 | ⚠️ **The port has 11/14 and is missing 10/13** — the publisher half, which is the *first* thing the boot sequence shows. The two halves differ only by the trademark glyph (`™` on 10, `®` on 13), which is the region/language split this archive uses everywhere else. All four draw every element they declare (3/3 and 7/7), so nothing is silently dropped. ## ❔ The general rule: looked for, not found Two candidate predicates, both dead: * **Design size.** Every extra composable bundle sampled is **1280×720** — the same as every screen. It does not separate anything. * **Element count.** The "two-element fragment" story holds in `GP_MISSION_SELECT` (10 extras, all 2 elements) and **fails elsewhere**: `GP_OPTIONS`'s extras have 5 and 15 elements, `GP_SAVE_LOAD`'s have 4, 5, 6, 9 and 13. The splash's own halves have 3 and 7. The ranges overlap, so no threshold separates them. Reach: three archives sampled beyond `GP_TITLE`, chosen because they have non-build composables. Not a disc-wide sweep. A rule may exist in a field not looked at — the `.prm` fade quad is one candidate ([transitions](screen-transitions.md) shows overlays lack it), untested here. **So: the port is authoring this.** Locating the splash by entry index is the honest description, and `name_source` should say it was located by index and not by a rule.