Releases: grazianoEnzoMarchesani/grasshopperWebUI
Releases · grazianoEnzoMarchesani/grasshopperWebUI
grasshopperWebUI 0.2
Version 0.2.0 Changelog
Architecture Changes
- Decoupled server functionality into separate components:
- Server creation component
- HTML update component
- Web page opening component
- Implemented volatile web page serving (no physical file storage)
- Introduced dual JSON system for component state management:
- Write JSON: Controls state updates from Grasshopper
- Read JSON: Handles user input from web interface
New Custom Input Components
Introduced a suite of customizable input controls with the following features:
- Configurable CSS styling
- Label support
- Minimum and maximum value constraints
- Unique ID system
New components include:
- Slider Control
- Single value slider with continuous input
- Range Slider Control
- Dual-handle slider for range selection
- Number Input Control
- Direct numerical input field
- Stepper Control
- Increment/decrement controls for precise value adjustment
Component Properties
Each input component supports:
- Custom labeling
- Value constraints (min/max)
- Unique identifier
- Custom styling through CSS
- Real-time value updates
Technical Details
- Compatible with Rhino 8
- Built with Python 3
- Uses native Python libraries for server functionality
- Real-time bidirectional communication between Grasshopper and web interface
Requirements
- Rhino 8
- Python 3.x
- Web browser with JavaScript enabled
These packages are essential for:
- Flask: Web server functionality and API endpoints
- NumPy: Numerical operations and array handling
- json5: Enhanced JSON processing
Usage
- Add server component to your Grasshopper definition
- Connect desired input components
- Configure component parameters
- Access the interface through your web browser
Notes
- Web interface runs in memory without creating physical files
- Component states are managed through JSON data exchange
- All components support real-time updates
grasshopperWebUI 0.1
All in this project will be documented in this file.
[0.1] - 2024-03-21
Added
- Initial release of GH-Web Interface
- Basic Three.js visualization system for Grasshopper geometry
- Real-time bidirectional communication between Grasshopper and web interface
- Support for mesh visualization including:
- Vertex and face data
- Vertex colors
- Vertex normals
- Orbital controls for 3D model navigation
- Basic parameter controls:
- Slider components
- Dropdown menus
- Local web server implementation for data exchange
- Responsive web interface design
- Cross-platform compatibility (Windows/Mac)
- Python-based backend for geometry processing
- Basic geometry conversion pipeline from Grasshopper to Three.js format
Technical Details
- Built with Python 3.x compatibility for Rhino 8
- Implements Three.js for web-based 3D visualization
- Uses WebSocket protocol for real-time data exchange
- Responsive layout using modern CSS
Known Limitations
- Limited to basic mesh geometry visualization
- Basic set of interface controls
- Single viewport visualization