Dion Moult
83a3131276
Multi-model project support with sequential loading
...
Introduce ModelHandle and per-model GeometryStreamers so multiple IFC
files can be loaded simultaneously. Object IDs are globally unique
(monotonically increasing across models). File picker is now multiselect.
Each model gets a top-level tree node. Property lookup uses the correct
model's ifcopenshell::file. ViewportWindow supports hide/show/remove
per model via model_id filtering in the frustum cull pass.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 21:32:24 +10:00
Dion Moult
6f6bebf387
Add performance stats overlay in status bar
...
Show FPS, frame time, visible/total objects, and visible/total
triangles in the status bar. Toggled via Settings > Show Performance
Stats, persisted in app settings.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 21:32:24 +10:00
Dion Moult
bfac12dbe7
Per-object frustum culling with glMultiDrawElements
...
Track per-object AABB and index range during upload. Each frame,
extract frustum planes from the view-projection matrix and cull
objects whose AABB is entirely outside any plane. Draw only visible
objects via glMultiDrawElements. Document the three-phase rendering
performance strategy in README.md.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-23 21:32:24 +10:00
Dion Moult
d33055bb72
Plan out performance strategy
2026-04-23 21:32:24 +10:00
Dion Moult
d08a4e0706
Update ifcviewer to compile with datamodel refactor
2026-04-23 21:32:24 +10:00
Dion Moult
06eca938d7
Dump of hello world ifc viewer code
2026-04-23 21:32:24 +10:00
Dion Moult
543d9f8588
Local hacks to compile and monkey patch issues in the Python world
...
All AI generated slop. Do NOT trust these "fixes". It's just to get it
working on my machine.
2026-04-23 21:32:24 +10:00
Thomas Krijnen
b40e4378b3
update workflows
2026-04-23 10:58:57 +02:00
Thomas Krijnen
1089de14f0
quotes
2026-04-23 10:51:52 +02:00
Thomas Krijnen
1b35533917
Update workflow for .so copying
2026-04-22 21:40:05 +02:00
Thomas Krijnen
c42a7f32d0
The proper id / identity fix for rocksdb
2026-04-22 18:11:01 +02:00
Thomas Krijnen
14e9846e35
identity_ for types; id_ for instances
2026-04-22 12:04:24 +02:00
Thomas Krijnen
37c6aea092
forgot to set goosd
2026-04-22 12:04:09 +02:00
Thomas Krijnen
9b13dc8dd6
Get rid of parse context pool
2026-04-22 12:03:58 +02:00
Thomas Krijnen
89c66f62bf
Python import fixes: import from wrapper now which inherits from mixins
2026-04-21 21:59:02 +02:00
Thomas Krijnen
18363c0d19
No soname for plugin.so in CREATE_BUNDLE mode
2026-04-21 21:52:04 +02:00
Thomas Krijnen
782aa4f88f
Copy more so to python module
2026-04-21 21:51:21 +02:00
Thomas Krijnen
13c71d7a8a
symbol visibility
2026-04-21 21:48:54 +02:00
Thomas Krijnen
cb7e7331e6
CREATE_BUNDLE=On to copy .so
2026-04-21 21:48:15 +02:00
Thomas Krijnen
4850e2a07c
add manifold to build-all.py
2026-04-21 21:47:38 +02:00
Thomas Krijnen
fd980abcc2
Reverse subdir order so that svgfill is a proper target
2026-04-21 21:46:56 +02:00
Thomas Krijnen
b022ca7e70
Some plug-in work
2026-04-21 16:18:59 +02:00
Thomas Krijnen
325db2e57f
Export templates
2026-04-21 11:55:04 +02:00
Thomas Krijnen
046ceb452a
Tighten scope of cmake vars and dirs
2026-04-19 12:32:18 +02:00
Thomas Krijnen
9e19735275
IfcConvert Plug-in discovery for info print
2026-04-19 12:32:10 +02:00
Thomas Krijnen
6ee05b646b
swig ignore Base::Base(std::nullopt_t);
2026-04-19 12:24:36 +02:00
Thomas Krijnen
e62921171c
Remove duplicated attr in wrapper
2026-04-19 11:42:24 +02:00
Thomas Krijnen
6c47123781
Remove C++ references to ifcxml
2026-04-19 10:35:04 +02:00
Thomas Krijnen
d448fa95e3
build-all.py use single build dir
2026-04-19 10:21:23 +02:00
Thomas Krijnen
57de09d236
Pointer issue
2026-04-19 09:31:49 +02:00
Thomas Krijnen
a25f522cc3
typo
2026-04-19 08:33:48 +02:00
Thomas Krijnen
e067c2b834
build-all BUILD_SHARED_LIBS tweak
2026-04-18 21:43:36 +02:00
Thomas Krijnen
e2905d6f0e
BUILD_SHARED_LIBS=On
2026-04-18 21:32:32 +02:00
Thomas Krijnen
ead061a98a
svgfill dll link related
2026-04-18 21:13:24 +02:00
Thomas Krijnen
fae85e63cc
std::optional
2026-04-18 21:06:39 +02:00
Thomas Krijnen
bccea6d932
Examples and update virtual bases for new codegen
2026-04-18 21:04:42 +02:00
Thomas Krijnen
1cc93784cd
Rerun codegen
2026-04-18 21:03:02 +02:00
Thomas Krijnen
f1e93581ec
Reuse constructors and return *this from initialize()
2026-04-18 21:01:21 +02:00
Thomas Krijnen
91ae631c7d
Merge remote-tracking branch 'origin/v0.8.0' into datamodel-v1.0
2026-04-18 20:15:28 +02:00
Thomas Krijnen
b599ee1040
More work on isolating into plug-ins
2026-04-18 15:46:21 +02:00
Thomas Krijnen
d2cc66fdf0
tree and document plug-ins
2026-04-17 11:24:09 +02:00
Thomas Krijnen
3824e7b449
First start plug-in architecture
2026-04-15 18:07:28 +02:00
Thomas Krijnen
aa10784154
First slice plug-in refactor
2026-04-14 13:51:09 +02:00
Thomas Krijnen
2018bcb3c1
This needs some serious scrutiny
2026-04-13 21:28:55 +02:00
Thomas Krijnen
11006f0ef5
deque
2026-04-13 21:18:58 +02:00
Thomas Krijnen
a44f72287b
pasta errors
2026-04-13 21:18:49 +02:00
Thomas Krijnen
c6849073d9
Reset weights
2026-04-13 21:18:41 +02:00
Andrej730
e6258ab4a8
Bump VERSION to 0.8.6
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
bonsai-0.8.6-alpha2604131441
bonsai-0.8.5.post1
bonsai-0.8.5-post1
2026-04-13 19:40:25 +05:00
Andrej730
5db65f4041
maintenance - list all things we do on release
2026-04-13 19:39:14 +05:00
Andrej730
89ce32fdfd
Remove redundant docs-deployment.yml workflow
...
The https://github.com/IfcOpenShell/website repo already has bonsai-docs.yml workflow that does the same thing - builds Bonsai docs from the main repo and deploys to bonsaibim_org_docs, so this workflow is redundant and confusing.
2026-04-13 19:39:14 +05:00