Okmatija Prizm Versions Save

A Computational Geometry Debugging Tool

v0.10.1

2 weeks ago
  • Fixes to the Python API

    • Fixed the import path generated by the "Prism > Tools > API > Python > Copy import lines" button

v0.10.0

2 weeks ago
  • Added a Python API for OBJ authoring with Prizm extensions

    • Usage: Navigate to the "Prism > Tools > API > Python", configure the API by pressing checkboxes and press the button to copy the relevant import text to your clipboard, then paste that string into the file you want to debug
    • The API has functions to write geometry in plain OBJ format (based on http://paulbourke.net/dataformats/obj/) as well as functions to write Prism-specific extensions e.g., annotations and command annotations. See the documentation() function for more info
    • The API attempts to minimize dependencies and only imports modules as needed e.g., the Color can be constructed from matplotlib color types, but matplotlib is only imported if you actually call this function. Doing this seems to be a bit unidiomatic in Python so we might change it.
    • Having this debug code live outside your project is a feature since it ensures you can't accidentally commit code which writes out OBJs to production: your CI/CD pipeline should fail to compile because it won't be able to find the Prism API
    • Maintenance: mypy.exe prizm.py should return no issues; pylint.exe should be "reasonable" i.e., fix errors but too-many-statements, using-constant-test, line-too-long etc. This also applies to the test.py file
  • Improvements to the C++ API

    • Fixed polyline functions which did not correctly write the indices of closed polylines
    • Fixed polyline function writing a spurious space after // (the separator between a vertex index and a normal index) in some cases
    • Changed polygon functions to do nothing rather than writing broken data when called with fewer than 3 indices/vertices
    • Added aqua and magenta colors and made minor imporovements to the documentation

v0.9.3

1 month ago
  • Clicking with LMB on a "Details" section heading now toggles between the following:
    1. Displaying section options in a popup menu. This is useful if you want the options is visible only while you're editing them
    2. Displaying section options inline with the "Details" section. This is useful if you want the options always visible
  • Removed the now unused "File > Preferences > Item List > Item Details Section Uses Menus" which is superceeded by the above feature

v0.9.2

2 months ago
  • Fixed some memory leaks

v0.9.1

2 months ago
  • Changed the keybind for rotating around the alternative camera axis from Alt LMB-drag to Shift LMB-drag. This works around a windows bug windows where the Alt key could not be used for both easy window resizing and rotating around alternative camera axis.
  • Changed default label positioning to be slightly offset from the cursor to reduce possible cursor/label overlap
  • Changed the default behaviour of the item_find_open_edges console command: it now adds the open edge segments to a new item where previously it added segments to the query item
  • Removed uninteresting files from the shapes/ folder, now it only contains files from actual debug sessions that are useful demos, test files that broke Prizm and tutorial files (Demo.obj). The removed files were random obj models, which was misleading because Prizm is not a modelling program.
  • Added a "File > Preferences > Labelling > Ray Cast Label Offet" setting to enable you to further tweak the label positioning
  • Added "Demo Mode", which can be enabled via "View > Enable Demo Mode". Demo Mode will show mouse/key presses in the viewport and is intended to help with screen shares/demos
  • Fixed inconsistent coloring of shortcut keys listed next in menu items
  • Improved annotation and labelling text style defaults
  • [Windows] Changed F11 to toggle window maximized rather than window fullscreen since an SDL bug (?) caused the screen to go blank for a short period when entering/exiting a fullscreen window
  • [Windows] Fixed usage message not printing to the console if --help or an unrecognized argument starting with -- is passed. The usage message is actually printed to the Prizm console, not the windows terminal.
  • Added buttons in "Help > About" to copy github and discord link the clickboard

v0.9.0

2 months ago
  • Added initial support for running Prizm on Linux (tested on Ubuntu 22.04 using X11)
  • Improved support for resolving label overlaps in the viewport
  • Added a recursive argument to the 'load' command
  • Added full license text to "Help > About > Credits and Licenses"
  • Fixed a rare crash that could happen when passing arguements to the Prizm executable
  • Stopped writing the imgui.ini file when Prizm is closed
  • Updated the build script (first.jai) to automate the release/shipping process
  • Updated to compiler version beta 0.1.088

v0.8.0

2 months ago
  • Renamed project to Prizm to distingush this version from its predecessor. The new name is more seachable: there are 12.7M google search results for "Prizm" compared to 364M for "Prism"
  • Changed the keybinding to toggle annotation visibility from 'k' to 'a'. This is reflected in the ribbon button icon and is a better memonic for "annotation"
  • Changed the keybinding to cycle vertex labels from 'i' to 'x'. This is reflected in the ribbon button icon and is a better memonic for vertex coordinates
  • Changed the keybinding to clear all labels and annotations from 'x' to 'z'
  • Many thanks to Epic Games for open sourcing the original Prism repository under the MIT license, it can be found at github.com/EpicMatijaKecman/Prism