cube3vault
v0.1.0
Published
Comprima/descomprima modelos 3D (GLB, glTF, STEP, STL, IGES, BREP, OBJ, PLY, 3MF, DAE) localmente, no seu próprio processamento — o arquivo nunca sai da sua máquina.
Readme
cube3vault
Comprime e descomprime modelos 3D (GLB, glTF, STEP, STL, IGES, BREP, OBJ, PLY, 3MF, DAE) no seu próprio processamento — o arquivo nunca sobe pra lugar nenhum. Você continua guardando onde já guarda hoje (S3, R2, disco); a gente só fornece o motor de compressão.
Uso programático
const cube3vault = require('cube3vault');
const fs = require('fs');
const { data, meta } = await cube3vault.compress('peca.step', { apiKey: 'SUA_API_KEY' });
fs.writeFileSync('peca.stpz', data);
console.log(`${meta.engine}: ${meta.savedPercent}% menor`);
const { data: original } = await cube3vault.decompress('peca.stpz', {
ext: '.step', // formato ORIGINAL, o pacote comprimido não se auto-descreve
apiKey: 'SUA_API_KEY',
});
fs.writeFileSync('peca-restaurada.step', original);apiKey é obrigatória (crie uma conta grátis em
https://3dvault.mytheria.com.br#compressao — 5GB/mês sem cartão). Cada
chamada faz um report best-effort de metadados (bytes processados,
formato) pra /v1/usage — o arquivo em si nunca é enviado, só o tamanho.
Se a rede cair na hora do report, ele fica numa fila local
(~/.cube3vault/usage-queue.json) e é reenviado sozinho na próxima
chamada, sem perder nada. Tem um teto de 2GB de uso não confirmado pelo
servidor: passou disso sem conseguir sincronizar, compress/decompress
recusam continuar até a conexão voltar (senão desconectar da internet
viraria um jeito de processar sem limite nenhum).
CLI
cube3vault compress peca.step --key SUA_API_KEY
cube3vault decompress peca.stpz --ext .step --key SUA_API_KEYcompress/decompress rodam no seu processamento — grátis até 5GB/mês,
mas exigem --key (ou cube3vault login --key SUA_API_KEY pra salvar e
não precisar passar toda vez). Sem chave nenhuma resolvida, o modo
interativo (duplo-clique) pergunta e oferece salvar antes de continuar.
Enviar pro storage de verdade (pago)
cube3vault upload peca.step --key SUA_API_KEY [--preview]Diferente de compress/decompress (que só processam local), upload manda
pro storage do Cube³ Vault de verdade — R2 + link de visualização 3D
pronto — e por isso exige uma chave de conta paga (veja
https://3dvault.mytheria.com.br#precos). --preview gera também o
turntable renderizado (mais lento, minutos).
Download (binário compilado, sem instalar Node)
Baixe o executável do seu sistema em
https://3dvault.mytheria.com.br/downloads/ e rode direto — não precisa de
npm install nem de Node instalado.
Status: publicável no npm?
Ainda não. Esse pacote reaproveita os engines de compressão do monorepo via
caminho relativo (../../lib/formats/registry) — funciona perfeitamente
rodando de dentro deste repositório (npm link, ou chamando o CLI direto),
mas se for instalado via npm install cube3vault num projeto externo, esses
requires relativos vão quebrar (o npm só empacota o que está dentro da pasta
do próprio pacote).
Pra publicar de verdade, falta um passo de build que empacote/agrupe (bundle)
o engine junto — não implementado ainda porque não tinha sido pedido; é
trabalho real (o engine genérico HBC-3D puxa cognition-3d, sensorial,
metabolic, motor etc. do compression-engine inteiro). O STEP-Z
(compression-engine/cad-step) já é autocontido — esse extrai fácil.
