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

@sprite-foundry/townsfolk-48

v1.0.0

Published

Townsfolk — Pack 06 | 16 medieval NPC archetypes × 8 directions × 3 layers | 48px pixel-art sprite pack

Readme

A 48px, 8-direction pixel-art pack of medieval NPC townsfolk with albedo, normal, and depth maps for engine-agnostic game use. Pack 06 in the Sprite Foundry catalog.

Townsfolk Banner

What's Included

16 NPC archetypes across two tiers — Town Core and Town Life — each with 8 directional views:

Variant Lineup

Town Core (v1.0)

| Variant | Role | Silhouette | |---------|------|------------| | Blacksmith | Weapon/armor shop | Burly build, leather apron, hammer on shoulder | | Innkeeper | Rest/tavern hub | Stout frame, ale mug extended, keys on belt | | Merchant | General goods trader | Fur-trimmed robe, balance scale, coin pouch | | Town Guard | Town watch/authority | Chainmail, spear, round shield, open-face helmet | | Farmer | Rural civilian | Straw hat, pitchfork, simple tunic, weathered stance | | Barmaid | Tavern service/rumors | Braided hair, serving tray, tavern dress with apron | | Noble | Wealthy quest-giver | Velvet doublet, jeweled chain, refined gloves | | Beggar | Street info broker | Thin frame, ragged hood, wooden bowl, patched cloak |

Town Life (v1.0)

| Variant | Role | Silhouette | |---------|------|------------| | Herbalist | Potion/remedy shop | Herb pouches, mortar and pestle, green shawl | | Stable Hand | Mount/travel services | Hay in hair, rope coil, leather vest | | Fisherman | Docks/waterfront NPC | Wide-brim hat, fishing rod over shoulder, waders | | Minstrel | Entertainment/lore | Feathered cap, lute, colorful patchwork outfit | | Scribe | Library/records | Spectacles, quill pen, leather-bound tome | | Lamplighter | Night-shift atmosphere | Long pole with flame, lantern on belt, dark coat | | Town Child | Town life flavor | Small frame, oversized cap, wooden toy sword | | Village Elder | Village wisdom/quests | Long white beard, walking staff, heavy robes, hunched |

Each variant ships with three map layers:

  • Albedo — base color sprites (transparent PNG)
  • Normal — normal maps for dynamic lighting
  • Depth — depth maps for parallax and elevation effects

Install

npm install @sprite-foundry/townsfolk-48

Folder Structure

assets/
  blacksmith/
    albedo/    8 directional PNGs (front, front_left, left, back_left, back, back_right, right, front_right)
    normal/    8 matching normal maps
    depth/     8 matching depth maps
    preview/   contact sheet
    manifest.json
  innkeeper/
  merchant/
  guard/
  farmer/
  barmaid/
  noble/
  beggar/
  herbalist/
  stable-hand/
  fisherman/
  minstrel/
  scribe/
  lamplighter/
  child/
  elder/
pack.json          pack-level index
previews/          banner and lineup sheets

Manifest Format

Each variant has a manifest.json:

{
  "slug": "blacksmith",
  "name": "Blacksmith",
  "version": "1.0.0",
  "tileSize": 48,
  "directions": ["front", "front_left", "left", "back_left", "back", "back_right", "right", "front_right"],
  "layers": {
    "albedo": "albedo/{direction}.png",
    "normal": "normal/{direction}.png",
    "depth": "depth/{direction}.png"
  },
  "preview": "preview/contact_sheet.png"
}

The pack-level pack.json indexes all variants with paths to each manifest.

Engine Compatibility

These are plain PNG files with JSON metadata. They work with any engine or framework that can load images:

  • Phaser
  • PixiJS
  • Godot
  • RPG Maker
  • Unity (2D)
  • Custom engines

No engine-specific format or runtime dependency.

Specs

  • Variants: 16 NPC archetypes (8 Town Core + 8 Town Life)
  • Tile size: 48 x 48 px
  • Directions: 8 (front, front_left, left, back_left, back, back_right, right, front_right)
  • Total sprites: 384 (16 × 8 × 3)
  • Format: transparent PNG
  • Maps: albedo + normal + depth
  • Animation: static poses (v1)
  • Perspective: top-down

Extending the Pack

Want to generate additional townsfolk variants that match this pack's art style and export contract?

This pack was produced with Sprite Foundry, an open-source ComfyUI + SDXL pixel-art generation pipeline. The foundry repo contains everything you need:

  • Generation pipelinepipeline/foundry_gen.py drives ComfyUI with per-subject configs
  • Subject configspipeline/chars/townsfolk_*.json define the exact prompts, seeds, silhouette rules, and reject conditions for every variant in this pack
  • Batch manifestpipeline/manifests/townsfolk_06.json maps all 16 configs to the export structure
  • Export CLIfoundry export <run_id> produces deterministic packs with checksums
  • ControlNet tuning — humanoid depth strength 0.60, end% 0.85 (documented in the manifest)

To add a new variant:

  1. Create a subject config in pipeline/chars/ following the existing townsfolk configs
  2. Register: python -m foundry.cli subject-add <id> --name "Name"
  3. Generate: python -m pipeline.foundry_gen --config pipeline/chars/<config>.json
  4. Review, accept, produce maps, accept finish, export
  5. Copy the exported pack into the matching assets/<slug>/ directory

The Sprite Foundry README has the full pipeline walkthrough.

Security

This package contains only static PNG images and JSON metadata. There is no executable code, no install hooks, no network access, and no telemetry. Assets are read-only by design.

See SECURITY.md for the full security policy.

License

MIT — use in commercial and non-commercial projects.

Credits

Generated with Sprite Foundry using ComfyUI + SDXL pixel-art pipeline.

Built by MCP Tool Shop