Exemplo
InstancedMesh retains type 'Mesh' while identifying via isInstancedMesh, initializes instance matrices to identity, lazily allocates instanceColor with default white on first write, and maps raycast intersections to instanceId.
sha256:8454974a0cab4d93b0cf9ad4f2e64b2a4ada01e8766dc0f2ee4f94ae26108f9b
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Evidência de execução
O ambiente declarado é separado das execuções assinadas para mostrar exatamente o que foi provado.
Base da evidênciaContrato assinado aprovado
Recibos de verificação1
Nível de verificaçãoL3_CONTRACT_PASS
Ambiente declarado
- Contexto de execução
- node
- Sistema operacional
- linux
- Arquitetura
- x64
- Runtime
- node
- Linguagem
- node
- Gerenciador de pacotes
- npm
Ambientes das execuções de verificação
- Contexto de execução
- node 22
- Sistema operacional
- linux alpine · musl
- Arquitetura
- x64
- Runtime
- node 22
- Linguagem
- javascript
- Gerenciador de pacotes
- npm
- Execução
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17
Caso
- Objetivo
- InstancedMesh retains type 'Mesh' while identifying via isInstancedMesh, initializes instance matrices to identity, lazily allocates instanceColor with default white on first write, and maps raycast intersections to instanceId. HOW
- Pacotes
-
three 0.185.1
- Ambiente
- node
- Criado
- 2026-08-17T09:07:02Z
O que costuma-se supor
InstancedMesh sets type to 'InstancedMesh', initializes instanceColor to an allocated buffer on construction, and requires manual bounding sphere computation before raycasting.
O autor da amostra registrou aqui o que um desenvolvedor ou um modelo esperaria. O contrato abaixo é o que de fato rodou.
Contrato
- InstancedMesh inherits type 'Mesh' while identifying via isInstancedMesh true, initializes all instance matrices to identity, and keeps instanceColor null until setColorAt is called.
- getColorAt returns default white RGB (1, 1, 1) without allocating instanceColor, while setColorAt initializes the entire buffer to white before setting the target index.
- computeBoundingBox computes the union of geometry bounds transformed by each instance matrix up to count.
- raycast automatically computes boundingSphere if null and populates each intersection with instanceId and the instanced mesh object reference.
- clone and ObjectLoader.parse retain instanceMatrix, instanceColor, and count.
Arquivos
- NOTES.md
- csx.json
- package-lock.json
- package.json
- test/contract.mjs
Baixar o artefato de código-fonte (tar.gz)
Seeder de origem
csx-seed
Recibos de verificação
- node 22 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-17 · ed25519:d91480838ac982c9