Repository navigation
layerling 1.92.0
-
A revolve can wind up as one continuous strand: A revolved sketch always turned its outline into closed rings, at most once round, so a filament spool or a coil came out as a stack of separate rings. A revolved body now has Pitch in its properties: how far it climbs per turn, in mm. Above 0 the outline winds up as a helix, one continuous strand, and Sweep becomes Turns, up to 200; a negative number winds left-handed. Every closed outline in the sketch becomes a strand of its own. A pitch of 0 gives rings again, and a revolve without a pitch is saved as before. A helix is built as a mesh, so Fillet, Chamfer and Hollow do not take it. Turns set closer than the outline is high melt into one body: the overlap is united in the plane before the outline is wound, so a solid spool core with a 2 mm pitch can be cut and bored and still exports closed. Besides that, French named Pitch "Emplacement" and Turns "Virages" (on threads and springs too); they are "Pas" and "Tours" now. Contributed by @rmpel.
-
Interactive Help leads to the setting you click, not to a long section (#424): A click on a setting in the Workspace settings led to "Grid and snapping", which described almost all the settings in one long paragraph, or to nothing: three settings were not in the guide at all (the angles of turned bodies, the overhang mark, saving a colour), and a field whose label holds its hint or its value (the Fast mode switch, the sliders, the colour buttons, the drop-down lists) got no answer. The guide now has a section for each group of settings under Appearance, Measurement, Workplane, Shape defaults and Saved history (in English and German), and "Choosing colours" for the colour card of a body, with the eyedropper and the HEX, RGB and HSL values of the browser's picker, the recently used colours and the pin that keeps a colour. The fields, sliders, colour buttons, the colour pickers and the list entries in the settings name themselves for the help. Reported by @prmod3d on GitHub.
-
Alt turns the selection frame around (#572): Holding Alt while a selection frame is dragged makes it work the other way round for that one drag. With "The direction of the frame decides" (#430) on, a frame dragged to the right then takes everything it touches and one dragged to the left only what lies completely inside; with it off, Alt takes only what lies completely inside, in either direction. The frame is drawn dashed while it takes what it touches and a direction or Alt makes that a choice. Described in the chapter Select and arrange (English and German; the other languages show the English text). Suggested by @prmod3d on GitHub.
-
An engraving wrapped around a cylinder cuts all the way through (#578): A logo wrapped inward ("Engraving") and taken out of a cylinder as a hole left a hair-thin skin of the wall standing over parts of the letters, and tiny loose pieces (the export reported 25 and 49 of them). The outside of the wrapped body lay exactly on the cylinder's wall; the cylinder is made of 96 flat facets, the wrapped body is cut every 2 degrees, so in places the hole ended up to 0.015 mm under the wall. The outside of an inward-wrapped body now reaches 0.05 mm beyond the given diameter (the inside stays where it was, the body is 0.05 mm thicker), and a solid copy stands 0.05 mm proud of the wall. Measured on the file of the report's design, rebuilt with text: of 2706 triangles of the logo's outer face, the cut left skin over about 110 before and none now (the cut's skin triangles fell from 1543 to 922). Not looked at on screen. Reported by @makinglayerschannel on GitHub.
-
The chamfillet on a cylinder sits at the foot (#570): A chamfillet on the bottom edge of a cylinder came out reversed: the fillet at the foot, the chamfer above it, and the rim of the top rounded as well. The treatment took the cylinder wall, left by the chamfer, for a new face, because it compared the wall at a point on the axis, which says nothing about a curved face. It now compares the wall at points on its own edges. The foot is a chamfer on the plate that blends into the wall, and the top is left alone.
-
An SVG whose shapes touch in a corner is imported whole (#584): In a traced picture two shapes often meet in a single point. The two bodies then shared an edge of four faces, the build was refused, and the import fell back to building shape by shape and left out the ones that did not close, so a picture came in smaller and without some of its parts. The outlines are now joined as flat areas first and a point where two of them meet is parted by a hair (0.01 units) before the body is extruded once.
-
The wheel in a size field stops at the lower limit (#576): The mouse wheel in a number field of the properties went on below the smallest size, into negative numbers: the body kept the limit of 0.01 mm, but the field showed the negative figure until it was left. The figure the wheel sets is now held at the field's lower limit (positions, which may be negative, are not held). Tried in the browser with a box: ten notches down stop at 1, five more at 0.01. Reported by @prmod3d on GitHub.
-
A very small body can be moved with a finger (#574): On a touch screen each handle catches a finger from 15 pixels around it. A body that is under about 80 pixels across on the screen was covered by those zones all over, so a touch on it grabbed a handle and resized the body instead of moving it. For such a body the wide zones are now left out and the handles are caught only on their own square, so the middle is free to drag. Tried with touch emulation in the browser: a 3 mm body loses the zones, a 60 mm body keeps them; not tried on an iPad. Reported by @grandmaofdragonz on GitHub.
-
Japanese can be typed into a text: Typing "ishi" with a Japanese IME into the Text field of a text or a name tag came out as "いsい" and could not be converted. The field committed every keystroke through the editor, for a name tag after an await, and was set back to the older text meanwhile, which cut the word being composed short. The field now keeps what is typed while it is being edited, and a word being composed (Japanese, Chinese, Korean) is committed once it is done.
-
The cut face of a see-through body is see-through (#575): The filled cut face of the section view (#516) was always drawn solid, so a transparent box showed an opaque face at the front. It follows the body now: a body set to transparent gets a cut face with the same opacity (0.4) and without writing depth. Not seen in a browser, the 3D view does not draw in the test window; the type check and the tests pass. Reported by @Elkniwt on GitHub.
-
The sketch's shape panel has its own place, pin and size (#577): The Shapes panel of the sketch and the one of the 3D editor were the same panel and saved their position, pin and size under one name, so moving or pinning one moved or pinned the other. The sketch now keeps its own (
layerling.sketch.shapeMenu*), and its edges and corners pull its size like the 3D editor's panel; narrow, only the pictures stay. Tried in the browser: size and pin of the sketch are stored apart from those of the 3D editor. Reported by @prmod3d on GitHub. -
The wheel in a number field: Hollow steps a whole millimetre, and the Sketch shape fields have it (#536): In the Hollow window the wall's range of a body of 40 mm runs to 19.6, and a range under 20 counted as a short one, so one notch changed the wall by a tenth, ten times less than in every other panel (Shift gave the whole number). A range of 8 or more counts as long now, so a notch is a whole unit there too. The two fields of the shape menu in sketch mode, Polygon sides and Star: inner size, had no wheel at all; they take it now: one notch is one, Shift ten. Reported by @prmod3d on GitHub.
-
Thin, small letters are no longer lost in the export (#585): A small flat text lost letters in an STL, 3MF or OBJ: measured with "Breakfast Point Men's Shed", 24 pieces at 86 mm wide and 10 mm high, but 23 at 0.4 mm high, 18 at 40 mm wide and 0.4 mm high, and 3 at 31 mm wide and 0.4 mm high. The export leaves out tiny loose pieces that a cut or the colour separation leaves behind (#352; a closed piece under half a cubic millimetre), and it applied that to every body, so the dot of an i, an apostrophe or a small letter in a thin text went with them. It now looks only at bodies that a cut, a merge of several bodies or the colour separation changed; a body they did not touch is written as it is. With the fix all 24 pieces are there in all nine sizes tried, in STL and in 3MF. Not tried in Bambu Studio itself, and a text that is cut by a hole or merged with another body can still lose a piece under that limit. Reported by @Keving1950.
-
A traced drawing no longer makes hundreds of thousands of triangles (#573): An imported SVG with very many curves - a traced drawing of about 900 curves, 60 mm wide - came out of the kernel as 353,000 triangles, so a few copies of it could not be joined: the limit for cutting and joining is 250,000. The kernel cut every tiny curve into pieces of at most 9 degrees, long after the 0.05 mm of accuracy was met. A sketch with more than 200 curves is now cut with an angle of 0.5 radians (about 29 degrees) and the same 0.05 mm: the drawing is 35,000 triangles, ten times fewer, and looks the same at that size. A sketch drawn by hand, with a few curves, keeps its fine pieces. The fineness is kept with the body, so that an edge treatment later does not cut it coarser. Reported by @shanni1783 on GitHub.
-
No offline promise where there is no service worker (#571): The card "Install layerling as an app" ("works without internet") and the "Works offline" tile of the start page appeared wherever the browser could in principle run a service worker, that is on any https address, but the service worker is written and registered only in the static export. The Docker image, a Node server, never has one, so behind https it promised offline use that did not work. Both now ask one place (
lib/offlineSupport.ts) first: static export, a secure address and a browser with service workers. Tried in a browser: the static export on localhost shows card and tile as before, the development server (not an export) shows neither. Reported by @foofoodog. -
The view cube can sit in any corner: Settings > Appearance has a new View cube position: Top left (as before, and the default), Top right, Bottom left or Bottom right. In any corner but the top left, the camera controls on the left move up into the spot the cube left. Bottom right puts the cube just above the snap grid control, and the snap menu still opens over it. While the properties of a shape are docked on the right, a cube on the right steps to the left of them. The corner is kept in this browser like the toolbar size, and a script in the page head sets it before the first paint, so the cube does not jump on load. The cube's styles moved out of
globals.cssintoviewCube.css. The guide (chapter 2) describes the setting in every language. A phone-wide window (640 px or less) has no room for another corner: the setting is hidden there and the cube stays in the top left, whatever was chosen; a wider window brings the chosen corner back. -
The History view says what the arrows undo and redo: Under the slider of the History view, a new row names the step the left arrow would undo ("Last step: Moved Box") and the one the right arrow would redo ("Next step: Grouped 2 objects into Group"), with "none" at the oldest and the newest state. The history keeps no name for the action behind a step, so the step is read from the difference between the two states, which also works for the history of a design saved before. It tells adding, deleting, duplicating ("Made 5 copies of Peg"), grouping, ungrouping, opening a group with Edit group and closing it, splitting, moving, turning, resizing, colour, hole or solid, renaming, mirroring, fillets, chamfers, hollowing and deleted faces, hiding, locking, notes, reference points and the workplane apart; whatever else changed reads "Changed Box". Opening a group for editing and closing it change the bodies just as ungrouping and grouping do, so they are told apart only within the session; in a history opened from a file they read as Ungrouped and Grouped. The sentences are in all 14 languages. The MCP action
layerling_set_history_viewreports both steps aslastStepandnextStep. The three History actions of the MCP bridge moved out of the editor intohistoryViewMcp.ts. Tried with unit tests built on the editor's own grouping; not yet tried in the browser. -
The video lists of the READMEs follow the shared list: The video list in README.md, README.de.md and README.nl.md was written by hand and had fallen behind (four of nine videos, one of them replaced since).
npm run videos:syncnow fills all three from the video chapter of the guide in their language, andnpm run videos:sync -- --discussiondoes the same for the first post of Discussion #296 (with--applyit writes it). A test checks that the READMEs equal the chapter and list the videos oflayerlingVideos.tsin the same order. No change in the app.