Acaba la migració dels std::cout/cerr a Log::*:
- core/locale, core/ui/ui_config, core/rendering/{screen,text,gif,
surface, sprite/animated_sprite, sdl3gpu/*}.
- game/{options, debug_config, editor/editor_config, levels/level_manager,
map/{map,tilemap,paint_layer}, entities/entity_manager_loadlevel}.
Severitats coherents: warns per a configs absents amb fallback,
errors per a YAML malformat o E/S fallida, infos per a estats.
Resultat:
- 0 occurrences de std::cout/std::cerr a source/.
- Cap #include <iostream> orfà (eliminat de surface.cpp).
- Output funcional idèntic al històric; AEE_LOG filtra (ex.
`AEE_LOG=warn` només mostra warnings, `AEE_LOG=*:warn,Tag:info`
combina globals i overrides).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- resource_pack.cpp i resource_cache.cpp: tots els std::cerr passen a
Log::error.
- director.cpp: std::cout/cerr/fprintf → Log::info / error / critical
segons severitat.
- printWithDots (utils.cpp): ara és un wrapper sobre Log::info que
manté l'amplada total (~50 chars) reproduint l'alineació de punts.
Els callers pasen el tag sense " : " (ja l'afegeix el logger).
- pack_resources: afegit log.cpp i SDL3 al target perquè
resource_pack.cpp ara depèn de Log::.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Eliminats cinc mètodes sense callers externs:
- writeShadowed / writeCentered: la funcionalitat viu a writeDX(flags,
...) que és l'API reutilitzable; ningú crida aquestes variants
discretes.
- glyphWidth / getGlyphClip: getters per glif no consumits enlloc.
- codepointToUtf8: helper de serialització UTF-8 no consumit (només es
consumeix el parser nextCodepoint, que queda).
Build + smoke 5s xvfb OK (exit 124).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Text tenia cinc mètodes (write, writeColored, writeMonoDigits, length,
lengthMonoDigits) i dos getters (glyphWidth, getGlyphClip) que repetien
el mateix patró de resolució de codepoint: find(cp), fallback a '?' si
no hi és. Extret a un helper privat resolveGlyph(cp) que centralitza
aquesta lògica; totes les funcions passen a usar-lo.
write() ara delega directament a writeColored(...) passant el color per
defecte, eliminant ~19 línies del bucle UTF-8 duplicades.
Els literals 1 (índex de "tinta" al PNG) i 15 (color per defecte a la
paleta) passen a ser Text::INK_COLOR_INDEX i Text::DEFAULT_TEXT_COLOR
(HC-01).
Build + smoke 5s xvfb OK (exit 124).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>