From 61cfa48c2c78e7340cf3cd368cb3d9c2654a285c Mon Sep 17 00:00:00 2001 From: Ryan Schultz Date: Tue, 3 Mar 2026 01:48:03 -0600 Subject: [PATCH] docs: add BonsaiPR bleeding edge installation section (#7721) * Fix #7718: Fix FallDecorator label calculation for all slope annotation types - Fix wrong dict key type in decoration.py: DecoratorData.data["fall"] is keyed by obj.name (str) but was looked up with obj (Object), causing object_type to always be None - Apply obj.matrix_world transform to spline points before computing rise/run in both decoration.py and svgwriter.py; local coordinates have Z=0 for flat annotations, world coordinates correctly reflect elevation change - Use hypotenuse (segment_length) instead of run as the denominator for SLOPE_FRACTION label display Generated with the assistance of an AI coding tool. * docs: add BonsaiPR bleeding edge installation section Add new section to installation.rst documenting the BonsaiPR community build, including why it exists, how the automated PR-merging system works, installation steps with automated updates, manual installation, and the PR workflow for contributors. Generated with the assistance of an AI coding tool. * whoops --- .../docs/guides/development/installation.rst | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/src/bonsai/docs/guides/development/installation.rst b/src/bonsai/docs/guides/development/installation.rst index 3446617ab6..7355d09ca1 100644 --- a/src/bonsai/docs/guides/development/installation.rst +++ b/src/bonsai/docs/guides/development/installation.rst @@ -10,6 +10,8 @@ There are different methods of installation, depending on your situation. recommended for developers who are actively coding. 4. :ref:`guides/development/installation:Packaged installation` is recommended for those who use a package manager. +5. :ref:`guides/development/installation:BonsaiPR (Bleeding Edge) Installation` merges all open, non-draft PRs automatically. + System requirements ------------------- @@ -231,6 +233,95 @@ the `Makefile `__ in the ``dist`` target. + + +BonsaiPR (Bleeding Edge) Installation +-------------------------------------- + +**BonsaiPR** is a community-maintained build that automatically merges open pull +requests (PRs) from the IfcOpenShell repository into a single installable add-on. +It is intended for power users and testers who want to try the latest community +contributions before they are officially reviewed and merged. + +Why BonsaiPR Exists +~~~~~~~~~~~~~~~~~~~~ + +Many excellent PRs are submitted by contributors, but core maintainers have +limited time for timely reviews. As a result, PRs often sit unmerged, +contributors lose momentum, and valuable work risks being forgotten. + +BonsaiPR addresses this by providing a ``bleeding_edge`` build that merges all +open, non-draft PRs automatically. Power users can install this build to test +multiple PRs together, helping catch issues earlier and reducing the load on core +developers. + +.. warning:: + + You must enable either **Bonsai** or **BonsaiPR**, but **not both at the + same time**. Enabling both can cause conflicts or unexpected behaviour. To + switch between them, disable the active one before enabling the other. + +How It Works +~~~~~~~~~~~~~ + +On a regular basis (and whenever a PR is opened or modified), an automated +system: + +1. Clones the IfcOpenShell repository and merges all open, non-draft PRs. +2. Builds the resulting add-on for all supported platforms. +3. Publishes the result as a release on the `BonsaiPR releases page + `__. +4. The list of branches is also published on `falken10vdl's IfcOpenShell Fork + `__. + +Each release includes a full report listing which PRs were merged successfully, +which were skipped (e.g. drafts), and which failed due to conflicts with other +PRs. + +Installing BonsaiPR with Automated Updates +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Open Blender and go to :menuselection:`Edit --> Preferences --> Add-ons`. + Disable **Bonsai** if it is currently enabled. + +2. Click on the **Get Extensions** tab in the left sidebar. + +3. In the top right, click the **Repositories** dropdown, then the **+ icon**, + and select **Add Remote Repository**. + +4. Enter the following URL:: + + https://raw.githubusercontent.com/falken10vdl/bonsaiPR/refs/heads/main/index.json + +5. Enable **Check for Updates on Startup**, then click **Create**. + +6. In the **Get Extensions** search bar, type ``bonsai`` and look for + **BonsaiPR**. Click **Install**. + +7. Go to :menuselection:`Edit --> Preferences --> Add-ons` and confirm that + **BonsaiPR** is enabled and **Bonsai** is disabled. + +8. Restart Blender. + +Blender will automatically check for updates to the BonsaiPR extension on +startup, so you will always have access to the latest bleeding edge build. + +Installing BonsaiPR Manually +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you prefer to install manually, download the appropriate ``.zip`` file for +your platform from the `BonsaiPR releases page +`__: + +- **Linux (x64)**: ``bonsaiPR_py311-0.8.4-alphaYYMMDDHHMM-linux-x64.zip`` +- **macOS Intel (x64)**: ``bonsaiPR_py311-0.8.4-alphaYYMMDDHHMM-macos-x64.zip`` +- **macOS Apple Silicon (ARM64)**: ``bonsaiPR_py311-0.8.4-alphaYYMMDDHHMM-macos-arm64.zip`` +- **Windows (x64)**: ``bonsaiPR_py311-0.8.4-alphaYYMMDDHHMM-windows-x64.zip`` + +Then go to :menuselection:`Edit --> Preferences --> Get Extensions --> "V" Icon +(top right) --> Install from Disk` and select the downloaded zip. + + Add-on compatibility --------------------