Skip to content

Releases: not-na/peng3d

Peng3d v1.11.0

16 Jan 13:17
Compare
Choose a tag to compare

Note: for further information about specific classes and methods visit the documentation on ReadTheDocs.org.

This release is available in the attachments and on the Python Package Index here.

Changes since 1.10.1, in no particular order:

  • Bumped versions of most dependencies
  • Officially added support for newer Python versions, up to 3.9
  • Added parameter to createWindow to allow overriding the resource manager class
  • Added parameters to Label widget to allow overriding anchor of underlying pyglet Label
  • Added support for custom per-widget fonts for all button types
  • Added peng3d:i18n.miss event
  • Added redraw and on_redraw methods to Layer
  • Added getTexSize() to resourceManager
  • Added support for changing texture parameters per-category
  • Finally fixed FramedImageBackground and added some advanced parameters for customization
  • Added peng3d.gui.layered.FramedImageWidgetLayer
  • Improved modularity of Backgrounds and Widgets, e.g. most widgets now support arbitrary backgrounds without requiring custom methods
  • Added font size, color and family support to dialogs
  • Cursor position of TextInput is now correct when initialized with text already in the text field
  • Added missing texture events
  • SubMenus can now inherit their backgrounds from their Menus
  • Added inheritance for font parameters and borderstyle
  • Added layout helper classes with several examples
  • Allow easier specification of resources in some Widgets with ResourceManager.normTex
  • Added stay_pressed attribute to all widgets
  • Added support for multi-line translation values
  • Added support for formatting translated strings
  • Mostly fixed ScrollableContainer
  • Added mouse-based scrolling to ScrollableContainer
  • Added visible property to BasicWidget
  • All labels of Buttons and Labels now have layers
  • Added layering system for non-custom-drawn widgets
  • Improved performance for some mouse event handlers
    • NOTE: this may cause issues if you have previously used mouse actions in labels. See Widget.IS_CLICKABLE in the docs for more information.
  • Added basic form support
  • Added password input field
  • Text input fields now ignore return key presses by default
  • Added per-window FPS limiting
  • Fixed i18n language discovery on Windows
  • Added rate-limited pyglet event handlers that are only called once per on_draw
    • Switched on_mouse_motion and on_resize to rate-limited handlers for a massive performance improvement upon rapid mouse movement
  • Improved performance when calculating widget size

In total, 47 files were changed with 2367 additions and 628 deletions.

Peng3d v1.10.1

14 Jan 19:49
Compare
Choose a tag to compare

This is a bugfix release containing only small bugfixes since the last release.

Changes since 1.10.0, in no particular order:

  • Fixed ReadTheDocs.org not being able to build the documentation
  • Updated a couple requirements to their latest version. Older versions are still supported until the next minor release.
  • Fixed dependency declaration in setup.py to support auto-installation of dependencies by pip or similar

In total, 4 files were changed with 11 additions and 6 deletions.

Peng3d v1.10.0

14 Jan 14:34
Compare
Choose a tag to compare

Note: for further information about specific classes and methods visit the documentation on ReadTheDocs.org.

This release is available in the attachments and on the Python Package Index here.

Changes since 1.9.0a1, in no particular order:

  • Fixed bug when using in operator on SmartRegistry
  • Added Python 3.6 Support and made Python 3.6 the main development language from now on
  • Added a DeprecationWarning for old bidict versions
  • Added AdvancedProgressbar with support for multiple progress categories
  • Added AdvancedProgressSubMenu based on AdvancedProgressbar and an example
  • Added internationalization/translation support via peng3d.i18n module
  • Widgets can now fit themselves around the size of their content via getMinSize() and getContentSize()
  • Made ResourceManager compatible with PyInstaller by correctly getting the temporary directory
  • Added support for Window Icons in different sizes
  • Added support for constraining window size
  • Added docs and tests for most new features
  • Updated some old requirements
  • Changed versioning scheme to allow PyPI to correctly guess beta status

In total, 45 files were changed with 1263 additions and 85 deletions.

Peng3d v1.9.0a1

18 Nov 17:55
Compare
Choose a tag to compare

Peng3d v1.9.0a1 Release Notes

Note: for further information about specific classes and methods visit the documentation on ReadTheDocs.org.

This release is available in the attachments and on the Python Package Index here.

Most Features are listed in Chronological order.

  • Improved layered widget dynamic pos/size, now includes arguments
  • Widgets now check if a click is within the parent container/submenu, prevents accidentally clicking out-of-bounds widgets
  • ResourceManager is now not forcibly created, only if missing
  • Improved ResourceManager missing texture handling
  • Applications can now easily define a custom resource as the missing texture
  • Changed PyPI Development status to stable
  • Added new event system
  • Out-Sourced event docs to an external sphinx extension called peng3d_sphinxext
  • Added BlitableTexture util to peng3d.util.gui
  • Added dialogs as the peng3d.gui.menus module
  • Added ActionDispatcher class for easy future extension
  • Switched over all actions to use ActionDispatcher
  • Added SmartRegistry util
  • Partially re-added python2.7 support, not officially guaranteed
  • Added tests for some features
  • Fixed incorrect PyPI badge, now displays current version

In total, 31 Files were modified and 1694 Additions and 68 Deletions were made.

Peng3d v1.8.0a1

15 Apr 11:52
Compare
Choose a tag to compare

Peng3d v1.8.0a1 Release Notes

Note: for further information about specific classes and methods visit the documentation on ReadTheDocs.org.

This release is available in the attachments and on the Python Package Index here.

Most Features are listed in Chronological order.

  • Added visible option for containers for controlling visibilty
  • Dynamic Widget Positions via functions/lambdas now get the size of the parent widget instead of the window size, this may change some behaviour in old applications
  • Added pos and size properties to SubMenu to facilitate the aforementioned changes
  • Added the textchange action to Labels
  • Added toggleable multiline support for Labels
  • Fixed bugs with invisible containers
  • Rewrote major parts of ButtonBackground removing a lot of redundant code and making it more modular
  • Added feature to easily add Borderstyles to ButtonBackground
  • Removed lots of code from various other backgrounds, most are now only slightly customized variants of ButtonBackground
  • Added pressed and is_hovering helper properties to Background, note that they may not always reflect the true state of the widget, see the docs for more information
  • Calling redraw() multiple times in one frame now does not immediately redraw the widget, it is only redrawn once, in a semi-asynchronous manner
  • Custom Widgets should put their redrawing code into on_redraw() instead of redraw() to support these new features
  • Removed already deprecated feature for non-batch vertex lists in Widgets, use batches instead
  • Fixed a bug that would cause an OpenGL error and crash if widget sizes went into the negative realm, e.g. during resizing
  • Added experimental feature to remove widgets, not yet recommended for production use
  • Added support for cut/copy/paste in TextInput, requires pyperclip
  • Fixed bugs related to improper line editing in TextInput
  • Added support for HTML Labels, see the docs for information about which tags are supported
  • Added LayeredWidget, allows for (theoretically) infinity combinations of layers to widgets
  • Added Widget Layers for most commonly used functionality
  • Added peng3d.util package containing most utility functions
  • Moved most module-level functions to peng3d.util
  • Updated setup.py to include new packages
  • ResourceManager now returns a missing texture instead of crashing if the category does not exist
  • Added statechanged action to BasicWidget
  • Added getState() method to BasicWidget, see docs for more info
  • Cleaned up some old code from test_*.py files
  • Added example template
  • Added example for layered widgets
  • Moved test_*.py files to examples/
  • Updated docs to reflect changes since last release

In total, 37 Files were modified and 2029 Additions and 526 Deletions were made.

Peng3d v1.7.0a1

18 Jan 18:50
Compare
Choose a tag to compare

Peng3d v1.7.0a1 Release Notes

Note: for further information about specific classes and methods visit the documentation on ReadTheDocs.org.

This release is available in the attachments and on the Python Package Index here.

Most Features are listed in Chronological order.

  • Widgets are stored in the order they are added, ensures that they are drawn in the order they were added
  • Background initialization flag is now stored per background
  • SubMenu and Container accept Background objects as backgrounds
  • Prevented random layering causing visual glitches
  • Fixed bug that caused Buttons to render their labels twice
  • Fixed bug that caused Labels of Buttons to render on top of Containers
  • Allowed to specify border styles for Containers
  • Replaced container stencil system with simpler and faster scissor system.
  • Removed some duplicate code in Container
  • Added option to bring your own event loop to replace the pyglet event loop
  • Added a Model/Animation/Bone system
  • Added package peng3d.libs for distributing third-party libs with peng3d
  • Added modified version of jsoncomment module to third-party libs
  • Added default missingtexture.png
  • Added demos for model system
  • Added support for models to be used in actors and rendered by the world
  • Added alias for misspelled RotatableActor->RotateableActor, old version still works
  • Fixed bug that caused issues when using multiple keybind-based Actor Controllers on different actors at once
  • Added method to add custom textures from elsewhere to the texture atlas and cache
  • Added documentation for new features
  • Removed some old debug outputs

In total, 34 Files were modified and 2502 Additions and 82 Deletions were made.

Peng3d v1.6.1a1

14 Nov 17:08
Compare
Choose a tag to compare

Peng3d v1.6.1a1 Bugfix Release Notes

Note: for further information about specific classes and methods visit the documentation on ReadTheDocs.org.

This release is available in the attachments and on the Python Package Index here.

Bugs fixed:

  • Fixed Division-by-zero bug in Slider if nmax-nmin < 1
  • Fixed Bug that caused widgets in Containers in Containers to not be stenciled correctly, only the outermost stencil will be used now

This version should be fully compatible with v1.6.0a1, as there were no feature changes.

Peng3d v1.6.0a1

02 Nov 17:15
Compare
Choose a tag to compare

Peng3d v1.6.0a1 Release Notes

Note: for further information about specific classes and methods visit the documentation on ReadTheDocs.org.

This release is available in the attachments and on the Python Package Index here.

Most Features are listed in Chronological order.

  • Added Textual Widgets, e.g. Label and TextInput classes
  • Removed some internal methods from autodoc
  • Added Containers including a ScrollableContainer
  • Added stencil configuration options
  • Added a VerticalSlider
  • Deprecated BasicWidget.vlists attribute
  • Added sphinxcontrib-spelling as a development dependency
  • Spellchecked the docs, fixed over 50 typos
  • Found out that I always wrote behavior and similar the wrong way
  • Added documentation for all above features, see here

In total, 26 Files were modified and 1019 Additions and 58 Deletions were made over the course of 7 Days.

Peng3d v1.5.0a1

23 Oct 02:19
Compare
Choose a tag to compare

Peng3d v1.5.0a1 Release Notes

Note: for further information about specific classes and methods visit the documentation on ReadTheDocs.org.

This release is available in the attachments and on the Python Package Index here.

Most Features are listed in Chronological order.

  • Addded Widget-based 2D GUI system
  • Added test_gui.py to demo the GUI system
  • Added several common widgets, e.g. Buttons, Checkboxes, Sliders and Progressbars
  • Added a resource system and accompanying config options
  • Added background system for widgets

In total, 27 Files were modified and 2102 Additions and 7 Deletions were made over the course of 7 Days.

Peng3d v1.4.0a1

14 Oct 19:24
Compare
Choose a tag to compare

Peng3d v1.4.0a1 Release Notes

Note: for further information about specific classes and methods visit the documentation on ReadTheDocs.org.

This release is available in the attachments and on the Python Package Index here.

Most Features are listed in Chronological order.

  • Implemented Fog system
  • Added docs for fog system
  • Added fog system to test.py

In total, 5 Files were modified and 73 Additions and 19 Deletions were made over the course of 1 Day.