Hi, I'm happy to announce after several years of on and off development, I'm releasing a freeware beta version of my Realmsmith 3D world editor.

A bare workspace

A scene with models, paths, and a textured plane

The item properties window with the 'Displayed user data' panel open
This is an early beta, so documentation is still fairly sparse, and many features are still experimental. Some functionality is in need of further development, and is still a bit clunky. There are also, no doubt, many bugs still lurking.
The fully functional freeware beta version can be downloaded from: http://realmsmith.com/downloads.html
The product website is at: http://realmsmith.com/
-- Features --
The standard Windows graphical user interface (GUI) is used for GUI components, rather than a custom GUI. This provides a familiar and easy to use interface.
The editor can operate in either GUI or 3D modes, and can be toggled between these modes by pressing the escape key, or the middle mouse button (in 3D mode). In GUI mode, you can switch to 3D mode just by clicking on the 3D viewport.
The editor is heavily hotkey driven, for fast editing while in 3D mode. Alternative GUI controls are also provided for most editing functions.
In 3D mode, you can fly around using the default W,A,S,D and F,C keys, combined with mouselooking. You can adjust the flight speed using the mousewheel. Eight speed settings are available, with each setting being 2X the speed of the previous setting. You can also use hotkeys to teleport to the world center, or to the grid cursor.
The hotkeys, and most other options, can be customized to suit the preferences of the user.
The editor is event driven, and is designed to play nice with the operating system, rather than hogging CPU cycles it doesn't need. If no actions are being carried out, then the editor will usually show in the Task Manager as using 0% of the CPU.
Multiple projects can be open in the editor at the same time.
Each project has 21 workspaces available. Each workspace is a separate world, with its own grid, camera, item and path lists, etc.
The editor uses item instancing, where possible, to keep memory usage to a minimum. This also applies in cases where multiple models are loaded from the same file.
The editor uses absolute sizing, rather than relative scaling, when adjusting item sizes. If you wanted a desk model to be 80 centimetres high, for example, you would simply set its size on the Y axis to be 0.8 (assuming a one metre base scale is used, and the option to preserve the aspect ratio is enabled).
The editor's sizing capabilities include the option to preserve the aspect ratio of an item when changing its size.
Each item, path, workspace, and project can have multiple user data fields which can be used to store whatever values you wish. These are in the form of name and value string pairs. You can create, remove, and change the order of the user data fields. Several different types of user data are available, depending on their usage. These are:-
1/ Single-line user data.
2/ Displayed single-line user data. The name and value data is displayed on mouseover of an item.
3/ Multi-line user data.
4/ External user data. The value field holds the path to a file. The provided 'Browse' button can be used to browse to, and set, that filepath. The provided 'Open' button will shell execute the file pointed to by the filepath. This can be useful for editing associated files in their native editing programs.
The editor's grid system allows switching between one dimensional and two dimensional grids; and beween grids on the X, Y, and Z axiis. Grid scale can be increased and decreased. Grids can be hidden, if required. Each grid includes a grid cursor, with optional snap-to-grid movement. The settings for each grid are local to the workspace that the grid is in.
A powerful item selection system is included. Multiple items can be selected. The last selected item is also known as the 'chosen' item, and is marked in a different color than the normal selected items. Some operations are performed on all the selected items, including the chosen item; some operations are only performed on the chosen item; and some operations are performed between the normal selected items, and the chosen item. Items are visibly numbered in the order that they were selected, and some operations make use of this order numbering.
A clipboard system is available for items. Multiple items can be cut, copied, and pasted. When an item is cut or copied, a copy of that item is kept on the item clipboard until it is overwritten. This allows items to be pasted multiple times. The item clipboard is shared between all workspaces and projects, so it can be used to cut/copy and paste items from one workspace to another, or from one project to another.
Paths can be created between any two items. An item can have any number of paths linking to, or from, it. Paths have a direction, but this can be ignored if you don't need it. Paths can be created between any number of selected items, in the order of selection.
Items can be snapped together at their centerpoints or mesh vertex points. The grid cursor can be moved to an item centerpoint, or mesh vertex point. These operations can also be set so the item/cursor is only moved on the current grid axis.
Items with visible properties have a brush object, which allows those properties to be modified. Brush objects can have up to 8 texture objects applied in layers. Texture objects have a variety of editable data, including user data elements.
Hierarchial parent-child relationships can be created between items.
The Realmsmith project file format is fully documented, and can be easily parsed to extract the information required to convert a Realmsmith project file to a native map file for your project. In future versions of the editor, export and import will be handled via scripting, with ready-made scripts provided for common formats.

A bare workspace

A scene with models, paths, and a textured plane

The item properties window with the 'Displayed user data' panel open
This is an early beta, so documentation is still fairly sparse, and many features are still experimental. Some functionality is in need of further development, and is still a bit clunky. There are also, no doubt, many bugs still lurking.
The fully functional freeware beta version can be downloaded from: http://realmsmith.com/downloads.html
The product website is at: http://realmsmith.com/
-- Features --
The standard Windows graphical user interface (GUI) is used for GUI components, rather than a custom GUI. This provides a familiar and easy to use interface.
The editor can operate in either GUI or 3D modes, and can be toggled between these modes by pressing the escape key, or the middle mouse button (in 3D mode). In GUI mode, you can switch to 3D mode just by clicking on the 3D viewport.
The editor is heavily hotkey driven, for fast editing while in 3D mode. Alternative GUI controls are also provided for most editing functions.
In 3D mode, you can fly around using the default W,A,S,D and F,C keys, combined with mouselooking. You can adjust the flight speed using the mousewheel. Eight speed settings are available, with each setting being 2X the speed of the previous setting. You can also use hotkeys to teleport to the world center, or to the grid cursor.
The hotkeys, and most other options, can be customized to suit the preferences of the user.
The editor is event driven, and is designed to play nice with the operating system, rather than hogging CPU cycles it doesn't need. If no actions are being carried out, then the editor will usually show in the Task Manager as using 0% of the CPU.
Multiple projects can be open in the editor at the same time.
Each project has 21 workspaces available. Each workspace is a separate world, with its own grid, camera, item and path lists, etc.
The editor uses item instancing, where possible, to keep memory usage to a minimum. This also applies in cases where multiple models are loaded from the same file.
The editor uses absolute sizing, rather than relative scaling, when adjusting item sizes. If you wanted a desk model to be 80 centimetres high, for example, you would simply set its size on the Y axis to be 0.8 (assuming a one metre base scale is used, and the option to preserve the aspect ratio is enabled).
The editor's sizing capabilities include the option to preserve the aspect ratio of an item when changing its size.
Each item, path, workspace, and project can have multiple user data fields which can be used to store whatever values you wish. These are in the form of name and value string pairs. You can create, remove, and change the order of the user data fields. Several different types of user data are available, depending on their usage. These are:-
1/ Single-line user data.
2/ Displayed single-line user data. The name and value data is displayed on mouseover of an item.
3/ Multi-line user data.
4/ External user data. The value field holds the path to a file. The provided 'Browse' button can be used to browse to, and set, that filepath. The provided 'Open' button will shell execute the file pointed to by the filepath. This can be useful for editing associated files in their native editing programs.
The editor's grid system allows switching between one dimensional and two dimensional grids; and beween grids on the X, Y, and Z axiis. Grid scale can be increased and decreased. Grids can be hidden, if required. Each grid includes a grid cursor, with optional snap-to-grid movement. The settings for each grid are local to the workspace that the grid is in.
A powerful item selection system is included. Multiple items can be selected. The last selected item is also known as the 'chosen' item, and is marked in a different color than the normal selected items. Some operations are performed on all the selected items, including the chosen item; some operations are only performed on the chosen item; and some operations are performed between the normal selected items, and the chosen item. Items are visibly numbered in the order that they were selected, and some operations make use of this order numbering.
A clipboard system is available for items. Multiple items can be cut, copied, and pasted. When an item is cut or copied, a copy of that item is kept on the item clipboard until it is overwritten. This allows items to be pasted multiple times. The item clipboard is shared between all workspaces and projects, so it can be used to cut/copy and paste items from one workspace to another, or from one project to another.
Paths can be created between any two items. An item can have any number of paths linking to, or from, it. Paths have a direction, but this can be ignored if you don't need it. Paths can be created between any number of selected items, in the order of selection.
Items can be snapped together at their centerpoints or mesh vertex points. The grid cursor can be moved to an item centerpoint, or mesh vertex point. These operations can also be set so the item/cursor is only moved on the current grid axis.
Items with visible properties have a brush object, which allows those properties to be modified. Brush objects can have up to 8 texture objects applied in layers. Texture objects have a variety of editable data, including user data elements.
Hierarchial parent-child relationships can be created between items.
The Realmsmith project file format is fully documented, and can be easily parsed to extract the information required to convert a Realmsmith project file to a native map file for your project. In future versions of the editor, export and import will be handled via scripting, with ready-made scripts provided for common formats.