# Remix One Line Club

Download and extract `source.zip`. Read the MIT license, then run the local
commands in `README.md`. No install, API key, model or account is required.

- Change prompt names in `src/copy.mjs`, preserving English/Portuguese key parity.
- Add a predefined prompt to `PROMPTS` only with corresponding translations,
  schema documentation and validation tests. Keep imported free text out of
  result rendering and never put artwork into challenge links.
- Edit colors and line weights only as coordinated enums in core, art and UI.
- Preserve interruption, import rollback, point/storage limits, clipboard fallback
  and the distinction between completed timed results and editable studio work.
- `src/art.mjs` draws the export, not a screenshot of the page. Preserve real PNG
  MIME/type checking, local self-reported wording and the demo label.
- Package explicit source/runtime allowlists with `node tools/package.mjs`.
  Serve `dist/` as static files with relative paths. Keep the content security policy.
- Update the original demo file and `demoProject()` together. Never describe a
  supplied demo, synthetic screenshot or test run as a real customer's result.

Tests cover core state/data boundaries, translation keys, packaging and the
allowlisted preview server. They do not replace actual mouse, touch, keyboard,
resize, export, interruption/reopen and browser console/network checks.

## Português

Baixe e extraia `source.zip`, leia a licença MIT e siga o `README.md`. Não precisa
instalar dependências, criar conta nem fornecer chave de API. Mantenha as traduções,
os limites, a recuperação, a confirmação de substituição e a diferença entre
desafio cronometrado e estúdio. Nunca coloque desenho no link nem trate uma
demonstração como resultado real de cliente. Execute os testes e confira o
comportamento no navegador antes de publicar sua versão.
