# Fontes e licenças dos assets — Paulista Realista Demo

Este arquivo registra os assets integrados à demonstração. As texturas são materiais fotográficos genéricos; não são fotografias levantadas na Avenida Paulista nem certificam a aparência exata do local.

## Personagem humano casual

- Arquivo de uso: `assets/models/character.glb`.
- Aparência: Michelle, personagem humano com roupa casual, rig Mixamo, oriundo dos exemplos oficiais do Three.js r180.
- Geometria/texturas de origem: https://raw.githubusercontent.com/mrdoob/three.js/r180/examples/models/gltf/Michelle.glb
- Locomoção de origem: https://raw.githubusercontent.com/mrdoob/three.js/r180/examples/models/gltf/Soldier.glb
- Modelo não é um robô nem uma figura construída com primitivas.
- Licença registrada: uso de personagens e animações Mixamo sem royalties em projetos pessoais, comerciais e sem fins lucrativos, incluindo videogames, conforme FAQ oficial Adobe: https://helpx.adobe.com/creative-cloud/faq/mixamo-faq.html
- Os assets Mixamo não são declarados CC0 e não recebem automaticamente a licença MIT do código Three.js. Este personagem integra a demo; não deve ser anunciado como biblioteca de assets de livre redistribuição isolada. Referência sobre a distinção entre projeto e distribuição dos arquivos: https://community.adobe.com/questions-696/mixamo-faq-licensing-royalties-ownership-eula-and-tos-589400?lang=en
- Transformação: animações Idle, Walk e Run transferidas offline por deltas de rotação no espaço global em relação à TPose, com alinhamento de orientação, preservação dos comprimentos dos ossos de Michelle, remoção da translação de percurso e apoio no chão. Rosto, roupa, geometria e texturas originais foram preservados.
- `assets/models/character.json` registra rig, dimensões, clips, hashes, contagem de geometria e limite da validação.
- `assets/models/source-downloads.json` registra URLs, hashes e tamanhos dos dois downloads de origem. Os GLBs intermediários foram removidos do pacote para evitar duplicação.
- `assets/models/prepare-character.mjs` é a rotina offline de preparação. Não é carregada pela aplicação. Para reproduzi-la, obtenha novamente os dois arquivos de origem nos nomes registrados em `source-downloads.json` e execute com Node. Requer o Three.js local em `assets/vendor`.

## Novos avatares — Amazon Sumerian Hosts

- Preston, Luke e Grace: `assets/models/preston/`, `assets/models/luke/` e `assets/models/grace/`.
- Fonte: https://github.com/aws-samples/amazon-sumerian-hosts, commit `109baefef53cc18ef3e2e340170c44078d011b91`.
- Atribuição: Amazon Web Services / Amazon Sumerian Hosts contributors. Modelos, texturas e gestos originais sob **CC BY 4.0**. Cópia da licença em cada pasta; detalhes em `assets/models/README-SUMERIAN.md`.
- Alterações: empacotamento GLB, incorporação de texturas, correções de bindpose dos clips, composição do gesto aditivo Wave e adaptação de Walk/Run da locomoção Mixamo da referência. A locomoção adaptada conserva as condições de uso em projeto registradas acima; não é reclassificada CC BY ou MIT.
- Pular, sentar, dançar, subir e os fallbacks da Michelle foram implementados por poses ósseas e IK no código do projeto. Não são captura de movimento.
- Preservados malhas e materiais de pele, olhos, cabelo e roupas. Rostos usam imagens 2048 × 2048. Nenhum modelo é declarado fotogramétrico ou indistinguível de uma pessoa real.
- Não há conta, SDK ou chamada AWS durante o uso. GLBs, texturas, clips e bibliotecas são arquivos locais.

## Expansão do estúdio — versão 5

- Novas bases reais: Cristine, Fiona, Maya, Jay e Wes, em suas próprias pastas `assets/models/<id>/`.
- Mesma fonte oficial e commit Sumerian acima. Cada pasta tem `SOURCE.md`, licença CC BY 4.0 e metadados com URL, hash SHA-256, dimensões, juntas, clips e transformações aplicadas.
- Fiona e Wes tiveram mapas difusos opacos de roupa/corpo convertidos em JPEG de qualidade 94 e canais RGB idênticos de rugosidade guardados como PNG cinza sem perda. Rostos 2K, mapas de normal, transparências e geometria foram conservados. Cada GLB final fica abaixo de 25 MiB.
- `avatar-variants.js` produz variações autorais em execução: deformações faciais discretas, contraste de linhas de expressão, tons de cabelo/barba e tecido. Os mapas PBR originais permanecem ativos. As alterações são registradas por personagem no catálogo; não representam novas digitalizações independentes.
- Os nomes e origens da coleção Mundo são ficcionais, atribuídos ao personagem de demonstração. Não identificam a pessoa que eventualmente serviu de referência à base original nem atestam sua idade, nacionalidade ou etnia.
- O ajuste de braços livres, a postura com mãos atrás e as geometrias dos óculos são código autoral do protótipo. A correção de braços não muda as condições de uso das animações de locomoção de origem.

## Materiais PBR — Poly Haven — CC0 1.0

Licença oficial: https://polyhaven.com/license
Texto CC0: https://creativecommons.org/publicdomain/zero/1.0/

A Poly Haven permite uso comercial e redistribuição dos seus assets CC0. Créditos abaixo são mantidos para rastreabilidade.

| Arquivos locais | Material de origem | Autor | Escala de uma repetição |
|---|---|---|---|
| `asphalt_basecolor.jpg`, `asphalt_normal.jpg`, `asphalt_roughness.jpg` | https://polyhaven.com/a/asphalt_02 | Rob Tuytel | 3 × 3 m |
| `concrete_basecolor.jpg`, `concrete_normal.jpg`, `concrete_roughness.jpg` | https://polyhaven.com/a/concrete_floor_03 | Matterfield (fotografia), Rob Tuytel (processamento) | 2,5 × 2,5 m |

Todos os mapas de superfície são JPEG 1024 × 1024, obtidos diretamente das URLs de download apresentadas pela API pública da Poly Haven. Normal maps usam a convenção OpenGL (+Y). Base color: sRGB. Normal e roughness: dados lineares/NoColorSpace. O mapa de roughness é monocromático e pode ser usado diretamente no canal esperado pelo Three.js.

## Ambiente HDRI — Poly Haven — CC0 1.0

- Arquivo: `assets/textures/environment.hdr`, Radiance RGBE, 1024 × 512.
- Fonte: https://polyhaven.com/a/venice_sunset
- Autor: Greg Zaal.
- Download: https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/venice_sunset_1k.hdr
- Finalidade: iluminação e reflexos de demonstração. O panorama retrata Veneza; não deve ser apresentado como fotografia da Paulista. Preferir seu uso como `scene.environment`, com o céu da cena tratado separadamente.

## Verificação dos arquivos

Os sete arquivos de texturas/ambiente passaram por comparação de tamanho e MD5 com os manifestos da fonte; todos têm SHA-256 registrado em `assets/textures/texture-manifest.json`. Os seis JPEGs foram decodificados e verificados como 1024 × 1024. O HDRI tem cabeçalho Radiance e dimensões 1024 × 512. Os GLBs de origem e o GLB final foram verificados por magic `glTF`, versão 2 e tamanho total. O GLB final contém imagens embarcadas válidas, bufferViews dentro do buffer, samplers de animação com contagens compatíveis e referências de nós válidas. Não há HTML salvo como modelo ou textura.

As dimensões e apoio dos pés foram examinados em CPU; aparência, iluminação e qualidade da marcha devem ser verificadas na demo com WebGL. A preparação dos assets não constitui benchmark de GPU ou garantia de desempenho móvel.
