fix linhas

This commit is contained in:
Rodrigo Bertoldo de Sousa Martins committed 2026-09-11 11:20:27 -03:00
1 parent 64aee837f2
commit 3710c18825
2 files changed
+14

No files matched your search

@@ -145,6 +145,15 @@ for (const { fbx, key } of SOURCES) {
const resolved = resolveSkeletalBone(rawName); const resolved = resolveSkeletalBone(rawName);
const dedupeKey = resolved ? `${resolved.canonicalKey}::${resolved.side}` : null; const dedupeKey = resolved ? `${resolved.canonicalKey}::${resolved.side}` : null;
if (!resolved || includedBones.has(dedupeKey)) { if (!resolved || includedBones.has(dedupeKey)) {
// Marca explicitamente como excluído (não é um dos 206 ossos —
// é "acidente ósseo"/marcador de origem-inserção muscular ou,
// como no caso das linhas de anotação/ponteiro de rótulo do
// Z-Anatomy original, um objeto sem relação nenhuma com a malha
// do osso, só aninhado dentro dela na hierarquia da FBX). Sem
// essa marca, o frontend (SystemModel.resolveStructure) sobe
// pelos pais à procura de um slug e ACHA o do osso-pai,
// "herdando" visibilidade de algo que devia ficar sempre oculto.
node.setExtras({ excluded: true });
for (const child of node.listChildren()) visit(child); for (const child of node.listChildren()) visit(child);
return; return;
} }
@@ -76,6 +76,11 @@ export function SystemModel({
const bySlug = bySlugInFile.get(slug); const bySlug = bySlugInFile.get(slug);
if (bySlug) return bySlug; if (bySlug) return bySlug;
} }
// O pipeline marca explicitamente nós que NÃO são um dos 206 ossos
// (acidentes ósseos, marcadores de origem/inserção muscular, linhas
// de anotação do app original) — parar aqui evita que esse nó
// "herde" o slug de um osso-pai ao continuar subindo a árvore.
if (node.userData?.excluded) return undefined;
const name = originalNames.current.get(node); const name = originalNames.current.get(node);
if (name) { if (name) {
const byName = byMeshNameInFile.get(name); const byName = byMeshNameInFile.get(name);