Skip to content
Shane Saxon edited this page Jan 31, 2024 · 159 revisions

Key Features


Topics


Overview - GUI Layout & Keyboard

This page is an overview of all User Commands (tools, modes, console(s), etc.)

The GUI is organized into 3 regions, the 3D scene, toolbar and console. There are several ways to interact via the standard keyboard and mouse, as well as optional hardware like the SpaceMouse & zSpace Stylus. The left toolbar displays mode and tool indicators which you can click (or change mode with scroll-wheel or keyboard). It is worth noting that the devices operate simultaneously, ie: Fly the camera with the SpaceMouse while modifying glyphs with the system mouse AND use the Keyboard (Game Mode or Console).

Important: At startup the keyboard is set to 'Game Mode', where the 'Esc' key will toggle fullscreen ON/OFF. However, you might accidentally find yourelf in one of the 3 different console modes (Command Console, DB Menu or Text Tag), in which case 'Esc' will exit the console and return you back to 'Game Mode'.


Tool Bar

Headings and Coordinates

  • The top box shows overall scene heading x degrees and cardinal direction.
  • The second box down can shift between Tilt and Roll. Just click the box to change.
  • The next three boxes show x, y, and z axes. Depending on which tool is selected, this can show coordinates, rotation, or scaling size. If in the Move or Combo tool, users can shift between World and Local coordinates by clicking on the top box, Heading.
    • Local coordinates show the location of the selected object on its parent's topology, and for the root node, its location on the parent grid.
    • World coordinates show the location of the selected object in relation to the primary grid. No matter what branch level the object is on, the world coordinates show where that object is in the overall scene.

Load Dataset or Asset

  • 1, 2 or 3 - key loads a preset dataset specified in:
    • /User/_Global_/csv/np_preset.csv
  • L - key for Open File Dialog to load a specific dataset or asset:
    • Alt+L - load dataset (as children) onto the currently active glyph.
    • To load entire dataset, choose the [dataset]_npe.bat file.
    • Single assets can be loaded by selecting the specific file:
      • Native CSV tables, eg. [dataset]_np_node.csv
      • 3D Models will also attempt to load their specified texture.
      • Texture formats (PNG, TIFF...) support transparency.
  • Assets (images, 3D models, ...) are loaded at startup from:
    • /User/_Global_/[subfolders]
  • See [Command Line Arguments] section to specify specific startup files.

Save Methods

  • Shift+[#] (1, 2 or 3) - save current dataset scene and set it as a preset (#).
    • Legacy presets are moved and transformed to the current dataset schema.
  • K - for Save As File Dialog (prompts with default dataset name).
    • eg. `/User/Prototypes/2024-01-31/proto-20240131T090341/'
      • Can change the folder location and dataset name as preferred.
    • Screenshot of current camera view is put in the base folder (with [dataset].bat).
    • Subfolders are created for each asset type:
      • eg. /User/proto/2024-01-31/[dataset]/csv/[dataset]_node.csv
      • *Note, shared assets in /User/_Global_/[subfolders] are not copied.
  • Ctrl+K - saves a copy with ver number (or as proto if no active dataset).
  • Alt+K or Alt+Shift+(1, 2 or 3) - Save only the currently selected glyphs.
    • Note that branches will be saved as root objects with their local coordinates.
  • [Save Selected] - Toolbar button will save selected items to a node table.
    • L-click to save ONLY selected nodes (with relative local coordinates).
    • R-click to save selected nodes with all sub-branches.
  • F4 - Save Screenshot to the currently active (last used) dataset base folder.
    • Shift+F4 - Screenshot saved with alpha transparency using RGBA TIFF.

Built-In Visualizations

  • 4 - Reserved for custom viz (eg. Edge-AI demo).
  • 5 - FileViz directory tree, choose root folder (Alt+5 uses 'usr/fileviz').
  • 6 - GitViz issues from a github repo (specified in npglobals.csv).
  • 7 - Color palettes with a node for each index color.
  • Alt+7 - Test Scene (generates 250K+ varied nodes).

Quit Program

  • Alt+F4 - Quit without saving.

Behavior is based on the active [mouse: (mode) ] and [tool: (type) ].

  • Mouse Wheel - changes tool type.
  • L-Click on [mouse: (mode) ] indicator will switch between Camera, Grid & Glyph mode.
  • L-Click on any of menubar tool to set the [tool: (type) ].

Mouse Navigation

  • L - Hold on scene background to XY ORBIT around current object.
  • L+R - Hold on background to XZ ORBIT circle and ZOOM in/out.
  • Mouse scroll - Camera zooms in/ out with 2D mouse scroll wheel (when in Camera Orbit active).
  • R - Hold on background to FLY camera around scene.
  • Hints:
    • Directly switch between camera orbit XY and XZ modes by using L-Hold while pressing (or releasing) R-Hold.
    • After using FLY mode (R-Hold) you will then be able to use LOOK mode using L-Hold.

Mouse Selection

It is possible to L/R-Click to select using several of the tools (Combo, Move, Scale, etc.) However other tools use the clicks to change the glyph attributes (topo, color, etc.)

  • With [tool: Select] you can create a selection set:
    • L-Click on an object will select it (can select multiple).
    • R-Click on object de-selects it.
    • L-Hold to drag a selection box (add to selection).
    • R-Hold to drag a de-selection box (removes objects).
  • [Create]
    • L-Click on background creates a new hyperglyph (pin with torus).
    • L-Click on a glyph creates a new (attached) child glyph. (Note: if you wish to create a child node off of a root node, you will need to hold Shift L-Click.)
    • R-Click deletes glyph.
  • [Link]
    • L-Click on the 'A' link end and then select the 'B' link end.
    • R-Click cancels and resets for picking the 'A' link end.
    • Note: You can only connect root nodes to other root nodes.
  • [Combo]
    • L-Hold drags selected objects in XY (L-R & Forward-Back).
    • R-Hold scale objects up/down, and increases/decreases ratio.
  • [Move]
    • L-Hold moves objects in XY (L-R & Forward-Back).
    • R-Hold moves objects in XZ (L-R & Up-Down).
  • [Rotate]
    • L-Hold rotates objects on X & Y axes (Heading, Tilt).
    • R-Hold rotates objects on Z axes (Roll)
  • [Size]
    • L-Click to increase/decrease scale.
    • R-Click to increase/decrease ratio.
  • [Topo], [Geometry], [Color], [Texture]
    • L-Click for next (topo type, index color, texture map, etc...).
    • R-Click for previous type.
  • [Hide]
    • R-Click to Hide all sub-branches of selected node.
    • L-Click to un-Hide sub-branches.
    • See Keyboard Game Mode commands below for hiding per branch level, etc.
  • [Tag]
    • L-Click to select a glyph, and then use keyboard to modify or enter a new tag.
      • Repeating L-Click on the same glyph will change it's draw style (color, outline).
    • R-Click will hide the tag (but the text will be retained).
    • Enter will alternate between Tag Edit mode and Tag Style mode (tag game mode).
  • Hidden Tools - accessible via scrollwheel
    • [Alpha] - Changes glyph opacity (transparency).
    • [Channel] - Animation channel (subscribes selected nodes to tracks).
    • [Freeze] - Freezes animation and editing.
    • [Set High] - Restricts the max position of a glyph to current location.
    • [Set Low] - Restricts the minimum position (is specific to active axes X key).

Hint: The console will display tips on tool usage when you switch to a new tool.


The 3Dconnexion SpaceMouse (family) are 6DOF devices that operate the camera and modify glyphs (currently selected by the keyboard, system mouse/trackpad/touchscreen or zSpace Stylus).

  • The [3Dmouse: (tool) ] GUI indicator is visible (ONLY) when a 3Dconnexion driver is installed.
  • L button - changes mode between Camera (blue) and Glyph (red).
  • R button - changes tool type:
    • Camera mode (blue) has two navigation methods:
      • [Orbit] - around (Twist/Tilt) and zoom in/out (Forward/Back) of currently selected object.
      • [Fly] - around the scene (6DOF).
    • Glyph mode (red) has several tools:
      • [Combo] - orientation (Twist/Tilt/Roll) and translate (Push XYZ).
      • [Move] - translate (Push XYZ).
      • [Rotate] - orientation (Twist/Tilt/Roll).
      • [Size] - Uniform scale (Up/Down), non-uniform (Left/Right) & (Forward/Back).
      • [Color] - Alpha (Up/Down) or RGB color (Twist/Tilt/Roll).

Hint: can also L/R-click on GUI indicator to change modes with (2D) mouse or zSpace Stylus.

Important, you may need to disable the 3D connexion GUI overlay to prevent popping up on top of the app.


zSpace system AR/VR computers are XR devices that include a 6DOF stylus (aka: zStylus).

  • The [zStylus: (tool) ] GUI indicator is visible ONLY when a zSpace System is used.
  • zStylus tool operates independently of other input devices (keyboard, mouse...).
    • Most tools are similar to standard mouse tools described above.
      • Center Button - is equivalent to mouse L-Click.
      • Right Button - is equivalent to R-Click.
      • Left Button - changes tool type.

Note: Numbers, -, =, etc apply to the main keyboard, not the number pad.

A useful 'bug' is to change selection to another object (TAB, New, etc..) and do this while performing a rotation, it will continue to rotate, also applies to zoom and translate...

It is possible to press multiple keys at once (3-5 typical depending on the keyboard and key combo...) So for example, you can do a rotation and zoom while simultaneously changing the color.

Global Settings

  • ESC - Fullscreen Toggle and also exits console modes (return to Game Mode).
  • M - Menu display mode (1, 3 or 40 text lines, toolbar size and hide GUI).
  • B - Background Black/White.
  • X - Lock axes so that the current tool only effects: X, Y, XY, XYZ...
    • Hint: Click on the toolbar menu axes [Coord (X/Y/Z): 0.0 ] to toggle an axis ON/OFF.

Mouse Mode (Cam, Grid, Glyph)

The GUI indicator [mouse: (mode) ] determines what type of nodes are operated on by the (2D) mouse. To change the mode, click on the indicator or use the shortcut keys (when keyboard is in 'Game Mode'):

  • C - Camera mode, repeat to select next camera.
  • G - Grid mode, repeat to iterate through grids.
  • Tab - Glyph mode, repeat to select next sibling.

*Note that Shift+(mode key) will select previous (of same node type).

**The 3D Mouse (ie: SpaceMouse) and zSpace Stylus have operation modes that are completely independent of the (2D) mouse mode.

Camera Mode

  • C - Switches to 'Camera Mode' and iterates through all cameras.
    • By default, the scene starts out with 4 cameras.
    • Alt+C - reset camera position.
  • N creates a new camera object while in Camera mode.
  • Del removes a camera object while in this mode.

*Hint: Creating new camera objects can be used to pre-set a journey through specific viewing angles of your viz.

Grid Mode

  • G - Switches to 'Grid Mode' and iterates through all grids.
  • ALT-G - toggles an object between Glyph and Grid types.
  • N - Will create a new grid (when 'mouse: grid' mode is active) as a child of the current node (glyph or grid).
  • branch_level = 0 for ALL grids, Hence, any (root) glyphs directly attached will start at level = 1.
  • Grids are node type = 6, np_topo_id = 8 (plane) with np_geometry_id = 21 (square).
  • Scaling the grid compacts the spacing (translation) of attached (root) nodes but does NOT affect their size, and is axis specific.
    • eg. Scale the Z-axis of the grid to compact or expand a vertical stack of (root level) glyphs.
  • To move grids, see Move, Rotate or Scale Objects.
  • To change color, texture, or transparency, see Texture, Color & Transparency.
  • To change grid unit size and segment count see Toplogy & Geometry
    • Hint: Segments = 1 is an empty rectangle, (no grid lines).

Create, Delete, Copy, Prune & Graft Glyphs

  • N - Creates a new node (based on the mode: Camera, Glyph, Grid...)
    • Use Shift+N when creating a Level 2 child node off the Level 1 root node.
    • Glyphs are type = 5.
    • In order to add glyphs to grids, go to Grid Mode, make sure the grid on which you want to add the node is selected ON, go back to Glyph Mode and then hit N. Alternatively, while still in Glyph Mode, you can use the arrow keys to move down branch levels, getting to branch level 0, the primary grid, and then paste the branches and children there.
    • A glyph with parent_id=0 will be attached to the main grid.
  • Del - Delete node, deletes active node and all its child branches
  • Ctrl+X - To cut (prune) and store the glyph tree or branch on the clipboard.
    • Shift+Ctrl+X - To cut (prune) to clipboard, with branch base in world coordinates.
  • Ctrl+C - To copy the glyph tree or branch to the clipboard.
    • Shift+Ctrl+C - To copy to clipboard, with branch base in world coordinates.
  • Ctrl+V - To paste (or graft) the clipboard to the active glyph (or Grid).
  • Ctrl+S - Saves all selected nodes with sub-branches (timestamped).
    • Shift+Ctrl+S - Saves just the selected nodes (without sub-branches).
    • Tool_Save Selected - Saves entire branch(es) of selected nodes.

Traverse Forest & Trees

  • Left arrow - select left sibling (SHIFT+arrow to skip towards first node)
  • Right arrow - select right sibling (SHIFT skips towards last node)
  • Up arrow - select child, up a branch level (SHIFT jumps to leaf)
  • Down arrow - select parent, down a branch level (SHIFT jumps to root)

Select, Hide & Freeze

  • Spacebar - toggles the wireframe that indicates a node is selected ON/OFF.
    • Alt+Spacebar - toggles current node selection ON/OFF.
  • H - Hides the object, but it will continue to (invisibly) animate.
    • Shift+H to unhide all nodes.
    • Alt+H to hide nodes by increasing branch level.
    • Shift+Alt+H to hide nodes by decreasing branch level.
  • F - Freeze will stop the object's movement and lock editing it.
  • ` (left single quote) - Default behavior is to toggle Select ALL/NONE glyphs.
    • Alt+` will invert the selection (*future feature).
  • ' & Shift+' (right single quote) - will either move up or down (with Shift) a branch level from the selected node and select all nodes at that new branch level on that particular glyph.
  • Ctrl+A - Also toggles select ALL ON/OFF.
  • Alt+~ - Inverses selection set.

Subsample

  • \ (backslash) - Subsamples nodes to draw faster
    • Shift+\ - Reverses subsampling
    • Reduces number of root nodes by half with each \.
  • Alt+\ and Shift+Alt+\ specifies the branch_level to apply sub-sampling, (default is branch_level = 1).

Move, Rotate or Scale Objects

  • R - Rate mode can be either keydown or increment.

    • rate mode: keydown - (default) will apply the rate while holding down the key.
    • rate mode: increment - will increment the rate with each press (including key repeat).
      • Hint: you can reset the rate to zero by switching to keydown mode and tapping the same key.
  • Move (WASD + QE)

    • D - increase X position (translate)
    • A - decrease X
    • W - increase Y
    • S - decrease Y
    • E - increase Z
    • Q - decrease Z
  • Rotate (same as Move with Alt key)

    • Alt+D - Right (rotate about Y axis)
    • Alt+A - Left
    • Alt+W - Up (X axis)
    • Alt+S - Down
    • Alt+E - CW (Z axis)
    • Alt+Q - CCW
  • Z - Scale objects up (Shift+Z for down).

    • Alt+Z - Spreads (translates) sub-grid child nodes (must be in Grid mode).
    • Applies ONLY to active axes (X key).
  • I - Increases inner radius of torus geo, rod topo or link node, (Shift+I decreases).

Translate Position Limits

  • Set Points restrict the translate_x/y/z range of an object.
    • [ (L bracket) - Low set point, object default is z = 0.0 for ground level.
    • ] (R bracket) - High set point, set points are specific to active (X* key) axes.

Topology & Geometry

  • J - Next 'topo' type, Shift+J for previous topo.
    • ALT+J will change which parent facet (on a cube...).
  • O - Object geometry, does not change the 'topo' type.
    • ALT-O if using an imported 3D object file, use this command to keep this imported geometry and rotate through topologies. Coming in next release later in Feb 2021.
  • ALT+G - Set current glyph node to be a grid (topo and geometry).
  • Y - Increases the (Grid) segment_x y z count (Shift+Y - decreases the count)
    • Z (segment_z) is stacks of grids as 3D layers.
    • Hint: If X & Y segments = 1, the grid is an empty rectangle.
    • Actions ONLY apply to the active axes (X key) component(s).
    • ALT+Y - increase unit size spacing (Shift+Alt+Y to decrease).
      • np_node table stores (grid) spacing (**np_node** table: auxa_x y z).
    • Total grid dimensions are determined by the grid spacing X segments = length (per axis).

Texture, Color & Transparency

  • Texture Settings
    • V - Video or image Texture map (Shift+V for previous).
    • Alt+V - increase wireframe thickness (Shift+Alt+V to decrease).
      • *Wireframe thickness does not work in VMware.
    • Images are loaded from 'User/Global/images' folder.
      • texture_id corresponds to the (alpha-numeric) order of loading.
  • Object Color Settings
    • = (equal) - next (palette) index color.
      • Alt+'=' - next color palette.
    • - (minus) - previous index color.
      • Alt+'-' - previous color palette.
  • Transparency Settings
    • 9 - Less opaque (more transparent).
    • 0 - More opaque.
  • Alternate Color (grid lines)
    • Alt+9 - decrease opacity of the grid lines.
    • Alt+0 - increase opacity of grid lines.
    • Shift+Alt+9 - prev color ID of grid lines.
    • Shift+Alt+0 - next color ID of grid lines.
  • Global Color Settings
    • B - Background color, toggle between black and white
    • 8 - Transparency mode (subtractive, additive, dark, none)

Animation - Channels & Tracks

  • P - Plays track animation (specified in ANTzChXXXX.csv & ANTzChMapXXXX.csv)
    • Press P again to pause/play.
    • '>' (comma) - Increase playback speed.
    • '<' (period) - Decrease playback speed (negative values play in reverse).
  • Alt + '>' (comma) - Channel Up for selected nodes.
  • Alt + '<' (period) - Channel Down for selected nodes.

Browser URL & record_id Retrieval

  • U - Opens Tag title URL in the system browser, supports HTML href="...".
    • If no URL in title, then uses default URL with record_id appended.
    • Can also open applications and files based on OS default mime type.
    • ALSO... launches URL as tag title ie: http://example.com or app.exe

GUI Consoles

  • Outputs user actions and system messages (status, warn, err...)
    • M - key will switch the number of lines shown (or hide completely).
    • Keyboard Game Mode actions are described above.
  • Enter key - Enters Command Console (from Game Mode).
  • Type '?' and press Enter for command usage 'help'.
  • Esc key - leave Command Console and return keyboard to Game Mode.
  • T - Toggles the Tag Tool ON/OFF.
    • Enter - switches between Tag Edit and Tag Style:
      • Tag Edit mode modifies the text.
        • Press Enter or Esc to return to Tag Style mode.
      • Tag Style keys:
        • Can select tags as usual with keyboard keys and/or mouse.
        • H - toggles hide/unhide.
          • Alt+H - hide all text tags.
        • F - changes the font type (Shift+F for previous).
        • Z - scales the tag size up (Shift+Z scales down).
        • B - changes the tag box style (outline or node color text).
  • Camera mode (C key) controls scene wide tag view behavior:
    • Z - scales display size of all tags.
    • Alt+Z - changes all (visible) tags view mode, as follows:
      • Hide All mode '0' (does not change individual tag hide states).
      • Fixed Size mode '1' (akin to original behavior).
      • Glyph Scale mode '2' scale is directly proportional to the node view size.
      • Distance Scale mode '3' scales, but closer is proportionally smaller.
    • Camera tag view settings are unique to each camera.
    • Camera settings do NOT affect the tag settings.
  • / (forward slash or '?' key) - Will open the (MySQL) DB Console (from Game Mode).
    • A menu is displayed on entry:
      • Type a DB item # and press Enter to load.
    • Use SELECT command to select nodes in the scene.
      • Use SET command to change the node parameters.
    • Type '?' (or 'help') and press Enter to display command usage examples.
      • Can DROP (delete), LOAD, UPDATE, etc...
  • Esc leaves the DB console and returns keyboard to game Game Mode:
    • Shift+/ (slash) - Save a time-stamped DB.
    • Shift+: (colon) - Save an update to the active DB.
    • ; (semicolon) - Load DB update.

The app excepts command line arguments at startup to load assets and set global settings

  • Multiple command line arguments can be mixed, for usage help enter: C:\>data\antz.exe -?
    • -d [path] [file filter] to load entire dataset:
      • C:\>data\antz -d usr\antz0003\ *.*
    • -f to load specific file(s):
      • C:\>data\antz -f usr\dataset1\csv\antz0001node.csv -f "usr\other image.jpg"
        • Note that double quotes are needed (only) for file paths that have spaces.
  • Launch antz dataset using the auto-generated .BAT file:
    • C:\>data\antz0001\antz0001.bat
    • You can of course create your own .BAT files:
      • The specificed data path is relative to the location of the batch file.
      • MSW batch files require the path only use the backslash (vs POSIX forward slash).
        • Note that as of W7, a forward or backslash works for almost everything (else).

*KNOWN BUG (issue #298) prevents loading node CSV tables.


  • OSC port and IP config is stored in the globals table ('usr/csv/antzglobals.csv')
Clone this wiki locally