KQ-1845 · MANGLE/PRESS

Mangle Press

A press seen from above: plain grey pages slide in from the left, are drawn under heavy steel rollers and come out on the right as finished results — a card, a chart, a poster, a ticket, a report, a badge — that land on a fanned pile on springs.recoil. Each pair of rollers is a stage and every part of a sheet shows the stage it has passed, clipped exactly at each nip, while the rollers turn by the distance the paper moves, ride up over each sheet and drop back with a bounce. A flywheel motor drives it; winding the crank turns the rollers 1:1 and the flywheel carries the wind, and the crank is a button whose Right, Enter or Space wind one document through on springs.glide, Left winds one back and Home and End go to the first and last.

KQ-1845 · MANGLE/PRESS

Gaugeworks · print room

Drafts in, deliverables out

Wind the crank to run the press faster. With the crank focused, Right, Enter or Space presses the next document, Left winds the last one back, Home and End go to the first and last.

printed 0 · warming up · 1.0×

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/mangle-press

Props

items
MangleItem[]
default defaultMangleItems
The documents in the queue: { id, title, kind?, input?, output? }; they go round and round.
speed
number
default 1
The motor's pace, 0.25× to 2×.
rollers
number
default 2
Rollers on the press, in pairs: 2, 4 or 6. Each pair is a stage — colour, then detail, then varnish.
palette
"studio" | "garden" | "harbour" | "ember"
default "studio"
The inks the results come out in.
heft
number
default 0.6
How heavy the rollers are, 0 to 1: a heavy press carries a wind for longer.
squeeze
number
default 0.6
How hard the rollers press, 0 to 1: how far they ride up over a sheet and how plain the crease is.
spacing
number
default 0.35
Space between sheets in the queue, 0 to 1.
crank
boolean
default true
Show the crank.
paused
boolean
default false
The motor is off: the press turns only when wound or stepped.
sound
boolean
default false
Play the press's creak while you wind it. Off unless asked for.
label
string
default "Press"
The press's accessible name.
onResult
(item: MangleItem, index: number) => void
default —
Fires when a finished result lands on the pile, with the item and its place in the queue.
disabled
boolean
default false
No winding and no steps.
className
string
default "h-56 w-full"
Sizes the box.