npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@pose_flow/babylon

v0.5.1

Published

Biblioteca TypeScript/ESM de Motion Matching com Pose Search e adaptador Babylon.js. Seleciona clipe e tempo a partir da pose, velocidade e trajetória desejada.

Readme

@pose_flow/babylon

Biblioteca TypeScript/ESM de Motion Matching com Pose Search e adaptador Babylon.js. Seleciona clipe e tempo a partir da pose, velocidade e trajetória desejada.

Instalação

npm install @pose_flow/babylon @babylonjs/[email protected] @babylonjs/[email protected]

Mantenha Babylon core e loaders alinhados. A base validada é 9.32.1; o peer de core aceita ^9.32.1. Babylon 7/8 não são suportados por esta base.

Preparação dos dados

Prepare offline um perfil JSON v2, schema v1, conjunto de animações v1 e GLB compatíveis com o rig. Gere o banco v2 (manifest.json e poses.bin) antes de executar o jogo. Assets, perfis e bancos não acompanham o pacote.

A CLI instalada fornece os comandos de validação e bake:

npx --no-install pose-flow validate --profile public/profiles/hero.json
npx --no-install pose-flow bake --profile public/profiles/hero.json

Sirva os dados gerados na pasta pública da aplicação. Não reconstrua o banco ao carregar cada personagem. Consulte os formatos e o exemplo completo no guia de integração instalado.

Integração

O núcleo é independente da engine; o adaptador possui entrada separada:

import {
  decodeDatabase, MotionMatcher, SchemaQueryBuilder, predictTrajectory,
} from '@pose_flow/babylon';
import {
  BabylonMotionPlayer, BabylonSchemaPoseReader, BabylonSearchCoordinates,
} from '@pose_flow/babylon/babylon';

Fluxo de integração:

  1. Carregue e valide o perfil, schema, conjunto de animações e banco uma vez.
  2. Crie um matcher, player e leitor de pose por personagem, usando os mapas de ossos e fontes de animação do seu rig.
  3. Construa a query com a pose visível e a trajetória desejada, usando os horizontes do schema.
  4. Atualize matcher e player antes de renderizar; leia a pose após a avaliação das animações.
  5. Resete o leitor e o matcher após teleporte; descarte os recursos ao remover o personagem.

Use metros e segundos, Y para cima e +Z para frente. No banco RH, yaw positivo gira +Z para +X. Para cenas LH, use BabylonSearchCoordinates na fronteira da busca, conforme o guia. Bake e player devem remover as mesmas trilhas de root.

O jogo controla posição, orientação, colisões e regras de combate. A reprodução é in-place; root motion alimenta a busca sem alterar a posição autoritativa. Velocidades nominais declaradas são parâmetros de autoria, não medidas.

Guia completo e API

Após instalar, abra:

  • node_modules/@pose_flow/babylon/dist/AI_USAGE.md: formatos JSON, carregamento e exemplo completo TypeScript, coordenadas, ciclo de vida e opções de integração.
  • node_modules/@pose_flow/babylon/dist/ACTIONS.md: seleção de ações autorizadas, janelas, eventos e integração com o relógio do jogo.

Em Node ESM, localize o guia sem importá-lo como JavaScript:

const guideUrl = import.meta.resolve('@pose_flow/babylon/AI_USAGE.md');

As declarações TypeScript acompanham as entradas públicas. Use os exports do pacote; os módulos internos de dist/offline não são API pública.

Laboratórios locais

No checkout, execute npm run dev. Abra /?coverage=1 para comparar locomoção, equipamento, orientação corporal e olhar em dois rigs e cenas RH/LH. A matriz R3 registra fontes, autoria, validação e limites. Os novos cenários têm trajetórias autoradas offline; não são capturas adicionais. Assets de demonstração mantêm as licenças registradas em ASSETS.md.

Limitações de integração

Não há retargeting automático entre rigs, motion warping ou garantia de eliminação de foot sliding. Inertialization, contatos offline e foot locking/IK são opcionais e exigem configuração e validação no seu personagem. O custo da busca depende do banco e da quantidade de personagens; meça no dispositivo alvo.

Licença

MIT para o código da biblioteca. Assets e dependências de terceiros mantêm suas próprias licenças.