prometeu-runtime/docs/runtime/pull-requests/016-asset-codec-none-runtime-and-tests.md
2026-03-24 13:40:56 +00:00

2.1 KiB

016 Asset Codec NONE Runtime and Tests

Briefing

Com a decision 013, o runtime deve migrar o valor canonico de codec para NONE sem quebrar a transicao curta a partir de RAW.

Esta PR executa a propagacao em codigo, fixtures e testes do runtime.

Decisions de Origem

  • docs/runtime/decisions/013-asset-codec-none-vs-raw.md

Alvo

Atualizar o runtime para que:

  1. NONE seja aceito como valor principal de codec;
  2. RAW seja aceito apenas como alias legado durante a janela curta de transicao;
  3. fixtures e testes passem a publicar NONE como valor canonico;
  4. TILES e SOUNDS fiquem coerentes com a decision.

Escopo

  • atualizar crates/console/prometeu-drivers/src/asset.rs
  • atualizar fixtures/testes em prometeu-drivers, prometeu-hal e prometeu-system
  • ajustar comentarios inline onde RAW ainda apareca como valor canonico

Fora de Escopo

  • remover imediatamente a compatibilidade com RAW
  • alterar packer
  • introduzir novos codecs
  • mudar contratos de layout de TILES ou SOUNDS
  • publicar banks genericos novos como BLOB

Plano de Execucao

  1. Atualizar o path de resolucao de codec para aceitar NONE como valor canonico.
  2. Preservar RAW como alias legado durante a transicao curta.
  3. Migrar fixtures e testes para emitir NONE.
  4. Revisar comentarios e exemplos inline para remover RAW como default canonico.
  5. Validar que TILES e SOUNDS continuam operando sem regressao comportamental.

Criterios de Aceite

  • runtime aceita NONE em TILES e SOUNDS
  • runtime continua aceitando RAW apenas como alias legado
  • fixtures e testes passam a usar NONE como valor canonico
  • nenhum comentario ou helper novo reforca RAW como valor principal

Tests / Validacao

  • testes unitarios do asset loader
  • testes do runtime/VM que passam por asset loading
  • revisao de fixtures de cartridge/asset metadata

Riscos

  • deixar paths diferentes tratando NONE e RAW de forma inconsistente
  • migrar fixtures parcialmente e mascarar regressao real
  • prolongar compatibilidade legacy sem rastro claro para remocao futura