Skip to content

Serpentine3D 0.7.3

Choose a tag to compare

@chisomobanzi chisomobanzi released this 01 Sep 11:12
· 43 commits to main since this release

Added

  • Sublayers. A layer can now live under another layer, as deep as you
    like. Walls holds Interior and Exterior, Exterior holds
    Cladding, and the layers panel draws each one indented under its
    parent with a triangle to open and close the branch. The button
    below the list makes a new layer under the one you have picked, and a
    layer can be dragged onto another to move it, along with everything
    under it. The button beside it takes the picked layer back out
    again, one level at a time, and a right-click on a row offers the same
    move by name ("Move out of Walls") along with "Move to the top level"
    for a layer buried deeper. Switching a parent off takes its whole branch
    off the screen and locking a parent locks the branch, while each layer
    keeps its own switch: a child under a switched-off parent reads greyed but
    is still set to on, so switching the parent back on brings the branch back
    the way you left it. Deleting a parent deletes the branch and moves the
    objects to Default. Requested by Lourenço Vaz Pinto.

  • The layer tree is on the API too. scene_info reports each layer's
    path and parent, plus shown, which is whether the branch above it
    lets it onto the screen as against the layer's own switch. The layers
    call takes a parent to make a sublayer with, and a layer can be named
    by its path, so an assistant asked to work on Walls::Interior no
    longer has to guess which Interior was meant. Same on the MCP server.

  • A layer tree is saved and loaded. Both .s3d and .3dm carry the
    tree. On the way out to Rhino a layer is written with its parent and
    with the visible and locked switches Rhino keeps for a layer of its own,
    so a branch you switched off there comes back switched off here.

  • Layers move up and down the list. Two arrows under the list move the
    picked layer, so the layers read in the order the drawing wants rather than
    the order they happened to be made in. A layer moves among its own siblings
    and takes its branch with it, so one press steps over a whole branch;
    several picked layers travel as a block and stop as a block at the end of
    the list; one press is one undo, and a press that can move nothing costs
    none. The order is written into both .s3d and .3dm, the Default layer
    included. Requested by Lourenço Vaz Pinto.

  • Layers can be dragged where they belong. Dropping a layer on another
    one has always put it inside; dropping it between two rows now moves it
    there, and dropping it above the first row or below the last takes it to
    either end. That is also the way back out of a branch: drag a sublayer into
    the gap between two top-level layers and it leaves the branch and lands in
    that gap. A line shows where the layer would land, indented to the level it
    would land at, so a drop beside a branch reads differently from a drop into
    it. The quarter of a row at each end means beside it and the half between
    them means inside it, rather than the two pixels Qt offers. Several layers
    dragged together land in the order they were in, and one drop is one undo.
    Requested by Lourenço Vaz Pinto.

Fixed

  • Walls::Interior and Roof::Interior no longer collide on import.
    Reading a .3dm looked only at a layer's own name, so two sublayers
    named the same under different parents landed on one layer and the
    objects of both were merged onto it. An imported layer is now matched by
    its full path, and the parents it hangs from are made as it goes, with
    the colour, print width and switches the file gives them. Reported by
    Lourenço Vaz Pinto.

Changed

  • The layer you draw on is chosen with a double-click. A single click
    on a layer's name used to make it the current layer, so clicking three
    layers in turn to switch them off left the last one current and the next
    curve landed there. A click now only picks the row; a double-click on
    the name says which layer to draw on. Renaming a layer, which that
    double-click used to do, is on the row's right-click menu, and the
    buttons under the list are grouped by what they do: the two that make a
    layer, the one that moves it, the one that deletes it. Reported by
    Lourenço Vaz Pinto.

  • The + button makes a layer beside the one you picked. It used to add a
    top-level layer at the bottom of the panel however deep the picked row was,
    so pressing it with a sublayer picked gave that layer an uncle rather than
    a sibling, nowhere near the row being looked at. The new layer now lands
    directly under the picked one, at the picked one's level: + makes a layer
    beside it, makes one inside it. With nothing picked it still goes at
    the end of the top level. Either button leaves the new row picked too, so a
    second press works from the layer just made and a name typed straight away
    lands on it. Reported by Lourenço Vaz Pinto.