# pixijs-userland/pixi-viewport

A highly configurable viewport/2D camera designed to work with pixi.js

Repository: https://github.com/pixijs-userland/pixi-viewport
Canonical: https://ross.abutalabs.com/products/pixi-viewport
Homepage: https://viewport.pixijs.io
Language: TypeScript
License: MIT
License Family: permissive
Topics: viewport, pixi, 2d-camera, touch, zoom, bounce
Last push: 2025-02-03T21:23:23+00:00

## Health v2 (maintenance only)
Score: 36/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 4, release rhythm 40, longevity 100
- inputs: {"age_days": 3291, "days_push": 576, "days_rel": 644, "gap_med": 4.5, "n_releases_24m": 3}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1219, forks 185 (observed 2026-08-28T04:04:01.794228+00:00)

## What it is
A highly configurable viewport and 2D camera library for pixi.js that handles panning, zooming, and navigating large 2D worlds. Its features (drag, pinch, wheel zoom, deceleration, follow, animate, snap, clamp, bounce, edge movement) are implemented as composable, removable plugins so you can enable only the camera behaviors you need.

## Use cases
- add pan and zoom to a pixi.js canvas
- implement pinch-to-zoom and mouse wheel zoom in a 2D web scene
- camera that follows a player character in a pixi.js game
- scroll and drag around a large map or world rendered on canvas
- clamp and bounce the camera at world edges in a 2D game
- snap the camera to points or zoom levels in a pixi.js app
- move the view when the mouse reaches screen edges

## When to choose
- You are building a pixi.js application or game that needs a movable, zoomable view of a large 2D world
- You want ready-made camera behaviors like drag, wheel zoom, pinch, follow, snap, clamp, and bounce without writing them yourself
- You need composable camera plugins you can individually enable, configure, or remove

## When to avoid
- Your project does not use pixi.js as its rendering engine
- You need 3D camera controls rather than a 2D viewport/camera
- You need general DOM page scrolling or panning outside of canvas-based rendering

## Facets
- artifact type: library
- maturity: active
- function: graphics, animation
- domain: graphics, web-development
- platform: browser
- tags: pixi-js, pixi-plugin, 2d-camera, viewport, panning, pinch-to-zoom, mouse-wheel-zoom, camera-follow, snap-to-point, clamping, bouncing, typescript, canvas, game-development

## Member repositories
- pixijs-userland/pixi-viewport (main) score 36

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:01.794228+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:16:22.879752+00:00, confidence not recorded.
  - readme: https://github.com/pixijs-userland/pixi-viewport (fetched 2026-08-28T04:04:01.794228+00:00, sha 93dec64b3be1)
  - homepage: https://viewport.pixijs.io (fetched 2026-08-29T12:24:33.909714+00:00, sha 44136fa355b3)
- Data as of 2026-08-30T08:39:29.467469+00:00.
