Bedrock
(by Jeroen Groeneveld)
Bedrock aims to be a comprehensive toolkit to improve the Grasshopper experience with UI tweaks, utility functions and components.
Downloads:
19
Support Email

When working with Grasshopper, I found myself installing lots of different plugins for all kinds of added functionality. Everytime Grasshopper starts up it takes a long time to load all the plugins and sometimes the plugins even conflict with one another. Besides this, I see that a lot of the plugins are not maintained anymore and it is unclear whether they work with Rhino 8.

With Bedrock I want to try and consolidate functionalities from different plugins that are nice to use and to make sure these functionalities don't conflict and are actively maintained. It should be a plugin that you can install and have lots of functionality available right away.

Bedrock is open source (MIT licensed): https://github.com/jgroeneveld92/bedrock
LinkedIn: https://www.linkedin.com/in/jeroen-groeneveld/

Current features

Parameter commands (inspired by Autograph)
- Add Param Left (Ctrl+Alt+Left) — insert parameters upstream of your selection, intercepting all existing input connections. The new parameter inherits its nickname from the first source.
- Add Param Right (Ctrl+Alt+Right) — insert parameters downstream of your selection, intercepting all existing output connections. The new parameter inherits the target's nickname.
- Remove Param (Ctrl+Alt+Down) — remove standalone parameters and splice their wires through so sources connect directly to recipients. No more manual rewiring.

Layout & Organisation (inspired by AutoGraph, OCD Tools)
- Layout Selection (Ctrl+Alt+L) — auto-layout selected components left-to-right by data-flow depth, with wire-crossing minimisation and balanced vertical alignment (Brandes–Köpf algorithm).
- Merge Inputs (Ctrl+Alt+X) — automatically insert Merge components wherever an input has multiple sources, making data flow explicit.
- Duplicate (Alt+D) — duplicate your selection directly below the original, with external connections severed so you can experiment without breaking what you have.

Renaming (inspired by Autograph)
- Rename From Source (Alt+S) — set a parameter's nickname to match its first upstream source.
- Rename From Recipient (Alt+R) — set a parameter's nickname to match its first downstream recipient.
- Propagate Rename — renaming a standalone parameter automatically propagates the new nickname through all connected standalone parameters in the chain, stopping at component boundaries. Full undo support.

Relay Replacement (Alt+Shift+R, inspired by OCD tools) — convert anonymous relay objects into properly typed parameters that match the data flowing through them, showing meaningful icons and enabling type checking.

Canvas Interactions (inspired by Wirehopper, ChopChop)
- Select Connected (Alt+Click on a component) — select the clicked object and all its direct neighbours in one click.
- Delete Wire (Alt+Click on a wire) — delete a wire directly without needing to select the target parameter first. Works with both default and custom wire shapes.

Quick Groups (Alt+1 through Alt+5, inspired by Colored Groups) — wrap selected objects in a coloured group using one of five configurable preset slots. Colour and name per slot are configurable via a settings dialog.

Smart Snapping (inspired by SnappingGecko) — align components by edges, centres, or wire grip points as you drag. Visual guide lines appear when things line up (green for edges, magenta for centres, red for wire grips). Works during both moves and panel resizes. Supports Alt+Drag copy mode. Each snap type (edges, centres, wires) can be toggled independently from the Bedrock menu.

Wire Shapes (inspired by WiresRenderer, WireHopper) — replace Grasshopper's default Bézier curves with alternative routing styles: Line (right-angle with rounded corners), Polyline (three-segment paths), or Electric (dual-radius corners for a circuit-board look). All styles are configurable and persist across sessions. Choose a shape from the Wire Shape submenu.

Wire Display by Length (inspired by hopperwire) — automatically fade or hide long wires to reduce visual clutter in large definitions. Wires longer than 500 px become faint; wires longer than 1000 px are hidden entirely. Short wires stay fully visible. Updates automatically when solutions complete, objects are added/removed, or you finish dragging components. Toggle from the Bedrock menu.

AntiFreeze (inspired by Watchdog) — set a timeout (2 or 5 seconds) and Bedrock will abort any solution that runs too long, preventing Grasshopper from locking up. When a solution is aborted, a red warning banner fades in on the canvas and a message is logged to the Rhino console. Volatile data is cleared to prevent the UI from freezing on partial results.

OverSight (inspired by Bifocals) — a canvas widget that draws floating component name labels above each object, giving you an at-a-glance overview without hovering. Toggle via "Canvas Widgets". Labels automatically hide when zoomed out past 50%.

Toggle Icon Display - Batch-toggle all standalone parameters or all components between icon and text display mode via the Bedrock menu. he menu label updates dynamically to show the current state (Icon, Text, or Mixed (Grasshopper defined)). This features works nicely with OverSight to work with icons for components and have the text widget on top. For params, you can give them a name and still see the datatype via OverSight.

Toggle Wire Display (Alt+W) — cycle the wire display of selected components and parameters through Default → Faint → Hidden. Useful for decluttering specific wires without affecting the entire canvas.

Cycle Data Mapping (Ctrl+Alt+F) — cycle data mapping for selected parameters and component inputs through None → Flatten → Graft. Quickly toggle flattening or grafting without right-clicking.

Popup Message (inspired by Popup Caller) — a component that displays a popup alert when a boolean trigger fires. Definition authors can embed user-facing warnings at anticipated choke points — for example, alerting a colleague when they supply the wrong geometry type. Located under Bedrock → Misc. in the component panel. Quite powerful when combined with the testing components.

Group Z-Sort — automatically sorts group z-order so smaller and child groups render on top of larger parent groups. Runs after each solution, ensuring nested groups are always visible. Togglable via the Bedrock menu.

Internalized Data Indicator — a canvas widget that draws a small icon on components and parameters containing internalized (persistent) data with no incoming wires. Helps you spot baked-in data at a glance. Toggle via "Canvas Widgets".

Testing Framework (inspired by Brontosaurus, PancakeContract, Assertive Possum) — a full set of assertion components for testing Grasshopper definitions. 14 assertion components (Assert Equal, Not Equal, True, False, Null, Not Null, In Range, List Length, Contains, Tree Identical, Tree Structure, Tree Structure and Length, Has Message, No Message) with dynamic pass/fail/error icons. Includes a Testing Dashboard (Ctrl+Shift+T) that displays all results in a floating window with auto-refresh, double-click zoom-to-component, and export to JSON/JUnit/Markdown. Reporting components let you collect results into reports and serialize them to standard formats.


Sources

Bedrock's functionality is inspired by the following community plugins:

- AutoGraph (https://www.food4rhino.com/en/app/autograph) — auto-layout and organisation
- OCD Tools (https://www.food4rhino.com/en/app/ocd-tools) — canvas tidying utilities
- SnappingGecko (https://www.food4rhino.com/en/app/snappinggecko) — snap-to-grid and alignment
- ChopChop (https://www.food4rhino.com/en/app/chopchop) — wire and parameter management
- WiresRenderer (https://www.food4rhino.com/en/app/wiresrenderer) — custom wire rendering
- WireHopper (https://www.food4rhino.com/en/app/wirehopper) — wire routing styles
- hopperwire (https://www.food4rhino.com/en/app/hopperwire) — wire display control
- Watchdog (https://www.food4rhino.com/en/app/watchdog) — solution timeout protection
- Colored Groups (https://www.food4rhino.com/en/app/colored-groups) — group colouring presets
- Bifocals (https://www.food4rhino.com/en/app/bifocals) — floating component labels
- Parachute (https://www.food4rhino.com/en/app/parachute) — floating component labels
- Popup Caller (https://www.food4rhino.com/en/resource/popup-caller) — popup message alerts
- PancakeContract (https://www.food4rhino.com/en/app/pancakecontract) - Testing components
- Assertive Possum (https://www.food4rhino.com/en/app/assertive-possum) - Testing components
- Brontosaurus (https://www.food4rhino.com/en/app/brontosaurus) - Testing components


Big thanks to the authors of these plugins for creating this functionality! If you do not want to use Bedrock you can use these plugins to get similar functionality.

 

  • License Type:
Cost:
Downloads
Title
Description
Platform
 
bedrock 0.3.0
2026-Apr-17
Bedrock aims to be a comprehensive toolkit to improve the Grasshopper experience with UI tweaks, utility functions and components.
Rhino 8 Mac
Rhino 8 Win
Reviews