Skip to content

Zer0pa/ZPE-Ink

Repository files navigation

ZPE-Ink

Package Install

Installable package: python3.11 -m pip install zpe-ink. Current release: 0.1.1 on PyPI. Source: Zer0pa/ZPE-Ink.

python3.11 -m pip install zpe-ink

For full install, smoke, source, and developer commands, click here.


00 · ZPE-INK · STROKE PROTOCOL RESEARCH-READY · PyPI STALE

Ink that knows the hand that wrote.

Stylus stroke codec · ZPE-Ink · PyPI zpe-ink 0.1.1 stale · github.com/Zer0pa/ZPE-Ink

When a stylus draws, the mark carries more than its shape — it carries the pressure of the hand, the angle of the pen, the rhythm of how it moved. That information has always been in digital ink. It has never had a codec that kept it exactly. ZPE-Ink is a Python .zpink encoder that seals the full stroke — x, y, pressure, tilt, azimuth — and returns it with 0.00 px Hausdorff error on three public handwriting corpora. The hand's rhythm, kept.

ZPE-Ink approved scientific square mechanics diagram showing stroke codec with Freeman direction and nibble pack mechanics.
Scope: tested handwriting corpora. Full stylus stroke replay includes x, y, pressure, tilt, and azimuth; PyPI remains stale.
01 · THE GAP STORED, NOT KEPT

Digital ink stores coordinates. It has never had a codec that preserved everything the hand did.

02 · MARKETS ADJACENT FORECASTS
Digital pen / handwriting market '30 · $5.3B
Digital pen '30 · $7.2B
Digital writing instruments '30 · $6.2B
E-learning content tools '30 · $38.1B
Handwriting recognition software est. $2.1B
Every stylus that captures a stroke moves through these markets; ZPE-Ink is the exact-geometry record underneath them.
03 · VALUE OF MARKET
$6.2B
2030 digital writing instruments; ZPE-Ink is the stroke record three public corpora proved exact.
04 · INSIGHT

A signature keeps more than the mark — the hand's rhythm.

05.1 · CURRENT TECH STORED AND FLATTENED

A stylus measures pressure and angle dozens of times a second, then a bitmap takes over and flattens the motion into pixels. The hand's rhythm exists in the device for a moment, then disappears into the file.

05.2 · OUR TECH KEEP THE FULL STROKE

ZPE-Ink keeps the full stroke. It seals x, y, pressure, tilt, and azimuth into a CRC-framed .zpink packet and returns every coordinate unchanged — 0.00 px Hausdorff error on UJI, CROHME, and DigiLeTs. Zero-channel suppression raises CROHME mean compression from 1.52× to 1.76× when a device omits tilt. The hand's motion, intact.

05.3 · BENCHMARKS PUBLIC CORPUS DATA
UJI1.61× · 1,364 samples
CROHME1.44× · 90 samples
Hausdorff0.00px
CRCPASSpublic corpus data
UJI 1.61× PASS
CROHME 1.44× PASS
DigiLeTs 1.09× PASS
Scope: UJI, CROHME, DigiLeTs, MathWriting, QuickDraw. IAM/UNIPEN skipped.
06 · MEASUREMENT CORPUS CHECK SUITE

Five public corpora replay with exact geometry. CRC rejects the rest.

06.1 · COMPARATIVE PERFORMANCE STROKE BYTES PER SAMPLE
.zpink UJI 1.61×
.zpink CROHME 1.44×
.zpink DigiLeTs 1.09×
gzip / zlib aggregate 3.33× / 3.73×
Same int32 (x, y, pressure, tilt, azimuth) buffer across every corpus. On the QuickDraw plus CROHME aggregate, .zpink compresses 3.82×, gzip 3.33×, zlib 3.73×. IAM is registration-limited; UNIPEN is host-unavailable.
07 · KEY METRICS MEASURED PUBLIC EVIDENCE
07.1 · UJI
1.61×
vs raw · 1,364 UJI samples
07.2 · CROHME
1.44×
ICFHR package · 90 CROHME samples
07.3 · DIGILETS
1.09×
real corpus · 180 DigiLeTs samples
07.4 · HAUSDORFF
0.00px
all measured corpora · exact roundtrip
07.5 · PYPI
v0.1.1
PyPI stale · next release closes the version skew
08 · STROKE FIDELITY ENCODE AND DECODE

A stroke enters. The same stroke exits. 0.0 px proves it.

08.1 · WHAT THE CODEC KEEPS ALL FIVE CHANNELS

Committed artifacts show bit-exact encode-decode on generated fixtures: int32 (x, y, pressure, tilt, azimuth) buffers seal into a CRC-framed .zpink packet and exit without coordinate change — 0.00 px Hausdorff error confirmed on UJI, CROHME, DigiLeTs, MathWriting, and QuickDraw. CRC rejects malformed payloads before decode. Zero-channel suppression raises CROHME mean compression from 1.52× to 1.76× without altering decoded strokes — a device that omits tilt or azimuth gets better compression, not worse. Non-Python runtime parity is not claimed beyond static bindings checked across PyO3, WASM, Swift, and C#.

08.2 · HONEST BLOCKER
Honest Blocker ·

Three checks remain open: cutting the next release, passing the harder IAM and UNIPEN corpora (IAM is registration-limited, UNIPEN is host-unavailable), and proving a clean-room rebuild from spec. Today the PyPI package at 0.1.1 sits ahead of its bindings and runtime at 0.1.0 — a version skew the next release closes.

09

INK THAT KEEPS THE HAND.

09.1 · THE AMBITION

The aim is a stroke record that travels — from a tablet to a server to a researcher's workstation to another device entirely — without losing the pressure, the angle, or the rhythm that made the mark a particular person's. Handwriting becomes citable data, not a frozen picture of itself, across the platforms where pens actually write.

09.2 · WHAT WORKS NOW

Working today: 0.00 px Hausdorff error on UJI, CROHME, and DigiLeTs; CRC framing confirmed.

09.3 · WHAT'S STILL OPEN

Open: PyPI 0.1.2 release, hard-corpus pass on IAM and UNIPEN, blind-clone closure, shipped runtime parity.

09.4 · EDUCATION · NEAR-TERM (12–24 MO)
Student handwriting survives the upload
An e-learning platform that stores a million pages of student maths working can keep the hand that wrote them — pressure, hesitation, retraced strokes — not a flattened image. A teacher reviewing late work sees the thinking, not the result.
09.5 · SIGNATURES · NEAR-TERM (12–24 MO)
A signature carries the hand
A bank or notary capturing a signature on a tablet can archive the full stroke dynamics, not a glyph image. Forensic comparison stops being a visual judgment about pixels and becomes a measurable comparison of pressure curves and pen angles across signings.
09.6 · STYLUS PLATFORMS · MID-TERM (24–48 MO)
One stroke packet across devices
A stylus drawing made on an iPad reaches a Windows tablet, a web canvas, and an Android phone without a conversion step that drops tilt or smooths pressure. The note-taking app stops choosing between portability and fidelity.
09.7 · RESEARCH ARCHIVES · MID-TERM (24–48 MO)
Handwriting corpora become jointly searchable
UJI, CROHME, DigiLeTs, and any future corpus on the same exact-geometry codec can be queried as one. A handwriting researcher hunting for a specific letter formation stops running three retrieval pipelines and starts asking one question of one archive.
09.8 · ARCHIVE STANDARD · PARADIGM (48 MO+)
Pen computing acquires a common record
Notes, signatures, sketches, maths, and annotations from any device resolve to the same kind of stroke record. A handwritten archive becomes a citable, retrievable substrate — the way text and code already are — instead of a folder of frozen images that lose the hand.

Install / Developer Commands Detailed

Package Install

Installable package: python3.11 -m pip install zpe-ink. Current release: 0.1.1 on PyPI. Source: Zer0pa/ZPE-Ink.

python3.11 -m pip install zpe-ink

Import smoke:

python3.11 - <<'PY'
import importlib.metadata as md
import zpe_ink

print("zpe-ink", md.version("zpe-ink"))
PY

CLI smoke:

zpe-ink --help
zpe-ink-demo --help
zpe-ink-verify-roundtrip --help

Install success only proves package acquisition/import. Product scope, stale PyPI state, platform limits, and blockers remain in the front-door sections below.

  • Version skew exists: root manifest is 0.1.1 while code/native manifests still carry 0.1.0; align before publishing again.

Quick Start

Development install:

python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e './code[dev]'
python -m pytest code/tests -q
python -m zpe_ink demo
python -m zpe_ink verify-roundtrip

Package build:

python -m build