Skip to content

Releases: sean1832/Portal.blender

v0.3.0

26 Nov 09:38
b3c867b
Compare
Choose a tag to compare

Version 0.3.0

This release mainly implements a post event action for the receiver that enables Blender to trigger an action after receiving a message.

✨ Feature:

  • receiver: Add post event action, enabling Blender action after received data by @sean1832 in #38

v0.2.4

07 Oct 09:01
Compare
Choose a tag to compare

Version 0.2.4

🐛 Bug Fixes:

  • spot_blend: Fix value error when spot_blend is 0 by @sean1832 in #35
  • layer_naming: Resolve layer naming conflicts & fix Material key error by @sean1832 in #36
  • server: Fix server auto-start on file open and ensure graceful server shutdown before closing Blender by @sean1832 in #37

v0.2.3

05 Oct 17:21
Compare
Choose a tag to compare

Version 0.2.3

This release addresses several issues, including the normalization of light colors to prevent them from exceeding white. It also implements a conversion from sRGB to linear color space, accommodating the difference between Rhino's sRGB and Blender's linear RGB. Additionally, a more compact data model is adopted, representing coordinates as lists instead of dictionaries.

✨ Feature:

  • light conversion: Implement Light Conversion and Data Model Adaptation; Fix sRGB to Linear Conversion by @sean1832 in #33
  • light center: Use position as rectangular light center by @sean1832 in #32

🐛 Bug Fixes:

v0.2.2

05 Oct 08:41
Compare
Choose a tag to compare

Version 0.2.2

🐛 Bug Fixes:

  • Light Intensity: Fixed handling of 0 light intensity to prevent raising invalid value error by @sean1832 in #26
  • Connection Removal: Resolved the issue preventing the removal of connections by @sean1832 in #27
  • Duplicate Connection Names: Implemented iterative renaming to handle duplicate connection names by @sean1832 in #28
  • Connection Logic: Fixed an infinite loop issue in connection logic by @sean1832 in #29
  • Initial Data Transmission: Ensured initial data is sent on server start by @sean1832 in #30

v0.2.1

04 Oct 15:03
Compare
Choose a tag to compare

Version 0.2.1

This release primarily focuses on patching various issues related to light and material handling within the Blender portal. Below are the details of the changes made:

🐛 Bug Fixes:

  • Light Handling:
    • Update light object to utilize use_custom_distance from light data and change shape to RECTANGLE by @sean1832 in #25
    • Light deserialization now accepts a list with multiple lights to enhance compatibility by @sean1832 in #25
    • Corrected reference from type to self.type in the light module for accurate property access by @sean1832 in #25
  • Material Handling:
    • Updated Blender material to use an RGBA tuple instead of RGB to ensure proper color representation by @sean1832 in #25
  • File Handling:
    • Implemented the use of absolute paths for loading .dll files to prevent file not found errors by @sean1832 in #25

Note

For more details on the changes and fixes, please refer to the full changelog.

v0.2.0

04 Oct 09:37
4d43081
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

Version 0.2.0

This release introduces several new features, optimizations, and improvements to enhance the functionality and performance of the Portal.blender application. Key highlights include the implementation of send operation, an updated custom handler mechanism, robust connection exception handling, and numerous optimizations for mesh serialization and data communication. Additionally, there are notable UI enhancements and performance improvements with CRC16 checksum optimization.

✨ Feature:

  • Send Operation: Implement Sending Operations for External Data Communication from Blender, with event-based triggers that users can customize for improved interaction by @sean1832 in #15
  • Custom Handler: Enhance Custom Handler Mechanism by allowing direct method calls and adding robust exception handling to manage server errors effectively, ensuring system stability by @sean1832 in #11
  • Property Path: Implement property path value extraction by @sean1832 in #19
  • Light Deserialization: Implement light deserialization for POINT, SPOT, AREA, and SUN lights with additional improvements by @sean1832 in #23

♻️ Code Refactoring:

  • Modularity: Refactor recv_manager and ui/panel.py for Improved Modularity and Organization by @sean1832 in #14

🐛 Bug Fixes:

  • UI Improvement: Improve UI for Text Editor Button and Fix Window Opening Orientation by @sean1832 in #18
  • Event Handler: Optimize mesh data sending with time threshold and fix event handler registration issue by @sean1832 in #21

⚡ Performance Optimization:

  • CRC16 Checksum: Achieve approximately 3x performance improvement with C-based CRC16 checksum optimization, particularly beneficial for handling larger data sets and frequent sending operations by @sean1832 in #22
  • Light Deserialization: Light Deserialization and Performance Enhancements with CRC16 Optimization by @sean1832 in #24
  • Mesh Serialization: Optimize Mesh Serialization with Numpy by @sean1832 in #16

📝 Documentation:

  • Readme Update: Update readme for custom handler by @sean1832 in #13

🔧 Chore:

ℹ️ For more detailed information, please refer to the full changelog.

Title Image Description
New data editor window a9396526e2577bedf65ab255525cf16 The new data editor window accept key value pairs. You can add as many entries as needed. This will be formated as JSON before sending.
Trigger events options image Trigger event options sets the event to trigger the sending operation. Please be aware the Time event can be computational intensive as this will constainly attempting to serialize and send with a given time interval.
Data item value types 61b5ad69ec2bc0be5b1635feaaf5f39 Data item value include different types of data types. Timestamp will be calculated before sending. Including Timestamp will always resulted in unique message.

v0.1.2

20 Sep 18:49
0cc1c62
Compare
Choose a tag to compare

Version 0.1.2

This release resolves issues related to grasshopper object referencing, websocket handling, connection index handling.

🐛 Bug Fixes:

  • Fix handling of non-referenced objects to prevent attribute errors when objects from Grasshopper lack layer or material information by @sean1832 in #9
  • Fix bugs in connection initialization and stopping process, including resolving websocket blocking the main thread and implementing UUIDs as identifiers to prevent incorrect index shifts on component deletion, as well as handling cases where metadata is None by @sean1832 in #10

v0.1.1

16 Sep 05:45
Compare
Choose a tag to compare

Version 0.1.1

This release addresses several bug fixes to improve the stability of the plugin.

Compatibility

Portal.Gh v0.4.0

🐛 Bug Fixes:

  • Index Handling: Fixed an issue where removing a connection that was started but not stopped would result in an index error by @sean1832 in #7
  • Template: Resolved a value error during unregistration by @sean1832 in #8

For a detailed view of all changes, please refer to the full changelog.

0.1.0

15 Sep 22:04
Compare
Choose a tag to compare

Version 0.1.0

This release introduces new data structure standards, improved UI for handling multiple receiver instances, and enhanced syncing capabilities between Rhino and Blender. Additionally, there are new features for custom data handling, layer and material management, and UV assignment for meshes.

Compatibility

Portal.Gh v0.4.0

New UI

d86924438a53e22c1defadac4ff41b1

✨ Feature:

  • Camera Syncing: Handle camera syncing by @sean1832 in #3
  • UI Improvements: Rework Plugin UI to Support Multiple Receiver Instances by @sean1832 in #4
  • Data Handling & Management: Add Custom Logic Handling, Layer Material Management, and UV Assignment Features by @sean1832 in #6

📝 Additional Details:

  • Data Structure: Refer to the Portal.gh v0.4.0 release notes for detailed information on the new data structure standards.
  • Multiple Receiver Instances: The UI now treats receivers as list items, allowing users to add or remove instances as needed. This supports communication over separate channels, enabling more efficient data management without affecting other channels.
  • Custom Logic Handling: Users can manipulate data with their own logic by select Custom under Data Type, which writes incoming data to a text block with the channel name. Users can then utilize Blender's text editor and custom Python scripts for further data manipulation.
  • Layer and Material Management: Currently supports DiffuseColor, Textures, and Name.
  • UV Assignment: Meshes now have proper UV data if exist.

0.0.3

31 Aug 20:56
2384502
Compare
Choose a tag to compare

What's Changed

  • Adapting new protocal for Portal Networking and Packet Data Structures by @sean1832 in #2
    • Supports vertex color for meshes
    • Supports Object Name, Material assignment via Metadata send from grasshopper.

Warning

Due to major changes in packet data structures, this version is not compatible Portal.GH version under v0.3.0.

Note

This version includes an experimental portable script, which "compile" multiple Python files into a single script. You can copy and paste it into Blender's text editor to run. Functionality is not guaranteed.

Full Changelog: 0.0.2...0.0.3