New Units | New Rails | New Shapes | New Features
This is the earliest set of Release Notes. I hadn’t kept any before now, but I will for all future versions.
Version 1.5.5 adds a much larger workspace, and improves dramatically on the Floor Plan drawing utility. It also features an overhaul of the Undo / Redo function, and a resulting rewrite of the methods used to lay out Objects in the Workspace.
To report a bug or request a feature, please Contact the developer
– Joker 1600
– Vista Single
– Reflector Board
– Bounce Boards: 4×8′ 4×4′ 2×4′ 2×2′
– Auto Pole: also known as “Pole Cat,” this wall-spreading device has a minimum length of 1m and a max length of 5.7m. It represents three possible sizes of Auto Pole, and will draw itself as whichever one fits best its stretched length.
– Metric Track and Truss: In previous versions, these Rails would only resize to imperial measurements. This version adds the ability to resize to the metric system, and draw its components accordingly.
– Distance Brackets: Stretch this Shape anywhere on your Floor Plan and see the corresponding distance displayed (even when you exit Floor Plan editing).
Zooming control for workspace
Since version 1.0, Lighting Designer’s workspace has remained at 2048x2048px, which, at a scale of 50px = 1ft, gives the user a roughly 41×41 foot square in which to create their Plot. With the addition of a UI similar to the drag-to-refresh tables found in many iOS apps, this 2048×2048 box can have its grid redrawn and its Objects resized to mimic a true zoom out, whenever a certain zoom-out or zoom-in threshold is reached.
The new grid displays numerical values for its divider lines, so that you can always tell how zoomed in you are, and where you’re located in your Plot. Additionally, if the axes aren’t visible, the numbers will float off them and remain at the edge of the screen, so you won’t lose your orientation on either the X or Y axis.
Animated Undo returns
To enable the zooming function to work correctly, the methods for positioning Objects needed to be rewritten more efficiently, particularly for creating and deleting Objects. This “accidentally” resulted in an easier implementation of animated Undo and Redo, which had become problematic in v1.5.0 with the addition of Shapes, and was eliminated. And as more helpful bug reports come in, I’m able to track down and eliminate bugs associated with Undo, and make even more actions undo-able.
The scale of the workspace has changed to 48px = 1ft or 160px = 1m:
Since the zoom function halves the resolution of the workspace each time it zooms out, the scale needed to be divisible by two several times while remaining an integer. The old scale, 50px = 1ft, was not, and the grid was unable to draw or label itself correctly past the second zoom stage. Switching to 48px fixed this.
This scale is 96px = 1ft and 320px = 1m on Retina Display devices.
Note: when you first launch Lighting Designer after this update, LD will automatically convert all your existing Objects’ coordinates to the new scale, as well as resizing all background images. In the future, please create images using the new scale.
Overhaul of Shape controls
When Shapes were first introduced to the Plot, their edges ran right up against the sides of their views, meaning a touch right on the edge had almost a 50% chance of not registering. In this version, Shapes have padding built into their edges, so any touch near the edge will almost always be recognized.
I’ve also gained a greater understanding of the manipulation of and conversion between coordinate spaces, which has allowed me to make Shape resizing completely accurate, even when the Shape is rotated. Line Shapes now snap their ends to other Shapes’ edges, and I’ve also added a feature for Shapes (and Rails) that allows you to rotate a selected one by performing a rotation gesture anywhere in the workspace.
In addition, the original Shapes used Quartz to draw their lines, which would result in slow performance as the Shape grew larger. In this version, Squares, Circles, and Stairs all use Core Graphics instead, which is a hardware-accelerated drawing engine, and means that even resizing the largest Shapes yields smooth performance.
And we all know the Shapes’ tiny buttons weren’t easy to tap, so I moved the Shapes’ controls down to the bottom, popping up when a Shape is selected (and even reflecting that Shape’s color). The UI was so handy, I used it to control Units and Rails when the workspace is zoomed out, and it’s likely I’ll use them as full-time controls in a future version, to make each Object’s view take up less memory and therefore allow the workspace to display more Objects without receiving a memory warning.
I’ve added a new control to Shapes: “Bring to Front.” Since v1.5.0 and the introduction of the Floor Plan, any manipulation of a Shape would cause it to jump to the front of the view, overlapping any other Shapes around it. Now, you can move and resize and rotate without this happening; instead, just tap the “Bring to Front” and “Send to Back” buttons to change the stack order of the Shapes.
Rails get new controls
Rails used to be transformed views that would simply stretch to a percentage of their default length (500px), but when Track and Truss were added, they looked blurrier as the Rail got longer, because of the lack of additional horizontal resolution. I’ve redone the Rail controls to resize the view, not just create that illusion of resizing (a CGAffineTransform, for anyone who knows), which makes the Track and Truss look much cleaner.
I also added anchor points on either end of the Rail, similar to their original appearance from v1.0, but this time they have actual significance. If you drag a Rail by either one of its anchors, you can stretch it from that end without moving the opposite end, and simultaneously rotate it around that other end. Track and Truss, of course, snap to 2′ increments always, but Speed Rail and Black Pipe resize freely. Rotation also snaps to 15° increments if Snap is enabled. As always, rigged Units will follow the Rail wherever it goes, except now, if the Unit is not targeting any Object, it will rotate with the Rail, rather than maintaining its angle. And Pinch still works the same way.
On top of this, I noticed that dragging Rails was slightly annoying because the center of the Rail would always snap to your touch. In this version, dragging the Rail simply moves it, no matter where you touch it.
Zoom button is simpler
I’ve tried a couple different combinations with the zoom button (magnifying glass), but I’ve arrived, finally, at the simplest. If nothing is selected, tapping the zoom button will zoom to view all the Objects in your Plot. If something is selected, tapping will zoom to it.