# steveruizok/perfect-arrows

Draw perfect arrows between points and shapes.

Repository: https://github.com/steveruizok/perfect-arrows
Canonical: https://ross.abutalabs.com/products/perfect-arrows
Language: TypeScript
License: MIT
License Family: permissive
Topics: perfect-arrows, arrow-heads, draw, angles, arc
Last push: 2023-01-07T20:12:38+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 2238, "days_push": 1334, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2839, forks 64 (observed 2026-08-28T04:07:24.662493+00:00)

## What it is
A small TypeScript library of functions that compute the geometry (points, angles, arcs) needed to draw arrows between points or rectangles. It does not render anything itself; you draw the results with SVG, canvas, or any other technology.

## Use cases
- draw arrows between shapes in a diagram app
- compute arrow-head angles for svg lines
- connect boxes with curved arrows on canvas
- add annotation arrows to a whiteboard app
- calculate arc control points between two points
- render node-graph edges with padding and bow options

## When to choose
- you need arrow geometry math but want full control over rendering
- you are building diagram, whiteboard, or flowchart tooling in JavaScript or TypeScript
- you want a tiny dependency-free library for point-to-point or box-to-box arrows

## When to avoid
- you want a ready-made diagramming or charting component with built-in rendering
- you need 3D arrows or arrows in non-2D coordinate spaces
- you need actively developed features or long-term support

## Facets
- artifact type: library
- maturity: maintenance
- function: graphics, math
- domain: graphics, web-development, frontend
- platform: browser, cross-platform
- tags: arrows, svg, canvas, geometry, typescript, diagrams, nodejs

## Member repositories
- steveruizok/perfect-arrows (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:24.662493+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-30T07:37:21.093657+00:00, confidence not recorded.
  - readme: https://github.com/steveruizok/perfect-arrows (fetched 2026-08-28T04:07:24.662493+00:00, sha 252f848f19e8)
  - registry_npm: https://registry.npmjs.org/perfect-arrows (fetched 2026-08-29T09:53:08.451383+00:00, sha 618fd89ec9b2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
