Skip to content

Releases: sean1832/Portal

v0.5.2

05 Oct 17:06
Compare
Choose a tag to compare

Version 0.5.2

This release introduces a more compact data model for coordinates, centers the location of rectangular lights, and fixes a JSON deserialization error.

✨ Feature:

  • coords: Change coordinates to list for compactness by @sean1832 in #28
  • location: Assign location as center of rectangular light by @sean1832 in #27

🐛 Bug Fixes:

  • json: Fix JSON deserialize error for points by @sean1832 in #29

🔧 Chore:

  • byte-length: Improve byte length accuracy by converting it into a float number by @sean1832 in #30

v0.5.1

04 Oct 15:09
39ccab4
Compare
Choose a tag to compare

Version 0.5.1

This release enhances the application's capability to manage lighting configurations by introducing support for multiple lights.

✨ Feature:

  • serialization: Implement serialization of multiple lights into a list by @sean1832 in #26
    • The application can now handle multiple lights, whereas previously, it was limited to a single light per channel. This enhancement is particularly useful in scenarios requiring complex lighting setups or configurations where multiple lights are necessary.

v0.5.0

04 Oct 08:10
Compare
Choose a tag to compare
v0.5.0 Pre-release
Pre-release

Version 0.5.0

This release introduces significant enhancements to the serialization capabilities within the project. Key features include the addition of light serialization and improvements for handling material properties.

✨ Feature:

  • material: Implement serialization for material transparency and reflections by @sean1832 in #24
  • base64: Implement to/from Base64 component by @sean1832 in #25
  • serialization: Support Rhino.Geometry.Light<=>JSON data serialization/deserialization by @M3Lewis in #21
  • serialization: Implement Rhino Light JSON serialization and update CRC16 algorithm for Blender compatibility by @sean1832 in #23

🐛 Bug Fixes:

  • geometry: Handle triangle faces and degenerate faces by @sean1832 in #22

👤 New Contributors

  • Welcome @M3Lewis who made their first contribution in #21

Additional Details:

  • The update to the CRC16 algorithm standardizes it to the CRC-CCITT XModem variant, ensuring compatibility with Blender's implementation of the checksum algorithm.
  • The introduction of Base64 conversion components allows users to directly view or externally store the content of the binary data.

Note: This release primarily introduces a new light serialization and includes smaller changes such as the implementation of a to/from Base64 converter. There are no known issues or limitations with the new features at this time.

v0.4.0

15 Sep 21:41
Compare
Choose a tag to compare

Version 0.4.0

This release reworked the payload data structure to wrap an additional Payload structure, specifying global metadata separately from item-specific metadata. It also introduces camera serialization, allowing the active Rhino viewport camera information to be utilized in other programs. Additionally, new serialization capabilities for Rhino referenced object material, mesh UVs, and layer information have been introduced.

✨ Feature:

  • Payload Structure: Implement nested Payload data structure & streamline (de)serialization components by @sean1832 in #12
    • This new structure allows for both packet-level and item-level metadata specification, enhancing data processing flexibility.
{
  "Items": [
    {
      "Items": {},
      "Meta": {}
    }
  ],
  "Meta": {}
}
  • Camera Serialization: Implement serialization of Rhino viewport camera information by @sean1832 in #13
    • Enables synchronization of camera views between Rhino and other programs, facilitating use cases such as using another program as a renderer while maintaining consistent viewpoints.
  • Mesh and Material Serialization: Implement extraction of Material and Texture info & extension of existing mesh data structure with UVs by @sean1832 in #14
  • Metadata Extraction: Implement Object metadata extraction & merge all Get component into one for simplicity by @sean1832 in #15
  • Layer Material Serialization: Introduce Layer Material Serialization and Direct JSON to Byte Conversion by @sean1832 in #20

🐛 Bug Fixes:

  • Camera Calculation Fixes: Fix incorrect fov value & unnecessary focalLength calculation by @sean1832 in #18

⚡ Performance:

  • Packet Sending Optimization: Optimize packet sending by checksum validation by @sean1832 in #19
    • Prevents the sending of redundant packets by blocking repeated transmissions, thereby reducing network overhead and improving performance.

For more detailed information about these changes, please refer to the full changelog.

v0.3.1

01 Sep 14:18
5ce28e0
Compare
Choose a tag to compare

Version 0.3.1

Enhancements to Metadata Handling and Payload Components

✨ Feature:

  • gh-serialization: Handle metadata deserialization at deserialization components by @sean1832 in #10
  • gh-serialization: Update pack/unpack components to exclude metadata serialization. Pack and unpack payload components now only handle packing and unpacking lists of payloads into a single string and vice versa, excluding metadata serialization by @sean1832 in #10
  • gh-serialization: Serialize metadata at serialization components. Moved metadata serialization from the pack payload component to serialization components for better logical separation by @sean1832 in #10
  • portal-datamodel: Add payload constructor & ToString override by @sean1832 in #10
  • gh-param: Add new payload custom param by @sean1832 in #10

These changes optimize metadata handling and improve user experience by logically separating serialization responsibilities and enhancing payload construction and parameter management.

v0.3.0

31 Aug 20:43
6d2b8fe
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

Version 0.3.0

This release significantly improves packet data handling, adds robust connection features, and enhances JSON processing capabilities. The introduction of a new packet structure across different modules enhances data integrity and simplifies data handling by integrating a 16-bit CRC checksum for performance improvements. Connection stability is improved with magic number prefixing. Additionally, the JSON processing capabilities are expanded with new structures and metadata systems that separate the data payload from metadata for efficient handling.

✨ Feature:

  • Networking: New Packet Data Structure and Header Management Across Modules by @sean1832 in #5
    • Unified packet structure across modules with an 8-byte header including compression and encryption flags, and CRC-16 checksum.
    • Removed outdated timestamp handling and introduced a robust CRC checksum algorithm.
    • Added vertex color property for mesh data model serialization/deserialization.
  • Connection: Add Magic Number Prefix by @sean1832 in #6
    • Implemented reading of magic number and minor changes to input names, enhancing security and data integrity during transmission.
  • Serialization: Major changes with new JSON Structure, Metadata System and Enhancements in Serialization/Deserialization by @sean1832 in #7
    • Implemented a new JSON structure wrapping around the original data to separate actual data payload from metadata.
    • Added custom JSON dictionary data types for Grasshopper, increasing flexibility and data handling capabilities.

♻️ Code Refactoring:

  • General Improvements: Several modules have undergone refactoring to improve code clarity and system efficiency by @sean1832 in #7 and #9
    • Refactored JSON payload structures and updated namespaces and constructor variable orders for better clarity and maintenance.

🐛 Bug Fixes:

  • Core Components: Bug Fixes and Minor Refactorings in Core Components by @sean1832 in #9
    • Fixed issues related to null handling which could potentially lead to crashes, improving system stability.

💄 Style:

  • UI Enhancements: Added icons for new components and parameters by @sean1832 in #7
    • Enhanced user interface with new icons, improving user experience and interaction clarity.

📝 Documentation:

  • Documentation Updates: Enhanced and updated documentation to reflect new features and code changes by @sean1832 in #9
    • Updated todo list, added code references to credit original authors, and updated Grasshopper examples to aid users in understanding and utilizing new features effectively due to issue #8 .

v0.2.0

25 Aug 11:39
3397e35
Compare
Choose a tag to compare

Version 0.2.0

This release includes significant enhancements, simplification of workflows, and bug fixes.

✨ Feature:

  • MMF and Websockets: Significantly improve stability of Memory Mapped File by @sean1832 in #3
  • Pipe and Param Features: Deprecate deprecate pipe remote server access by @sean1832 in #4

🐛 Bug Fixes:

  • MMF and Websockets: Multiple fixes by @sean1832 in #3

v0.1.2

15 Aug 18:23
7ac9c19
Compare
Choose a tag to compare

What's Changed

  • Fix Named Pipe end of stream check and exception handling by @sean1832 in #1

Full Changelog: 0.1.1...0.1.2

v0.1.1

30 Jul 03:10
Compare
Choose a tag to compare

Version 0.1.1

💄 Style:

  • style: swap serialize / deserialize curve and point icon for clarity by @sean1832 at a29ab40

v0.1.0

29 Jul 15:31
Compare
Choose a tag to compare

💄 Style:

Full Changelog: 0.0.2...0.1.0