In a browser¶
Bimble also runs in a web page, with nothing to install: guilbep.github.io/bimble.
It is the same program as the desktop version, compiled to WebAssembly. The files you open stay on your computer: the page reads them in the browser and uploads nothing.
Use it¶
- Open a file with Open…, or drop it on the page. A
.bimbleviewfile (Share for viewing) opens fastest and in the least memory. ?url=opens a model from an address when the page loads, e.g.https://guilbep.github.io/bimble/?url=https://example.org/model.bimbleview(the server must allow it: CORS).?gl=1forces WebGL2.- Everything in this manual works the same way, except:
- Save, Share for viewing…, Export PDF…, Export SVG… and Save… in the style editor download the file;
- the history isn't available yet: Manage → History is hidden;
- an IFC's views are saved by downloading
model.ifc.bimble-views.json. To get them back, open the IFC, then open (or drop) that file: Bimble recognises it, checks that its plans are on the model's storeys, and applies its views and sheets.
Browsers¶
Bimble uses WebGPU where the browser has it, and WebGL2 otherwise. That covers current Chrome, Edge, Firefox and Safari. The status bar shows which one is used.
A blank page?
Check that the browser has hardware acceleration switched on. Some browsers report WebGPU while no graphics adapter backs it, on Linux in particular. Bimble detects that and uses WebGL2.
Speed¶
The browser version loads on one processor core, where the desktop version uses all of them. Bigger models therefore take longer to open:
| Real file | Desktop | Browser |
|---|---|---|
| 2.5 MB | 30–39 ms | 240 ms |
| 7 MB | 118–136 ms | 419 ms |
| 21 MB | 398–410 ms | 837 ms |
Measured on a 2-core test machine with software graphics; 1 run in the browser, 3 on the desktop.
A browser page can use at most 4 GB of memory. A model that needs more asks
which part to show; a .bimbleview of it needs
far less.
The page downloads about 5 MB the first time (compressed).
Host it yourself¶
Each release has bimble-*-web.zip: static files to put on any web server. WebGPU needs HTTPS
(or localhost).
To build it from source:
rustup target add wasm32-unknown-unknown
cargo install wasm-bindgen-cli --version <the wasm-bindgen version in Cargo.lock>
scripts/build-web.sh # → web/dist/
python3 -m http.server -d web/dist 8000 # then open http://localhost:8000
scripts/build-web.sh says which wasm-bindgen version it needs. It also needs npm, to fetch the
geometry kernel used for openings.