Files
farolero/docs/premium_asset_inventory.md
T
2026-05-12 00:11:43 +02:00

8.1 KiB

Inventario de iconos/assets premium pendientes — Farolero

Criterio: sustituir iconos Material/emoji/texto que tengan peso visual por ilustraciones premium transparentes, manteniendo texto/estado como Flutter real. Objetivo: assets WebP/PNG con alpha, tamaño ajustado al render real y peso controlado.

Resumen técnico

  • Assets totales de imagen: 122.
  • Peso por carpetas: assets/avatars ~9.16 MB, assets/ui ~2.07 MB, assets/app_icon ~1.54 MB, assets/medals ~0.35 MB, assets/rewards ~0.18 MB.
  • Assets no referenciados literalmente en código/pubspec: assets/app_icon/farolero_app_icon.png y assets/ui/premium/*.
  • assets/ui/premium/* debe eliminarse del runtime si no se usa: son glows/overlays antiguos y de baja calidad frente al sistema assets/ui/generated/*.
  • Se detectan ~190 usos de Icons.*; no todos deben sustituirse. Los de navegación/cierre/campos pueden seguir vectoriales. Los de acciones principales, fases, resultados y notas sí deberían ser assets generados.

Reglas de tamaño/peso propuestas

Tipo Tamaño fuente generado Tamaño runtime Peso objetivo
Icono de botón/acción 512x512 128x128 o 160x160 WebP alpha 12-35 KB
Icono de fase/tarjeta 768x768 192x192 o 256x256 WebP alpha 35-90 KB
Hero de pantalla 1024x1024 512x512 WebP alpha 70-160 KB
Fondo pantalla 1440x2560 fuente 900x1599 WebP/JPEG 80-180 KB
Marco QR 512x512 fuente 192x192/256x256 WebP alpha 40-100 KB
App icon 1024x1024 PNG fuente mantener fuente + generar mipmaps fuente puede pesar 1-2 MB

Prioridad A — reemplazar ya

Uso visual Iconos/líneas detectadas Asset recomendado Runtime recomendado Peso objetivo Motivo
Notas Icons.edit_note, Icons.note, Icons.save en pantalla_debate.dart, pantalla_notas*.dart, pantalla_gestor_host.dart, pantalla_resultado_online.dart, pantalla_fin_partida_online.dart assets/ui/generated/actions/action_notes_quill.webp 160x160 WebP alpha 20-45 KB El botón de notas se ve pobre; debe ser cuaderno/pergamino/pluma/farol premium.
Votación Icons.how_to_vote, Icons.person_search, Icons.gps_fixed en voto/resultado/reglas assets/ui/generated/actions/action_vote_mask.webp 160x160 o 192x192 WebP alpha 25-60 KB Acción central de juego, ahora parece Material.
Ver palabra / revelar Icons.visibility, Icons.visibility_off, Icons.key, Icons.lock, Icons.search assets/ui/generated/actions/action_reveal_word.webp 160x160 WebP alpha 20-45 KB Fase clave; debe verse como secreto/farol/carta sellada.
Impostor Icons.theater_comedy, Icons.psychology assets/ui/generated/actions/action_impostor_mask.webp 192x192 WebP alpha 35-75 KB Se usa mucho y define identidad del juego.
Resultado/victoria Icons.emoji_events, Icons.celebration, Icons.mood, Icons.sentiment_dissatisfied assets/ui/generated/actions/action_result_trophy.webp 192x192 WebP alpha 35-75 KB Pantallas de resultado necesitan impacto/gamificación.
Fuego/progreso Icons.local_fire_department, emojis de fuego en medallas como fallback assets/ui/generated/actions/action_fire_badge.webp 160x160 WebP alpha 20-45 KB Mantener estética de farol/fuego sin emoji.

Prioridad B — reutilizar/generar si queda feo en pantalla

Uso visual Iconos/líneas detectadas Asset recomendado Runtime recomendado Peso objetivo Motivo
Debate Icons.forum, Icons.record_voice_over, Icons.chat_bubble assets/ui/generated/actions/action_debate_voice.webp 160x160 WebP alpha 20-45 KB Fase frecuente; puede reutilizarse en reglas y host.
Multidispositivo Icons.devices, Icons.phone_android, Icons.bluetooth_searching, Icons.wifi_tethering, Icons.radar reutilizar/mejorar join_lobby/signal_art.webp o nuevo action_multidevice_signal.webp 192x192 WebP alpha 35-80 KB Hay asset de señal, pero varios botones siguen con iconos Material.
Jugadores Icons.person, Icons.person_add, Icons.groups, Icons.person_off action_players_token.webp 128x128 WebP alpha 12-35 KB En listas pequeñas puede bastar vectorial; en CTAs/tarjetas debería ser asset.
Historial Icons.history_rounded, Icons.arrow_forward_ios reutilizar meta/history_ledger_art.webp 160x160 WebP alpha ya existe 130 KB; quizá recomprimir a 70-90 KB Ya hay asset, pero botones siguen con icono.
Ajustes/perfil Icons.settings_rounded, Icons.edit, Icons.alternate_email reutilizar meta/settings_profile_art.webp 160x160 WebP alpha ya existe 124 KB; quizá recomprimir a 60-90 KB Útil en perfil/configuración.
Crear partida Icons.category, Icons.add, Icons.remove_circle_outline, Icons.add_circle_outline action_create_game.webp / reutilizar create_game_header_art.webp 128-192 WebP alpha 20-70 KB Pantalla aún básica en varias zonas.

Prioridad C — mantener vectorial salvo que sea protagonista

  • Icons.close, Icons.arrow_back, Icons.chevron_right_rounded, Icons.arrow_forward, Icons.check, Icons.cancel como controles pequeños pueden seguir vectoriales.
  • En botones premium principales, si el icono ocupa mucho protagonismo, conviene usar asset ilustrado.
  • En TextField.prefixIcon, usar vectorial es aceptable salvo pantallas premium donde el icono sea grande o repetido.

Assets existentes a reutilizar antes de generar

Asset Tamaño Peso Estado
assets/ui/generated/gameplay/notes_strategy_art.webp 256x256 ~126 KB Bueno como hero de notas; pesado para botón. Generar derivado action_notes_quill.webp 128/160 px.
assets/ui/generated/meta/result_verdict_art.webp 256x256 ~129 KB Bueno para resultado; pesado como icono de botón. Crear derivado 160 px.
assets/ui/generated/gameplay/gameplay_phase_emblem.webp 256x256 ~113 KB Reutilizable como fase genérica; no sustituye iconos específicos.
assets/ui/generated/join_lobby/signal_art.webp 176x88 ~129 KB Calidad correcta pero peso alto para tamaño; recomprimir objetivo 45-80 KB.
assets/ui/generated/meta/history_ledger_art.webp 256x256 ~131 KB Reutilizable; recomprimir si se usa como icono pequeño.
assets/ui/generated/meta/settings_profile_art.webp 256x256 ~124 KB Reutilizable; recomprimir si se usa como icono pequeño.
assets/ui/generated/create_game/create_game_header_art.webp 176x88 ~122 KB Peso alto para tamaño; recomprimir o generar iconos derivados.

Assets a retirar o no usar como runtime

Asset/carpeta Motivo
assets/ui/premium/lantern_radial_glow.png 1024x1024, 285 KB, no referenciado; glow procedural/antiguo.
assets/ui/premium/vote_danger_glow.png no referenciado; reemplazar por asset premium real si hace falta.
assets/ui/premium/word_reveal_glow.png no referenciado; reemplazar por asset premium real si hace falta.
assets/ui/premium/corner_orange_glow.png no referenciado; placeholder procedural.
assets/ui/premium/timer_ring_glow.png no referenciado; si se quiere temporizador premium, generar ilustración específica.
assets/ui/premium/card_sheen_overlay.png no referenciado; solo conservar si se integra conscientemente.
assets/ui/premium/qr_frame_overlay.png no referenciado; el QR debe mantener zona blanca limpia.
assets/ui/premium/sparks_overlay.png no referenciado; mejor usar efectos controlados o asset optimizado.

Plan de generación recomendado

  1. Generar un kit pequeño assets/ui/generated/actions/ con 8-10 iconos ilustrados transparentes.
  2. Redimensionar/comprimir cada icono a 128/160/192 px según uso.
  3. Añadir soporte en BotonFarolero y TarjetaFaseFarolero para assetIconPath, manteniendo IconData solo como fallback.
  4. Migrar primero acciones visibles: notas, votar, ver palabra, impostor, resultado, fuego.
  5. Reutilizar los mismos assets en host/cliente/local para no multiplicar peso.
  6. Eliminar assets/ui/premium/ del runtime si sigue sin referencias reales.