--==1.6d2 (11-June-2022)==--
Improved/Changed:
- Repacked 1.6d version to include newer shadow seed to prevent potential loading problems while using LDraw 2203 library.


--==1.6d (05-April-2020)==--
Fixed:
- [LDraw] Multiple prefix flags (~ _ =) no longer cause problems in category name determination.
- [Menus] The program will no longer crash when trying to open a view menu while there are no views open of that type.
- [GUI] Fixed (some/most) dialog layout issues most noticeable on Linux Mint. The remaining issues seem to be third party related.
- [Editing] Having a part open in the editor no longer causes zoom to fit issues for some (mostly redirected) parts.
- [Editing] Select all in nested mode now (again) includes all instances of submodels.
- [Editing] It is no longer possible to inline parts made out of primitives.
- [Editing] Inherited part snapping information will no longer fail to render when clear meta's are involved anywhere in the recursion tree.
- [Snapping] Snapping to cylinders with a length below 1.0 now works as expected.


Improved/Changed:
- [LDraw] The last mirror meta instead of the first one will now be applied when multiple ones are found in a library/shadow merged file.
- [Menu] Added the export menu (also) to the file menu.
- [Path] Lowered the minimal control point distance to 1.0 (used to be 5.0).
- [Export] Improved fake seam handling for the POV-Ray export.
- [Editing] The 'Select all during nested mode' warning message will now be shown at least once after program restart.


Added:
- [Snapping] Added corX, corY and corZ to the 'scale' property. These can be used to force certain kinda of flips which is particularly useful with left/right inheritance etc.
- [Metas] Added a new LDCad specific meta: "LDCad HINTS". It can be used to supply fake seam and or part bin orientation information.
- [GUI] Added an option to hide the main program title bar. Note: this doesn't seem to work on (all) Linux desktops though.
- [GUI] Added an 'exit' item in the file menu as there might noway to close the program when the new 'Hide title bar' option is enabled.
- [GUI] Added 3 alternative GUI templates donated by Miguel Reizinho.
- [Scripts] Added a Universal Joint helper macro to the global technic script.
- [Scripts] Added group and ghost meta tools to the global MLCad script.
- [Shadow] Added lots of snap and mirror info including most of the official 1901, 1902 and 1903 library update parts.


Known issues and limitations:
- [Files] Loading files from the root folder of a windows drive/share (e.g. D:\) might cause problems in regards of file list caching due to lack of valid timestamps for those locations.
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



--==1.6c (26-June-2019)==--
Fixed:
- [Config] The menu hot tracking state is no longer missing in main.cfg
- [LDraw] Textures no longer fail to load when they have spaces in their file name.
- [Hotkeys] ctrl+"plus sign" and ctrl+"minus sign" no longer fail to register.
- [GUI] The '&' character is no longer missing in hint text.
- [Menus] Fixed minor text and layout issues of the menu bar configuration dialog.
- [Menus] Menus no longer cause redraw events when menu hot tracking is disabled.
- [Editing] Copy no longer always includes all instances of submodels, it now only includes the ones actually selected.
- [Editing] Added missing hotkey for the properties item in the select menu.
- [Editing] The "Session/detach this subfile" will no longer cause missing parts in dependencies when the newly detached file is closed.
- [Editing] Closing files will now correctly restore the last used submodel instead of always returning to the main model of the last used submodel's file.
- [Editing] The selection embed feature no longer deletes all non positional items during nested mode.
- [Part snapping] Axles no longer snap to smaller pen holes when both objects are cylindrical.
- [Animation] Hidden and buffer exchange related content is now (also) rendered correctly during animation mode.
- [Animation] Generated parts no longer fail to reset to their original state in certain circumstances at the end of playback.
- [Scripting] session::get/setStepNr and subfile::getStepCount will no longer crash the program when used unlinked.
- [Scripting] aniTools gearDepAction no longer applies the given gears ration correctly (it used to swap them around).
- [Scripting] Macro menu content will now correctly update when new macro's are added in run events.
- [Scripting] Changing colors (back) to their original color now works as expected during animations.
- [Path] Overlapping circle guidance points can no longer cause a potentially fatal division by zero error.
- [Templates] Templates no longer ignore the default sync name option.
- [Shadow] Fixed / tweaked multiple parts with minor snapping and or mirroring issues.


Improved/Changed:
- [Scripting] Upgraded lua to version 5.3.5.
- [Scripting] Due to changes and extensions the api version has been changed to 5.
- [LDraw] Library locations are now filtered by extension (configurable in main.cfg) to prevent texture files to show up in the part bin as empty parts.
- [LDraw] Libraries zipped using a mac computer will no longer fail to populate the part bin. (The __MACOSX folder is now ignored)
- [LDraw] A warning will now be issued when trying to save a file using a non standard LDraw file extension.
- [LDraw] Colors now use hex notation when numbered >=0x02000000 (used to be >=1024).
- [Hotkeys] Replaced the "sample" label with a button in the hotkey config dialog. This because the label didn't work in all Linux variants making changing hotkeys impossible.
- [Hotkeys] Tweaked descriptions of dynamic features (e.g. the grid stepping items).
- [GUI] docked windows can no longer be closed when the lock docked windows option is enabled.
- [GUI] The info panel will now (also) show the path length using the chosen display units if it differs from 'mm'.
- [Editing] Copy now always uses the selection item order. This was needed to fix the above mentioned copy bug.
- [Editing] Added "Properties" to the edit menu.
- [Editing] Selection information now uses the current selection center as it's first point.
- [Scripting] The maximum execution time (maxExecTime in main.cfg) for scripts is no longer limited to 5..2000ms. Setting it to <=0 will result in no limitation at all, WARNING: this will hang the program if you (accidentally) create an infinite loop in your scripts.
- [Scripting] ldc.selection() now initializes linked to the current sessions selection.
- [Examples] Did a redirect ("~Moved" etc) clean up.
- [Templates] Capitalized and improved all descriptions.
- [Templates] Changed orientations of all templates to match similar official library parts.
- [Templates] Changed the flexible technic axle to allow for more practical use including snapping.
- [PartBin] Misc tweaks and cleanup.


Added:
- [LDraw] Textures are now also supported from within zipped libraries.
- [Scripting] Made the 'io' lua module available, this mend to be for normal file io only, so stdout, stdin and stderr are not supported and will appear to do 'nothing'.
- [Hotkeys] You can now assign hotkeys for the editor's zoom and panning control.
- [Path] Added "L" display unit.
- [Editing] Added "Exclude dynamic parts" to the nesting exclusions menu. This will exclude all path and spring parts from the nesting mode in one go.
- [PartBin] Added a basic export option. It will write the current content (name/descr/colID/colName/count) into a tab separated file.
- [Scripting] added getMainSubfile and getInsSubfile to the session object.
- [Scripting] added isPart, isRealPart, isColourPart, isShortCut, isModel, isGenerated, isOfficialPart, isMoved, isAliasPart, isMissing, isRedirectedPart, getDescription, getAuthor, getCategory and getLicense to the subfile object.
- [Scripting] added getGroupRef and isGroupRef to line object.
- [Scripting] added getSession to the selection object.
- [Scripting] added getLine and getLineCount to the selection object.
- [Scripting] added hasSameLink to all linkable objects.
- [Macros] added MLCad HIDE meta tools trough a new global mlcad.lua script.
- [Macros] added 'step content move' macros to steps.lua.
- [Templates] added 'flexible hose with 8mm ends', and missing 'flex-system'/pneumatic/shock spring oriented parts.
- [PartBin] Added duplo figures to the 'Figures' branche of sorted.
- [Shadow] Added shadow info for parts of 1701 and 1802 official LDraw libraries whom are visible in the sorted branch (except the "Other", "Colored", "Alias" and "Obsolete" groups).


Known issues and limitations:
- [Files] Loading files from the root folder of a windows drive/share (e.g. D:\) might cause problems in regards of file list caching due to lack of valid timestamps for those locations.
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



﻿--==1.6b (10-March-2018)==--
Fixed:
- [LDraw] Unknown !LDRAW_ORG qualifiers will no longer potentially crash the program during clean up and/or header editing activities.
- [LDraw] !TEXMAP structures using only start/end metas will no longer fail to render their normal (non "0 :") geometry when texturing is disabled or the needed image could not be found.
- [Rendering] Textured parts using the same image, but with mixed wrapping requirements will now render correctly.
- [Path] Fixed access violation issue during regenerating template content shown in the part bin while no editing session is open for the affected template.
- [Path] "Save as" will no longer cause missing fallback code under certain circumstances.
- [Editing] Undo of step insertion no longer fails to update the current step information.
- [Editing] Fixed undo issue when a single line is modified multiple times from inside a script.
- [Editing] Selecting all content using the same step(s) will no longer also select all step meta lines.
- [Editing] Copying a selection containing nested items will no longer fail to use absolute matrices.
- [Editing] Session detach will now also update the current working part if needed.
- [SourceWin] Follow step now acts as it should when adding new steps.
- [Scripting] subfile:addNewLine and vector:getDistance no longer return their results in the wrong order. (!!!Check your scripts!!!)
- [Scripting] Fixed numerous issues concerning subfile:moveLine, subfile:getStepLineInfo and subfile:getStepRefInfo
- [MirrorInfo] Counterpart mode "auto" will now work as expected when used in a meta. As a result auto left/right will no longer only work for parts without a mirror meta.
- [Export] Empty models will no longer cause parsing errors in POV-Ray.


Improved/Changed:
- [LDraw] Cylindrical !TEXMAP usage no longer depends on p3 being at a specific height (in releation to p1 p2) location.
- [PartBin] Dimension search (e.g. "2x4") now also works in overview groups.
- [PartBin] Tweaked many groups in the sorted branch.
- [PartBin] Multi word searches of the "AND" kind will now also find things when some of the words are e.g. in name and others are in e.g. keyword.
- [Menus] Added "duplicate" item to the editing menu.
- [Scripting] subfile:getRef, group:getRef, subfile:getLine, subfile:getRef, subfile:getGroup, subfile:moveLine, subfile:moveRef now cause an index out of bound runtime error when needed.
- [Scripting] subfile:getStepInfo no longer returns the wrong count for the last step in a model.
- [Scripting] subfile:deleteLine and subfile:deleteRef will now also accept reference objects.
- [Animation] Improved performance of animating path/spring content by only regenerating their meshes when things actually changed.
- [Export] Made some improvements to the POV-Ray export, mostly concerning transparent and textured parts.
- [Templates] Tweaked templates in response to library changes.
- [Templates] Pneumatic shortcuts are no longer part of the official template set, as they were incomplete. Use inline on official "complete" or "shortcut" parts instead. They will remain visible when upgrading a previous version though.
- [Scripts] Made tweaks/corrections to multiple sample/default scripts.
- [Shadow] Tweaked/fixed/added info for many parts.


Added:
- [LDraw] Added support for !LDRAW_ORG Flexible_Section qualifier.
- [PartBin] Added Duplo and electric sections to the sorted branch.
- [Shadow] Added shadow info for parts of 1701 and 1801 official LDraw libraries whom are visible in the sorted branch (except the "Other", "Colored", "Alias" and "Obsolete" groups).
- [Shadow] Added shadow info for all parts now visible in the sorted branch (except the "Other", "Colored", "Alias" and "Obsolete" groups).
- [Templates] Added templates for new chain treads, electric wires, Flex hose variants.
- [Scripts] Tweaked/extended samples.lua and steps.lua


Known issues and limitations:
- [Files] Loading files from the root folder of a windows drive/share (e.g. D:\) might cause problems in regards of file list caching due to lack of valid timestamps for those locations.
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



﻿--==1.6a (01-October-2017)==--
Fixed:
- [LDraw] Files with a single char "=", "_" or "~" description no longer generate categories of the same single character.
- [Menus] Clicking the "conditional edges method" option no longer also changes the "static edge color" option in the LDraw menu.
- [PartBin] Parts with category names existing only out of non filesystem characters (e.g. "=" or "?") will no longer cause problems in combination with part bin catList groups. (rare program freezes/crashes)
- [PartBin] catList groups no longer cause empty cells in higher groups when their first group is an (invisible) empty one.
- [PartBin] The excludes section of dirList part bin groups will no longer care about the folder separator used. '\' and '/' will now both work on Linux and Windows.
- [Editing] Fixed multiple issues regarding "Selection insert" from the stepping menu. It now works as expected in any (sub)model and no longer clears the selection.
- [Editing] Closing a file containing an auto group (e.g. pneumatic hoses) whom at time of closing is at group layer zero will no longer cause a program crash upon the next file close.
- [Path] The path point properties dialog no longer fails to apply the last entered position/orientation when the user presses the enter key directly after changing a cell.
- [Scripting] The aniTools module now includes the genTools module so it no longer depends on the using script to do so.
- [Shadow] Fixed/improved snap and mirror info for multiple parts.
- [POV-Ray] Exporting 'cropped' textures is now handled correctly.


Improved/Changed:
- [Rendering] LDraw textures now use mipmaps if the driver supports glGenerateMipmap.
- [GUI] Increased the margin for window resizing as it was especially hard to resize an undocked window on some Linux desktops.
- [ColorBin] Transparent colors will now be rendered 'checkered' in the history bar of color bin windows.
- [ColorBin] Color numbers above 1024 will now be shown using hexadecimal notation, this was previously only done for >=FFFFFF.
- [Editing] "Selection insert" now supports alternative insertion targets.
- [Templates] Tweaked the minifig chain templates for better link spreading/filling.
- [POV-Ray] Parts using textures will no longer cause a parsing error when they are used with a color 16 reference unless the resulting script actually tries to use it.
- [Shadow] Did some generic cleanup/tweaking.


Added:
- [ColorBin] You can now directly enter a color number to use as the working color by typing it followed by pressing enter while the mouse is over the working color caption in a color bin window. You can also click the caption to open a simple input dialog.
- [Templates] Added "Power functions 2", "Power functions sensor", "Power functions E-Motor" and "Minifig chain with studs" templates.
- [Shadow] Added info for a handful of parts (incl Power functions 2).


Known issues and limitations:
- [Files] Loading files from the root folder of a windows drive/share (e.g. D:\) might cause problems in regards of file list caching due to lack of valid timestamps for those locations.
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



﻿--==1.6 (13-June-2017)==--
Fixed:
- [LDraw] MPD model containing part level geometry will no longer crash the program if it also references dynamic (path/spring) parts.
- [LDraw] The PATH_SKIN meta will no longer cause a program crash when present in a non dynamic part during part editing mode.
- [LDraw] a missing or malformed first "0 FILE " line in a multi model MPD will no longer cause problems, a new one will be added automatically.
- [LDraw] Fixed multiple situations of 'file changed' state loss, causing potential loss of progress upon closing a file.
- [LDraw] MIRROR meta inheritance is now re-evaluated upon related part changes..
- [LDraw] Fixed group local ID corruption, noticeable by very high numbers for the LID and ID properties. This bug could also, in rare cases, potentially crash the program during loading of files using grouping.
- [SourceWin] Disabled/invisible line indication is now correctly updated after mutations.
- [GUI] Hotkey dialog is no longer empty in the Linux version.
- [Rendering] Textures are no longer missing for certain textured parts when used transparent.
- [Editing] Mutating a group containing items from a different subfile no longer 'jumps' after accepting a property dialog's changes.
- [Editing] Compass hot spots are now at the correct location during 2D view mode.
- [Scripting] getPosOri of the group object now (also) works as expected when used within a macro.
- [Scripting] Operator driven matrix multiplications , e.g. a=b*c, where one of the components (b or c) is an up to so far unused matrix object no longer always results in an identity matrix.
- [Templates] Corrected the colors of the power function light cables.
- [Shadow] Corrected snap and / or mirroring info for multiple files.
- [Examples] Fixed rear wheel universal joint placement (link part is no longer skewed).


Improved/Changed:
- [Misc] Upgraded the windows build platform to use GCC 6.3 resulting in slightly smaller executables.
- [Source] Resolved all warnings issued by GCC 6.3.
- [Groups] The active layer is now applied recursively.
- [Groups] Local ID's will now automatically be renumbered when they seem unnecessary high during loading.
- [Editing] Changed the 'Parts only' (def unchecked) option in the mirroring dialog to 'Include submodels' (def unchecked) as mirroring of models is very unreliable due to missing missing mirroring meta's.
- [Rendering] Added a 'Dual sided transparency' option to the LDraw rendering options. This might improve rendering of certain (especially textured) parts.
- [Scripting] Added invert() and getInverted() to the vector object.
- [Scripting] Changed the joint construction method of the aniTools module to be more logical, this is NOT backwards compatible. Any animations using aniTools joints needs to be corrected.
- [Examples] Adjusted the 8860 animation for use with the changed aniTools module.


Added:
- [PartBin] Added technic Linear actuators group to the sorted branch.
- [Editing] Added selection statistics to the document information panel.
- [Examples] Added animated 8852 example.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



﻿--==1.6 Beta 2a (15-March-2017)==--
Fixed:
- [Editing] Accepting the header dialog for a generated part (path/spring) no longer potentially crashes the program.


Improved/Changed:
- [Misc] Spelling fixes in hints, pov and lua scripts.
- [Misc] Changed some hints so they are more generic when used in the hotkey dialog.
- [GUI] Added vertical separation after undo/redo buttons to the default toolbar.
- [GUI] Changed some stray "ok" buttons into "Accept" ones.
- [ColorBin] Changed the default undocked window size.
- [Editing] The compass now always shows the x,y,z stepping in the left top corner no matter which editing plane is active.


Added:
- [OpenGL] It is now possible to try and force a certain OpenGL profile (e.g. 3.0) using the new main.cfg reqVersion option in the rendering section.
- [Examples] Added animated 8860 Model.
- [Shadow] Added missing snap/mirror info for parts in the "Arch", "Arm" and "Container" categories. Also removed "~Moved" dependencies.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Editing] Layered groups are still experimental.



﻿--==1.6 Beta 2 (26-February-2017)==--
Fixed:
- [Config] fixed a potential program crash when using a LDCad.cfg with a malformed 'websites' section.
- [Config] Hotkeys assigned to macros are now correctly kept after a program restart.
- [GUI] Submenus with an hotkey now also state those in other menus.
- [Path] Dynamic donor placement has been removed as it contains a non fixable bug/design flaw which results in wrong orientated segments on 'S' curves. Existing path content configured for dynamic placement will use static placement instead.
- [Path] Animating a path no longer causes a 'file has been changed' state when no other 'real' changes were made.
- [Paths/Springs] Submeshes (again) no longer use spaces in their names.
- [Editing] Mutating dynamic parts in nested mode no longer causes unwanted zoom resets when the step rotation option is enabled.
- [Editing] The 'nag' message for saving parts using both a compressed shadow- and main library now contains the correct information.
- [Editing] Region select no longer acts weird when looking (almost) perpendicular upon the selection.
- [Editing] Embedding parts loaded from outside a library location now works as expected.
- [Editing] The 'info' state label inside the session panel now correctly displays the actual info icon state.
- [Editing] Using an external part/model file in a model followed by removing it again will no longer cause the referenced file to immediatenly reload upon closing it.
- [Editing] 45 degree rotations using the keyboard hotkeys now works as expected during part placement.
- [Editing] The active rotation step now changes to the next available one when it has been removed using the grid dialog. (preventing the rare possibility of an access violation)
- [Editing] Both move and rotation step management dialog will now mandate the presence of at least one step, as none could trigger weird unexpected behaviour.
- [Editing] It is no longer possible to (re)select just deleted parts if the mouse is above those parts and hasn't been moved since their deletion.
- [Scripting] refLine::getColor no longer returns a boolean instead of a number.
- [Scripting] vector:setComp no longer uses the given component index as its value too.
- [Scripting] Fixed some bugs in aniTools.lua, no need to sum them here as the whole module has been revised (see below).
- [Scripting] It is no longer possible to reload script files while a script is in mid execution (e.g. during an open scripted dialog) as this would cause an access violation in the old situation..
- [Export] Pearl colors no longer cause parsing problems in POV-Ray exports.
- [Export] OpenGL png export no longer uses the wrong aspect ration corrections. (It switched when to use width or height based corrections).
- [SnapInfo] Made misc corrections


Improved/Changed:
- [PartBin[ Part bin groups using sorting now do so in the 'natural' way, meaning it will list 5 before 20 in similar named items.
- [Editing] The 'save changes' confirm now supports yes/no 'for all' when holding down the shift key while clicking the wanted action.
- [Editing] Tweaked the compass visuals, it now contains a relative grid state indication.
- [Editing] The session panel 'buffer exchange' and 'info' state options are now also available for the 'view' mode.
- [Editing] The duplicate delete action has been removed.
- [Editing] Parts using subpart (e.g. s\*) references will no longer be inlined.
- [Editing] Added 'optional' note to the OMR set name prefix value as it isn't required by the spec.
- [Editing] Added selection based copy/paste options to the selection pos/ori based property dialogs.
- [GUI] The session, script, macros, animation and examples menus will now also use natural sorting (see partBin changes).
- [GUI] The examples menu now indicates if a model has an associated script.
- [GUI] Changed the right click open menu behaviour in animation oriented contexts.
- [Scripting] dialog message and caption parameters will now also accept numbers.
- [Scripting] Implemented the camera:setMode function for advanced, first person, third person switches. Switching from two point to anything other the advanced is still not supported though.
- [Scripting] Reworked the aniTools.lua module, it is much dynamic now and supports state depended mechanics.
- [Animation] The interval is now preserved time based, if possible, between FPS changes. It used to be frame number depend which was very confusing in practice.
- [Animation] You can now optionally suppress all animated camera changes during playback from the session panel.
- [Export] Tweaked the default POV-Ray export colors.pov script for better transparency and less reflection.
- [Export] POV-Ray export now offers a FOV correction to help replicate the framing as seen inside LDCad during preview.


Added:
- [Config] Added defLib variable to the 'defaults' section of LDCad.cfg.
- [GUI] main.gui can now reload/apply its color section without having to restart the program. The file is also added to the file monitoring system. Do note the fonts section will not be reapplied any changes in that still need a program restart.
- [Editing] The aspect ratio of an intended export can now be previewed in editing views throught the new export menu.
- [Editing] You can now zoom the editing area using ctrl+space
- [Scripting] Added access to the current working part and color through the new colorBin and partBin userdata objects.
- [Scripting] Added basic access to the snapinfo through the subfile and new snapInfo usedata objects.
- [Scripting] Extended the fileLine userdata object with linetype identifier functions.
- [Scripting] Added building step control access through the subfile and session userdata objects.
- [Scripting] Add clear function for use with print in order to clear the console output area.
- [Scripting] Added clipboard io support as ldc module toplevel functions.
- [Scripting] Added templates which can be used, from the subfile header dialog, to get a quick start situation when creating a new script for a model.
- [Scripting] Added a genTools module containing some handy (wrapper) functions often needed during animation/macro scripting.
- [Animation] You can now apply the scripted camera state to the active editing view.
- [Macros] Added a 'Current camera' macro to the misc script. This will put the current view camera onto the clipboard using a selectable format.
- [Export] POV-Ray export's now offer a 'fake seams' option (enabled by default). This will create seams by uniformly scaling all parts slightly.
- [HotkeyDlg] Added a 'sample' area, duplicate hotkey indication, a subgroup column and additional reset/default buttons to the hotkey management dialog.
- [ShadowLib] Added/corrected snap and mirror info for all 2016-02 library parts in the main sorted subtree.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Editing] Layered groups are still experimental.



﻿--==1.6 Beta 1a (23-December-2016)==--
Fixed:
- [Editing] Fixed potential program crash while using the editing pin in rotation mode.
- [Editing] Using the 22.5 degree stepping will no longer result in 22 deg usage when applied.
- [Scripts] The "add wall" sample macro no longer uses the given counts wrong.


Improved/Changed:
- None


Added:
- None


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Editing] Layered groups are still experimental.



﻿--==1.6 Beta 1 (22-December-2016)==--
Fixed:
- [Misc] Recursive file monitoring events are now blocked, preventing hang behavior in certain circumstances (especially while running the windows exe under WINE)
- [Misc] Made additional tweaks to prevent possible file monitoring problems in Linux versions.
- [MenuBar] The button separation line will no longer highlight when it's under the mouse cursor.
- [Path] 'New path part' no longer starts a plain part session.
- [Path] The skin donor inline option now also works correctly for CW donor parts (e.g. 166.dat).
- [Path] Fallback credits of embedded donor files will no longer list wrong file names.
- [Path] Deleting length parameters from the path properties dialog now actually removes the affected meta lines upon accepting the changes.
- [Springs] 'New spring part' no longer starts a path part session which prevented making spring parts from scratch.
- [SourceWindow] Hot tracking option is no longer influenced by the program caption bar abs/rel filename state.
- [PartBin] The 'all dependencies' overview group no longer fails to list recursive content.
- [PartBin] dirList groups will no longer fail to load their sub contents the first time if they are dynamic (e.g. a filter group).
- [Editing] Manually reloading a file no longer causes a program crash in some cases when done directly after an external file change event for the same file or one of its dependencies.
- [Editing] Embedded parts are no longer ignored when using mass selection tools.
- [Editing] Shortcut parts are now also editable when part editing is enabled.
- [Editing] External changes to shadow files will no longer break snap info rendering in an open session for that file.
- [Editing] Snap include metas will no longer use a wrong editing rectangle in 2D views after being rotated,
- [Editing] 'Select same step(s)' will no longer include the previous step's meta.
- [Editing] Restored the nesting exclusion functionality.
- [Editing] The program will no longer crash when a file is closed after selecting some part in it directly followed by adding that same part (by e.g using the ins key) in another model.
- [Scripting] view:getCamera will now correctly sample the views rotation instead of resetting it.
- [SnapInfo] Corrected misc parts.


Improved/Changed:
- [Misc] Upgraded all dependencies to their latest (usable) versions on all platforms: boost 1.64, glew 2.0, freeype 2.7, lua 5.3.3 and wxWidgets 3.0.2 (Linux only as 3.1 gives gl problems, Windows version uses 3.1.0 since 1.6 alpha)
- [Misc] Changed the license to include educational use, allow for customized versions and widen the rules concerning selling made stuff.
- [Misc] The Windows version of LDCad is now fully compatible with WINE (tested using the Linux implementation of WINE).
- [LDraw] Made file monitoring options trough the new main.cfg option "useFileMon" in the "envMan" section.
- [GUI] Submenu items will no longer print a square character if the used font misses the 'right triangle' unicode character. In such cases the '>' character will be used instead.
- [GUI] Alternative GUI templates will now automatically use the default template as a fallback when certain images could not be found. This way custom templates can concentrate on the differences without having to worry about syncing the remaining content with the default set.
- [Hotkeys] Moved session navigation actions from the 'edit window' group to the 'edit session' group.
- [Scripting] False file change events for loaded lua scripts are now ignored.
- [Scripting] Macro names must now be unique within a file.
- [Scripting] Changed the camera object (not backwards compatible with the alpha version!)
- [Scripting] Moved global scripts into 'global' subfolder.
- [Scripting] Reorganized the default (global) scripts.
- [Scripting] ldc.animation() now links to the current animation by default.
- [Scripting] group:getRefCount() and subfile:getRefCount() now accepts an optional string to retrieve the usage count of a specific part reference.
- [Mirroring] Extended the mirror info meta to deal with inheritance and an alternative mirror center.
- [SourceWindow] Clicks on the scrollbar outside its button are no longer ignored during a paste action.
- [PartBin] Added 'exclude' section option to dirList groups.
- [Editing] It is now possible to change the editing plane during animation mode.
- [Editing] Changed the default FOV from 75 to 45 degrees.
- [Editing] Altered the file cleanup 'remove subfiles' options. 'ALl non used' has been removed and items relating to embedded content have been added.
- [Editing] Moved the absolute grid movements key actions to the edit session hotkey group, also added similar actions for rotation and selection center manipulations.
- [Editing] Hidden (ghosted/buffer exchange) items in a selection will now also trigger the display of the 'Selection contains invisible items' label.
- [Editing] Modified the behavior of hide on a selection (made using a source window) containing hidden items. It will no longer undo the hide of currently invisible items. This can now be done through the  new 'Unhide selection' feature (bound to shift+h by default).
- [Export] Changed the OpenGL export settings (dialogs) to be in sync with the slightly different (template/fps control etc) approach as used in the new POV-Ray export.


Added:
- [LDraw] Added support for the "0 UNOFFICIAL SHORTCUT" and "0 OFFICIAL SHORTCUT" meta.
- [GUI] The active GUI template can now be chosen trough the prefs/gui menu.
- [Hotkeys] It is now possible to use the ALT key when defining hotkeys.
- [Hotkeys] It is now possible to assign hotkeys to menus.
- [MirrorInfo] Added mirror info for all parts in the sorted tree excluding ones only in the by category subtrees (e.g. coloured parts etc).
- [Scripting] Added support for modules, modules will searched for in the 'modules' subfolder of folders located in the scripts root location (e.g. the default 'scripts/default/modules').
- [Scripting] Added the aniTools module script which is intended to ease animated story telling.
- [Scripting] Added the ldc.light object.
- [Scripting] Added some new default macros.
- [Editing] It is now possible to add non integer grid and rotation steppings. For rotations only .5 is allowed and the steps must be able to sum up to 360. Also added a 22.5 rotation step as part of the default set.
- [Export] Added POV-Ray export for views and animations.
- [Templates] Added templates for power function lights wire and brick.
- [Templates] Added LQ power function templates and divided the power functions group into HQ and LQ variant subgroups.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Editing] Layered groups are still experimental.



--==1.6 Alpha 4 (06-August-2016)==--
Fixed:
- [LDraw] Fixed numerous file type meta handling issues resulting from the Alpha 3 rewrite.
- [LDraw] '~Moved to' parts are now correctly identified as redirected parts.
- [LDraw] The !CMDLINE meta is no longer inserted at the wrong place in certain situations.
- [LDraw] Group def metas are no longer placed at the wrong place when used in completely empty files.
- [Hotkeys] Fixed some main.hkc file io issues.
- [Hotkeys] Reset all/current group(s) button actions are no longer switched.
- [FileChanges] Closing the program while not in focus will no longer crash the program if external file changes were pending.
- [Color/Partbin] View tab hints are now correct in all bin windows no matter which one was used last.
- [Editing] Selecting all parts identical to the current working part no longer fails if the last work var change was caused by a part bin cell select.
- [Editing] Restored ctrl+shift+rb behavior (the new region select handling prevented it).
- [Editing] 'DYNHP' toggles once again apply their new setting immediately.
- [Editing] Deleting multiple subfiles from a file will no longer cause a program crash in certain situations.
- [Editing] Changing the main selection item (shift+ctrl+lb) will no longer corrupt the selections custom center if one was active.
- [Editing] Undoing a part change after an external file change reload will no longer crash the program if the reloaded file was the originally used part.
- [Editing] Adding history information using the header dialog will no longer fail to save if no existing history was present to start with.
- [Scripts] matrix:mulOriAB and matrix:mulOriBA will no longer reset the matrix' positional information.
- [GUI] Tweaked some of the default hotkeys as they caused different behavior in regards to the 1.5 version.
- [GUI] Step and session panels no longer fail to apply transparency if so dictated by main.gui.
- [GUI] Fixed the scripts menu sorting.
- [GUI] Fixed some alignment issues in the subfile header dialog.
- [GUI] Having a pinned down file menu will no longer cause a program hang when opening/starting a (new)file.
- [ShadowLib] Made minor corrections to a handful of parts.


Improved/Changed:
- [GUI] Tweaked some menus and added a 'submenu' indication.
- [GUI] Tweaked the about box to make it more formal/general.
- [GUI] Changed the program icon (Green 2x2 brick) to a more neutral LDCad orientated one.
- [LDraw] Using 'save all' will now try to save files in order of dependency, ensuring correct reference names in all files involved.
- [Misc] Overview groups and the doc info panel are now BUFEXCHG aware.
- [Editing] It is no longer possible to change the editing plane while inserting/mutating parts. This was never meant to be possible and could cause minor problems.
- [Editing] Unknown (future) LDCad meta's are now also visible in the source window.
- [Editing] The step navigation menu will no longer close after choosing an active step number.
- [Editing] Zoom to fit will now only take the visible parts into account.
- [Editing] The doc info panel's will now update during step/session navigation when zoomed.
- [Editing] Using unhide(all) will no longer change the selection if one is active.
- [Path/Spring] Generated subparts will now base their headers upon their owner, this will also ensure OMR compliance when using the new file cleanup dialog.
- [ShadowLib] Removed 'snap' from all the file descriptions as shadow files can now also include mirroring information.


Added:
- [LDCad.cfg] Added customization options for use in alternative (Non LEGO oriented) LDCad packaging. this includes an alternative program title/icon and extending the website and disclaimers notes in the about dialog.
- [Editing] Added selection and whole subfile mirroring. This can be done along the (relative) x, y, or z axis. Most parts will mirror as expected but may will need additional information supplied through a shadow library.
- [Editing] Added experimental layered grouping. Using this makes it possible to create multiple overlapping group configurations without having to copy the model file. This feature is in usable order but not yet fully complete.
- [Editing] Added redirection solver. This can be used to remove all '~moved to', alias and coloured parts from the current selection by replacing them with their true (recursive) targets.
- [Editing] Added a file cleanup dialog which offers a number of mass mutation (embed parts, remove unused subfiles, force prefixes/author/license etc) options for use with MPD files. This dialog can also be used to prepare a MPD for LDraw.org's OMR site.
- [Editing] Added option to force the official LDraw header line order when using the header dialog. This feature is also available through the new file clean dialog.
- [Scripts] Creating a new lua script in the global scripts file location will now trigger an external file change event preventing the need to restart LDCad to load it.
- [Scripts] Global macros can now be assigned a hotkey.
- [ShadowLib] Added (experimental) mirroring info for a select number of parts.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



﻿--==1.6 Alpha 3b (08-July-2016)==--
Fixed:
- [LDraw] '0 Unofficial part' lines are correctly parsed again.
- [Editing] Copy (ctrl+c) in the editing area no longer occasionally cause a program crash.
- [Editing] Select all in same step(s) now (again) also works for parts in the last step.
- [ColorBin] (multiple) clicks on a text menu item while the GUI is not or little responsive will no longer occasionally crash the program.


Improved/Changed:
- [GUI] Tweaked the about dialog.


Added:
- None


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



﻿--==1.6 Alpha 3a (05-July-2016)==--
Fixed:
- [Editing] Restored template insertion, it no longer hangs or does seemingly nothing.


Improved/Changed:
- None


Added:
- None


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



﻿--==1.6 Alpha 3 (03-July-2016)==--
Fixed:
- [Code] Lua will no longer export the lowlevel api functions as if it were a DLL.
- [Path] First point orientation changes will now correctly trigger a regen.
- [LDraw] !LDRAW_ORG will no longer crash the program when an unknown type is used.
- [LDraw] The file description detection is once again limited to the first non white space comment line.
- [LDraw] !TEXMAP fallback content will now be correctly written/preserved.
- [LDraw] Deleting a subfile from a MPD will now correctly link alternative parts using the same name as the deleted item (though normal search order) if available.
- [LDraw] Alias parts will no longer crash the program when shadow content for them is available.
- [Editing] An absolute 3D grid move will no longer map the arrow keys.
- [Editing] Save as is no longer disabled for newly opened files without changes.
- [Editing] Save as no longer fails to write a file when used directly after saving the original file.
- [Editing] Select all parts in the same step(s) will no longer always select stuff in the first step.
- [Editing] Non editable (part) files now also have their nested and animation editing modes blocked.
- [Editing] Save all will no longer crashthe program when one or more files has changes and needed the confirm dialog.
- [Scripting] Setting the posOri of a group will no longer fail for non animation scripts.
- [Animation] Scripted camera changes are now included in exports.
- [SnapInfo] Corrected 99206.dat
- [SourceWin] !TEXMAP fallback content will now be shown correctly formatted.
- [SourceWin] The window will now correctly scroll to a newly appended step if follow step is enabled.


Improved/Changed:
- [Windows] Upgraded third party libraries to the latest versions including the minGW enviroment itself. [Upgrades for Linux will follow]
- [LDraw] !TEXMAP with a missing png will now use the fallback content instead of 'missing texture' picture.
- [LDraw] MSAA is now enabled by default.
- [LDraw] Rewrote the !LDRAW_ORG meta handling in order to improve support of unoffical variants and use of the alternative non !LDRAW_ORG format.
- [Gen] All hints now state their associated hotkey if assigned.
- [Menus] Slightly reorganized the step menu.
- [SourceWin] It is now possible to unhide the selection independent of the hiding order.
- [RegionSelect] Region select is much more mature / usable now. The near clipping plane control has been removed though.
- [Editing] Improved the 'move selection to new submodel' feature combined with part level content.
- [Editing] Anything in a MPD can now be opened through the part bins no matter settings like 'part editing' etc.
- [Editing] ~moved to content can now also be inlined.
- [Editing] Conflicting camera/step rotation situations will now trigger a warning.
- [GUI] Renamed 'Model' to 'Session' or 'subfile' across the program as LDCad now alows more and more non model level editing operations.
- [HotKeysDlg] Split the default button into two separate ones.


Added:
- [LDraw] LSynth metas will now be recognized, are editable and will be highlighted in the source window.
- [LDraw] LPub metas will now be recognized, are editable and will be highlighted in the source window.
- [LDraw] MLCAD metas will now be recognized, are editable and will be highlighted in the source window.
- [Editing] Selected unofficial content can now be embedded into the mpd through the new option in the 'reorganize menu'.
- [Editing] Selected embedded content can now be detached from the mpd through the new option in the 'reorganize menu'.
- [Editing] The current mpd subfile can now be detached from the mpd through a new option in the session menu.
- [Editing] Slightly reorganized the select menu and added Shortcut/Alias/Moved/Colored options.
- [Editing] Extended the header dialog to allow editing of all official LDraw.org header content. This includes new tab pages for the help and history blocks.
- [Windows] Added an (experimental) 64 bit version (archive only).


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



﻿--==1.6 Alpha 2a (08-May-2016)==--
Fixed:
- [PartBin] Fixed inventory file generation.


Improved/Changed:
- None


Added:
- None


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



--==1.6 Alpha 2 (08-May-2016)==--
Fixed:
- [GUI] Fixed the button filter in the menubar config dialog.
- [GUI] Fixed select center move hints (most noticeable in the hotkey config dialog).
- [Scripts] addNewLine operations are no longer excluded from undo.
- [Scripts] Using the selection lua object will no longer cause access violation problems later on.
- [Scripts] Some minor bugfix/adjustments to the tools.lua script.
- [Editing] Canceling an item drop will no longer leave the 'selection is invisible' label behind.
- [Editing] The LDCad marker part is now again useable in its temporary state.
- [Editing] Fixed selection center move hotkeys to mimic 1.5 behavior.


Improved/Changed:
- [GUI] Most hints will now show their associated hotkey. (more pending).
- [PartBin] Added icons for the newly supported meta's.
- [Editing] Selecting something without a color (e.g. a step meta) will no longer change the working color to 16.
- [Editing] Using the arrow keys etc will no longer complain about missing positional information when nothing is selected.
- [SourceWin] Hidden items are now selectable in the source window.


Added:
- [LDraw] Added support for the BUFEXCHG (buffer exchange) meta. Including visualization through the source window. The meta is only processed for models though.
- [Editing] Added experimental region select using CTRL+RMB. It's a 3D box, you can adjust the far/near clipping plane using the (shift+) mouse wheel.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



﻿--==1.6 Alpha 1 (30-April-2016)==--
Fixed:
- [GUI] Opening a new window now uses the mouse position correctly for its initial position.
- [GUI] Fixed misc refreshment issues when using a pinned down menu while switching window/views.
- [GUI] Right mouse clicks to open a menu will no longer fail to update active window.
- [Rendering] LDraw TEXMAP parts will no longer render wrong on OpenGL implementations demanding power of two sized textures.
- [Path] Quad validation during loading now uses the same restrains as the generator preventing some generated quads to be deemed 'non flat' during next file load.
- [Springs] Fixed conditional lines between sections.
- [Scripts] Changing the script for a model already associated with one will no longer crash the program.
- [Scripts] Assigning color 16 to a reference will no longer crash/hang the program.
- [Scripts] group:getRef() using an out of range index will no longer crash the program.
- [Scripts] Strings are no longer used as integers when e.g. '1234' is given as a parameter.
- [Scripts] ldc.group() or group:link() will no longer potentially hang / crash the program when used with the recursive option.
- [Scripts] ldc.subfile('someModel.ldr') will no longer result in an unlinked subfile if the 'someModel.ldr' is the editing sessions main model.
- [Scripts] vector:getSignedAngle() no longer returns wrong angles when the supplied vectors are not located on the plane the normal indicates.
- [PartBin] Remove favorite now works as it should.
- [Scripts] matrix:getInvertedPos and matrix:getInvertedOri results are no longer switched.
- [Editing] Inlining multiple items now applies the colors correctly for all items instead of just the first one.
- [Editing] Trackball rotation will no longer make the model disappear in certain situations where the mouse left the program window while rotating.
- [Editing] Double clicking an item in the missing files dialog will no longer crash the program.
- [Editing] The selection is no longer rendered at a wrong/different location in editing views while working with it in the source window.
- [Editing] Canceling a selection cloning action now also correctly update the source window.
- [Editing] Inserting a template will no longer always add it to the last step but to the current one like expected.
- [Editing] Moving a selection to a new submodel will now place the reference to that new model at the same location of the selection start.
- [Animations] Animation playback no longer fails to refresh some of the views while using split editor views.


Improved/Changed:
- [LDraw] You can now use a zip file without 'parts' and 'p' folders in it as an unofficial library. It will use the root of the zip as if it where 'parts'.
- [Menus] Moved the editing pin/rectangle status item to the editing settings menu.
- [Menus] Changed the keyboard interaction mode item into radio items so each item can be assigned a hotkey.
- [GUI] As a result of the internal changes made for dynamic hotkeys the menubar will reset to a new default when upgrading to 1.6 the first time on an existing setup.
- [Editing] Removed the edit view interaction after adding content using the source window as it might be very confusing in most cases.
- [Editing] Copy/paste while using the source window will no longer use the copy paste options. It will work with the clipboard on a one on one basis more closely to a normal text editor.
- [Editing] all stepping logics will now see STEP metas as the end indication of a step as the new ROTSTEP support demands this kind of behavior.
- [Editing] Dropping an external file into LDCad while nothing is open yet will now load it immediately.
- [Editing] Moving a selection to a submodel will now offer to create an unofficial part if the selection contains scaled references.
- [SourceWin] Improved the step follow option, it now tries to bring the entire step into view.
- [Scripts] Upgraded to lua 5.3
- [PartBin] Added an optional unofficial part indication to bin cells.


Added:
- [GUI] All hotkeys can now be changed and almost any menu item/general action can be assigned one if needed. Management is done using the new hotkey config dialog.
- [LDraw] Added full support of the ROTSTEP meta as an extension to the plain STEP one.
- [Scripting] Macro scrips can now be used to extend LDCad's functionality dynamically. Management/execution of scripted features are available through the new script menu.
- [Scripting] Added the ldc.macro object for registering macro scripts.
- [Scripting] Added the ldc.dialog object for scripted user interaction.
- [Scripting] Added the ldc.action object for scripted callbacks to any hotkey configurable feature.
- [Scripting] Added the ldc.camera object for view rotation interaction.
- [Scripting] Added the ldc.srcLine object for generic LDraw line interaction.
- [Scripting] Added the ldc.view object for access to an editing window.
- [Scripting] Added the ldc.selection object for access to a current selection.
- [Scripting] Extended the ldc.group, ldc.subfile, ldc.refLine object to work with the new srcLine and selection features.
- [Scripting] Extended the ldc.matrix and ldc.vector object with some lowlevel access functions which make it easier to manipulate e.g. part orientations etc.
- [Scripts] Added a collection of default macro scripts containing a samples and tools script.
- [Animations] Dynamic parts will now be regenerated during playback if needed.
- [Editing] Added a property editor for the step meta (CTRL+B for the current step) which can be used to switch between a normal and ROTSTEP meta or set the rotation angles in a convenient way.
- [Editing] Added an option (hotkey 'B', and also in the compass) to enable the rotation stepping information during building step navigation.
- [Editing] Added an option to the header dialog which controls when and if it is shown for new subfiles.
- [Editing] Added 'all off lib parts', 'all unoff lib parts' and 'all unofficial parts' itmes to the selection menu.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Path] Using circle points at 180 degrees difference to each other might result in a weird rendering after reloading the file using it. The circular points are not designed for this kind of usage, try using bezier points instead.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



--==1.5 (23-January-2016)==--
Fixed:
- [Seeds] Third party .sf (.zip) files no longer fail to deploy because directories are created as zero byte files.
- [GUI] Removed 1 line scroll from the model menu.
- [PartBin] Path based parts no longer omit their length in part bin cell hints when an editing session is open for the path.
- [PartBin] The "All dependencies" overview group no longer includes dependencies resulting from SNAP_INCL references.
- [PartBin] The step meta cell hint no longer includes the (2) step number.
- [Editor] Restored ctrl+shift+p (start editing pin resize) behavior.
- [Editor] A selection change while the mouse is on top of a selection info angle/distance/etc label will no longer potentially crash the program.
- [Examples] Corrected the pneumatic hose lengths to include the cap lengths for all hoses in the 8837 and 8843 models.


Improved/Changed:
- None


Added:
- [LDCad.cfg] Added the option to override a selection of internal defaults including the default grid stepping settings.
- [Rendering] Added MSAA (def 4x) antialias option for all LDraw rendering. As a result the 'use AA on edges' option has been replaced by a generic anti alias selection option.
- [SnapInfo] Added snap info for most of the new 2015-02 parts.
- [SnapInfo] Added snap info for the car en support category bin group content.

Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.5 Beta 2a (23-December-2015)==--
Fixed:
- [Editing] Paste no longer omits the last character of the last line.


Improved/Changed:
- None


Added:
- None


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Rendering] AA-ed edge lines will look ugly when using lots of transparent parts. I've chosen to ignore this as the cheap line AA will be replaced by e.g. MSAA in a (near) future version.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.5 Beta 2 (20-December-2015)==--
Fixed:
- [FileMonitoring, Linux only] File-monitoring no longer stops working after loading the LDraw color definition file on Linux.
- [GUI, Linux only] Floating windows will no longer fail to restore at the correct location on program start when the non maximized window is too small to contain them.
- [OpenGL] Fixed memory/resource leaks resulting from deleting a path or spring subfile from a mpd.
- [LDraw] Reference lines to missing content will no longer generate case mismatch warnings nor will the referenced case be changed upon save.
- [Metas] The GROUP meta no longer causes a (delayed) program crash during loading and or source window display.
- [PartSnapping] A small cylinder pen now snaps to a larger axle hole like it should.
- [Path] The displayed length in hints for path based parts now also includes the cap length corrections.
- [PartBin] Pageup/down now skip one less row when the group cell is visible to prevent skipping over the item otherwise displayed for that row.
- [Editing] Session panel animation page fps and length hot spots now again work like expected.
- [Editing] The 'Map keyboard insert part rotations to screen' can now be used as intended.
- [Editing] Canceling an insertion action no longer leaves the info panel visible.
- [Editing] It is no longer possible to (shadow) edit parts contained in an mpd.
- [Editing] Drag and drop of LDraw files into LDCad will no longer 'complain' about non existent invisible lines.
- [Editing] Using the 'end' key after deleting a model from the mpd will no longer crash the program.
- [Editing] Select same part now also works with invisible items (e.g. '0 GROUP' lines) like expected.
- [SourceWin] Shift select no longer fail to also select group dependencies.
- [SourceWin] Paste now correctly handle empty lines in between normal content. Trailing empty lines will be stripped though.
- [Templates] A template comtaining a FILE meta will no longer cause submodel tracking problems when in-lined.


Improved/Changed:
- [Metas] The comment meta now preservers leading spaces (indenting) as it should.
- [Bins] Clearing the favorites or history for part and color bins will now ask for confirmation.
- [Export] OpenGL export now offers a more dynamic way to override edge rendering behavior.
- [SourceWin] Added highlighting for all unknown '0 !' metas
- [Editing] Tweaked/improved the way the arrow keys are mapped to the view direction while rotating parts.
- [Templates] Improved the string studs rope template to use the new cap inline option in order to increase detail.
- [Templates] Tweaks the skin options for all LQ templates to make use of the new final placement option variant.
- [SnapInfo] Corrected/tweaked misc parts.


Added:
- [PartBin] It is now possible to search for e.g. the '2 x 4' brick by simply entering '1x4'. It does not matter how the numbers are spaced in the part's description.
- [Path/Spring] Added inline option to the CAP meta. It will try to inline a CAP reference but only if it hold no type 2..5 lines.
- [Path] Added a new 'final placement' option to the SKIN meta. It will allow for segment mergining while using static or dynamic placement with overlap.
- [Editing] shift+ctrl+F05 will now trigger a regen of all dynamic parts in the a mpd.
- [Editing] Added subfile duplicate tool to the model menu.
- [Templates] Added a LQ pneumatic hose template.
- [SnapInfo] Added misc donated (technic, mudguards, wheel rimms and some minifig related parts) snap info, thanks to Philippe Hurbain and Jason McReynolds.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Rendering] AA-ed edge lines will look ugly when using lots of transparent parts. I've chosen to ignore this as the cheap line AA will be replaced by e.g. MSAA in a (near) future version.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.5 Beta 1b (26-October-2015)==--
Fixed:
- [LDraw] Reloading a model, or opening it for the second time after closing it will no longer fail with a 'could not locate ..' message in the log.
- [Editing] Reloading a path/spring file/template no longer fails to initialize auto grouping if a session was open for the file.


Improved/Changed:
- [Editing] Part is no longer listed in the file 'new ..' and model 'Add new ..' dialogs.


Added:
- [Templates] Add string with studs template.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Rendering] AA-ed edge lines will look ugly when using lots of transparent parts. I've chosen to ignore this as the cheap line AA will be replaced by e.g. MSAA in a (near) future version.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.5 Beta 1a (25-October-2015)==--
Fixed:
- [WindowsSetup] Fixed the seeds location property name.
- [Config] Library path loading will no longer cause a crash when location is missing or an invalid / unknown one is specified.
- [LDraw] Improved circular reference detection (including shadow files)
- [LDraw] Header meta's are no longer added at the bottom of the file when none of the optional preceding meta's are present.
- [LDraw] Using a non existent zipped library will no longer crash the program when closed.
- [LDraw] Zipped library files will no longer fail to reopen their editing session when reloaded due to external changes.
- [LDraw] LDraw file saves will no longer fail silently.
- [LDraw] Recursively loaded LDraw model files will no longer (silently) fail to save their changes.
- [PartSnapping] The log will no longer complain about invalid grid settings for meta's not using their grid property.
- [PartSnapping] Clips no longer snap to capped cylinder sections of insufficient length.
- [PartSnapping] SNAP_GEN will now use rounding error prevention like all the other info does.
- [PartBin] Pressing 7, 8 or 9 while the mouse is not inside the filter region will no longer crash the application.
- [PartBin] "Set filter as default" now (again) works as expected.
- [PartBin] Cell mascots will no longer cause a program crash when navigating up in situations where the mascot's LDraw file has been reloaded since the cell's last rendering.
- [PartBin] Alias parts having shadow content will no longer potentially crash the program when rendered in a bin cell.
- [Editing] Removing a model which contains groups from the file will no longer crash the program.
- [Rendering] Fixed minor 'hot' part rendering issues while using the part editor.
- [Rendering] Using the bounding box selection indication no longer crashes the program while using 'invisible' items during part editing.
- [Compass] 2D move icons now work as expected in all orientations.
- [Misc] Made spelling corrections in log and misc dialog message's.
- [Misc] Fixed/addressed potential instability issues (e.g. occasional crashes during close down).


Improved/Changed:
- [SnapInfo] Made misc corrections (some resulting from the LDraw 2015-01 library changes).
- [SourceWindow] Improved follow selection combined with clicks on group members in the source window itself.
- [Editing] The relative grid can now also be set when non editable matrix lines (e.g. LDraw reference during part editing) are selected.
- [Editing] Improved 2D editing rectangle outlining for parts using SNAP_INCL.
- [Editing] When changes are made to a zipped library or shadow file a 'nag' message will be displayed upon trying to save it.
- [Editing] Bounding boxes will no longer be drawn for snap meta rendering while the bounding box selection indication option is active.


Added:
- [SnapInfo] Added snap info for 2015-01 library release parts whom are listed in one of the 'full info' part bin groups.
- [SnapInfo] Added misc donated snap info, thanks to Philippe Hurbain, Milan Vančura and Jason McReynolds.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Rendering] AA-ed edge lines will look ugly when using lots of transparent parts. I've chosen to ignore this as the cheap line AA will be replaced by e.g. MSAA in a (near) future version.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.5 Beta 1 (10-October-2015)==--
Fixed:
- [LDraw] Files opened using a sub folder reference (e.g. s\3001s01.dat) will no longer fail to detect external changes.
- [LDraw] LDCad meta property io will no longer use duplicate parameters when reading lines with (a) trailing space(s).
- [LDraw] Newly saved / renamed files are will no longer have miss / loose file monitoring.
- [GUI] Scrollbar buttons are no longer drawn outside their region when controling a high number of scrollable items.
- [Menus] The scrollbar 'hot rectangle' is no longer sometimes visible in menus without scrolling.
- [Menus] The file menu will no longer fail to updates its disabled items in certain situations.
- [SnapMetas] Fixed SNAP_GEN meta box/cube property io.
- [SnapMetas] SNAP_INCL now uses the grid as originally intended, as a result all affects shadow files have been corrected and are therefore not backwards compatible.
- [SnapMetas] Fixed the 'scale' property behavior, it now detects all unwanted situations as it was suposted to do.
- [SnapMetas] Parts using the SNAP_FGR meta no longer potentially crashes the program when using e.g. a MFM on a single M pattern.
- [SnapInfo] Fixed snapping info for multiple parts.
- [PartBin] It is again possible to type spaces in the filter field.
- [PartBin] History and favorite groups are no longer always empty after a fresh program start.
- [PartBin] Double clicks on dynamic group items (e.g. parts in current step) will no longer potentially crash the program.
- [PartBin] The filter text no longer fails to update between view changes in certain situations.
- [SourceWin] Fixed cause of a very rare potential crash.
- [SourceWin] copy/mul sel/duplicate actions now use the correct position and orientation when applied from the source window to a submodel while that submodel is not the current 'insert to' target.
- [SourceWin] Subbranches now also apply the current step background color when needed.
- [SourceWin] Multi selection actions no longer fail to apply the 'Follow selection' preference.
- [PathContent] The path length constrain delete button (in the header dialog) will now behave as expected and no longer potentially crash the program.
- [Editing] A model with multiple used submodels will now include all instances again.
- [Editing] All selection copy/duplicate actions during nested editing now use the correct inherited colors of parts originally using color 16.
- [Editing] Addressed a number of stability issues concerning selection handling.
- [Editing] ctrl+f5 (regenerate/refresh) now updates all editing views in all situations.
- [Editing] Ortho (2D) view orientations are now saved and restored correctly and no longer causing wrongly orientated compass cubes in certain situations.
- [Editing] A file close followed by 'end' (go to previous session) no longer crashes the program.
- [Editing] The author meta property dialog no longer fails to apply the author field changes.
- [Editing] selection duplicate (ctrl+d) no longer asks for 'click anywhere' when working with items without positional information.
- [Editing] Fixed missing hints for certain types of visual metas (e.g. markers).
- [Editing] Using cancel in the paste dialog now actually cancels the paste action instead of resetting it.
- [Editing] F5 (reload file) no longer just close the session when used on zipped library files.
- [Editing] It is no longer possible to hide non visual items.
- [Editing] Sessions no longer reset to the last (main.cfg) save state when reopening a session after first closing all (brings back the getting started window).
- [Export] Currently hidden parts are now also omitted in the OpenGL exports.


Improved/Changed:
- [Misc] Applied a number of internal cleanups and addressed some possible stability issues.
- [LDraw] The file/GUI IO decimal count is now configurable in main.cfg and is split into three categories. The default uses 3 digits for models, 6 digits for parts (including path/spring content) and 8 digits for part snapping meta's.
- [LDraw] Improved main/shadow meta handling in regards of warnings (e.g. false reports about duplicate AUTHOR lines).
- [Windows] The application icon is no longer loaded from disk in the Windows version, instead it is loaded from the exe resource.
- [PartBin] The overview groups are now sorted by file name instead of description.
- [PartBin] Improved overview item hints.
- [PartBin] Double clicking a colored item will now apply both the part and its color to the selection instead of just the part.
- [PartBin] Redesigned overview group filter rules to make it more logical / dynamic. This is not backwards compatible though, so be sure to update custom pbg files.
- [PartBin] The parts in current step no longer shows all parts recursivly, submodels are now displayed as a single item instead.
- [SnapMetas] Removed support for the 'scale' property from SNAP_INCL as it was currently not needed and so just causes unnecessary difficulties for the editing/implementation behavior of it all.
- [SnapMetas] Removed native SNAP_SPH support, and replaced all SNAP_SPH metas with the new SNAP_GEN replacement configuration in the default shadow library. SNAP_SPH will still be read though, but it will be automaticly upgraded to SNAP_GEN.
- [SnapInfo] Cleaned up all headers and added !LICENSE meta with a "Free for non commercial use" text inline with the LDCad license itself.
- [Editing] A copy is now done using the source line order instead of the selection clicking order.
- [Editing] A current editing view zoom swap using the space-bar is now only applied while the mouse is inside the editing area.
- [Editing] The positional info panel no longer ends up outside the view when using small views and or working at the right/bottom edges of them.
- [Editing] ctrl+w now closes the current file.
- [Editing] File close now offers to save changes.
- [Editing] Added load default in author, license and history property dialogs.
- [Editing] The 'use as default author' offering in the model header dialog now offers to an option to stop it from asking again. Also added a similar option for handling the default license text in the same dialog.
- [Menus] Added a 'close all' and 'close all unchanged files' item to the file menu.


Added:
- [SnapMetas] Extended the SNAP_GEN meta to optionally include the SNAP_SPH behavior. As a result the SNAP_SPH meta has been depreciated, it will be automatically upgraded to SNAP_GEN during file reads.
- [SnapMetas] Added Y-axis control to all meta's supporting the grid parameter.
- [Editing] Added a part editing mode for library files. At the moment this is highly targeted at shadow library / part snapping info editing though. It is also not intended for casual usage and therefore disabled by default.
- [Rendering] Added more detailed snap meta rendering for use during part editing. The old F11 snap info rendering will still be used in all other places.
- [PartBin] Added bin group for snap metas and low level LDraw (2..5) lines.
- [PartBin] Added parts being edited overview and full recursive (subpart) dependency overview groups.
- [SnapInfo] Added default information for the sorted/bodywork  fences, bars, doors, windscreens, windows, plane parts, and boat parts groups. Doors and windows aren't fully done yet frame/glass/door wise though.
- [SnapInfo] Added default information for the sorted/figures/minifig  hats/hair and accessories groups.
- [Examples] Added the 5563 model.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Rendering] AA-ed edge lines will look ugly when using lots of transparent parts. I've chosen to ignore this as the cheap line AA will be replaced by e.g. MSAA in a (near) future version.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.5 Alpha 4 (16-August-2015)==--
Fixed:
- [OpenGL] Fixed potential (crash) problem involving conditional line shader usage.
- [LDraw] The edit button in the LDraw configuration files dialog now acts like expected for 'auto' items.
- [LDraw] Restored the non zipped (csl) shadow locations feature.
- [Header dialog] Empty name meta tags are now also removed when no other changes where made to them.
- [PartBin] The group caption now shows the correct name while hovering over inactive view tabs even in horizontally orientated windows.
- [PartBin] 'Locate selection' will no longer crash the application when the item looked for is in the current part bin view's group.
- [Editing] It is no longer possible to use non top level MPD models in other files. Previous versions claimed it wasn't allowed but added the reference anyway after you closed the message.
- [Editing] Fixed path point insertion handling in regards to the last one (append/prefix decision handling).
- [Editing] copy/cut no longer fails to include grouped items.
- [Editing] Hidden items are no longer still selectable in the editing views under certain circumstances when working with the source window.
- [Editing] It is again possible to hide individual instances of multiple used submodels in all situations.
- [Editing] It is now longer possible to select a hidden item's reference in the source window.
- [Editing] Paste of e.g. a path point and cap will no longer use weird source insertion points.
- [Editing] Very short path parts (e.g. a 20mm pneumatic hose) will no longer potentially crash the program.
- [GUI] Changing the frame render method will no longer result in a partial rendered screen when going from e.g. 'normal' to 'fbo'.
- [GUI] Opening a file using file association or command line parameters no longer (potentially) causes the Getting started menu to be shown on top of the opened model.
- [LDCad.cfg] The seeds location is now processed correctly.


Improved/Changed:
- [System] Single instance protection will now be limited to the current user instead of being system wide.
- [LDraw] It is now possible to select the complete.zip as a library when running LDCad for the first time. It still offers only a folder browse dialog but LDCad will check the existence of complete.zip at that location and will use it if it's there. If both complete.zip and the p/parts folders are there a chooice will be presented to the user.
- [LDCad.cfg] Added a variable for the default zipped library name (complete.zip).
- [Header dialog] Empty license and category meta's will now also be removed.
- [Groups] File io will now retain the main item of a group even if it's not the first item one clicked during the initial selection.
- [Scripting] Externally changed scripts are now reloaded using the new change detection system / dialog as the result of LDraw files becoming external changes aware too.
- [PartBin] The filter text is now selected when opening the advanced filter dialog.
- [SourceWindow] Tweaked the multiline selection handling. add shift+lmb which acts like other software, ctrl+shift+lmb can still be used to extend/shrink selections.
- [Editing] Pressing the 'n' (nesting) button while a selection is present no longer also sets the insertion target (optionally after a nag screen). This means you can only change the insert to target with the 'n' key while already in nested mode.
- [Editing] Enabling nested mode through the session panel on a non mpd model now (also) presents the nag message you get when doing so using 'n'.
- [Editing] shift+end can now be used to switch to the main model of the selection.
- [Editing] ctrl+shift+end (during nested mode) can now be used to switch to the model the main item of the selection lives in.
- [Editing] Select all during nested mode now uses a nag message/warning pointing at the dangers of using all part selections in nested mode.
- [Export] Improved png filename generation for unsaved files.
- [Linux] The desktop entry file now uses a .png icon instead of the default .ico used for the dialogs.
- [Linux] Moved the single instance lock file from /tmp to the users home folder to keep it together with the socket file (both are hidden).


Added:
- [LDraw / editing] All loaded LDraw files (except for the color definition ones) are now aware of external changes and will offer to reload when LDCad regains application focus.
- [SourceWindow] It is now possible to use a shortened view of the lines. This currently means type 1 lines are shown without the positional and orientation numbers.
- [Editing] You can now close the current file using the editing session panel. It will reload automatically if anything still open references it and needs to render it tough.
- [Editing] You can now reload the current file using F05, you will loose your current session state though.
- [Linux] Added a setup.sh script which tries to integrate LDCad into your xwindows environment. You need to run is with sudo, read its header for more details.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Rendering] AA-ed edge lines will look ugly when using lots of transparent parts. I've chosen to ignore this as the cheap line AA will be replaced by e.g. MSAA in a (near) future version.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.5 Alpha 3 (24-June-2015)==--
Fixed:
- [LDraw] The search paths dialog no longer causes an application crash after deleting an item when it's directly followed by a click on 'new'.
- [LDraw] Loading of multiple file models no longer fails (red crosses).
- [LDraw] Dither colors are now blended from the correct donor colors.
- [LDraw] Physical color (and other redirection) parts will now also use the correct (hot/selected) edge colors during nesting mode.
- [OpenGL] FBO usage during OpenGL export will no longer potentially cause crashes on systems without support for it.
- [Editing] Inserting a path or spring anchor no longer potentially crashes the application.
- [Editing] Path/spring construction again uses correct line insertion points.
- [Editing] The name meta is now updated correctly in the source window after the first file save.
- [Editing] Path/spring cap insertion no longer always end up at position 0,0,0.
- [Editing] Changing a spring roll value will no longer fail to update the rendering at once.
- [Editing] Clicking 'discard' in the paste dialog will no longer crash the application.
- [Editing] It is now again possible to add a second path/spring anchor to dynamic content.
- [Export] Animation export no longer fails to apply the visible state of references.
- [SourceWin] Removed the extra '0' in filetype meta's.


Improved/Changed:
- [GUI] Misc spelling tweaks.
- [PartBin] Added the sticker-ed minfig torso parts to the minfig torso group.
- [SourceWin] The name meta is now readonly if the 'keep name in sync with filename' option is enabled.
- [SourceWin] The LDCad generated meta is now visible when present.
- [SourceWin] Improved/tweaked highlighting sync with the editing view especially combined with top level submodel references.
- [SourceWin] Tweaked the multi select/deselect behavior.
- [SourceWin] Added the step number to the step meta hints.
- [SourceWin] Increased the static width of source windows from 100 to 200 characters. This value is now also editable in the main.cfg
- [SourceWin] Added page scroll using the mouse wheel (ctrl+wheel move).


Added:
- [LDCad.cfg] The system (readonly) configuration file will now be read based on exe filename instead of a static LDCad.cfg (So if you have a LDCad32.exe LDCad32.cfg will be read).
- [LDCad.cfg] Added options to override the default color file (LDConfig.ldr) and shadow library (offLibShadow.csl) names.
- [GUI] Added single instance protection. Only one LDCad window will be used when LDcad is associated with e.g. mpd files and double clicking such files in e.g. the windows explorer window. Single instancing is optional (through LDCad.cfg) but enabled by default.
- [SourceWin] Added follow selection option.
- [SourceWin] Added follow show current step option/indication (different background color).
- [SourceWin] Added Hidden/ghosted parts indication (shown in gray).


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.5 Alpha 2 (26-May-2015)==--
Fixed:
- [Misc] Fixed (minor) memory leaks after playing around with valgrind.
- [PartBin] Fixed major memory leaks caused by continuous re-rendering of overview (mpd) groep items.
- [PartBin] Find selection (again) no longer crashes the application.
- [SourceWin] Removed the extra space between '//' and text for the comment meta's.
- [SourceWin] Moving lines from one path to another now acts like expected.
- [SourceWin] Moving groups around will now automatically ungroup things ending up in a different subfile in order to prevent group file io problems.
- [Editing] Zooming a multi-view window using the spacebar now again works like it should.
- [Editing] path/spring auto group handling no longer causes all kinds of problems when using multiple dynamic parts.
- [Editing] Workpart insertion now always uses the 'rest' properties of the item to be inserted while rendering the to be added part. This was noticeable the most while adding path points.
- [Editing] Path/spring content should now regenerate correctly after all undo operations.
- [Editing] ctrl+home will now correctly use any group center settings.
- [Springs] Spring point and anchors no longer fail to render the editing pin while selected. This also solves them misbehaving while moving start/end groups around.
- [Examples] Corrected the misaligned front bumper on the 5571 model.


Improved/Changed:
- [Menus] Reorganized the view menu to include the new part/color/source window items and moved the old view content to a new 'editing view' submenu.
- [Menus] Toggle items can now be navigated to the preceding option value by using right mouse clicks.
- [Templates] Removed the spaces in the "elecCable 1Wide" and "elecCable 2Brick" template filenames.
- [ColorBin] ctrl+LBM on any of the history items will apply that color to the selection. ctrl+LBM on a wheel segment will do the same.
- [SourceWin] You can now start dragging selected lines  after the last selection click without having to release it first.
- [SourceWin] A different menu will be opened depending on the click location.
- [SourceWin] Changed RMB/MMB behaviour to match editing window.
- [Editing] shift+LMB will now always only the current working part to the selected. It no longer acts different when a selection is active.
- [Paths] New path points will no longer be forced in front of the last one if there are no end caps present for the path or the path is looped.


Added:
- [LDraw] Added full support for using compressed library's (e.g complete.zip) without having to unpack them to disk first.
- [LDraw] (Color)configuration files can now be set relative to the LDraw search paths. This was needed for use combined with compressed libraries, but it also prevents having to change both the search and the color file configuration while e.g. swapping libraries.
- [HeaderDlg] Added a button to load the default author and license values.
- [SourceWin] Hot racking between the source and editing windows can now optionally be synchorinzed.
- [SourceWin] The selection can be kept into view by using one of the 'follow selection' options.
- [SourceWin] Added 'scroll to selection', 'expand all' and 'collapse all' items to the source window menu.
- [Editing] It is now possible to drag selected lines from the source window into the editing view to start manipulating their position. The other ways around (dragging the selection into the source window to change their source location) is now also possible.
- [Examples] Added 5541.mpd


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.5 Alpha 1 (15-May-2015)==--
Fixed:
- [GUI/Files] Using large amounts of digits (e.g. 14.2309782957735729879758972795728975789892374987 in e.g. the rotation dialog's angle field) will no longer cause problems due to string conversion overflows. Those kinds of numbers will now be rounded to 19 decimals.
- [GUI] A toolbar button click while the application has no focus will now respond to a second click.
- [GUI] The application title will no longer fail to update when the current model's file name changes.
- [HeaderDlg] The category tag no longer defaults to the first description word when no category is given.
- [RefLineProps] Changing e.g. the x position followed by pressing enter no longer does nothing.
- [ColorBin] Attempting to clear the color history will no longer crash the application.
- [Editing] The selection information panel is now positioned correctly while inserting items and using multiple editing views.
- [PathParts] An active path length constrain having a length of below the minimal calculated length will no longer crash the application.
- [PathParts] Segment merge will now also take into account the roll difference between segments while deciding to merge them or not.
- [PartSnapping] Changed all internals to use (the given ldu value times 100) integer dimension values to prevent rounding errors.
- [Groups] Grouping path/spring begin/end groups together with other parts no longer crashes the program.
- [Groups] path/spring begin/end groups can now be used combined with the nesting exclusion feature as expected.
- [OpenGL export] Ortho (2D) renderings are now exported correctly.
- [Templates] Changed all the author lines into the modern format.
- [Examples] Made a minor correction to 5521.mpd
- [SnapInfo] Tweaked multiple files.


Improved/Changed:
- [GUI] All scroll bars now look and act the same. They also offer the option to navigate absolutly by clicking above or below the button.
- [GUI] All dialogs now have a default button to use combined with the enter key.
- [GUI] Changed all 'Apply' buttons into 'Accept' ones in order to prevent confusing the button with mainstream 'apply' button behavior (which does not close the dialog).
- [GUI/Menus] Made misc text/hint tweaks/corrections.
- [Menus] Tweaked the LDraw, editing and GUI menus somewhat.
- [Menus] The current building step is now indicated in related menus.
- [Menus] Tweaked the scroll bar location and caption mouse cursor.
- [ColorBin] The 'esc' key can now be used to go a level up.
- [PartBin] Changing the filter now resets the scroll bar offset.
- [PartBin] Overview groups now limit re-rendering while navigating through a models building steps.
- [PartBin] The esc key can now be used to go a level up, or clear the filter while the mouse is in the filter rectange.
- [PartBin] Tweaked the view tabs to match the color bin's appearance.
- [PartBin] The 'go up' cell will now scroll out of view when only a single column is used.
- [PartBin] The part bin is now able to render its content horizontal when needed (e.g. while docked at the bottom of your screen).
- [Editing] The paste action can now be canceld using 'esc'
- [Compass] Changed the 3D/2D indication to a single (current) item.
- [PartSnapping] Improved offset snapping (e.g. bush on axle) in relation with the current grid.
- [PartSnapping] Non sliding parts will now snap to their closest usable ends.
- [PartBinContent] Made misc (text) tweaks to some groups.
- [ShadowLibrary] LDCad shadow files are now appended to their master library files before those are fully parsed. This means you can add any LDraw content to any existing part file without modifing the orignal file.


Added:
- [LDraw] LDCad snap metas will now also be processed when added directly to parts themselves.
- [GUI] Added docking support to the part and color bin windows. You can now detach them by grabbing dead space and move them while the left button is down. While detached they act much like menu windows. To re-dock them position them roughly at the place you want them and press the ctrl key. When it's at the wanted location release the mouse button.
- [GUI] You can now have multiple part and/or color bin windows (docked and/or detached).
- [PartBin] Pressing 'ins' will now insert the part below the mouse at the last used working position. Double click will do the same but only if there's no selection active.
- [PartBin] Added indication to group cells to make clear it's not a dragable part.
- [PartBin] Added a special group for adding LDraw meta items to the model source.
- [PartBin] Added a special group for adding LDCad snap meta items to parts source (This is a prep only, nothing meaningful can be done with them at the moment).
- [Editing] Added 'move to current step' to the 'move to step' menu.
- [Editing] Added duplication (ctrl+d) which acts like the ins key but will always duplicate/clone the selection even when only one item is selected (as the ins key will insert the workpart in such case).
- [Editing] Added option to disable screen mapping of the to be inserted object while rotating it using the arrow and pageup/down keys.
- [Editing] As a result of the new source code window invisible LDraw (meta) lines can now be selected and inserted like normal parts.
- [Editing] Many LDraw (meta) lines (e.g. comments, HELP, HISTORY, CATEGORY, KEYWORDS) can now be edited using a property dialog when selected.
- [Editing] Using the ctrl key+arrows will now 'inver' the editing mode. Meaning ctrl+left will move the selection while in rotation mode and rotate is while in move mode. The selection center mode will 'inver' to the normal move mode.
- [Compass] Added a current edit mode (rotate/move/selcen) indication as there is no visual indication for it in the 2D projection mode.
- [Header] Added license and Author user name fields and default handling.
- [SourceWindow] Added a fully functional (nesting aware) LDraw source window. Which can be docked anywhere or kept as an overlay window. Multiple windows can be opened if needed.
- [SnapMetas] Added the group parameter to all shape describing SNAP veriants.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [LDraw] LDraw files containing concave quads will render wrong as they are currently processed as if they are twisted.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.4b (28-Januari-2015)==--
Fixed:
- [Editing] Adding a submodel to a file also containing path content will no longer cause a program crash upon that path's first rerender (in the bin). This bug was introduced by the 1.4a 'Manual construction of a path or spring model in a new mo....' bugfix.
- [Editing] Placing path content using skin with an unassigned donor no longer potentially crashes the program.


Improved/Changed:
- None


Added:
- None


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.4a (24-Januari-2015)==--
Fixed:
- [Windows] Non ASCII characters in the windows user name are now handled correctly.
- [FileLoading] Loading a model containing a very large group no longer causes extremely long loading times, causing the program to look likes it hangs.
- [SnapInfo] Fixed wrong / missing snap info in 32064b, 11947 and numerous technic panels.
- [GUI] Menu window's overlapping in a 'cross' no longer fail to update correctly while using a frame refesh method other then basic.
- [Editing] Inserting multiple path/spring support items no longer uses a wrong orientation.
- [Editing] Multiple path point items are now inserted in the correct order while using the clone or paste function.
- [Editing] Large number of items in a selection no longer cause noticeable delays after every mutation.
- [Editing] The 'Move to current level' feature no longer causes an access violation when used during the normal editing mode.
- [Editing] Deleting a model from the LDraw file no longer causes an access violation when that model contains groups.
- [Editing] Canceling a cloning action in a path or spring model no longer fails to remove the new items.
- [Editing] Manual construction of a path or spring model in a new model no longer fails to update the visuals after mutations.


Improved/Changed:
- [Windows] The setup is now aware of the LDraw AIOI location of LDCad in order to do updates.
- [GUI] Tweaked the LDraw preferences menu somewhat.
- [OpenGL] Changed the Field of View range to 1..120 degrees.
- [OpenGL] The maximum distance to draw edges is now calculated based upon the FOV and a constant.
- [PartBin] The ESC key can now be used to go a level up.
- [PartBin] The DEL key can now be used to clear the filter text while inside the text rectangle.
- [PartBin] Reorganized the sorted minifig part bin group in a new 'figures' branch also containing friends figures, fabuland figures and techni figures parts.
- [Editing] Decreased the selection movement threshold in order to prevent unwanted movement during e.g. selecting multiple pieces.
- [Editing] '0 Author:' and '0 Name:' will now be used instead of '0 AUTHOR' and '0 NAME' in all headers. Any old lines using the old format will be corrected during loading.
- [Editing] Adding path points to a path without an end cap or anchor will now be permitted to be added after the last point.
- [Editing] The ESC key can now be used to deselect if no other cancellation action is active.
- [Examples] All examples now use the '0 Author:' meta instead of '0 AUTHOR'.
- [SnapInfo] All snap info now use the '0 Author:' meta instead of '0 AUTHOR'.


Added:
- [Editing] Added 'Ungroup all' to the grouping menu.
- [SnapInfo] Added full snap info for 2014-02 library parts inside the '100%' part bin groups.
- [SnapInfo] Added full snap info to all parts in the 'sorted\technic\steering' group.
- [SnapInfo] Added full snap info to all parts in the 'sorted\figures\friends', 'sorted\figures\fabuland' and 'sorted\figures\technic figure' groups.
- [SnapInfo] Completed full snap info for all parts in the 'sorted\figures\minifigs' sub groups except for the hats and aso ones.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.4 (02-November-2014)==--
Fixed:
- [Scripting] Group matrix manipulation will no longer behave weirdly when the script is missing a start event handler.
- [GUI] View split menu items are no longer disabled while the getting started menu is still active.
- [GUI] Linux only, (some) arrow keys no longer cause weird behavior on some distributions.
- [Menu] Singe / multiple views swap no also works through the menu as intended (switches the last used view).
- [Rendering] Enabling/disabling editor hot tracking will now be applied 100% correctly without the need of a e.g. adding a new part.
- [PartSnapping] Parts like 30365 no longer fail to snap when used in certain combinations.
- [PartBin] Filter text label will no longer sometimes fail to update while working with multiple views using the same bin group.
- [Editing] Selection information no longer uses wrong line colors during absolute mode while triangle angles are also enabled.
- [Editing] Adding the first part to a model while using the ortho (2D) view will no longer cause clipping problems.
- [Editing] Using undo after a 'move to submodel' no longer results in duplicate parts.
- [Editing] Setting the insertion model for nesting mode using a selection containing grouped items will no longer cause wrong placement orientations while inserting new parts etc.
- [Editing] 'Move to submodel' and 'Move to current level' no longer allow inclusion of path/spring content as it resulted in faulty configurations etc.
- [Editing] Group selection during nested no longer uses the wrong selection center in certain circumstances.
- [Editing] Hiding path points no longer causes the 'loading/prepping ...' message to appear.
- [Editing] Disabling loading of shadow files while the selection is active and part snapping is also enabled for the current session, no longer crashes the program when (for example) moving that selection after wards.
- [Springs] The fallback line will now be drawn correctly when no skin is used.
- [Paths] It is no longer possible to confuse the path generator (resulting in invisible paths in certain situations) when using circle points encapsulating other path (circle) points. The point's position will be used in such (faulty) configurations.


Improved/Changed:
- [Rendering] Tweaked edge thickness somewhat to minimize Z-fighting for selection and hot indications.
- [Menus] Reorganized the selection menu in an attempt to limit its number of items and to also grand easy access to submenus previous only found in the edit menu.
- [PartBin] The filter text label will now also indicate the information relative to the 'hot' view just like the caption does.
- [Editing] Selection information will no always show the true angle between segments based on the  dot product of the BA and BC vectors.
- [Editing] Added information messages to reorganize actions (move to submodel etc).
- [Editing] Added hot indication to the selection information labels.
- [Editing] Limited the selection information to 25 items as a protection against e.g. select all.
- [Editing] The header dialog will no longer suggest using 'LDCad' as the default editor if none is set while adding templates to your model.
- [Paths] Grabbing the circle / bezier control point spheres no longer cases a small jump, allowing for more precise adjustments.
- [Paths] The path point axis arrow heads will now retain their color while in the selected or hot state.


Added:
- [LDraw] Added a simple (recursive) missing files overview dialog for the current session / model. It will pop up after loading (disabled by default) or upon demand accessible from the model menu.
- [Rendering] Added optional basic edge line anti-aliasing (disabled by default).
- [Editing] You can now select all missing parts from the select menu.
- [Editing] Added option which controls how the editing pin uses transparency (or not).
- [Export] Added edge options overrides to the OpenGL exports.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.



--==1.4 Beta 2 (17-October-2014)==--
Fixed:
- [GUI] .lua file drop and .lua file change detection confirmation dialogs now act like expected when choosing cancel.
- [Partsnapping] Fixed 2468.dat and 2444.dat info.
- [Script api] matrix:setTranslate no longer ignores the given values when the object has never been used/accessed before.
- [Script api] group:getRef no longer fails to link when using reference names.
- [Script api] The vector object now correctly accepts matrix objects as an initialization.
- [Script api] matrix:setOri no longer does nothing.
- [Script api] matrix:set now supports the same parameters as the matrix constructor like it supposed to.
- [Script api] The default lua 'table' module is now included as it was intended to.
- [Script api] subfile:getFileName no longer returns an empty string for mpd submodels.
- [Partbin] Part counts are now read and displayed correctly for pbg file items using it.
- [Menus] A pinned stepping menu no longer fails to load its step items when switching to an up to then unused session.
- [Editing] Corrected time label from ?h??s to ?m??s in session panel.
- [Editing] 'Move to submodel' nolong inserts the new reference to last building step, but in the current one like expected.
- [Editing] ungrouping a group currently used from within another (higher) group no longer causes an access violation.
- [Editing] Restored the broken static selection center behavior to its 1.3 state.
- [Editing] Separate path or spring models no longer fail to appear in the model lists/bins when only loadeded indirectly by their owner model.
- [Editing] The application no longer causes an access violation when a previously used script no longer registers the current active animation after a script reload.


Improved/Changed:
- [Partsnapping] Added info to the technic turntable and small steering wheel parts (used in 8071).
- [Script api] Cleaned up parameter checking a bit so it behaves the same for all functions.
- [Partbin] Moved the mursten and quatro groups to bricks.
- [Partbin] Corrected the missing parts for the 5510 set content group.
- [Editing] The hint for groups now use a 'Group:' prefix.
- [Editing] It is now allowed to change the current building step while the animation mode is active.
- [Editing] 'end' is now only used to control the animation playback bar when the mouse is inside the panel, otherwise it controls the active session like normal.
- [Editing] 'l' now enables/disables looping during animation mode.
- [Editing] shift+ins now adds the previous edited model to the current model as if it was picked from the part bin.
- [Editing] Clicking the selection info labels now places their relevant info on the clipboard.


Added:
- [Menu] Added an animation menu to the model menu.
- [Editing] Added global ID regenerate options to the grouping menu, these can be used when copying models using groups outside LDCad.
- [Editing] You can now open the linked lua script using the default external editor from the scripting menu.
- [Editing] You can now change the default frame rate for all animations.
- [Editing] You can now (temporary) override the frame rate for an animation from the session panel.
- [Editing] Added OpenGL png export for the current view.
- [Editing] Added OpenGL png frames export for the current animation.
- [Editing] Added 'triangle angles' selection info in order to obtain the needed rotation angles for closing three line segments to a triangle (law of cosines).
- [Editing] Added 'relative pos only' option to 'Move to submodel' feature.
- [Editing] Added 'add selection to group' item to grouping menu in order to extend existing groups without having to ungroup/regroup them.
- [Editing] You can now also insert a new building step in front of the main item of the selection.
- [Template] Added 8071.mpd including an advanced animation.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.




--==1.4 Beta 1 (29-September-2014)==--
Fixed:
- [General] Fixed memory leaks involving picture data.
- [File handling] Manual 'open with ..' will now work as expected, as will dropping files on the executable icon.
- [File handling] Unicode file names no longer cause missing files or empty models when opening e.g. models using Japanese characters in their file name.
- [Seeds] Seeds will no longer fail to update their targets when a partial written seed.cfg is present.
- [LDraw] Part inventories now handle duplicate parts correctly (e.g. 6216m.dat which is currently present in both the official and unofficial library.)
- [LDraw] Part inventory updates will no longer cause recursive loading of spring/path cap meta references.
- [LDraw] The official library can now use an empty shadow location without defaulting to the seeded one.
- [Part snapping] Clips will now snap onto cylinder shapes correctly in all circumstances.
- [GUI] The search path dialog will no longer mess up settings in certain situations.
- [GUI] The getting started menu no longer potentially causes an access violation when a repaint comes while the background isn't ready preparing yet.
- [GUI] Linux only, panels should no longer cause overlapping labels and or misfitted dialog frames on KDE using panel labels below the panel bevel.
- [Menu] The session menu is now resorted when a submodel filename changes.
- [Rendering] Parts containing only a single scaled reference will no longer render too dark or bright.
- [Rendering] No edge type 1 and 5 lines are no longer rendered using the static edge color when the related option is enabled.
- [Rendering] The color bin no longer causes unnecessary full redraws when using the FBO or reuse frontbuffer frame methods.
- [Partbin] Loading a model while a session part bin group is displayed will no longer leak massive amounts of memory (potentially leading to crashes due to out of memory errors)
- [Editing] Zoom to fit will now also reserve space for missing parts.
- [Editing] 'Locate selection' no longer causes the unnecessary loading of countless LDraw files.
- [Editing] 'Locate selection' no longer also include the search group while looking for parts.
- [Editing] Select all parts/color variants now work like expected.
- [Editing] Copy paste of path related parts no longer messes with the point order or causes an access violation in certain circumstances.
- [Editing] Group center reset now actually does reset the center.
- [Templates] Corrected the nxt/ev3 connector path templates. A rotating of the end connectors was needed so the wire color end up in on the same elec pins when used.


Improved/Changed:
- [License] Changed the license in order to loosen the 'non commercial' use a bit in certain circumstances.
- [Source code] Upgraded wxWidgets to 3.0.1 on all platforms.
- [Source code] Upgraded boost to 1.5.6 on all platforms.
- [Source code] Tweaked some internals in order to reduce executable size and or speed. Results may vary per system.
- [GUI] Changed the application icon, improved the root part bin pictures and tweaked some colors.
- [GUI] Current long (abs, default) or short file name will now be shown in the application caption bar.
- [GUI] Application will no longer respond to mouse clicks while it isn't active (at the foreground).
- [LDraw loading] Improved efficiency of file loading in the windows version.
- [Rendering] Changing the 'vertex processing' setting will now also be applied to the currently loaded parts.
- [Menus] Radio items in menus no longer us the (v) prefix to indicate the current state, they are now rendered in a different color.
- [Menus] Keyboard shortcut keys are now displayed at the right and in a different color.
- [Menus] Some menu items will now be rendered 'disabled' when appropriate.
- [Part Snapping] Corrected minor mistakes in multiple parts.
- [Part Snapping] Added the 'group' option to CYL, FGR and SPH meta's in order to prevent unwanted pair ups when describing things like hinges.
- [Part Snapping] Improved the FGR meta, so it allows for more dynamic pair ups (e.g. a three pen on a single wide slot of equal width).
- [Part bin] All string based group rules now support multiple filters on a single line (e.g: "include partname 3001.dat,3002.dat" etc).
- [Part bin] Moved 'mursten' and 'quatro' to their own groups inside the sorted tree.
- [Part bin] You can now also use [enter] while the mouse is inside the filter text to open the filter dialog.
- [Editing] Improved the speed of 'Locate selection'.
- [Editing] Trying to insert a path/spring cap in a normal model (through the working part) is now permitted as it applies the normal reference instead.
- [Editing] Tweaked zooming in order to improve zooming from very far to very close better. [ctrl+shift scroll] can now also be used to zoom in larger steps.
- [Editing] Changed all internal (in between) vector math to use double precision all the time.
- [Editing] Added short keys for part hide [h]/undo hide[ctrl+h]/show all[ctrl+shift+h] functions.
- [Editing] Tweaked path/spring interaction to make it easier to 'grab' control points.
- [Examples] Added missing flexible parts to existing examples.
- [Examples] Tweaked path params in existing examples in order to reduce their overall file size.


Added:
- [Log] Added option to control the amount of stuff being written to the log file (fully disabling the log is pending).
- [LDraw/rendering] Added (experimental) support for all three modes (planar, cylindrical, spherical) of the !TEXTURE meta for part level LDraw files.
- [GUI] LDCad now uses freetype font rendering instead of the old static mono fonts.
- [GUI] Added version info to the windows executable and added a script for generating a desktop entry file on Linux.
- [Menus] Added 'clear' to the recent files menu.
- [Part Snapping] Added a new type of meta in order to support off beat shaped things (e.g. nxt connectors).
- [Groups] LDCad group information will now be preserved in the LDraw file and restored upon loading.
- [Scripting] Added lua scripting support for use with the new animation mode. This is done with a collection of LDCad specific lua user data functions / objects.
- [Scripting] Added information / error console dialog.
- [Part bin] You can now also filter on the library version tag of parts (e.g. 1401).
- [Part bin] Added option to include/exclude shortcuts in the filter dialog.
- [Part bin] Added bricks, plates and misc hinge groups to the sorted tree.
- [Editing] You can now also click the 'recent' caption on the getting started menu to open the menu displaying all recent items.
- [Editing] Changed the session label in the right top corner into a 'session control center'. It will zoom on mouse over and offer easy access to the current session mode and other session level options.
- [Editing] Added option to use the current >3 point selection to set the grid orientation (cross product), accessibly through the selection info menu.
- [Editing] Added 'move to current level' function to nesting mode. This will move the selection from whichever submodel they live in to the current nesting insertion target level while retaining their absolute position and orientation.
- [Editing] Added 'move to new submodel' function. This will cut and paste the current selection into a new submodel in one go.
- [Editing] Added 'inline submodel' function. This will copy the content of selected submodels or shortcut parts into the current target while retaining their absolute position and orientation (removing the dependency on those submodels).
- [Editing] It is now possible to exclude submodels from the nesting mode. This can be used to use e.g. a minifig submodel as a single part instead of it's loose arm/hips/torso/etc parts.
- [Editing] Added an option to ignore the mesh section of dynamic (path/spring) parts in order to improve visibility and accessibility of their control points.
- [Animation] Added script based animation mode. Any (sub)model can now be brought to life using lua trough an LDCad lua module (ldc) providing a collection of interfaces to low level objects (groups, references, subfiles, matrices, vectors, etc)
- [Animation] Animation playback can be controlled using the new playback panel which will be available during animation mode (through the new session options panel).
- [Templates] Added path template for the nylon based plate hinge (flexible version of 650.dat).
- [Templates] Added path template for nxt temperature sensor 62840.
- [Templates] Added path template for a LQ (no deform) version of the technic ribbed hose.
- [Part Snapping] Added snap info for the 1401 library parts which are listed in the sorted part bin groups who had (and now again have) 100% snap information. This includes the brick, plate, tile, and many technic groups
- [Part Snapping] Added snap info for most hinges, resulting in complete coverage of the three new hinge part bin groups.
- [Part Snapping] Added snap info for the nxt/ev3 elec connectors and for the 4.5 en 12 stuff residing in the main sorted groups (plain/train motors).
- [Part Snapping] Added snap info to the technic panels group of the sorted tree.
- [Examples] Added 8248.mpd including a scripted mechanics demo animation.
- [Examples] Added scripts to the 5510 and 5580 examples, as a result both of these models now have a short animation available to them.


Known issues and limitations:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.
- [Scripting] For now only the type 1 LDraw line references can be manipulated, full access to the path/spring parts is pending.
- [Scripting] File changes to lua files will only be detected for the main script, if the script uses additional modules (include files) a manual reload will be required after changes to them.




--==1.3a (06-April-2014)==--
Fixed:
- [OpenGL] Improved OpenGL initialization this should prevent it from failing on some Linux flavors.
- [Dialogs] Fixed weird cursor behavior after changing a value with dependencies (e.g. warning text in the path skin dlg after a rotation matrix change.)
- [LDraw] Unknown part references no longer potentially crash the application in certain circumstances (paste, mouse over etc).
- [ShadowLocation] Shadow files no longer fail to load when the configuration lists its location without a final directory separation character.
- [Partbin] The bin no longer does unnecessary repaints when hot tracking is disabled.
- [Editing] The FILE meta is no longer inserted at the wrong place when creating a new spring/path model which uses non color 16 skin/spring wire.
- [Editing] The compass is no longer potentially missing until the first redraw when starting a new model.
- [Editing] The last 'hot' (purple edges) part will no longer remain 'hot' during new part insertion.
- [Editing] Alias and colored parts are no longer excluded from selection/hot indication during nesting mode.


Improved/Changed:
- [LDraw] non existing search paths are no longer included in internal look ups.
- [PartBin] The pbg 'partName' filter rule now supports multiple items per rule.
- [Editing] Removed the 'insertion target' menu en related menu items. As changing the target model without an selection is unreliable and thus pretty useless. As an replacement a new item has been added which sets the target based on the selection (just like when using the 'n' key on a selection did/does). Also as a result of this change the nesting label in the top left corner of the model will now open the interaction menu instead.


Added:
- [partBin] Added groups for motor and mindstorm parts in to the sorted/technic.
- [PartSnapping] Added snap info for all parts in the new motor and mindstorm groups. This excludes info for wire connectors for now as those need a new kind of information. Also added snap info for the complementary electric plates.
- [PartSnapping] Added snap info for all parts in the: 'sorted/bodywork/panel bricks' group.
- [Templates] Added path templates for nxt, ev3, 4.5/12 and 9v electric cables (do note the wide variants of the 4.5/9v cables are missing the wire split portion for now).


Known issues:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [Editing] During nesting mode some parts will be rendered at the wrong place while moving existing parts around, if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



--==1.3 (27-February-2014)==--
Fixed:
- [TextFiles] The UTF8 BOM characters will now be stripped on file read, this should fix cfg files sometimes ignoring their first section after editing it in e.g. notepad.
- [LDraw] Starting LDCad from the command line using relative paths no longer potentially crashes the application.
- [LDraw] Fixed incorrect warnings concerning missing library locations in the log file.
- [PathContent] The skin merge count now uses custom values as intended, it no longer always act as if it's set to '2'
- [Rendering] Non power of 2 sized textures are now (again) rendered correctly in OpenGL 1.1.
- [Editing] Shift+c now act like expected while using a relative grid.
- [GUI] Fixed dlg font dependency issues, the default system/gui fonts should now be used in all dialogs. This should fix font dependency problems on some Linux environments.
- [Partbin] Corrected the minifig hat/hair and other contents.
- [PartSnapping] Fixed unwanted/false positive snapping on some combinations of parts. (e.g. 3023+30256)
- [PartSnapping] SNAP_RND snap info no longer wrongly uses its part origin as it bounding sphere cener.
- [Examples] Made minor correction to the 5571 model


Improved/Changed:
- [SourceCode] Did cleanup and reorganized constants resulting in a much smaller main executable.
- [SourceCode] Upgraded wxWidgets to 3.0
- [SourceCode] Upgraded to minGW64 (gcc 4.8.1) for windows builds.
- [SourceCode] Applied fixes and changes in order to get rid of all GCC 4.8 warnings.
- [SourceCode] Swithced to Kubuntu 12.04 for Linux builds (gcc 4.6.3), this should fix support for LDCad in e.g. suse 13
- [Menu] Examples menu is now sorted.
- [PathContent] Improved default segment merging, it now allows for a slightly larger angle resulting in less segments .
- [PathContent] Tweaked the internal resolution of circles.
- [Editor] Rewrote the camera rotation system in order to allow for multiple modes in perspective views.
- [Editor] Improved speed of rendering during editing actions. This should allow for editing larger models without getting sluggish response to the mouse movements during e..g part movement etc.
- [Templates] Corrected misc templates to take advantage of new options
- [Templates] Corrected negative determinant and wrong cap colors in power function templates.
- [Templates] Fixed filename of wheel_2696+2695 to wheel_2695+2696
- [Examples] Regenerated fallback code for the bigger (filesize) models resulting in smaller files due to the improved path skin segment merging handling.


Added:
- [PathContent] Added a skin option to control the segment merging threshold.
- [PathContent] Added a header option to control the global path grid stepping.
- [Editor] Added simplified spin (x/y) rotation control mode for perspective views. Do note this mode is more restricted then the default trackball.
- [Editor] Added rendering of selection information, using the new menu you can make things like the length and angles between parts in the selection visible. You can use this information to precisely place parts in triangle like constructions.
- [PartSnapping] Added shadow information for all parts in the: slopes, arches, wedged, cones and cylinders sorted bricks bins. With these additions the whole sorted/bricks partbin sub tree has snapinfo.
- [PartSnapping] Added shadow information for all parts in the: tiles, pat. tiles, wings, dishes, brackets and baseplates sorted plate bins. With these additions the whole sorted/plates partbin sub tree has snapinfo.
- [Templates] Added rimm/tyre combos for new parts in the LDraw library 1302 update.


Known issues:
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [Editing] During nesting mode some parts will be rendered at the wrong place when manipulating / inserting parts if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



--==1.3 Beta 1 (18-January-2014)==--
Fixed:
- [LDraw] Unknown managed content (made with a future version of LDCad) no longer results in failed render preps for the part/model in question. It will now use the fallback code like any other LDraw renderer would.
- [LDraw] Fixed thread stability issue concerning loading templates. This should fix the occasional crash during loading of template part bin group content.
- [LDraw] The LDraw search paths dialog no longer complains about invalid library locations for the non library location kinds.
- [Rendering] Type 1 lines using color 24 will no longer crash the application upon their first render attempt.
- [PartBin] Non LDraw files (e.g. readme.txt) will no longer show up in part bin groups.
- [PartBin] Changes to a category part bin group basic rules or sorting options etc, will now also be reapplied to all existing generated filter groups.
- [PathContent] Changes in models will now also be applied to path skin using that model.
- [Templates] (default) Templates are no longer marked changed from the moment you open them.
- [Editing] Shift+left mouse click will now act as normal select when nothing is selected yet.
- [Editing] Compass now displays the correct icons for vertical and horizontal movement for all edit planes.
- [Editing] Using insert new step, will no longer corrupt the LDraw document.
- [Editing] Fixed insertion of grouped selection, while something else then top level is the insertion model during nesting.
- [Editing] Copy of position and orientation in a property dialog will no longer occasionally corrupt the displayed information.
- [Editing] Deselecting multiple used items during nesting, is no longer only possible by clicking the first selected one. You can now click on any of the instances to deselect them all.
- [Editing] 'Model is in view/read only mode.' and 'Editing for this kind of LDraw document is not (yet) supported.' messages are no longer switched.
- [Editing] Creating a group no longer occasionally asks to use the custom selection center when there is non set.
- [Editing] A vector move using the movement dialog while a relative grid is active now acts like expected.
- [Editing] Ungrouping a selection containing another group no longer results in LDCad hanging and or crashing.


Improved/Changed:
- [LDraw] Implemented support for absolute and '..\' like relative type 1 line reference handling.
- [Rendering] Tweaked Alpha sorting.
- [PathContent] Added skin option to control edge removal behavior. The default act like 1.2 (Keeps the first left most edges, removes them for all following segments). This option is needed for parts in which the diameter of the segments varies.
- [PathContent] Fallback code is now BFC compliant if all donor sources are BFC compliant.
- [PathContent] Skin property dialog will now warn if the rotation matrix has a negative determinant or is non orthogonal
- [Templates] Tweaked existing templates to use new options etc.
- [ColorBin] Number of used color cells is now based upon the width of the bin.
- [ColorBin] The first recent used color will no longer be displayed if it's the same color as the current working color.
- [Editing] New models will now append a '-' before adding a number to keep model names unique inside an MPD.
- [Editing] The session label will now be shown as soon you open/start a model.
- [Editing] You can now also use the right mouse button to rotate / move the camera. It acts the same as with left mouse button except it will act as if you always clicking the background.
- [Editing] You can now rotate parts during insertion/move actions using the arrow keys, page up/dwn and home.
- [Editing] You can now center the camera at the selection during insertion/move actions using 'c'
- [Grids] Added slide parameter to the movement step information. It will be used for part snapping when e.g a gear slides along an axle.
- [Grids] Added extra symetric stepping for use with e.g. technic models. (Only Available if you accept the use of the new grid on first 1.3 start).
- [GUI] Changed the default menu bar, it now includes ghosting and group items and some of the existing ones are grouped more logically. (Only Available if you accept the use of the new bar on first 1.3 start).
- [GUI] All dialogs now close when using the escape key.
- [SourceCode] Removed second dependecy on PNGLib by swithcing all png handling to wxWidgets. (this should fix some rare Linux issues, it increased the executable size tough).


Added:
- [PathContent] Added presentation options (including length meta management) in the header dialog.
- [PathContent] Added closed loop behavior.
- [PathContent] Added circular path point.
- [PathContent] Static colored skin will now be placed in a second managed subfile. This eliminates the need for using weird edge colors and guaranties correct colors in all viewers.
- [SpringContent] Added dynamic/realtime spring generation.
- [Templates] Added pathContent templates for rubber bands and closed link loops.
- [Templates] Added springContent templates for shock absorbers and pneumatic pump parts.
- [Editing] Added manangement of category and keywords to the model header dialog.
- [Editing] Added part ghosting. Use it to temporary hide selected parts in order to work with otherwise hampert parts in your model.
- [Editing] Added basic part snapping support. You can enable/disable it at almost anytime using shift+p. Do note part snapping is only available for parts that have the needed extra information available.
- [Editing] Added part snapping information for all normal LEGO parts in the 'Plain bricks', 'Pat. bricks' and 'normal plates' groups.
- [Editing] Added part snapping information for all technic LEGO parts in the 'Axles', 'Beams and liftarms', 'Bricks', 'Connectors and pins', 'Gears', 'Plates', 'Pneumatic', 'Shocks' groups.
- [Editing] Added part snapping information for all power function template related parts.
- [Editing] Added support for file association, this is not set by default cause LDCad has no single instance protection. But you could use it manually or drop LDraw files on the application icon to start the program the first time.
- [Editing] You can now drop files from e.g. explorer in order to open them, or use them (by reference) in the current model.
- [GUI] Added access to the example models from getting started window the file menu. (Also changed the order of items in the getting started window)
- [Examples] Added 8845.mpd and 8851.mpd


Known issues:
- [SourceCode] The executable is huge, but this is what keeps its dependencies low and therefore portability high.
- [LDraw] Scientific notation (e.g.. 1.323E12) is not supported in LDraw line content.
- [Editing] During nesting mode some parts will be rendered at the wrong place when manipulating / inserting parts if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



--==1.2a (19-October-2013)==--
Fixed:
- [LDraw] Parts without any triangles or quads (e.g. light.dat) will now render correctly in the bin.
- [LDraw] Library folder file listing caching will no longer cause very slow file loading in situations where the folder time stamp resolves to zero.
- [PathContent] Inserting a cap by using ins on a selected cap now draws the part as expected while positioning.
- [PathContent] Fixed Y-axis orientation bug, As a result all templates using non symmetric skin donors have been corrected too. Please note that any existing models based upon those templates will have to be replaced or corrected manually.
- [PartBin] Fixed potential crash/hang when using the overview groups.
- [Editing] Fixed minor bounding box issue.
- [Editing] Fixed potential crash when opening the document info panel while a model is still loading/prepping.


Improved/Changed:
- [Editing] Shift+c now shifts the selection to relative grid origin instead of always using the absolute origin.


Added:
- None


Known issues:
- [Editing] During nesting mode some parts will be rendered at the wrong place when manipulating / inserting parts if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.



--==1.2 (25-September-2013)==--
Fixed:
- [Filehandling] Folder creation no longer potentially fails when using non ASCII characters in the folder name.
- [LDrawFiles] Alias (including by the new '=' prefix), physical color and redirect parts will now be detected correctly.
- [PartBin] Moving part into another step now also (immediately) updates the step depended part bin groups.
- [PartBin] The search group will now apply sorting options as instructed in its pbg file.
- [PartBin] Editing templates will now update the bin cells as expected.
- [PathContent] The order of meta items is now kept organized correctly. (This had/has no functional downside, it's only cosmetic)
- [PathContent] Mouse interaction no longer ignores donor orientation when determining if the mouse is 'over' the skin of a path.
- [PathContent] Fixed multiple issues concerning color inheritance in both LDCad's rendering and the fallback code.
- [PathContent] Changing the skin color will now flag the file as changed.
- [Rendering] LDraw files containing only type 4 (quads) geometry, (sticker parts) no longer fail to render.
- [Rendering] Grid axis arrows (while not inside the compass) of the ortho view are no longer swapped in certain (relative grid) orientations.
- [Rendering] Degraded quad's (non flat type 4 line) will no render correctly using two triangles. The log will now also supply the correct information concerning those triangles.
- [Rendering] Path points non longer disappear in nested mode while zooming in on them.
- [Rendering] Path anchor indications are no longer rendered in higher level subfiles unless nesting is active.
- [Editing] Restored bounding box based selection indication.
- [Editing] Deselecting a group inside a multiselection now works as expected.
- [Editing] Shift+click now does as it is described in the manual (change the working part without changing work pos/ori/color)
- [Editing] Rotating a group nolonger goes wrong when the main item of the group has an non identity orientation.
- [Editing] Fixed multilpe perspective / ortho switching related issues while using a relative grid.
- [Editing] a ctrl+shift mouse move now also uses the current relative grid if any in the main editing view (it worked correctly inside the compass).
- [Editing] e.g. Select all -> color change -> undo no longer 'forgets' to undo the changes of the main item of the selection. (this issue only occurred after a mass selection action).
- [Editing] Changing the selection center no longer fails to also update the current work position.
- [Editing] Markers interaction now works correctly during nesting mode.
- [Editing] Placing submodel references in a submodel inside the same file no longer cuases an 'x might not resolve next time and or in othe.....' message when the file hasn't been saved yet.
- [Editing] Clicking on the editing pin/rectangle selection center without moving it no longer resets the selection position.
- [Editing] Mutating a selection no longer fails to mutate the (non zero) group centers of groups inside the selection along with everything else.
- [Session stats] Alias parts are no longer counted twice in the model/step part counts.
- [GUI] Corrected minor spelling and wrong hints issues.


Improved/Changed:
- [ColorBin] Hint of items in the color history bar now include the full color name.
- [ColorBin] Plain metal, matte metal and pearl are no longer all flagged as just 'm', but as 'm', 'mm' and 'pl'
- [PartBin] Changed the default edge disappear distance for cells (will only affect new installations)
- [PartBin] Made misc changes to some of the default sorted groups
- [PartBin] The used parts in step / model groups now show the parts in their used color and also display the usage counts. (both are optional using the pbg file's settings)
- [PartBin] The main search group now also searches and displays templates.
- [PartBin] pbg filter files now support multiple keyword and category items per line.
- [PartBin] The filter state will no longer be saved using the last used one, instead it uses a 'default filter' mechanism which will be applied to every new bin view.
- [PathContent] Slightly improved selecting skin when using a very short skin section (points stole foces in the old version, making selecting the skin impossible)
- [Editing] Clicking a path start/end group in nesting mode will now set the working pos/ori to the main point of those groups instead of the main item of the group (this is more logical while inserting new points)
- [Editing] The first switch from perspective to ortho or visa versa (depending on the application startup state) will now try to mimic the previous view's orientation.
- [Editing] Right mouse clikc on the part info panel now opens the 'view' menu instead of the 'selection menu'. This to gain easy access to the 'selection' and 'groups' submenus it contains.
- [Editing] Added Shift+v it toggles between perspective and ortho mode while maintaining the general orientation of the view.
- [Editing] Creating a group now optionally copies the active custom selection center if non static.
- [Templates] Reorganized existing shortcut/path templates.


Added:
- [PartBin] Extended filter options, you can now exclude/include certain types of parts (e.g. alias, physical color, templates). And you can also optionally include part keywords when matching.
- [PartBin] Added the generic 'keep' and 'static' rule types for all rule based pbg file types. 'keep' will force all matching items already in the include set to stay in the result set (even if a later exclude want's them out). 'static' will add any matching items to the result set (ignoring preceding include rules), and just like with 'keep' they can not be removed by following 'exclude' rules. Both rules are intended to force 'weird' exceptions on e.g. filter group contents.
- [Rendering] Parts are now rendered using different material properties when needed, resulting in visual differences between e.g. 'plastic black' and 'rubber black' or 'metal black'.
- [PathContent] Added the option 'inline references' to skin meta's. This can be used to avoid creating dependencies on non official part files. Only type 1 lines will be in lined, if any other lines are found the part will be used by reference like normal.
- [Editing] Added optional (enabled by default) automatic editing plane switching. When enabled the editing plane will automatic switch to e.g top/bottom when the current view angle upon the model is mostly top or bottom view. Control for this option is located inside the compass.
- [Editing] Added a view angle menu to the main view menu.
- [Editing] Changed the default view angle back to left, and made it a user settable option all together.
- [Templates] Added many hinge, complete wheel, turntable and misc technic shortcut templates.
- [Templates] Added templates for 'technic flex system', 'technic flexible axle (the long one)', 'power functions wire extension' and 'power functions flexible train track' parts.


Known issues:
- [Editing] During nesting mode some parts will be rendered at the wrong place when manipulating / inserting parts if those parts live in a submodel that's used more then once in the main model of the session. This is not a big issue because one set of the selection will be at the correct place, and your eye will be on them most of the time.




--==1.2 Beta 1 (20-August-2013)==--
Fixed:
- [Templates] The !KEYWORDS meta will now be copied correctly into the new document.
- [Templates] (Linux only) Items are nolonger missing from the bin the second time you start LDCad.
- [LDraw] Gen improvements of \ and / (fs dependent) path separation character handling. (especially under Linux)
- [Skin] Logging no longer reports warnings for correct lines.
- [Paths] Fallback line is no longer missing for paths that can not be filled out completely.
- [OpenGL] Disabling/enabling VBO will now be applied directly.
- [Partbin] Clicking the edit icon of a model while the bin is filtered wil no longer cause the application to crash.
- [Part bin] Alias parts are no shown as is in the overview groups. In the old version only the real (redirected) part would show up.
- [Editor] The selection info panel for path skin items will no longer always display the paths total (non merged) segment count, it will now show the true count for the main selected skin item only.
- [Editor] Replacing a selection with a different part will now update the bounding box accordingly.
- [Editor] The view is now refreshed immediately after an undo or redo on a path point item.
- [Editor] Paste no longer fails to apply orientation corrections when needed/asked.
- [Editor] Selecting all of the same part or color now works as expected.
- [Editor] The grid no longer gets truncated by the frustum clipping planes in certain circumstances.
- [Editor] Newly added items (using cloning or paste) are no longer potentially clipped by the frustum.
- [Editor] Deleting a mpd submodel no longer ignores certain line types while stripping the file contents.
- [Editor] Multiselect mutations using something else then the editing pin (prop dlg, ctrl+home, etc) should no longer cause weird results when the grid is non absolute.
- [Prop dlg] Discarding a property dialog will no longer start an unwanted view rotation (Mostly Linux only).
- [Copy/paste dlg] Corrected the radio button hints.
- [Grid dlg] Corrected the 'rotate' and 'move' labels.
- [Grid dlg] The accept button no longer stops working after adding new grid stepping items.
- [Def templates] Corrected the techHose cap grouping tags.
- [Examples] Corrected minor submodel misplacement in the 5580 example.


Improved/Changed:
- [LDraw] Improved basic vertex processing (faster and more precise)
- [LDraw] Extended support for 'old' style filetype description (comment) lines.
- [LDraw] Type 4 (quad) lines are now used 'as is' (they used to be split into two triangles) when generating the internal meshes. Preserving them is needed for 'part smoothing' (see added section).
- [LDraw] Improved automatic edge color determination for custom colors.
- [OpenGL] Added warning when FBO fails while being enabled . It used to silently disable without notion in such cases.
- [Path gen] The 'Unofficial Part' comment meta is added to generated content when deform skin meta's are used. (This should help LDView during its smoothing work).
- [Path gen] Type 2 and 5 lines at the outer deform donor sides will now automatically be stripped from segments when they would overlap in the resulting path. (Basically the first segment keeps both and all others only the 'right' ones)
- [Path gen] Type 5 lines located at the outside of a deform donor will now use previous or next segment information in order to determine a control point outside its own segment space.
- [Path gen] Quad's will now be spitted into triangles separated by a type 5 edge when it's no longer flat after deforming.
- [Path gen] Non deform skin meshes (chains, tracks, etc) will now prep a lot faster.
- [Editor] The editing pin now scales automatic when zooming, manual scaling (using ctrl+mouse wheel) has been removed.
- [Editor] The editing pin control plane now turns transparent when it's pointing towards the camera.
- [Editor] Added hotkey 'v' for switching between perspective and (the last) ortho viewing mode.
- [Editor] Perspective (3D) and ortho (2D) views now both initialize to the same raw view angle ('right' by default).
- [Editor] ctrl+mouse wheel now zooms using smaller steps (it no longer scales the editing pin)
- [Editor] shift+mouse move can now also be used inside the compass window in order to move the model on the projection plane.
- [Editor] ctrl+shift+mouse move can now also be used inside the compass window in order to move the model on the grid plane.
- [Editor] Tweaked the size of the visible grid for (3D) selections.
- [Editor] The save dialog no longer forces the file's main model to be active if the current model is also inside the file to be saved.
- [Editor] Improved 'move to step' selection behavior in combination with undo / redo.
- [GUI] Changed the default colors/template (basic thought was to make it feel somewhat like a 'real' LEGO building instruction booklet. Also people were complaining about the boring gray theme.
- [Examples] Redid the hoses and corrected the chain of the 8843 model.


Added:
- [LDraw] Added part smoothing (as part of vertex processing)
- [LDraw] Added special donor LDraw files location containing LDCad custom parts to be used with the deform option of path parts. You can optionally add additional donor locations using the searh paths dialog.
- [Editor] Added extensive grouping support. This is fully recursive, so groups can hold references to other groups mixed with normal (loose) lines.
- [Editor] Added auto grouping for paths (this will group caps/point/anchor items at the beginning and ending of the path for easier/uniform placement)
- [Editor] Added readonly / view mode.
- [Editor] Added nested editing mode (includes cross level grouping support)
- [Editor] Added zoom to cursor and selection. (zoom to cursor is the new default)
- [Editor] Added information icon, which opens a small panel displaying model/path statistics on mouse over.
- [Menu] Added 'recent files menu' to the 'file menu'.
- [Start dlg] Added instant reopening of last couple of used files in the getting started window.
- [Examples] Added 8837.mpd



--==1.2 Public Alpha 1 (16-February-2013)==--
Fixed:
- [LDraw] Part bin items descriptions and or category are no longer wrong when source file has no leading '0' comment line.
- [LDraw] Type 3 lines with duplicate points will no longer potentially crash the application.
- [LDraw] Adding a second model to a document with a single one no longer adds a duplicate 0 FILE meta for the main model if it was already present.
- [Rendering] Fixed potential memory leak / data corruption issue.
- [Rendering] Fixed potential crash when VBO init fails.
- [Markers] Markers will now also indicate their selected and or hot status like all other parts.
- [Markers] Resizing a markers size(s) will now update related bounding boxes correctly.
- [ColorBin] Using calculated colors in your model will no longer cause 'missing' colors upon next program start.
- [PartBin] Favorite parts color information is no longer lost between program sessions (defaulted to 16 on startup).
- [Bins] Hints for the view tabs will now use numbering starting with 1 instead of 0.
- [Editor] Left mouse click on the selection's info panel will no longer open the selection center dialog instead of the main part's properties dialog when a custom selection center is active.
- [Editor] Using the manual rotation dialog while a relative grid is active will no longer rotate the selection wrongly in certain orientations.
- [Editor] Front and Side edit plane mode hints in the compass are no longer swapped.
- [Editor] Mouse events in the bins are no longer potentially blocked by a very long session name label.
- [Editor] Moving a selection to a different step will no longer deselect items already in the destination step.
- [GUI] Dialogs offering manual matrix input will now correctly paste instead of resetting the matrix orientation portion when using 'paste orientation' from the right click menu.


Improved/Changed:
- [Logging] Shortened most of the type 1..5 line warning messages, in general the current content is no longer dumped only correction information will be given.
- [Logging] Messages for a specific submodel within a mpd is now prefixed (where possible) with that submodels FILE meta name during the file loading stage.
- [LDraw] Improved coded color handling. 0x04, 0x05, 0x06 and 0x07 are now handled separately (previous version applied 0x04 logics on all of them).
- [LDraw] Missing edge information no longer fails an entire !COLOUR meta line (although the spec says it should) instead an edge color will be calculated based on the main RGB values.
- [LDraw] Vastly changed the way metas are processed internally.
- [Rendering] Slightly improved frustum culling
- [ColorBin] Decoded color numbers will now be displayed using hex notation (e.g. 0x02ABCDEF) in the bin and hints etc.
- [ColorBin] Shortened the descriptive text for calculated and decoded colors. (e.g. 'Dithered' instead of 'calculated dither material'
- [ColorBin] Color 16 and 24 will now use hardcoded text instead of the description given by their !COLOUR meta. All other information will still be applied though.
- [ColorBin] "favorites.inf" and "history.inf" will now be placed in the main configuration folder using "colorBin.fav" and "colorBin.his" instead of the main colorBin folder. Existing files will be moved on startup.
- [PartBin] "favorites.inf", "history.inf", "groups.inf" and "inventory.inf" will now be placed in the main configuration folder using "partBin.fav", "partBin.his", "partBinGroups.inf" and "parts.inv" instead of the main partBin folder. Existing files will be moved on startup.
- [Editor] Improved enter key behavior. The enter key will now open a dialog for the object below the mouse if there is no selection active and that object has such a dialog. If an selection is active the main part's properties dialog will be opened. If no selection is active and the (if any) object below the mouse has no associated dialog the model properties dialog will be opened.
- [Editor] Improved middle mouse button click behavior. Clicking the middle mouse button will now open the most appropriate dialog associated with the object below the cursor (no matter de selection state). When a selection is active and no other dialog is available the properties dialog for the main part will be opened (even if you click on a different part in the selection).
- [GUI] Corrected spelling in dialogs.


Added:
- [New feature] Added template support. ldr and dat files located in special template locations will be accessible through the part bin in its new template branch. Using the parts in your model will present the option to copy their content into a new (sub)model or insert it as a new selection. Users can include their own templates by defining additional source folders using the new "user templates" dialog from the 'prefs\LDraw' menu.
- [New feature] Added support for flexible parts by a collection of special LDCad (PATH) meta's. Using these meta's one can define a path and rules on how to flesh out this path using the main editor very similar to working with normal parts.
- [LDraw] As a result of the new 'special' path model (document), both the 'File' and 'Model' menu offer a second 'New' item which let you choose the kind of model/document you want to start. Shortkeys will remain 'normal' oriented and therefore act the same as in previous versions.
- [LDraw] Added edge colors based on the main RGB values for decoded colors.
- [PartBin] Added option to include 'all' in filtered groups.
- [PartBin] Added option to select inventory type in filter groups. (normal lib or templates)
- [Templates] Added a collection of PATH templates to be used as starting situations for often used flexible parts like (flexible hoses, pneumatic hoses, chains, etc).
- [Templates] Added a collection of multipart shortcut templates for often used combinations of parts (e.g. model team wheel and tire, non single part complete pneumatic cylinder (so you can still adjust its extension)).
- [Examples] Added 8843.mpd



--==1.1b (17-October-2012)==--
Fixed:
- [Files] (windows only) resource and (gui) png files no longer fail to load when stored in locations using non ascii folder names
- [Config] The main.cfg file will no longer be (re)written right after it has been read.
- [Config] Fixed spelling mistake in one of the main.cfg keywords, this will reset the related option 'Conditional line rendering method' to its default 'Method 1 (VS)' (if possible) when the current setting is 'Always visible'.
- [Rendering] Missing shader files (in the resource folder) no longer crash the application when conditional lines using shaders are enabled.
- [Rendering] Bounding box calculations no longer ignore markers.


Improved/Changed:
- [OpenGL] Minor changes to the initialization of optional OpenGL components (VBO/FBO/Shaders).
- [Partbin] The set inventory groups now have a more human friendly caption.
- [Partbin] Filter text is now truncated when it won't fit in the rectangle space.


Added:
- [Rendering] Added (non GUI) option to disable all shading related functionality for use on troublesome OpenGL implementations (especially pre 2.0 ones).



--==1.1a (02-September-2012)==--
Fixed:
- [Number handling] Improved string to float handling in regards to large fractions (e.g. 0.00249999999999995) as a result files like 2564.dat will now render correctly.
- [Filenames] Fixed UTF8/OS encoding character handling regarding to file names.
- [Rendering] Fixed (possible) OpenGL context loss (and thus GL resource leaks) while changing the rendering method.
- [Partbin] "locate selection" now also finds submodels.
- [Editing] Using the insert key after changing the main selected part in a multiselection now (also) clones the whole selection like expected.
- [partBin content] added missing 'boat' reference in the 'bodywork' group of the sorted branch.
- [Examples] Minor correction to the 5533 and 5542 models.


Improved/Changed:
- [Partbin] You can now also type spaces for the filter while the mouse is over the filter text.
- [Editing] full view toggle no longer works while the mouse is not inside an editing view.


Added:
- [Linux] Native 64 bit version.



--==1.1 (29-July-2012)==--

Fixed:
- [GUI] Menubar internals are now updated correctly after window resizing.
- [GUI] keyboard commands using the shift key (e.g. shift+c in editing windows) now (also) work like expected in the Linux version.
- [Partbin] Loading a mpd model during the 'updating content please wait' stage will no longer result in an empty (file contents) overview group if that group was the active group at last app close down.
- [Partbin] Rotating the cell content now also works like expected during filtered content.
- [Editing] Deleting a model from MPD's no longer visually corrupts display of the other models in that file within the bin and/or editing views.
- [Editing] A colored history part bin item will now be placed in a new model in its correct color when dropped while no model is active.
- [Editing] The warning message of the 'edit header' dialog is no longer shown at the wrong location in the Linux version.


Improved/Changed:
- [LDraw] multiple BFC CERTIFY meta's are now supported, but only for winding changes. This to assure parts like 4100341 render correctly. A NOCERTIFY after a previous CERTIFY will cause BFC to be disabled for the whole file.
- [Rendering] Changed render timing in Linux, should be more reliable.
- [Colorbin] Color 16 will now be added to the history groups and recent bar when used.
- [Partbin] Tweaked and extended the default sorted groups somewhat in order to make certain parts easier to find (parts like winged plates and doors etc).
- [Partbin] The partbin now has its own 'maximum distance' option which dictates upto what distance edges are drawn within cells. By default it's twice the value of the editing views default.
- [Partbin] Category groups are now hidden when empty.
- [Windows] Added native exe icon.


Added:
- [Examples] Added 5521.mpd and 5542.mpd



--==1.1 Beta 1 (08-July-2012)==--

Fixed:
- [GUI] The application no longer (occasionally) crashes when opening an existing/new model from the getting started menu.
- [Rendering] Texture rendering of 'icon' like used pictures will no longer look fuzzy.
- [Views] Compass/editing pin and misc other items will now refresh correctly after a related option changes.
- [Views] You can no longer move the (invisible) view splitters when working in a zoomed view.
- [Views] Views will now initialize correctly when used for the first time in a model session.
- [Views] Models will no longer be clipped wrongly in ortho views while placing parts.
- [Views] The grid will no longer fail to display in ortho views when the editing/work position is outside the models clipping space.
- [Views] The editing rectangle will no longer have the wrong size after certain delete actions.
- [Views] The top left and right step and model labels will no longer react 'though' a menu window.
- [Partbin] Fixed misc sync issues.
- [Editing] Parts placed using color 16 will no longer be drawn using the current work color, they now use the static value associated with color 16.
- [Editing] Rotate stepping (ctrl+1, ctrl+2, etc) no longer only works in combination with the main '1', '2', '3' keys. You can now also use the numpad ones.
- [Editing] Horizontal / vertical only movement using the editing rectangle in ortho mode no longer is reversed in certain orientations while using a relative grid.
- [Editing] The custom selection center will now reset correctly when using the menu command.
- [Editing] "Make this the main model" will no longer cause a crash or corrupted files in certain circumstances.
- [Partbin] Sorting on ID will now always work like expected. (It failed in history and similar 'listing' groups)
- [Rotation dialog] The selection will now be rotated correctly when using the rotation dialog while a relative grid is in use.


Improved/Changed:
- [Config] Conditional lines are now disabled by default if vertex shaders are not supported.
- [Config] 'reuse front buffer' is no longer the default frame rendering method. Only the new FBO method will be tried, when that fails, (normal) full frame rendering will be used. This should solve most if not all rendering problems the older versions had.
- [Config] Non supported options will no longer be selectable (e.g. conditional render method (VS) while vertex shading is not supported.) in the menus.
- [GUI] Main gui file no longer supports comma's between the rgb values.
- [GUI] All dialogs will no longer close their origin menu when closed 'negatively'
- [GUI] Tweaked hints so they are more universal and can also be used in the new menubar configuration dialog.
- [LDraw] Added support for additional filetype meta part keywords.
- [Rendering] Textures of non power of two sizes will now be rendered correctly even when OpenGL doesn't support it directly.
- [Rendering] There is now a hidden benchmark feature, but I'm not gonne tell how you start it :^)
- [Rendering] Improved OpenGL context handling.
- [Bins] Reworked history and favorites handling for both colors and parts. The resulting information is no longer kept in the associated cbg or pbg files. It is now maintained using a central file located in the colorBin and partBin folders. As a result the favorite and history groups will act more like filters on the centralized data.
- [bins] The color and part bins now support 'sub bins' for better separation between the default content and optional user changes/expansions. The default bins will be in the 'default' subfolder and are held up to date using seeding (see below)
- [Partbin] Replaced the 'sessions' groups with 'overview' groups. The new name should be more clear and the new sub groups (parts in model, loaded models, mpd content, parts in step, etc) should be more usable / understandable.
- [Partbin] Improved the default partbin mascot pictures for the 'sets' group, added pictures for the history and overview groups.
- [Partbin] Improved refreshing/sync of models in the partbin after edit changes.
- [Partbin] The current working part will no longer be indicated in group cells when the 'mascot' of that group happens to be the current working part.
- [Views] Parts are no longer drawn at the wrong location when inserting after a selection center movement in the dead axis (using a different editing plane).
- [Views] Compass will no longer zoom while dragging parts from the partbin.
- [Views] Misc refreshment improvements.
- [Editing] The default behavior of multi selection cloning when using the 'ins' key will now only be applied when no other working part is selected first.
- [Dialogs] Added global copy/paste handling (right click menu) for matrix and vector fields in various dialogs (e.g. rotate/movement/sel center/etc).
- [Misc] Reduced STD template usage in order to decrease executable size.


Added:
- [Config] Full control over component locations in order to split the binary and static data from user content. This is done using LDCad.cfg located in the same place as LDCad.exe. By default it will behave like older versions (LDCad.cfg not needed in such a setup).
- [Config] Seeding system so default configuration content will be generated on first run / after updates. In combination with a (current)user specific LDCad.cfg setup will enable multiple user support all using their own partbin/gui/etc settings.
- [GUI] Added a fully customizable menu/toolbar combo. It can be used to gain fast access to a selection of often used submenus and user actions. Do note most of the toolbuttons haven't got pictures available to them at the moment.
- [Rendering] FBO support
- [Colorbin] Added support for static item color groups.
- [Editing] Limited selection to current step.
- [Editing] Select all of the current working color and/or part.
- [Editing] Navigate to step containing the selection's main part.
- [Examples] Added 5533.mpd



--==1.1 Public Alpha 2 (05-June-2012)==--

Fixed:
- [Editing] A manual rotation using a custom rotation center and a multiple selection now works as expected.
- [Editing] Deleting a step now deletes the correct meta line. It now (correctly) removes the meta STARTING the step, as a result it's no longer possible to delete the first step.
- [Editing] The part properties dialog now correctly detects changes (and applies them) when not using the keyboard input. (e.g. paste followed by mouse click close).
- [Editing] Fixed internal selection bounding box issue.
- [Editing] Pressing 'a' without 'ctrl' no longer acts like 'ctrl+a'.
- [Editing] The custom selection center is no longer undone when the selection changed in between.
- [Editing] It's no longer possible to change the grid orientation while some editing action is in progress (e.g. part insert using the ins key).
- [Editing] Canceling the copy dialog no longer still copies the selection to the clipboard.
- [Editing] It's no longer possible to reset the orientation (rotation) of the main part when a custom selection center is active.
- [Views] Clipping in ortho views now correctly compensates for the look at point.
- [Views] The white 'position' lines on the grid no longer seem to disappear under certain circumstances.
- [Views] The step/model name panels no longer disappear when 'reuse front buffer' is disabled.
- [Views] Changing the grid stepping now redraws the views if the grid is visible.
- [Views] The perspective zoom is no longer extremely close by when the view started out in ortho mode.
- [Views] Ortho views no longer fail to render the grid when the working position is (way) outside the model's bounding box.
- [Views] A newly 'pasted' selection is no longer drawn at 0,0,0 until the fist mouse move.
- [Views] The part info panel now correctly hides after a part move when it's not wanted.
- [Menus] The 'scrollbar' hint is no longer given while the mouse is on nothing.
- [Manual rotation dialog] Paste of a matrix now uses all three matrix rows instead of the 2nd, 3rd and all zeros.
- [GUI] Fixed mouse focus issue where it seemed all mouse input got indefinitely rerouted to a specific view (that view kept responding on events, even when the mouse was in another view/bin window).
- [GUI] The main window no longer seems to forget its 'non maximized' size.


Improved/Changed:
- [Number handling] It's now permitted to use ether '.' or ',' for decimal separation, no matter the os setting.
- [Editing] It's no longer permitted to delete the first step.
- [Editing] Improved the selection copy dialog.
- [Editing] In ortho mode you can now (de)select parts inside the selection rectangle while holding the 'ctrl' key. In short the 'ctrl' keys makes the rectangle non solid.
- [Editing] Added a short key for 'select none' (ctrl+shift+a)
- [Cust sel cen dialog] Using the 'use..' button now also sets the 'use custom selection center' check box where appropriate.
- [Views] Changed the editing pin arrow color to better distinguish between normal move and center move.
- [Views] The editing rectangle is no longer visible during a paste action in the ortho views.
- [Views] Tweaked the size and visibility of the selection center to keep it from getting 'in the way'.
- [Views] 'Zoom to fit' in ortho mode now uses a margin.
- [Views] The main part is no longer always rendered in the 'hot' color, this is now only done when a custom selection center is active and there is more then one part in the selection.


Added:
- [Sessions] You can now (also) set a static default for the session state to be used in new models. You can also use this default during editing to reset the current sessions state. The default behavior remains use the 'last used' state.
- [Editing] It's now possible to keep a custom selection center between selections, making it a 'static' selection center.
- [Editing] It's now possible to insert a new step before the current step.
- [Editing] Added cut 'ctrl+x' behavior.
- [Editing] Added more options to the selection copy dialog, also added a similar dialog for paste action. Both dialogs now also have default handling manageable from the preferences menu.
- [Editing] Added snapping to all grid axises [shift+home], just [home] still snaps to editing plane axis only.
- [Editing] Added possibility to snap all parts in the selection individually to the grid (or editing plane) axis.
- [Editing] Added 'select all of same part and color' to the select menu.
- [Menus] Changed the menu structure somewhat (again).



--==1.1 Public Alpha 1 (27-May-2012)==--

Fixed:
- [Misc] Fixed some internal math library issues, which (in very rare cases) could cause weird behavior while selecting parts.
- [colorBin] The wrong size was stored in the configuration file and thus restored.
- [Editing window] Editing compass zoomed at mouse over while rotating in the main view.
- [Editing window] The editor pin's button textures were wrongly orientated (This was hardly noticeable because of the symmetrical pictures used).
- [Selection] 'select all in same step(s)' only processed/selected parts from the current LDraw line and below.
- [Editing pin] Fixed inverted motion when 'grabbed' from below.
- [Marker] The marker sizes were not initially rendered correctly, causing a 'jump' when first trying to manipulate its size.

Improved/Changed:
- [Internals] Rewrote/reorganize huge chunks of the editing core for numerous (some silly) reasons and in order to make full use of the new multiple views.
- [Options] The old 'session default' options have been removed, the state of the session and or editing views will now be taken from the last used situation (even between stop/start of LDCad)
- [Menus] Reorganized menu structure. there are more smaller ones now, right mouse click will open the most relevant one for its position. (not just edit menu top level while in editing window.)
- [Editing window] The stepping, session (model) overlay panels have been beautified.
- [Editing window] You can now move the model (look at) in the perspective view using shift+arrow keys.
- [Editing window] Removed setting the editing plane using the prtSc/ScrLck/Pause keys, they could interfere with normal os behavior.
- [Compass] The compass no longer zooms when the mouse is inside its 'zoomed' rectangle, it will only zoom when the mouse is on the small image of the compass.
- [Editing] added 'select all' using ctrl+a
- [Misc] Tweaked the default settings somewhat (bin sizes/part bin column count etc).
- [Misc] many many many small things of which I lost track as a result of rewriting some core chunks of code.

Added:
- [Menus] All menu items do now have an associated hint in the status bar.
- [Editing window] You can now split the window into multiple ones using the 'view/split' menu.
- [Editing window] The (horizontal) Field Of View can now be changed.
- [Editing window] Added full 2D (ortho) mode support with its own set of editing tools and alternative selection behavior.
- [Compass] The rendering of absolute axis (when the grid is non abs) can now be turned off (is so by default).
- [Editing] You can now change the rotation point of the selection.
- [Editing] Added dialogs for manual rotation, movement and selection center input/manipulation. Accessible trhough model/selection menu or by a middle mouse button click on the editpin/editrectangle. (opens the one relevant to its mode)
- [Editing] The enter key will now open the most appropriate dialog (manual move/rotate/sel cen/part props/etc) based upon the mouse position.



--==1.0 (12-Dec-2011)==--

Fixed:
- [LDraw library location] At startup a non valid library location was not stored when answering "yes" to the "use it anyway" message.
- [LDraw file loading] '/' instead of '\' in references resulted unnecessary in "could not locate' errors during loading of references.
- [LDraw rendering] Some shortcut parts rendered wrong (like 792c03.dat)
- [LDraw inventory] Location type got corrupted.
- [Colorbin] Adding a color to your favorites now directly shows up in the favorites group when it's the current group.
- [Colorbin] Fixed rendering glitch in the color wheel (Tweaked appearance in general).
- [Editing] "Select all in current step" wrongly included the last part of the prior step. As a result "Select all not in current step" wrongfully excluded the same part.
- [Editing] Application could (seemingly random) crash when using a opened (or pinned down) building stepping menu while switching sessions followed by closing the menu at some point afterwards.
- [Main window] Last window position is now restored correctly in all cases.
- [GUI] Fixed font handling (especially in the Linux version fonts could get rendered wrong (a pixel off)).
- [Grid edit dialog] None of the grid buttons worked (wxSmith removed the event handling without notice).
- [LDraw search paths dialog] It was impossible to change the location type (wxSmith removed the event handling without notice).
- [LDraw search paths dialog] Non valid library locations got added wrong (when answering "yes" to the "use it anyway" message.)


Improved/Changed:
- [LDraw] Non existing search locations now produce a warning in the log.
- [Log] Log clean up now limits deleting of files to ones that start with "logFile-" and have an extension of ".txt". Old version only looked at the extension.
- [Rendering] A warning will be logged when the depth buffer isn't 24 bits.
- [Partbin] Minor tweaks in order to improve depth buffer usage.
- [Partbin] Item rotation is now relative to the current orientation (meaning e.g. rotating horizontal is independend of the current vertical angle).
- [Partbin] You can now also rotate the items using the mouse (ctrl + move in a cell). It acts the same as rotating in the editing window.
- [Editing] A message is shown when you try to edit a non model session (e.g. dropping a part bin item into a opened library part file.)
- [Editing] You can now move/rotate the selection using the arrow keys even when the editing pin is currently hidden. Edit pin mode still dictates what action is applied even when the pin is hidden.
- [Editing] Misc improvements to grid rendering (performance) when the 'always show grid' option is enabled.
- [Editing] Tweaked edit pin (hot) rendering somewhat in order to improve visibility on some platforms.
- [Windows setup] Favorite and history (part/color) bin groups are no longer overwritten in a existing installation.


Added:
- [Colorbin] 'f' now adds the current color to favorites, shift+'f' removes it.
- [Colorbin] Current view and view contents are now restored at next startup.
- [Colorbin] You can now control the tilt of the color wheel using ctrl+mouse wheel.
- [Partbin] 'f' now adds the current part to favorites, shift+'f' removes it.
- [Partbin] Current view and view contents are now restored at next startup.
- [Editing] shift+c now moves the model in such a way the current selection lands on 0,0,0 (becomes the model origin).
- [Editing] ctrl+c (copy) now presents a dialog asking if you want to 'include stepping' and or 'move the main part to the top' when a multi selection is active (and when any of those options would make a difference).
- [Editing] You can now set defaults for the 'grid mode', 'use edit pin', 'always show grid' and 'show part info' options. These defaults are applied to new sessions.
- [Editing] ctrl+end now (re)opens the main model of the current file's session .
- [Editing] You can now move the selection to a different building step.
- [Editing] Movement while using the arrow keys now 'maps' to screen orientation by default. Meaning left key will always move the selection to the left no matter what 3D axis its on. The old behavior (left is negative horizontal move etc) is still available by disabling the new editing option "Map 'arrow key moves' to screen".



--==1.0 Beta 2 (02-Dec-2011)==--

Fixed:
- [Files] UTF8 handling was pretty much useless for chars with code >127. It now handles character of up to 16 bits as expected. >16 bit characters will be degraded to the '?' character during reading. (Note: this also caused wrong filtering in the 'sorted' part bin group collection, as a result the inventory file will be regenerated by this LDCad version).
- [LDraw file loading] Fixed threading related stability issue.
- [LDraw file loading] Fixed automatic matrix corrections.
- [LDraw colors] Fixed loading of multiple LDConfig files.
- [Rendering] Fixed memory management related stability issue.
- [Rendering] New to be inserted part wouldn't render correct unless the model already had a transparent part present.
- [Rendering] The 'Reuse front buffer' feature could cause flickering when used with non supporting drivers, even when the feature had been disabled.
- [Editing pin] Fixed minor selection/hot tracking issue with the 'move mode' button (it had a blind spot).
- [Partbin] The 'make this session current' buttons in session groups are no longer missing when hot tracking is disabled.
- [LDraw search paths dialog] It's no longer possible to click on 'down' while no item is active (resulted in crash).
- [LDraw search paths dialog] The dialog no longer causes occasional crashes upon (second) open.
- [LDraw search paths dialog] It's no longer allowed to enter duplicate locations.
- [Misc] Fixed crash/hang when certain gui png's can't be loaded/found. The application now even starts ( and let you edit :) ) when you only have the executable.


Improved/Changed:
- [LDraw loading] Improved logging information on auto corrections and errors concerning reference matrices, (con)lines, triangles and quads.
- [Rendering] Improved render timing accuracy.
- [Bins] Group captions are now truncated when necessary.
- [Partbin] Changed mouse wheel behavior when used with ctrl or shift.
- [Misc gui/rendering] Improved prevention of unnecessary redraws while hot tracking is disabled.
- [Misc gui/rendering] Improved hints, all click able things should have one now.
- [Editing] Changed font of edit area panels and labels to non italic.
- [Compass] Tweaked lighting.
- [Compas] You can now zoom within the compass using the scroll wheel.
- [Dialogs] Revised layouts in preparation for Linux versions.
- [Main window] Position and maximized state is now restored at application statup.
- [Splashscreen] Added version info.
- [LDraw search paths] Duplicate locations are now dropped.
- [Menu windows] Added keyboard (up/down/pgup/pgdn/home/end) scroll navigation.
- [Misc] Minor text changes here and there.
- [Misc] Made source code warning free under G++ 4.4.3 (previous was 3.4.5).
- [Misc] Linux optimizations relating to filename handling in partBin and general LDraw file references ('/' on disk, '\' in ref names).
- [Misc] Misc gui/cursor tweaks.


Added:
- [Rendering] Added a troubleshooter, it might help you resolve rendering issues. (it's on the new status panel).
- [Partbin] Added possibility to rotate parts using ctrl(+alt)+scroll wheel.
- [LDraw] Added a dialog for editing the LDConfig files to be used.
- [Grids] Added a dialog for editing grid stepping.
- [Statubar] Replaced the 'standard' statusbar with a larger panel for easier hint viewing and future feature access.
- [Edit pin] You can now scale its size by using ctrl + scroll wheel when it's visible.
- [Getting started/welcome] Menu with getting started options/shortcuts will now be shown when no session is active.
- [Examples] Added 5550.mpd



--==1.0 Beta 1 (13-Nov-2011)==--

Fixed:
- Color wheel interaction used wrong 'segment' while in the top left corner due to false 'hits' upon the invisible side quad.
- Color wheel size didn't update when resizing the bin.
- Part bin could appear empty except for the set inventories when copying the 'new installation' bin files over an existing installation. (It wouldn't detect out of sync).
- Saving a file on the same drive as the LDraw library no longer causes wrong (relative) type 1 line references.
- Non .dat items are no longer treaded as group references in part bin groups.
- It's no longer permitted to change the current step while inserting or any other editing action is active.
- The session selection menu now refreshes when pinned down after adding a new session.
- The step selection menu's scrollbar now refreshes when the step count changes.
- Insert from paste or multi selection now also updates the part and color histories.


Improved/Changed:
- Dropping a part in an inactive editing window (no session open) now adds that part at 0,0,0 after 'yes' to the 'start new model?' dialog.
- Rearranged session menu items somewhat.
- Generic relative reference handling. (everything used from a search location will keep its basic reference (e.g. s\bla.dat).
- Reference line with all zero rotation matrix will now be corrected to an identity rotation matrix.
- Changed the part bin filtered group format slightly in order to support a generic 'not' instead of specialized rule kinds like 'descriptionNot'. Now you can use !description for the same results, adding '!' works with all filter kinds.
- Also added support for the '!' (not) filter kind to the color bin filtered groups.
- Part bin filter group 'description' and 'partName' rule now support simple wildcards (and as a result support for the 'descriptionPrefix' rule has been removed).
- Added support for location and misc flags filtering to the part bin filter group.
- part bin inventory now also includes first level subdirectories (excluding \s in e.g. lib paths). This makes it possible to create groups for e.g. stuff in "...parts\test\".
- File save dialog will now ask for confirmation when overwriting an existing file.
- It's no longer possible to save a new (or 'save as' an opened) file using the filename of any already loaded LDraw file.
- You can now cancel the insert part or clone selection actions (ins and ctrl+ins) using the escape key.
- Session item edit buttons now have a hint in the statusbar.
- The session selection menu is now sorted.
- Added part bin grid zoom ctrl to menu.
- rotation info panel is now transparent.
- Part bin set group now (by default) only holds inventories of models present in the examples folder using uniform pictures.
- Open file dialog now uses its own 'last location' instead of the default windows behavior, it starts in the examples folder as a default.
- Added disclaimers and 3rd party usage credits in the about box.


Added:
- Model header dialog.
- Generic mouse cursor handling (e.g. 'hand' when on button etc).
- Markers.
- Part bin filters.
- Part bin search group.
- Selection property dialogs.
- Search paths configuration dialog.
- It is now possible to change the main submodel in a mpd.
- It is now possible to delete a submodel in a mpd.
- Coordinates info label during part(s) move.
- Splash Screen.
- 5540 example


Misc:
- Improved/fixed/added bunch of (really) small things I forgot or was to lazy to write down.



--==1.0 Public Alpha 2a (28-Aug-2011)==--

Fixed:
- Editing pin length interaction now always works like expected (not only when at 0,0,0).


Improved:
- LDraw config filetype is now recognized by it's !LDRAW_ORG meta.
- Part bin header scan efficiency slightly improved, by NOT doing filetype detection.
- Edit pin move and rotate can now also be done using the arrow keys.
- Edit pin mode selection can now also be changed using 'R' (rotate) or 'M' (move)
- Grid editing plane can now also be changed using the 'prtScr' (top), 'scrLock' (sides) and 'pause' (front/back) keys.



--==1.0 Public Alpha 2 (25-Aug-2011)==--

Fixed:
- Fixed potential hang problem on high core systems.
- Calculated dither and transparent generation will no longer add duplicate color numbers to the list.
- Fixed minor BFC parsing problem
- Fixed multi selection issue regarding to individual deselection.
- File save will now add '.ldr' when no extension is given even when there is "." in the full path of the filename.
- Grid zero axis rendering is now done correctly.
- (Hopefully) fixed geometry shader initialization crash on drivers with incomplete / mixed support for it. (it will be disabled / unavailable in such cases).
- The compass no longer gets stuck in 'move mode' when you release the mouse button outside the application window.
- MPD loading no longer fails when there's 'valid' content before the first FILE meta.
- Type 1 lines using color 24, will no longer crash the application  (it will act as 16, a warning will be logged)
- Fixed potential crash problem(s) when render preparation fails for some reason.
- Transparency alpha sorting will now be done on every view update.
- Replacing a part with one the has a circular dependency will no longer hang/crash the application.
- Fixed the temporary 'mystery hang' upon first part insertion.
- Corrected some of the color bin group filters.
- Corrected removed the 3rdparty models whom where included in the first zip file by mistake.


Improved:
- Improved 'missing' color handling.
- Made various improvements to the color bin GUI.
- Bins now show the group name active in a view when hovering over the non current view tabs.
- Improved compass visibility.
- Improved font readability.
- Editing actions are now blocked during e.g. inserting a part.
- Click on session filename tag now opens session selection menu instead of main session menu.
- Improved part recognizing, and added protection against loading insanely big 'parts'.
- Edges will now only be drawn up to a certain threshold distance in order to prevent 'edge bleeding'.
- Improved history part bin group, it now only adds (findable) parts/models.
- Improved support for relative references.
- Color bin information bar now remembers last used colors as well as last working color.
- Missing references are now retried upon (first) file save(as) to test the given references against the new location.
- Improved visibility of the rotation angle during pin usage.
- Improved editing pin length change interaction (it could 'jump' under certain angles).
- Trying to drop a part in the editing window without an active session, will now prompt to start one.


New:
- Added static thread count option to the configuration file.
- Starting view point (left of right side of model, default is left like Lego manuals, alpha 1 used right as a static default but this is more logical).
- Color bin 'filter' groups can now be sorted.
- Added option to use smaller font for menu's.
- Copy paste support.
- 'cloning' of multi selection.
- Select "all in cur step" / "all not in cur step" / "all in same step(s)".
- Default stepping editor options.
- Added location information to the hint for 'hot' parts in the editor.
- Editing coordinates in the status bar.
- Added menu item to search for the selection's main part in the part bin. If found the containing group will be made current.
- Added protection and warnings on placing submodels in 'weird' places. e.g. a mpd submodel in another file.
- Added rudimentary 'frustum culling' in order to limit geometry in (very) large models. (Don't try to render stuff that's not in view).
- Circular reference detection and correction during loading.
- 5510.mpd example.

Misc:
- Improved/fixed/added bunch of (really) small things I forgot or was to lazy to write down.



--==1.0 Public Alpha 1 (4-Aug-2011)==--

- First released version
