Repository navigation
layerling 1.116.1
-
Opening a design from the server shows on its card (PR #976): A large design takes a few seconds to download, and nothing on the start page showed the click had landed, so people clicked again. While it opens, the card dims its picture under a turning circle and its line reads "Opening server design …"; further clicks, its menu and dragging wait until it is open, and an error frees the card again. Contributed by @foofoodog.
-
Groups and bundles tell themselves apart in the Objects panel (PR #974): A group or bundle shows the mark of the toolbar button that made it in front of its name, and the line under it reads "Group · 3 parts" or "Bundle · 3 parts", also after a rename (read from
groupOperation). A bundle's open button says "Edit bundle". Contributed by @AbhiRoutray21. -
A server folder for each user behind a proxy with sign-in, and downloads without filling the memory (PR #972): Behind an authenticating reverse proxy (Authelia, oauth2-proxy, Cloudflare Access, Basic Auth and the like), setting
LAYERLING_USER_HEADERto the header the proxy sends with the signed-in name gives every user their own store under.users/<user>/: designs, folders, exports and settings, in the Node route and instore.phpalike. It is off unless set and reads only that one header; a request without it gets the common store. Only safe when layerling is reached through the proxy alone, which the README and the Docker guide say. Opening a design from the server now streams the file instead of reading it whole into memory (createReadStreamin the Node route,fpassthruinstore.php). Tests insharedProjectsAuthIsolation.test.ts. Contributed by @foofoodog. -
Position from the middle or from the edges (#973): The position card has a switch Measured from: Centre / Edge, as the angle ruler measures from its corner or its middle. At Edge, X and Y show the body's left and front edges, taken from its real outline (also when it is turned), and a number typed there moves the body so that edge lands on it; Z stays its underside. The choice is kept in this browser with the cards (
useInspectorCard("positionAtEdge")inShapeInspector.tsx). A formula in X or Y is written for the middle, so at the edges the fields take plain numbers. Checked in the editor: a 40 x 20 mm box at X 10 shows -10 / -10 at its edges, typing 0 puts its middle at 20, turned by 90 degrees the edges follow its 20 mm side. Asked for by @willi1955. -
Hole pattern: narrow rectangles and slots close together, the rows apart (#975): The pattern had one spacing for both directions, so a hole 2 mm wide and 14 mm high with a 2 mm wall stood 16 mm from its neighbour in the row as well. A rectangle or slot now has its own Rows centre to centre (
rowSpacinginholePattern.ts): the spacing counts along the row and only has to clear the hole's width, the row spacing clears its height, and Wall between the holes sets both (holePatternMinRowSpacing). A staggered pattern also keeps two rows up clear. A pattern saved without a row spacing keeps its rows where its spacing put them.layerling_perforate_facetakesrowSpacingtoo. Checked in the editor: 2 x 14 mm with a 2 mm wall gives 4 mm and 16 mm, 19 holes on a 46 mm face. Reported by @willi1955. -
STEP files with several solids: every body and its colour (#830): A file can hold several bodies under one entry of its tree, the screws of a part say, and HOOPS Exchange writes them as surface models; such an entry came in as one part, so a stand of 390 bodies showed 85. Each solid, or each shell where an entry has no solid, is now a part of its own, numbered after the entry (
bodiesOfinstepAssemblyImport.ts). The colours the file gives its bodies (aSTYLED_ITEMon the body) come along too: the kernel's XCAF document leaves them out, sostepBodyColorsinstepColors.tsfollows them in the file's text from the product through its representations to the bodies, in their order. Colours on single faces are still not read. Tried with @ValSimDim's aquarium stand (390 parts in 5 s, each in its colour) and instepColors.test.tsandstepAssemblyImport.e2e.ts. -
A STEP export carries the colours as they show, no longer paler: The kernel takes a colour as linear light and writes it to the file as sRGB, so a part in #d12a2a came out as #ea7171 in another CAD program.
exportShapesToStepnow hands each colour over as linear light, unrounded, through the kernel's own XCAF document (stepColorForKernel; brepjs'sexportAssemblySTEPtakes only whole hex steps, which would shift dark colours by up to 6 steps). A part exported and read back keeps its colour exactly (stepAssemblyImport.e2e.ts). -
A design restored from a backup into the server store keeps its picture: With new designs on the server, as in the Docker version, a restored design was uploaded before its picture from the backup reached it, so the server's card stayed blank until the design was next saved from the editor. The picture now goes up with the design. Reported by Jürgen Keller by mail.