# API de scripts Lua do pxstud.io — Fica no editor

> Parte da referência de scripts Lua do pxstud.io, cuja visão geral (https://pxstud.io/pt-br/docs/scripting.md) explica as convenções. Os grupos de opções e os tipos a que ela remete estão em https://pxstud.io/pt-br/docs/scripting/option-groups.md e https://pxstud.io/pt-br/docs/scripting/types.md. Tudo em um único arquivo (em inglês): https://pxstud.io/llms-full.txt. O índice de todo o site (em inglês): https://pxstud.io/llms.txt.

## Fica no editor
O motor é dono do documento e do contexto de edição. O que sobra é do próprio editor: como você vê o seu trabalho e o app ao redor dele.

- **Exibição: zoom, panorâmica, grades, visão em mosaico, casca de cebola.** Como a tela é mostrada, não o que há nela.
- **Painéis e layout.** Interface da janela; não há nada para um motor sem interface mostrar.
- **Reprodução.** Prévia da animação. As durações dos quadros e as tags podem ser manipuladas por script.
- **Área de transferência.** Nível do app e não pode ser desfeita. Scripts copiam com app.getImage / app.putImage e app.moveCels / app.linkCels.
- **Abrir sprites, projetos, nomes de sprites, salvar e exportar.** Nível do app e irreversível, então um script compartilhado não pode fechar, excluir nem sobrescrever o seu trabalho. Um script edita o sprite aberto, como uma única etapa de desfazer.
- **Importar imagens de referência.** Um seletor de arquivos. As camadas de referência ainda podem ser lidas e reposicionadas.
- **As bibliotecas de pincéis e paletas salvos.** O que você salvou na sua conta; o motor não as enxerga, então um script só recebe um item quando o formulário de configuração pede e você o escolhe (campos de pincel e paleta). Os scripts também definem seus próprios pincéis no motor (app.defineBrush) — esses não são salvos nem adicionados à biblioteca.
- **A ferramenta ativa.** No motor, as ferramentas são comandos (app.drawStroke, app.floodFill, …).
