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

@val-rbxts/procedural-mesh

v0.1.3

Published

Composable runtime mesh, geometry, animation, and physics utilities for roblox-ts.

Downloads

78

Readme

@val-rbxts/procedural-mesh

@val-rbxts/procedural-mesh is a collection of focused runtime utilities for roblox-ts. It provides reusable building blocks for editable meshes, procedural geometry, deformation, animation, raycast-based movement, avatars, and networking without tying them to a particular game or effect.

The package is intentionally modular: import the services you need, keep feature state in your own code, and compose the lower-level tools into project-specific systems.

Installation

npm install @val-rbxts/procedural-mesh

This package targets roblox-ts 3.x. Features built on EditableMesh also require the relevant Roblox asset permissions and must run in an environment where the EditableMesh APIs are available.

Quick start

import { Workspace } from "@rbxts/services";
import { EditableMeshService, EditableMeshTopologyService } from "@val-rbxts/procedural-mesh";

const meshes = new EditableMeshService();
const topology = new EditableMeshTopologyService(meshes);

const sphere = topology.CreateUvSphere({
	latitudeSegments: 12,
	longitudeSegments: 18,
});

sphere.part.Name = "RuntimeSphere";
sphere.part.Parent = Workspace;

The returned EditableMesh remains available through sphere.mesh, allowing the same geometry to be updated after its MeshPart has been created.

Modules

| Area | Exports | Purpose | | --- | --- | --- | | Animation | OscillationService | Produces reusable position, rotation, and scale motion from configurable profiles. | | Avatar | AvatarCloneService | Clones characters and copies pose information for temporary runtime visuals. | | Deformation | DirectionalDeformationService | Calculates and applies direction-based vertex deformation. | | Editable mesh | EditableMeshService | Bridges reusable mesh code to Roblox allocation, content loading, and MeshPart creation. | | Mesh topology | EditableMeshTopologyService | Builds indexed meshes, UV spheres, and seam-safe UV hemispheres. | | Geometry | GeometryUtils, HemisphereProjectionService | Provides bounds, surface frames, and hemisphere projection helpers. | | Math | MathUtils, RandomUtils | Contains interpolation, easing, vector, ballistic, and random-direction helpers. | | Physics | KinematicBodyService, KinematicSphereService | Simulates simple raycast-based movement without owning the caller's game loop. | | Networking | RemoteService | Creates and retrieves typed Roblox remotes from a shared container. |

All public modules are exported from the package root:

import { KinematicBodyService, randomUnitDirection } from "@val-rbxts/procedural-mesh";

Design notes

  • The package contains no project-specific feature behavior.
  • Services do not create project-specific remotes, configuration, input bindings, or sound effects.
  • Callers keep access of the lifecycle of returned Roblox instances, including generated EditableMesh and MeshPart instances.
  • Roblox may reject direct mesh-content reads when the experience does not have permission to access the source asset. The safe TryCreate... methods return undefined when allocation or permissions fail.

Local development

Install the repository dependencies from the repository root, then run these commands from packages/procedural-mesh:

npm run build
npm run pack:check

npm run build compiles only src/shared/framework and writes Luau and TypeScript declarations to this package's out directory. npm run pack:check shows the exact contents npm would publish without uploading anything.

License

Licensed under the MIT License.