Picture backdrop (Tema de fundo personalizado)
O desktop desenha o fundo de um mod apenas como uma scene que o próprio mod renderiza, e não desenha nenhuma imagem raster dentro dela.
Portanto, a imagem é traçada em caminhos vetoriais, empacotada sob limites de tamanho rígidos e silenciosos, e desenhada por um mod pequeno.
Leia references/limits.md antes de alterar qualquer coisa sobre como o mod desenha; ele lista o que foi medido e o que falha silenciosamente.
Fluxo de trabalho
- Obter as imagens. Uma imagem, ou uma clara (dia) e uma escura (noite). Paisagem por volta de 1600x1000 funciona;
o aplicativo corta com
xMidYMid slice, então mantenha o assunto longe do topo e do fundo. Arte pictórica e suave traça muito melhor por caractere do que arte com contornos; fotos também funcionam. Se o usuário gerar a arte, avise antes de começar. - Instalar as ferramentas em pastas temporárias (não dentro do mod):
python -m pip install --target "$TMP/pb-vtracer" vtracer mkdir -p "$TMP/pb-svgo" && cd "$TMP/pb-svgo" && npm init -y >/dev/null && npm install svgo@4 - Criar a pasta do mod em
~/.claude/skills/<id>/(carrega em toda sessão): copie assets/mod-template/, depois copiemake-colors.jsemake-colors.d.tsda skill de criação de plugins para dentro dehooks/, sem alterações. Preencha todos os__PLACEHOLDER__(__ID__é o nome da pasta, minúsculo com hífens). Para uma única imagem, remova a outra importação, sua cena e aparência, e aponteautopara a única imagem. - Observar a imagem e listar suas regiões (recortar e visualizá-las): o assunto, o rosto, áreas de pele, cada lado.
Escreva uma configuração por imagem ao lado do mod (não dentro de
hooks/), usando references/tracing.md para escolhas e configurações de região, e assets/example-night.json (uma garota sentada à direita de uma entrada) como modelo. Para um par, dê a cada configuração"scheme"e ambos os orçamentos:{"FULL": 259500, "HALF": 129500}; para uma única imagem apenasFULLe semscheme. - Traçar, em segundo plano (uma execução leva alguns minutos):
Ele traça cada região em cada opção uma vez, ajusta cada orçamento (todas as regiões primeiro, depois detalhes por prioridade), e escrevepython -I scripts/trace_scene.py night.json --vtracer "$TMP/pb-vtracer" --svgo "$TMP/pb-svgo" --preview "$TMP/pb-preview/night.html"scene-<nome>.ts. Aponte ooutda configuração para ohooks/do mod. - Visualizar o HTML no painel do navegador (sirva a pasta com
python -m http.server). Verifique o assunto em corte 2x, já que o aplicativo amplia a imagem. Corrija o que parecer errado com a tabela em tracing.md e trace novamente. - Cores. Amostre as cores de superfície das imagens (o tom dominante da parede ou céu; o modo escuro permanece escuro)
e execute
makeColors; sua lista de problemas não deve ter nenhuma entrada "Desktop não vai pintar". - Validar e entregar:
claude plugin validate <pasta do mod>. Diga ao usuário para recarregar a janela ou iniciar uma nova sessão, digitar qualquer mensagem (o tema é definido no primeiro prompt) e tentar/backdrop day|night|auto. Peça para olharem áreas específicas; a captura de tela deles é o teste real. Apague as pastas temporárias das ferramentas depois.
Regras importantes
- Apenas SVG com aspas simples, sem
",\ou crase em nenhum Svg: escaping conta contra o total. - Os Svgs de uma cena juntos ≤ ~259500 caracteres; cada Svg ≤ ~98000. Acima de qualquer limite, o desktop não mostra nada e não diz nada; o modelo registra cenas muito grandes no início da sessão.
- Mantenha
glassligado; deixetintfora de uma aparência destinada a ambos os modos. - Não use fundos
image,color,gradientouvector,<image>, ouoverrideColorScheme: nenhum deles desenha ou surte efeito. - Defina o tema em
prompt.submit, não emsession.start. - Ao melhorar uma área, mantenha o que o usuário disse que gostou como está: dê a essa área sua própria região ou prioridade em vez de reajustar tudo. Informe cada alteração com a área que ela afeta.