Commit Graph

21853 Commits

Author SHA1 Message Date
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
Bruno Postle e4f5c630db Add license for OpenGost font shipped with Bonsai
Extracted from the font file like so:
python3 -c "
  from fontTools.ttLib import TTFont
  tt = TTFont('src/bonsai/bonsai/bim/data/fonts/OpenGost Type B TT.ttf')
  for record in tt['name'].names:
      if record.nameID == 13:
          print(record.toUnicode())
  "
bonsai-0.8.6-alpha2604212246
2026-04-21 23:44:14 +01: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
Massimo Fabbro 4adaf0d61f See #6853. Minor fix for IfcDoor with IFC4x3 quantity calculation with blender engine bonsai-0.8.6-alpha2604201555 2026-04-20 17:55:49 +02:00
Massimo Fabbro e392d2da6e See #7716. Remove_cost_item also delete the assignment
Previously remove_cost_item leaved orphaned relation now it should be fixed
bonsai-0.8.6-alpha2604201517 bonsai-0.8.6-alpha2604201516
2026-04-20 17:17:23 +02:00
Massimo Fabbro 5febbc1391 See #7716. Fix util get_cost_item_for_product
Before there was an error if there weren't assignments now it should be fixed. Add also tests.
2026-04-20 17:17:23 +02:00
Massimo Fabbro 6b2d25a5e5 Add tests for cost tool 2026-04-20 17:16:08 +02:00
Massimo Fabbro 2d05398b1c fix infinite recursion error
previously there was an almost silent error because the update function was called every time. Now it should be fixed.
2026-04-20 17:16:08 +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 32a7de66de ifcchat: update ifopsh to latest wasm wheel 2026-04-17 10:05:25 +02:00
Thomas Krijnen 3824e7b449 First start plug-in architecture 2026-04-15 18:07:28 +02:00
Andrej730 29fe41edd0 maintenance: rename main.yml to publish-websites.yml in docs bonsai-0.8.6-alpha2604151406 2026-04-15 16:08:21 +05:00
Andrej730 760c65595c build_rocky: use uv to acquire more recent version of Python 2026-04-15 14:32:45 +05:00