novo modelo 3d

This commit is contained in:
Rodrigo Bertoldo de Sousa Martins committed 2026-09-11 15:50:15 -03:00
1 parent bc7e77b007
commit 08cb8c426f
11 files changed
+301 -256

No files matched your search

+46 -29
View File
@@ -1,27 +1,20 @@
// Gera manifest-cell.json — as 5 organelas do sistema "citologia", com
// malha 3D REAL (ao contrário de "histologia", que continua sendo
// fotomicrografias 2D — ver build-manifest-microscopy.mjs).
// Gera manifest-cell.json — as organelas do sistema "citologia".
//
// Fonte: célula HeLa (jrc_hela-2) reconstruída em 3D a partir de FIB-SEM
// real e segmentada por machine learning pelo projeto CellMap/COSEM do
// Janelia Research Campus (HHMI) — OpenOrganelle, CC BY 4.0.
// https://openorganelle.janelia.org/ — DOI da coleção:
// https://doi.org/10.25378/janelia.c.7456966
// Extração das malhas: data-pipeline/scripts/fetch-cell-organelles.py
// Simplificação/compressão final: data-pipeline/scripts/build-cell-model.mjs
//
// O nome de cada nó do citologia.glb (definido no script Python) é usado
// aqui como "meshName" — sem simplificação de nome/exclusão como no
// esquelético, já que são só 5 peças, cada uma com nome final único.
// Chegamos a integrar uma malha 3D REAL (segmentação FIB-SEM de uma célula
// HeLa completa, Janelia OpenOrganelle/CellMap, CC BY 4.0), mas o
// resultado visual atrapalhava mais do que ajudava pra estudar: a
// membrana real de uma célula aderente em cultura é achatada e irregular
// (não a "bolinha" clássica de diagrama didático) e cobria as organelas
// de dentro. A pedido do usuário, citologia agora é um modelo 3D
// ILUSTRATIVO — sem malha (modelFile "n/a", mesmo padrão do tegumentar),
// renderizado com primitivas do Three.js em
// frontend/src/components/CellDiagram3D.tsx (mesmo princípio do boneco
// esquemático de Planos Anatômicos, ver Mannequin.tsx).
import { writeFileSync } from "node:fs";
import { fileURLToPath } from "node:url";
import path from "node:path";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const MODEL_FILE = "citologia.glb";
const CREDIT =
"Malha 3D real, segmentada por FIB-SEM (célula HeLa, jrc_hela-2) pelo projeto CellMap/Janelia Research Campus — OpenOrganelle, CC BY 4.0.";
function structure(slug, namePt, nameEn, description) {
return {
@@ -30,9 +23,9 @@ function structure(slug, namePt, nameEn, description) {
namePt,
nameEn,
synonyms: [],
description: `${description} ${CREDIT}`,
regionPath: ["Citologia", "Célula (HeLa) — FIB-SEM real"],
modelFile: MODEL_FILE,
description,
regionPath: ["Citologia", "Célula (modelo ilustrativo)"],
modelFile: "n/a",
meshName: slug,
};
}
@@ -48,25 +41,49 @@ const structures = [
"celula-nucleo",
"Núcleo",
"Nucleus",
"Organela que guarda o DNA da célula e comanda a síntese proteica; a forma irregular e volumosa vista aqui é real e típica de células HeLa (uma linhagem tumoral, com núcleo frequentemente atípico).",
"Organela que guarda o DNA da célula, organizado em cromatina, e comanda a síntese proteica ao transcrever RNA mensageiro; delimitado por um envoltório com poros nucleares.",
),
structure(
"celula-reticulo-endoplasmatico",
"Retículo Endoplasmático",
"Endoplasmic Reticulum",
"Rede de membranas contínua com o envoltório nuclear, espalhada por todo o citoplasma; participa da síntese de proteínas (porção rugosa) e lipídios, além do armazenamento de cálcio.",
"celula-nucleolo",
"Nucléolo",
"Nucleolus",
"Região densa dentro do núcleo, sem membrana própria, onde o RNA ribossômico é transcrito e as subunidades do ribossomo começam a ser montadas.",
),
structure(
"celula-complexo-de-golgi",
"celula-reticulo-rugoso",
"Retículo Endoplasmático Rugoso",
"Rough Endoplasmic Reticulum",
"Rede de membranas contínua com o envoltório nuclear, coberta de ribossomos (daí o aspecto \"rugoso\"); sintetiza e processa proteínas destinadas à secreção, à membrana ou a outras organelas.",
),
structure(
"celula-reticulo-liso",
"Retículo Endoplasmático Liso",
"Smooth Endoplasmic Reticulum",
"Extensão do retículo endoplasmático sem ribossomos na superfície; sintetiza lipídios e esteroides, e participa da desintoxicação de substâncias e do armazenamento de cálcio.",
),
structure(
"celula-golgi",
"Complexo de Golgi",
"Golgi Apparatus",
"Conjunto de sáculos membranosos empilhados, tipicamente posicionado perto do núcleo (posição confirmada nesta reconstrução real); processa, modifica e empacota proteínas vindas do retículo endoplasmático.",
"Conjunto de sáculos membranosos empilhados, tipicamente próximo ao núcleo; processa, modifica (ex: glicosilação) e empacota proteínas vindas do retículo endoplasmático, endereçando-as ao destino final.",
),
structure(
"celula-mitocondrias",
"Mitocôndrias",
"Mitochondria",
"População completa de mitocôndrias segmentadas nesta célula — organelas responsáveis pela produção de ATP por respiração celular; note a variação real de tamanho e forma entre elas, incluindo fragmentação, comum em linhagens tumorais.",
"Organelas de dupla membrana responsáveis pela produção de ATP por respiração celular — a \"usina de energia\" da célula; têm DNA próprio e se multiplicam por divisão.",
),
structure(
"celula-ribossomos",
"Ribossomos",
"Ribosomes",
"Complexos de RNA ribossômico e proteínas que traduzem RNA mensageiro em proteínas; podem estar livres no citosol ou aderidos ao retículo endoplasmático rugoso.",
),
structure(
"celula-lisossomos",
"Lisossomos",
"Lysosomes",
"Vesículas com enzimas digestivas (hidrolases ácidas) que degradam material vindo de dentro ou de fora da célula — o \"sistema de reciclagem e digestão\" celular.",
),
];
+4 -2
View File
@@ -13,8 +13,10 @@ export const SYSTEMS = [
{ slug: "tegumentar", namePt: "Sistema Tegumentar", nameEn: "Integumentary System", colorHex: "#e0a96d", order: 9 },
{ slug: "regioes", namePt: "Regiões Anatômicas do Corpo", nameEn: "Body Regions", colorHex: "#f472b6", order: 10 },
{ slug: "referencias", namePt: "Planos e Linhas de Referência", nameEn: "Reference Planes and Lines", colorHex: "#a3e635", order: 11 },
// Citologia: malha 3D REAL (segmentação FIB-SEM de uma célula HeLa
// inteira, Janelia OpenOrganelle/CellMap) — ver build-manifest-cell.mjs.
// Citologia: sem malha (modelFile "n/a") — modelo 3D ILUSTRATIVO
// desenhado com primitivas do Three.js (não há malha 3D real e aberta
// de célula pronta pra uso didático) — ver build-manifest-cell.mjs e
// CellDiagram3D.tsx.
// Histologia: sem malha 3D (não existe dataset aberto de malha 3D real
// de tecido histológico), usa fotomicrografias REAIS 2D com hotspots
// — ver build-manifest-microscopy.mjs e MicroscopyDiagram.tsx.