Skip to content

Releases: henmedia/layerling

layerling 1.61.1

Choose a tag to compare

@henmedia henmedia released this 10 Oct 21:09
  • STL files can be picked on an iPad: In the file picker of an iPad or iPhone the STL, 3MF, STEP and .lyl files were greyed out and could not be selected, while ZIP files worked: iOS greys out every ending it does not know as a type, and the picker asked for exactly those. On these devices the pickers now show all files, and layerling checks what it is given, as it always did; elsewhere the list narrows the picker as before. Not tried on an iPad yet. Reported by @andrej-cds in #219.
  • The start page's import tile shows the editor's import picture: "Open a design or import geometry" had a different symbol (a sheet with an arrow) than the import button in the editor (a cube with an arrow pointing at it). Both show the editor's picture now.
  • The settings window opens where you left it: Moved by its title bar, the settings window was remembered, but opened shifted to the left and up by the distance it stands from the corner when centred - so far off the left edge on a wide window that part of it was out of reach, and dragging it back helped only until the next time. The same held for the guide and the shortcuts window. A moved window now opens exactly where it was dropped. Reported by @prmod3d in #219.
  • A design opens in the view you left it in: The angle, zoom and position of the camera, and whether it was perspective or flat, are kept with the design in the browser and written again a moment after every move of the view, when the page is hidden or closed and when you go Home. Opening the design puts the camera back there; a new design opens in the standard view as before. The view is not part of the undo history and a move of the camera never saves the design. A saved .lyl file carries it as optional editor.view, so it opens in it elsewhere; older versions pass over it. Asked for by @prmod3d in #220.
  • npm install reports no vulnerabilities: Next.js 15 ships an old PostCSS, and npm audit flagged it as one high and one moderate vulnerability, whose suggested fix npm audit fix --force would have moved the app to Next.js 16. package.json now pins PostCSS 8.5.28 through overrides; Next.js stays at 15.5.27, the audit finds nothing, and typecheck and static export run as before. Reported by @ARSoderberg in #221, who also tested the fix.

layerling 1.61.0

Choose a tag to compare

@henmedia henmedia released this 10 Oct 18:42
  • Reference image in sketch mode: turn, centre, calibrate, crop: A photo laid under a sketch could only be moved and scaled. Its settings now have an Align card: a Rotation in degrees, with a round handle above the frame (Shift snaps to 15°), so a photo taken at a slant lines up with the revolve axis; Centre on X = 0 and Y = 0, X = 0 being the axis of a revolve; Calibrate as in Fusion - click two points in the picture whose distance you know, type the real distance, and the picture scales to match with the first point staying put; and Crop, where the frame's handles cut the picture down instead of scaling it, the cut-away part staying stored and coming back on request. The picture keeps its pixels throughout. Asked for by @ucito in #216.
  • The dimension boxes keep the calculation too: A calculation such as "(140+2)/2" typed into one of the boxes drawn round the selected body - width, depth, height and the height above the plate - was worked out but forgotten; only the fields of the Properties panel kept it (1.59.0). The boxes now keep it as well and open on the formula again, as long as it still gives the size, and the Properties panel shows the same formula for the same value, and the other way round. The corner pair of width and depth does the same, and the guide says where the formulas work. Asked about by @prmod3d in #180.
  • The selection's dashed guides no longer shine through bodies: Select a body and a dashed footprint with a vertical centre line is drawn at its foot. They were drawn without a depth test, so they showed through the body itself and, depending on the view, over its neighbours - they read as floating centre lines. Bodies now hide them like everything else on the plate. Reported by @prmod3d in #219.

layerling 1.60.0

Choose a tag to compare

@henmedia henmedia released this 10 Oct 18:04
  • Fill modes for the Text shape, and "Wider": A text can now be drawn as sketches and SVGs are since 1.47: Stroke Outside, Inside or Centred with a line width and corner style, and as a Silhouette without the counters of its letters. New for text, sketches and SVG alike is the fill mode Wider: the filled shape grown outwards by the line width all round, with sharp, round or bevelled corners - the piece that was missing for a filled base layer under a text or logo. A name tag for a multicolour print is three copies of one text: the letters, the same text 1.5 mm wider in a second colour, and 3 mm wider as a silhouette (no holes) carrying the key ring. The box of the text grows with an outside, centred or wider stroke, so the letters keep their size and the layers line up; the letters are exact bodies for the edge tool and STEP in every mode, and letters that run together become one piece. The MCP bridge takes stroke (with align: "grow") and silhouette on a text as on a sketch body. Asked for by @plazmabokor in #215.
  • Layered text and name tags: The properties of a text have a Layers card: Split into layers turns the text into a stack - white letters on top, the same text 1.5 mm wider in red under them, 3 mm wider as a dark plate without holes at the bottom - as a bundle that moves as one, every layer a text of its own with its own colour and height, the way a slicer wants them for a multicolour print. With the stack selected the card edits text, font, the number of layers (up to six) and, per layer, how much wider it is, its height, colour and whether it keeps the holes; every change builds the stack again, and new words run through all layers. The card also takes a name list, one name per line, up to a hundred, and makes a tag like the selected text or stack for each, in rows with a chosen gap. The MCP bridge does the same with layerling_layer_text. Asked for by @plazmabokor in #215.
  • The static export builds with Next.js 16: npm run export stopped with "This build is using Turbopack, with a webpack config and no turbopack config" on a machine that had Next.js 16. Next.js 16 builds with Turbopack by default and refuses a webpack hook without a turbopack entry; next.config.ts now carries an empty one. Next.js 15, which package.json pins, ignores it for webpack builds. With that fixed, Next.js 16 built with Turbopack, and the export check then failed with "Could not find the generated CAD worker runtime": the CAD worker is bundled by webpack. The export script now builds with --webpack when Next.js is 16 or newer (15 does not know the flag). Reported by @ARSoderberg in #217 and #218, who found both fixes.

layerling 1.59.0

Choose a tag to compare

@henmedia henmedia released this 10 Oct 16:47
  • A number field remembers its calculation: Typing "(140+2)/2" into a field left only 71 behind. The field now keeps the calculation with the body: click into it again and the formula is back for editing, as long as the value still equals it - a value changed by a handle, the slider or scaling shows the number again, and a plain number clears the formula. Value and formula change together, so undo takes both back, and the formulas are saved in the design. No variables, no tables. Asked for by @prmod3d in #180.
  • Pen tablets: The barrel button of a graphics tablet's pen now counts as the right mouse button in the editor: a short press opens the body's menu, and a drag that ends elsewhere still only turns the view. Before, only a mouse opened the menu. Asked about by @whanner11-cpu in #213.
  • Grouping with grouped holes froze the page: Grouping an imported mesh with a group of holes - three countersunk screws in one group, say - could block the browser for many minutes. The check that counts which triangles a cutter touches asked for the group's bounding box once per sampled point, and each time rebuilt the whole group from its children, thread geometry included. The box is now computed once per cutter. Reported by @MiniCoop8 in #214.

layerling 1.58.1

Choose a tag to compare

@henmedia henmedia released this 10 Oct 13:47
  • Ring gear and rack: The gear has two more types. The Ring gear has its teeth pointing in - the outer wheel of a planetary set - and is set by teeth, module and backlash like an involute gear, plus the rim round the teeth; its outside is module × (teeth + 2.5) plus twice the rim, with round teeth module × (teeth + 1.7). A pinion of the same module runs in it at a centre distance of module × (ring teeth − pinion teeth) / 2, which the properties panel gives for the selected pair; ring teeth = sun teeth + 2 × planet teeth makes a planetary set. The Rack is the gear of endless radius, its involute flanks straight lines at the pressure angle: a bar as long as teeth × π × module, so racks of one module line up end to end, its depth free; a gear of the same module rolls on it with its centre teeth × module / 2 in front of the pitch line, a module behind the tooth tips. Both take round teeth too, both are exact bodies for the edge tool and STEP, and switching the type keeps the module. The MCP bridge takes gearType: "internal" with gearRim, and "rack". Promised to @prmod3d and @luk-saw in #201.

layerling 1.58.0

Choose a tag to compare

@henmedia henmedia released this 10 Oct 10:40
  • Cancelling a sketch returns to the 3D editor: Cancelling a new or an edited sketch (extrude and revolve) left the toolbar on the Sketch tab, now empty, until you clicked 3D editor yourself; finishing one switched back as expected. Cancelling now switches back too and closes the stroke panel. Reported by @prmod3d in #212.
  • Every grid line grows with the zoom: Only the centre cross and the plate border grew as you zoomed in; the other grid lines stayed one pixel wide and faded into a light plate, most of all in the Tinkercad look. Every grid line now also lies on the plate as a narrow band - a twentieth of the grid step, twice that for the darker lines - so it grows as you zoom in, as in Tinkercad, while the pixel line keeps the grid visible from afar. Where lines cross, the colour is laid once, so no darker dots form. Reported by @prmod3d in #143.
  • A design from a newer layerling says so: A design saved by a newer layerling may hold what an older one does not know - a new shape, a new setting, fonts of one's own. Where that kept it from opening, the reason was a bare technical one such as "unknown shape type"; now it names both versions and says that reloading the page brings the newest one. Where it opens, the notice says it was saved by a newer version and newer things may look different. This helps from this version on; older ones still give the plain reason.
  • Fonts of your own for text: Under Font, "Your own fonts …" opens a window that takes a TrueType, OpenType or WOFF file, and in Chrome and Edge on a computer also a font installed there (the browser asks once for permission; Firefox, Safari and phones choose the file instead). The font is read once into the typeface format the built-in fonts use, so curved text, edge treatment and STEP work on it; outlines drawn the PostScript way round are turned, and strokes that overlap - script and variable fonts - are merged into one outline. It is kept in this browser. A design stores only the outlines of the letters its texts use, in every undo state - never the font file - so it opens with its lettering on any computer, and letters typed there without the font come from Sans. WOFF2 and font collections are refused with a reason. The guide explains the browsers and what passing a design on means for a font's licence. The MCP bridge has layerling_add_font and layerling_list_fonts, and font takes a font of one's own by id or name.
  • Round gear teeth: Gears have a third tooth shape, Round: each tooth one arc over the tip and each gap one arc over the root, running smoothly into each other, like Tinkercad's Useful gear. Small printed gears with them are more forgiving and turn more easily than involute ones, and on a knob they make a smooth grip. They are set like involute teeth by number of teeth, module and backlash (no pressure angle). They stand lower - tip 0.6 module above the pitch circle, root 0.85 below - so the outside diameter is module × (teeth + 1.2); the tooth is half a pitch thick on the pitch circle less half the backlash, so round gears with the same module mesh at the usual centre distance. The exact body is made of true arcs, for the edge tool and STEP. The MCP bridge takes gearProfile: "round". Suggested by @luk-saw and @prmod3d in #201.
  • Round knurling: The knurl has a third pattern, Round: grooves and ridges along the axis as a smooth wave of arcs, the same shape as the round gear teeth, but with the number of grooves, the depth and the end chamfer free - a pleasant grip for a knob. Round grooves stay shallower than 0.45 of the pitch round the grip, or the ridges would bulge at their foot; a greater depth gives way. It is an exact body of true arcs, chamfered ends included. The MCP bridge takes knurlPattern: "round". Suggested by @prmod3d in #201.

layerling 1.57.0

Choose a tag to compare

@henmedia henmedia released this 10 Oct 08:43
  • Tinkercad look, and darker grid lines your way: Settings → Appearance has a "Tinkercad look" button that sets the work area as Tinkercad shows it - white ground, a pale blue millimetre grid with a darker line every centimetre, black edge lines, light from above with soft shadows - with the values @prmod3d measured; everything stays adjustable. Under Workplane the darker grid line now comes every 5 or every 10 grid steps and can have a colour of its own, which the centre cross and the plate border take too. The centre cross and the border are drawn as narrow bands on the plate, so they are stronger and grow as you zoom in. Suggested by @prmod3d in #143.
  • Typed colour values are kept: In the colour fields of the settings a typed hex value only counted once the field lost focus, and a click outside closed the picker before that - the value was lost. Enter now takes it, and closing the picker keeps it. Reported by @prmod3d in #143.
  • The sketch's area under the grid has a colour setting, and the colours clearer names: In sketch mode the sheet under the grid kept its yellowish colour whatever was set - "Sketch background" only coloured the window round it, and "Sketch like work area" could not reach it either. It has a setting of its own now, "Sketch: area under the grid", which "Sketch like work area" and the Tinkercad look set too. And the colour settings say which area they mean: "Window background" and "Workplane under the grid", likewise for the sketch. Reported by @prmod3d in #143.
  • Loft: twist and tilt: The loft can now turn its section evenly about the vertical on the way up (up to 360° either way), so the sides wind round, and tilt its top end about both horizontal axes (up to 45°), the sections in between tilting by their share. The highest point stays at the set height, and a tilt too steep for the height gives way. It stays an exact body - built through sections a few degrees apart, like a twisted extrusion - so edges can be filleted and STEP keeps it. The MCP bridge takes loftTwist, loftTiltX and loftTiltZ. Suggested by @prmod3d in #205.
  • Point or comma in the section position: The section view's position field, and the radius of a corner fillet or chamfer in a sketch, were number fields, which read the decimal mark by the browser's language - a German browser refused "12.5". They are text fields now, read like every other measure: point or comma, fractions and sums. Reported by @AkiraNorthstar in #210.
  • Chrome no longer takes the start page for German: The hidden copy of the welcome guide that search engines and link previews read held its German half in plain text; marked not to be translated, it still counted when Chrome guessed the page's language, and Chrome set to always translate German translated the page on every load. The German half now sits in <noscript>, which programs without JavaScript read as text and a browser never draws. Reported by @gogades in #191.
  • Capsule with one smaller end: The capsule can now be narrower at one end, a belt guard round two pulleys of different size: under Properties "Small End (Diameter)" sets the small end, and "Centre Distance" how far apart the two arcs' centres are. The large end keeps the capsule's width, the sides run as tangents to both arcs, and changing the small end keeps the centre distance. It stays an exact body, so edges can be filleted and STEP keeps it. The MCP bridge takes slotEndRatio. Suggested by @nz-pilgrim in #206.
  • An SVG comes in as a sketch, with Tinkercad's fill modes: An imported SVG was a fixed mesh. It now comes in as a sketch body: its outlines become sketch lines and Bézier curves - quadratic curves and arcs turned into cubic ones - so the body is exact, edges can be filleted, STEP keeps the curves, and the points can be edited in sketch mode. Every extruded sketch body, an SVG among them, has its fill in the properties: Area, Stroke Outside, Stroke Inside or Stroke Centred, with the line width and the corners, and Silhouette (No Holes) leaves out every outline lying inside another. Silhouette with an outside stroke is a cookie cutter from one SVG. The body is built again where it stands; the Silhouette switch is in the sketch's Stroke panel too. An SVG with more than 2500 lines and curves, or one the CAD kernel builds differently from the drawing, still comes in as a mesh. The MCP bridge sets the fill with stroke and silhouette on layerling_update_object. Suggested by @AkiraNorthstar in #197.
  • SVG import and export read the right way round: An imported SVG lay mirrored top to bottom on the plate - lettering read upside down and backwards from above - and the SVG export of the top view was mirrored the same way, so a design exported and imported again looked right. Both now read as the top view shows the plate, the drawing's top at the back. An SVG in a design saved before keeps lying as it did.

layerling 1.56.2

Choose a tag to compare

@henmedia henmedia released this 10 Oct 06:24
  • Fillet and chamfer: Apply no longer hangs after the size field: Clicking into the size field and leaving it without a change - a click on its label is enough - threw the preview away as if the size had changed, but never computed a new one, so Apply kept spinning until the sharp-edge threshold was moved. Leaving a field unchanged now changes nothing. Reported by @trabtrading-design in #204.

layerling 1.56.1

Choose a tag to compare

@henmedia henmedia released this 09 Oct 22:46
  • Loose holes are cut on export: A hole left ungrouped was dropped from an STL, 3MF, OBJ or SVG export, though the view shades the cut and the STEP export already made it, so a part had to be grouped before every export. Now every visible hole that goes along is taken out of the bodies it reaches, as grouping would cut it; with a selection, only the selected holes count. The material estimate, the section SVG and the MCP bridge's layerling_export_section_svg count them the same way. Reported by @mobiusfix in #203.

layerling 1.56.0

Choose a tag to compare

@henmedia henmedia released this 09 Oct 22:37
  • No moiré under a workplane on the plate: A workplane put on the empty plate lies in the plate's own plane, and the two grids, slightly offset, made a flickering moiré. While a workplane lies flat on the plate, the plate now shows only its outline; a tilted or raised workplane keeps the plate's grid. Reported by @prmod3d in #178.
  • Corners and edges of the view cube: A click on a corner of the view cube now looks at the model diagonally from that corner, and a click near an edge looks from that edge, between two sides; the spot lights up under the pointer. Dragging the cube and the keys 1-6 work as before. The MCP bridge's layerling_capture_image takes the same views as faces joined with "-", like front-right-top. Suggested by @hlmodtech in #202.
  • Gears with involute teeth: New gears have involute teeth that mesh, set like a gear generator: number of teeth and module, which give the size (outside diameter module x (teeth + 2)), plus pressure angle (20° by default) and backlash for printing (0.2 mm per pair by default). Select two gears and the properties panel gives the centre distance they mesh at and how far apart they stand now, or says their modules differ. A helical gear's angle is then the true helix angle, so a pair meshes with the same angle, one positive and one negative; the bevel gear takes the same teeth, tapered, as an approximation. The exact body draws the flanks as smooth curves, so edges can be filleted. Older designs keep their straight teeth, now called "Simple", until the tooth shape is switched; the shape defaults in the settings take the tooth shape too. The MCP bridge takes gearProfile, gearPressureAngle and gearBacklash. Suggested by @prmod3d in #201.