Logo cau des de dalt; quan aterra, JAILGAMES i COPYRIGHT pugen des de
baix amb stagger pam-pam; després arrenquen les naus i, en aterrar
elles, apareix PRESS START. Magic numbers a Defaults::Title::Sequence.
defaults.hpp tenia 527 línies amb 17 namespaces de dominis distints
(Window, Game, Zones, Entities, Palette, Ship, Physics, Math,
Brightness, Rendering, Audio, Music, Sound, Controls, Enemies, Title,
FloatingScore). 22 .cpp/.hpp l'incloïen, així que tocar una constant
forçava recompilar pràcticament tot.
Es divideix en 15 subfitxers (un per namespace, fusionant Music/Sound
a audio.hpp i unificant els dos blocs Game duplicats en un sol):
defaults/window.hpp defaults/audio.hpp
defaults/game.hpp defaults/controls.hpp
defaults/zones.hpp defaults/enemies.hpp
defaults/entities.hpp defaults/title.hpp
defaults/palette.hpp defaults/floating_score.hpp
defaults/ship.hpp defaults/math.hpp
defaults/physics.hpp defaults/brightness.hpp
defaults/rendering.hpp
Cross-deps explícites (#include en lloc d'order-of-declaration):
zones.hpp -> game.hpp (per Game::WIDTH/HEIGHT)
enemies.hpp -> entities.hpp (per SHIP_RADIUS)
title.hpp -> game.hpp, math.hpp + <cmath>
defaults.hpp queda com a umbrella que inclou els 15 subfitxers. Els
22 includers existents no requereixen cap canvi. Codi nou pot
incloure el subfitxer concret per millorar la compilació incremental.
Hallazgos #22 i #30 de CODE_REVIEW.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>