# KerfScript > A programming language for laser cutting. Write parametric 2D designs with cut, score and engrave layers, kerf compensation, joinery and sheet layout. Export SVG or DXF. The canonical site is https://kerfscript.mylasertools.com/. Markdown versions of the public pages are linked below. The source is https://github.com/mylasertools/kerfscript; the npm package is https://www.npmjs.com/package/@mylasertools/kerfscript. ## Start here - [Overview](https://kerfscript.mylasertools.com/index.md) - [About](https://kerfscript.mylasertools.com/about/index.md) - [Documentation index](https://kerfscript.mylasertools.com/docs/index.md) - [Model index](https://kerfscript.mylasertools.com/models/index.md) - [Playground](https://kerfscript.mylasertools.com/playground/index.md) - [Licence](https://kerfscript.mylasertools.com/licence/index.md) - [Full text of the public pages](https://kerfscript.mylasertools.com/llms-full.txt) ## Guides - [Getting started](https://kerfscript.mylasertools.com/docs/getting-started/index.md) - [Layers](https://kerfscript.mylasertools.com/docs/layers/index.md) - [Kerf](https://kerfscript.mylasertools.com/docs/kerf/index.md) - [Parts and sheets](https://kerfscript.mylasertools.com/docs/parts-and-sheets/index.md) - [Assembly verification](https://kerfscript.mylasertools.com/docs/verification/index.md) - [Standard library](https://kerfscript.mylasertools.com/docs/library/index.md) - [Shared libraries](https://kerfscript.mylasertools.com/docs/shared-libraries/index.md) - [Settings](https://kerfscript.mylasertools.com/docs/customizer/index.md) - [Desktop app](https://kerfscript.mylasertools.com/docs/desktop/index.md) - [Command line](https://kerfscript.mylasertools.com/docs/cli/index.md) - [JavaScript API](https://kerfscript.mylasertools.com/docs/javascript/index.md) - [Editors](https://kerfscript.mylasertools.com/docs/editors/index.md) - [AI assistants](https://kerfscript.mylasertools.com/docs/mcp/index.md) - [WebAssembly](https://kerfscript.mylasertools.com/docs/webassembly/index.md) - [Importing SVG](https://kerfscript.mylasertools.com/docs/import/index.md) - [Coming from OpenSCAD](https://kerfscript.mylasertools.com/docs/openscad/index.md) - [Laser software](https://kerfscript.mylasertools.com/docs/compatibility/index.md) - [Versions](https://kerfscript.mylasertools.com/docs/versions/index.md) - [Specification](https://kerfscript.mylasertools.com/docs/specification/index.md) - [Language reference](https://kerfscript.mylasertools.com/docs/reference/index.md) ## Models - [Finger-jointed box](https://kerfscript.mylasertools.com/models/box/index.md): Finger-jointed box with a lid. - [Spur gear pair](https://kerfscript.mylasertools.com/models/gears/index.md): A pair of spur gears with involute teeth, cut from one sheet, made with spur_gear() from kerf/gears. - [Jigsaw puzzle](https://kerfscript.mylasertools.com/models/jigsaw/index.md): A jigsaw puzzle with interlocking pieces. Choose the size and piece count, or change the seed for a new pattern. - [Clock face](https://kerfscript.mylasertools.com/models/clock-face/index.md): A clock face: cut outline, scored minute marks, engraved hours. - [Hadal skeleton sculpture](https://kerfscript.mylasertools.com/models/hadal/index.md): Hadal: the skeleton of an imagined deep-sea ray on a display stand. Nine ribs slot onto a spine, which sits in two cradles on a plinth. The ribs lean more along the body, so the flat pieces look like a turning animal. - [Xenospora seed pod](https://kerfscript.mylasertools.com/models/xenospora/index.md): Xenospora: a seed pod from another planet. Twelve flat crescent fins stand around a crossed core between a base and a crown. The fins only look twisted: each one is flat, set at a tangent to the circle. - [Umbra shadow machine](https://kerfscript.mylasertools.com/models/umbra/index.md): Umbra: a shadow machine. Six flat fins stand on a base at different depths and angles. Lit by a small LED through a 1 mm pinhole, their shadows line up on a wall 900 mm away into one dragon standing on a rock. Each fin outline is the dragon's shadow projected back onto that fin's plane. - [Wave Cathedral](https://kerfscript.mylasertools.com/models/wave-cathedral/index.md): Wave Cathedral: a vault made of tides. Seventeen flat arches, each a little different, slot onto two notched rails on a base. Two crests run along the roof and the crown drifts from side to side, so the flat ribs read as a rolling wave. - [Morph contour sculptures](https://kerfscript.mylasertools.com/models/morph/index.md): Morph: one program, five sculptures. Flat contour layers stack on three dowels, with spacer plates between them; only each layer's outline turns and swells, so the stack becomes a bowl, an urn, a twisted tower, a lotus or a saddle. Pick a form, or choose custom and shape your own. - [Orbit planetary gears](https://kerfscript.mylasertools.com/models/orbit/index.md): Orbit: a planetary gear demonstrator. A crank turns the sun gear in the middle; three planets roll around it inside a fixed 72-tooth ring and carry the carrier arms with them. The carrier turns once for every four turns of the crank, in the same direction, while the planets spin the other way. - [Trace drawing machine](https://kerfscript.mylasertools.com/models/trace/index.md): Trace: a drawing machine. A crank turns the carrier, which rolls a 24-tooth gear around the inside of a fixed ring. A pencil held in that gear, off its centre, draws a hypotrochoid on paper laid on the base: with the 80-tooth ring, ten lobes that close after three turns of the crank. - [Stride walking linkage](https://kerfscript.mylasertools.com/models/stride/index.md): Stride: Theo Jansen's walking linkage on a standing board. Seven flat links turn on brass bushes in front of the board; turn the crank and the foot traces the scored path, lifting and stepping like a Strandbeest leg. - [Tidal wave automaton](https://kerfscript.mylasertools.com/models/tidal/index.md): Tidal: a hand-cranked wave automaton. Round cams sit off-centre on a square shaft, each turned a little further than the last, so as you turn the crank they lift seven fins one after another and the fins ripple like a wave. - [Ascent marble lift](https://kerfscript.mylasertools.com/models/ascent/index.md): Ascent: a hand-cranked marble lift. Turn the crank clockwise and a pocket in the laminated wheel carries one marble up the left side, over the top and down to an opening in the shroud on the right, where it drops out and rolls down a sloping chute into a covered catch box. - [Expanse sliding organizer](https://kerfscript.mylasertools.com/models/expanse/index.md): Expanse: a split-top organizer. Turn the disc rim at the front and the two trays on top glide apart, sideways and in step, to uncover a well in the middle; turn it back and they close over it again. Two pins on the disc push the trays' followers along fixed guide rails. - [Celestial geared orrery](https://kerfscript.mylasertools.com/models/celestial/index.md): Celestial: a hand-cranked geared orrery. The crank turns three drive gears pinned together on one axle; each meshes with an orbit gear on a fixed journal beside it, so the three planets circle a fixed sun at half, once and twice the crank speed, the other way. Stylized speeds, not astronomical. - [Flight moth automaton](https://kerfscript.mylasertools.com/models/flight/index.md): Flight: a moth automaton on a standing board. Turn the crank behind the board and a pin on the front disc pushes a slider up and down between two guide posts; two links from the slider rock the wings on their fixed roots, so both wings beat together. - [Bloom expanding flower](https://kerfscript.mylasertools.com/models/bloom/index.md): Bloom: a mechanical flower that opens. Turn the drive ring in the middle and six couplers push six sculpted petals straight out along their radial guides, all together, so the flower grows from 34 to 42 cm across; turn it back and the petals close again. - [Index Geneva sequencer](https://kerfscript.mylasertools.com/models/index-sequencer/index.md): Index: a hand-cranked Geneva sequencer. Turn the grip continuously and a pin on the driver arm drops into a slot of the wheel, turns it on by one station and slides out again. The wheel then stays locked while the driver goes round, so the numbered dial advances one step per turn, then waits. - [Vault three-dial puzzle box](https://kerfscript.mylasertools.com/models/vault/index.md): Vault: a puzzle box (not a safe) with three dials on its lid. Each dial turns a notched gate wheel under the lid; dial in the code and the three notches line up with the fingers of a sliding fence, so the knob slides the fence off its catch in the front wall and the lid lifts out. - [Lambda Chebyshev walker](https://kerfscript.mylasertools.com/models/lambda/index.md): Lambda: a four-legged walker on Chebyshev's lambda linkage. One square shaft turns four eccentrics a quarter turn apart; each drives a lambda whose far end follows an approximately level path before lifting and swinging back. The legs hang from those ends on flat soles. Turn the handle anticlockwise, seen from the handle side, to follow the walking motion. - [Crawl spider walker](https://kerfscript.mylasertools.com/models/crawl/index.md): Crawl: an eight-legged walker on Klann linkages. Each leg is a six-bar linkage: the crank drives a connecting arm held by a lower rocker, and the arm swings the leg, held at the top by an upper rocker. Turn the handle and each foot follows a walking path, then lifts and reaches forward. The legs are phased to support the body through the crank cycle. - [Inversor straight-line linkage](https://kerfscript.mylasertools.com/models/inversor/index.md): Inversor: Peaucellier and Lipkin's linkage of 1864, the first to turn a circle into an exactly straight line. Two long arms from a fixed pivot hold a rhombus of four short links; swing the handle on the input link and the pencil at the far corner draws a ruler-straight line along the scored scale. - [Echo pantograph](https://kerfscript.mylasertools.com/models/echo/index.md): Echo: a pantograph for copying a drawing larger. Four arms make a hinged parallelogram anchored to the board; trace the original with the stylus and the pencil draws it again, 1.5 to 4 times the size. Move the stylus and the pencil to the holes engraved with the same ratio. To copy smaller, swap them. - [Weave pintograph](https://kerfscript.mylasertools.com/models/weave/index.md): Weave: a pintograph, a drawing machine with two turning discs. The crank turns a small drive gear that meshes with both discs; the right one has a few more teeth than the left, so it slowly falls behind. An arm on a pin in each disc carries the pencil where the two arms cross, and it draws loop after loop, each a little different, weaving a cushion of lines. - [Tempo anchor escapement](https://kerfscript.mylasertools.com/models/tempo/index.md): Tempo: a model of a Graham deadbeat escapement. A falling weight turns the escape wheel; its teeth push the two pallets of the anchor in turn, and the anchor swings the pendulum and lets the wheel on by half a tooth each beat. The hand stands dead still between beats. Wind the knob behind, start the pendulum swinging and set the beat with the crutch bolt. - [Hours wooden gear clock](https://kerfscript.mylasertools.com/models/hours/index.md): Hours: a weight-driven wall clock with a wooden gear train between open skeleton plates. The weight turns the drum, the train turns the minute arbor once an hour, and a deadbeat anchor on the pendulum lets the escape wheel through half a tooth a beat. Wind it by turning the knob below the centre clockwise; set the time by turning the hands, which are a push fit. - [Tally odometer counter](https://kerfscript.mylasertools.com/models/tally/index.md): Tally: a hand-cranked counter with an odometer carry. Each turn of the crank moves the units drum on one digit; as any drum rolls from 9 to 0, two teeth on its side turn a pinion a quarter turn, and the pinion moves the next drum on one digit. In between, the pinions are locked, so the count in the lid's window can't slip. - [Cascade binary marble adder](https://kerfscript.mylasertools.com/models/cascade/index.md): Cascade: a marble computer that adds in binary. A column of rockers on a leaning board holds a number, one bit each: 1, 2, 4, 8 and 16 from the top. A marble that meets a 0 sets it to 1 and drops into the return channel; one that meets a 1 sets it back to 0 and rolls on to the next bit, the carry. Drop a marble into the slot marked 4 to add 4; lift the bar behind to reset. - [Helix Archimedes screw marble lift](https://kerfscript.mylasertools.com/models/helix/index.md): Helix: an Archimedes screw marble lift. Turn the crank and a screw of 120 stacked plates, each a step round from the last on a square bar, pushes 16 mm marbles up a trough of dowels. At the top they drop onto a chute and roll back down a zig-zag track behind the screw to a ramp that feeds the screw again near the bottom. - [Peck pecking hens](https://kerfscript.mylasertools.com/models/peck/index.md): Peck: the folk toy of hens pecking grain on a round paddle. Each hen's head rocks on a bolt through her body, and a string from her neck runs down through the paddle to a weight hanging below. Hold the handle and swing the paddle in small circles: the weight swings round, pulls each string in turn and the hens peck one after another, their tails bobbing up behind. - [Dabble duck automaton](https://kerfscript.mylasertools.com/models/dabble/index.md): Dabble: a hand-cranked duck automaton on an open cam box. Three cams on a square shaft lift three dowel pushrods through the deck: as you turn the crank the duck dips its head to the engraved pond while its tail tips up, lifts its head again, then raises its wings. The pushrods are only lifted; the duck's own weight keeps them on the cams, so turn it slowly. - [Wellspring saqiya water wheel](https://kerfscript.mylasertools.com/models/wellspring/index.md): Wellspring: a saqiya, the animal-driven water wheel al-Jazari drew in the 13th century. Turn the ox round its walk and the draw-bar turns a peg wheel above the gear pit; its dowel pegs drive a lantern pinion at right angles, and the wheel on the same axle lifts a ring of pots out of the well and tips them into the trough at the top. - [Fracture recursive relief](https://kerfscript.mylasertools.com/models/fracture/index.md): Fracture: a recursive vortex in relief. Each triangle drops its middle triangle and repeats in its three corners, then every point turns by an angle that grows with its distance from the centre. Deeper layers inset each opening a step further, so small holes stay shallow and large channels run down to a solid backer. - [Morphogen terrain relief](https://kerfscript.mylasertools.com/models/morphogen/index.md): Morphogen: a living-looking terrain drawn by a field. Two waves cross in a space that is twisted around an off-centre point and folded by two shears; each layer cuts away where the field rises above a level. Deeper layers use higher levels, so channels narrow and split into pockets towards the backer. - [Tilt maze](https://kerfscript.mylasertools.com/models/tilt-maze/index.md): Tilt maze: roll a ball bearing from the dot to the star. Every seed draws a new maze, and there is always exactly one way through. The maze layer is stacked as many times as the ball needs, under a clear cover. - [Layered island](https://kerfscript.mylasertools.com/models/topo-island/index.md): Layered island: a made-up mountain as a stack of contour layers, like a topographic map you can touch. The height of the land is a formula, and each layer is traced where the land crosses its height. Every layer is scored with the outline of the one above, so gluing up is easy. - [Fractal tree ornament](https://kerfscript.mylasertools.com/models/fractal-tree/index.md): Fractal tree: a module that calls itself. Each branch splits in two, a little shorter and thinner, until the twigs end in leaves. The seed bends every branch differently, so no two trees are the same. - [Round badge](https://kerfscript.mylasertools.com/models/round-badge/index.md): Round badge: text set around a circle, letter by letter. Each letter is measured, then placed and turned to follow the ring, so any words fit. A start for logos, coasters, seals and patches. - [Gift tags from a list](https://kerfscript.mylasertools.com/models/gift-tags/index.md): Gift tags from a list: type the names, get one tag each. Every name is measured and sized to fill its tag, short or long. Use it for place cards, keyrings or labels by changing the shape and the second line. - [SLOT desk sign](https://kerfscript.mylasertools.com/models/slot-desk-sign/index.md): SLOT, a first project: a desk sign in two pieces. A panel with a tab slips into a slot in a base. Change the word, the outline, the motif and the size; the tab, the slot and the base follow. The word and the motif are scored, so nothing falls out of the letters. - [Pocket Wildlife owl card](https://kerfscript.mylasertools.com/models/pocket-owl/index.md): Pocket Wildlife owl: a perched owl with raised wings in six slot-together pieces, on a 150 x 100 mm card. The pieces stay in the card on small tabs until an adult releases them and sands the nubs. Shapes are drawn at their finished size and KerfScript moves the cut paths out by half the beam, so leave kerf offsets off in your laser software. - [Pocket Wildlife dinosaur card](https://kerfscript.mylasertools.com/models/pocket-dinosaur/index.md): Pocket Wildlife dinosaur: a long-necked dinosaur with a ribbed body in six slot-together pieces, on a 150 x 100 mm card. The pieces stay in the card on small tabs until an adult releases them and sands the nubs. Shapes are drawn at their finished size and KerfScript moves the cut paths out by half the beam, so leave kerf offsets off in your laser software. - [Pocket Wildlife dragonfly card](https://kerfscript.mylasertools.com/models/pocket-dragonfly/index.md): Pocket Wildlife dragonfly: six legs, big eyes and two pairs of wings in seven slot-together pieces, on a 150 x 100 mm card. Each pair of wings drops over a tongue on the thorax. The pieces stay in the card on small tabs until an adult releases them and sands the nubs. Shapes are drawn at their finished size and KerfScript moves the cut paths out by half the beam, so leave kerf offsets off in your laser software. - [Drawer organizer](https://kerfscript.mylasertools.com/models/drawer-organizer/index.md): Drawer organizer: a finger-jointed tray from the box library, and a grid of dividers from the dividers library that slot into each other like an egg crate. Measure your drawer, then pick how many compartments you want. - [Tab-and-slot spice shelf](https://kerfscript.mylasertools.com/models/spice-shelf/index.md): Spice shelf: a wall shelf held together by tabs and slots, no glue or screws in the joints. The shelves and their front rails tab into the sides, and the sides tab into the back, which hangs on two screws by its keyholes. - [Project enclosure](https://kerfscript.mylasertools.com/models/project-enclosure/index.md): Project enclosure: a box for a small electronics project, its lid held by four M3 screws and nuts so it comes off again. The front has a switch and a power jack, the back a USB port, and the lid and the sides vents. Change the cutouts to suit your board. - [Solstice lantern](https://kerfscript.mylasertools.com/models/solstice/index.md): Solstice: a lantern with two sun walls and two moon walls, held between a base and an open crown by tabs. For a battery LED, not a candle. - [Winterlight ornaments](https://kerfscript.mylasertools.com/models/winterlight/index.md): Winterlight: three Christmas ornaments, a snow crystal, a fir grove under the moon and an eight-point star. Each is one piece with its own cord loop. - [Snowflake ornament](https://kerfscript.mylasertools.com/models/snowflake/index.md): A six-armed snowflake ornament. Each arm is one branch, repeated. - [Slot-together phone stand](https://kerfscript.mylasertools.com/models/phone-stand/index.md): A phone stand made from three slotted parts. Adjust the width, angle and material thickness to suit your phone. - [Guilloche coaster](https://kerfscript.mylasertools.com/models/guilloche-coaster/index.md): A round coaster with an interlaced guilloche pattern. Adjust the diameter, wave count and number of scored rings. - [Sunflower lamp panel](https://kerfscript.mylasertools.com/models/sunflower-panel/index.md): A lamp panel with a spiral of holes inspired by sunflower seeds. Adjust the panel size, hole count and hole sizes. - [Honeycomb trivet](https://kerfscript.mylasertools.com/models/honeycomb-trivet/index.md): A hexagonal trivet with a honeycomb pattern of cutouts. - [Engraved ruler](https://kerfscript.mylasertools.com/models/ruler/index.md): A ruler with scored millimetre ticks and engraved numbers. - [Living hinge card](https://kerfscript.mylasertools.com/models/hinge-card/index.md): Card with a living hinge down the middle, from the hinge library. - [Flex box with round corners](https://kerfscript.mylasertools.com/models/flex-box/index.md): Flex box: a box with round corners, its four sides one strip of plywood bent by living hinges. The bottom's tabs lock into slots along the strip, and the lid sits on top, kept in place by an insert glued under it. Bend the strip slowly; warm, slightly damp plywood bends best. - [Name sign](https://kerfscript.mylasertools.com/models/name-sign/index.md): Name sign: plate sized to the text, with two hanging holes. - [Hanging wall sign](https://kerfscript.mylasertools.com/models/wall-sign/index.md): Wall sign: a name or a word on a panel that hangs on screws, a nail or a cord, from the hanging library. The keyholes take a screw head; measure yours and set the sizes to match. - [Calibration square](https://kerfscript.mylasertools.com/models/calibration-square/index.md): A 100 mm square with a 20 mm hole for checking dimensions and kerf. Measure the outside and the hole after cutting to check compensation. See the kerf guide for the calibration steps. - [Kerf and fit test](https://kerfscript.mylasertools.com/models/kerf-test/index.md): A row of slots for testing the fit of your material. Try a scrap from the same sheet in each slot. Positive labels mean wider slots; negative labels mean narrower ones. Measure both kerf and sheet thickness before adjusting the design. - [Calibration set](https://kerfscript.mylasertools.com/models/calibration-set/index.md): Calibration set: cut it once for every new material, before anything that has to fit. The kerf gauge measures the beam, the slot gauge how wide a slot your sheet needs, and the joint pairs which kerf setting makes finger joints that hold. - [Tea pavilion dispenser](https://kerfscript.mylasertools.com/models/tea-pavilion/index.md): Tea pavilion: a packet dispenser with a plain gable roof and a front lip. Packet width, depth and stack height generate the enclosure dimensions. Assembly: glue the wall and floor joints, then glue one roof slope in place. Leave the other slope loose for refilling from above. - [Jewellery tray box](https://kerfscript.mylasertools.com/models/jewel-tray-box/index.md): Jewel tray box: an open box, lift-off lid and removable compartment grid. The lid locates on a glued inset plate; it is not a friction-fit hinge. Assembly: glue the box joints and lid layers. Leave the grid removable. - [Earring screen](https://kerfscript.mylasertools.com/models/earring-screen/index.md): Earring screen: a plain perforated panel plugs into a broad foot. Hole pairs, row spacing and sheet thickness are independent controls. Assembly: test the slot fit, then glue the panel tabs into the foot. - [Napkin bridge](https://kerfscript.mylasertools.com/models/napkin-bridge/index.md): Napkin bridge: two scooped cheeks stand in a slotted rectangular foot. The clear gap follows the napkin stack, rather than a fixed sheet size. Assembly: glue both cheeks into the foot after checking the slot fit. - [Post sorter](https://kerfscript.mylasertools.com/models/post-sorter/index.md): Post sorter: a row of tabbed dividers with a rising top line. Bay clearance and bay count set the base depth automatically. Assembly: glue each divider into the matching slots in the base. - [Coaster caddy](https://kerfscript.mylasertools.com/models/coaster-caddy/index.md): Coaster caddy: a small finger-jointed bin with an open front scoop. The interior follows the coaster diameter and stacked thickness. Assembly: glue the finger joints. Coasters are not included in the file. - [Tissue carton cover](https://kerfscript.mylasertools.com/models/tissue-cover/index.md): Tissue cover: an open-bottom sleeve sized around a refill carton. A rounded dispensing slot is cut into the finger-jointed top panel. Assembly: glue the top and four walls; slide it over the carton. - [Stem lab tube stand](https://kerfscript.mylasertools.com/models/stem-lab/index.md): Stem lab: two perforated decks hold removable glass tubes above a base. Tube diameter and pitch define the deck size and the side supports. Assembly: glue decks into side slots. Glass tubes are separate hardware. Water belongs inside the tubes; the plywood is not a watertight vase. - [Perforated display deck](https://kerfscript.mylasertools.com/models/paint-deck/index.md): Perforated deck: a raised shelf locates bottles or display eggs over a foot. Hole pitch, diameter and the grid count determine the footprint. An egg display is a parameter preset of this construction, not another model. Assembly: glue the two side supports into the foot, then add the deck. - [Miniature bench](https://kerfscript.mylasertools.com/models/miniature-bench/index.md): Miniature bench: a small seat and back tab into two shaped side supports. This is a display miniature. Dimensions are not a human seating design. Assembly: fit the seat and back between the sides, then glue the joints. - [Book brace pair](https://kerfscript.mylasertools.com/models/book-brace/index.md): Book brace: a bookend pair with tabbed uprights and triangular gussets. The foot extends beneath the books so their weight helps stabilize it. Assembly: glue each upright and gusset into its foot. Add non-slip pads. - [Cable harbour device tray](https://kerfscript.mylasertools.com/models/cable-harbour/index.md): Cable harbour: a divided device tray with cable exits through its back. Bay width, count and cable diameter generate the internal layout. Assembly: glue the box, then fit the dividers without glue for cleaning. - [Ribbon spool rail](https://kerfscript.mylasertools.com/models/ribbon-rail/index.md): Ribbon rail: a pair of uprights hold a removable wooden dowel over a base. Spool count and width set the space between uprights. Dowel not included. Assembly: glue the uprights into the base; pass the dowel through both. - [Bottle display tote](https://kerfscript.mylasertools.com/models/bottle-tote/index.md): Bottle tote: a compartment tray with a tall central handle partition. Bottle diameter and column count generate the footprint and handle span. Assembly: glue all joints and the handle partition to the floor. Use for light display bottles until the chosen material and joints are load tested. - [Pocket valet tray](https://kerfscript.mylasertools.com/models/pocket-valet/index.md): Pocket valet: a shallow tray with a removable key and watch perch. A tabbed upright holds a horizontal shelf with open key-ring notches. Assembly: glue the tray and upright joints; add felt if desired. - [Business card pocket](https://kerfscript.mylasertools.com/models/card-pocket/index.md): Card pocket: an open-top card tray with a scooped front and a taller back. Interior width and depth follow the cards and stack, with editable ease. Assembly: glue the five finger-jointed panels. Cards are not supplied. - [Plant display plinth](https://kerfscript.mylasertools.com/models/plant-plinth/index.md): Plant plinth: two crossing half-lapped frames support a circular top. Pot diameter sets the top and footprint; height sets the support frames. Assembly: cross the frames at their half-depth slots and glue on the top. Use as a small display stand after checking the material's load capacity. - [Small-parts drawer stack](https://kerfscript.mylasertools.com/models/drawer-stack/index.md): Drawer stack: a finger-jointed cabinet with separate sliding tray drawers. Drawer count and clearances generate the shelf levels and outer height. Assembly: glue the carcass and shelf tabs, then glue each drawer square. Sand the runners and test the slide clearance before applying a finish. - [Weaving loom and shuttle](https://kerfscript.mylasertools.com/models/loom-card/index.md): Loom card: a reusable small weaving frame with rounded yarn notches. Warp count and pitch generate equal notches along both short edges. Assembly: wind a continuous warp between opposite notches. The second part is a blunt shuttle with two open yarn pockets, not a cutting tool. - [Ribbed lantern shade](https://kerfscript.mylasertools.com/models/ribbed-lantern/index.md): Ribbed lantern shade: curved radial fins locate in two notched rings. Ring tabs are cut into each fin, so changes to thickness update both joints. Assembly: glue the fins into both rings. The shade stands on the fin ends. Shade only: place a separate cool battery LED inside, with no flame. - [Captive sliding tile puzzle](https://kerfscript.mylasertools.com/models/slide-grid/index.md): Slide grid: a solvably shuffled sliding puzzle with a removable clear retainer. Circular finger ports let tiles slide beneath the cover while keeping them in. Assembly: glue the plywood spacer to the floor. Add tiles, then bolt the acrylic cover on with thin washers for vertical play. Undo it to change tiles. - [Lift-out game box insert](https://kerfscript.mylasertools.com/models/game-insert/index.md): Game insert: lift-out card trays and token bins fill a measured game box. Card dimensions constrain the front bank; token bins fill the remaining area. Assembly: glue each bin separately. Leave all bins loose on the carrier floor. No game-specific artwork or component shapes are used. - [Articulated cable chain](https://kerfscript.mylasertools.com/models/cable-chain/index.md): Cable chain: alternating wide and narrow U-links pivot on bought side bolts. Each link has two cheeks and one tabbed floor bridge. The channel stays open. Assembly: glue each U-link square, then connect adjacent cheeks with short bolts, washers and locknuts. Keep the pivots loose enough to turn freely. This free-pivot prototype has no mechanical bend stops or machine rating. - [Cantilever sewing and tool case](https://kerfscript.mylasertools.com/models/cantilever-case/index.md): Cantilever case: two banks of trays rise outward on parallel pivot links. The pivot offsets and link lengths are computed from the tray dimensions. Assembly: glue the base and each tray square. Bolt the links outside the front and back walls, using washers and standoffs to separate link layers. Link pivots must turn freely. Do not glue the links to the trays. - [Beam balance with suspended pans](https://kerfscript.mylasertools.com/models/beam-balance/index.md): Beam balance: a stable pivoted beam with two level, cord-suspended pans. Glue the fork uprights into the foot and glue a rim onto each pan. Fit the beam on a loose pivot bolt, then tie three equal cords per pan. The tilt control demonstrates motion; it does not calculate equilibrium. - [Sector-lock tilting stand](https://kerfscript.mylasertools.com/models/sector-stand/index.md): Sector stand: a tilting deck on two trunnions, locked through curved slots. Glue the fixed cheeks into the foot, and the moving flanges and front lip into the deck. Bolt each flange to its cheek at the pivot and arc slot. Loosen both arc bolts before adjusting, then tighten them again. - [Laminated screw press](https://kerfscript.mylasertools.com/models/screw-press/index.md): Screw press: laminated platens and hand knobs with captive hex nuts. Clamp the lower platen onto four threaded rods using washers and nuts. Glue the knob laminations around measured hex nuts without gluing the threads. Put washers beneath the knobs and turn them evenly to press. A small craft press for paper and light glue-ups, not for heavy pressing. - [Independent wheel calendar](https://kerfscript.mylasertools.com/models/wheel-calendar/index.md): Wheel calendar: three independent numeric/date wheels on a tabbed stand. Glue the backboard into the foot, then bolt on the wheels with washers. Read the value beneath each fixed pointer. Set weekday, month and day by hand; there is no automatic month-length or leap-year mechanism. - [Cord-laced roll-up desk mat](https://kerfscript.mylasertools.com/models/slat-roll/index.md): Slat roll: a flexible desk mat assembled from repeated rigid wooden slats. Align the slats with the specified gap and lace two cords through their paired holes. Leave the spans between slats free to hinge; knot the ends. The curl control shows a bending pose, not an elastic-material simulation. - [Lock box with a key](https://kerfscript.mylasertools.com/models/lock-box/index.md): Lock box: a finger-jointed box whose lid locks with a key. The lock is three layers glued on the front: turn the key half a turn and its cam throws a bolt up into the keeper, a slotted plate under the lid's front edge, and the lid cannot lift. The lid's insert keeps it square on the walls. Made with box() from kerf/box and cam_lock() from kerf/lock. - [Stacked ring vase](https://kerfscript.mylasertools.com/models/ring-vase/index.md): Ring vase: a vase of stacked rings threaded on two crossed core plates, its outline a smooth curve from the foot to the lip. Rings of the same size are one part, so the cut list stays short. The base cuts its own slots for the core's feet. A glass test tube or a dried posy goes inside. Made with ring_stack() from kerf/rings. - [World map sign](https://kerfscript.mylasertools.com/models/world-map/index.md): World map sign: the world's land engraved on a panel, a heart where a place is (home, or where two people met), its name below, and a message on the back. Two keyholes hang it on the wall. Made with world_map() and geo_point() from kerf/geo, a symbol from kerf/symbols and keyholes() from kerf/hanging. - [Bent pen tray](https://kerfscript.mylasertools.com/models/pen-tray/index.md): Pen tray: a desk tray whose round-bottomed trough is one strip of plywood bent by a living hinge, between two end plates. The strip's tabs go through slots in the ends, which the ends cut for themselves from where the strip passes through them. Made with flex_strip() from kerf/hinge. - [Symbol name tags](https://kerfscript.mylasertools.com/models/symbol-tags/index.md): Symbol tags: key rings or bag tags, each with a pictogram and a name. The symbols come by name from the 867 in kerf/symbols; list them with symbol_names(), or one category with symbol_names("animals"). The names fit their tag, and the hole has a ring round it for the key ring.