| 📘 Versão ao Vivo | 🎨 Protótipo | 💻 Rodar Localmente |
|---|---|---|
| Site publicado | Visualizar HTML | cd site && npm install && npm run dev |
| Site da documentação da API Python da Anastacio Engine (hospedado no GitHub Pages) e as ferramentas que geram o conteúdo dele. |
O código da engine fica em outro repositório (D:\AnastacioEngine). Este repositório só lê de lá.
| Pasta | O que tem |
|---|---|
tools/ |
Scripts. api_inventario.py levanta a API e audita a cobertura Python dos controles de jogo. |
inventario/ |
Saída do inventário (api_inventario.*) e da cobertura (cobertura_python.*). |
prototipo/ |
Protótipo visual aprovado do site (site-prototipo.html, abre direto no navegador). |
site/ |
Projeto Astro Starlight do site. Páginas escritas à mão em site/src/content/docs/ (início, sobre, guias); api/ é gerada. |
Sempre que a engine ganhar funções novas:
-
Rodar o inventário
python tools/api_inventario.py --engine D:/AnastacioEngineDemora ~2 min porque consulta o git da engine para saber quando cada item entrou.
--sem-origempula essa parte. -
Revisar
inventario/api_inventario.md- novo: existe no C++ e não está nos
.rstda Range. Marcado com ✦data quando entrou depois de 15/09/2026 (commit28775369, snapshot inicial do código), ou seja, com certeza é da Anastacio. - sem doc: está no
.rstmas sem descrição. - só no rst: documentado mas não achado no C++ (removido, herdado de classe base ou registrado de outro jeito).
- Comparar com a versão anterior pelo
git diff inventario/mostra só o que mudou. - Revisar também
inventario/cobertura_python.md: ele cruza os controles RNA de partículas, explosões e clima com os bindings Python e aponta os que ainda não têm acesso em runtime. “Sem binding” é uma fila de decisão técnica, não uma ordem para expor todo controle de editor.
- novo: existe no C++ e não está nos
-
Gerar as páginas da API
python tools/gerar_paginas.py --engine D:/AnastacioEngineApaga e recria
site/src/content/docs/api/. Junta o texto da Range (.rst), o inventário e as docstrings do C++. Não edite à mão os arquivos deapi/: o texto de itens novos deve ir para a docstring no C++ (4º campo doPyMethodDef) ou para o.rstda engine, e aparece na próxima geração.Tradução: o texto da Range sai em português quando o trecho está em
traducao/pt.json(inglês → português). O que falta traduzir fica emtraducao/pendente.json, separado por página. Para traduzir uma página: escreva um.txtemtraducao/lotes/com uma tradução por linha, na ordem dopendente.json, e rodepython tools/aplicar_lote.py <pagina> traducao/lotes/<pagina>.txt. Código, nomes de funções, parâmetros e tipos continuam em inglês; comentários dos exemplos são traduzidos. Para várias páginas de uma vez, use um arquivo com seções===== <pagina>e rodepython tools/aplicar_varios.py <arquivo>(uma linha=mantém o texto original).Itens novos sem docstring: escreva a descrição em português em
conteudo/descricoes.json({"Classe": {"item": "texto"}}). Ela aparece na página e ganha da docstring do C++. -
Ver o site no PC
cd site npm install (só na primeira vez) npm run dev (abre em http://localhost:4321/anastacio-docs/) -
Publicar: commit + push na
main. A Action.github/workflows/deploy.ymlcompila e publica no GitHub Pages. Na primeira vez: no GitHub, Settings > Pages > Source = GitHub Actions. Se o repositório ou o usuário não foremAnastacioGames/anastacio-docs, ajusteSITEeBASEemsite/astro.config.mjs.
- Nome principal do módulo é
Range, com R maiúsculo (import Range,from Range import logic). A Range usou maiúscula para não confundir com a funçãorange()do Python. import bgetambém funciona: a engine registra cadaRange.<módulo>também comobge.<módulo>.- Módulos:
Range.logic,Range.types,Range.render,Range.events,Range.constraints,Range.application(bge.appno rst antigo),Range.texture,Range.imgui,Range.network,Range.network.steam. - Cada item recebe um selo: da Range, alterado na Anastacio ou novo na Anastacio.
- Bindings das classes: tabelas
PyMethodDef X::Methods[]ePyAttributeDef X::Attributes[]emsource/source/gameengine/**/*.cpp. - Funções e constantes dos módulos:
KX_PythonInit.cpp,KX_PyNetwork.cpp,KX_PyConstraintBinding.cpp,KXImgui/KX_PythonImgui.cpp,VideoTexture/blendVideoTex.cpp. - Documentação herdada:
source/doc/python_api/rst/(módulos) erst/bge_types/(classes).
Fundo escuro com dourado/laranja da marca, degradê dourado escuro → preto no topo, cubo dourado rachado (source/release/windows/icons/anastacio-engine-cube-splash-v2.png na engine), banner da Anastacio Games na página Sobre. Ver prototipo/site-prototipo.html.