Commit Graph

22459 Commits

Author SHA1 Message Date
Dion Moult 79bd3563de Refill the web chunk fetch pipeline from each load completion
Queued chunk loads waited for the next render frame to start, so streaming
advanced at frame cadence rather than as fast as the in-flight cap allowed.
driveStreamingLoads now queues whatever it could not start and every load
completion drains that queue, decoupling fetching from the render loop.

pumpWebChunkLoads is deliberately defined outside the __EMSCRIPTEN__ block
that holds the rest of the byte-range streaming code: driveStreamingLoads
calls it unconditionally and ViewportCore.h declares it unconditionally, so
desktop needs a definition to link against. The body guards itself instead
and compiles to a no-op off the web, where loads are not asynchronous.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-11 17:06:37 +10:00
Andrej730 4e887e1c59 Reapply 253918c
Fixes pyodide build. Reverted in af58eaf by accident?
2026-08-10 20:54:36 +05:00
Andrej730 fa9f3b5cb7 pyodide/order: update script after dlls rename 2026-08-10 20:50:04 +05:00
Andrej730 77dc679a6e pytest: fix warnings from using non-collections 2026-08-10 18:39:07 +05:00
Andrej730 ce9e2b94d5 Update plugins gitignore 2026-08-10 18:13:45 +05:00
Andrej730 58dcaed89a ruff: some util rules 2026-08-10 17:06:56 +05:00
Andrej730 109bd58384 ruff: use readable rule names in ignores 2026-08-10 17:06:56 +05:00
Andrej730 b6dccce12a ruff: use readable rule names in selectors 2026-08-10 17:06:56 +05:00
Andrej730 daa7d98b3f ruff: remove unused noqa
Most of them are actually correct, but they're not enforced in general on the repo, so using them blocks us from flagging `unused-noqa` for rules that we actually do use.
2026-08-10 17:06:56 +05:00
Andrej730 321760cea4 bcf: bump required Python version to 3.10
3.9 is EOL
2026-08-10 16:54:37 +05:00
Andrej730 7b9615f4e5 ruff: fix unsorted-dunder-all 2026-08-10 16:54:37 +05:00
Andrej730 ff22a9d1f3 ruff: fix deprecated-import 2026-08-10 16:54:37 +05:00
Andrej730 055f64fa9b ruff: fix quoted-annotation 2026-08-10 16:54:37 +05:00
Andrej730 7370d07db1 ruff: sort imports 2026-08-10 16:54:37 +05:00
Andrej730 717d6aa2af ruff: fix pyprojects using select instead of extend-select by mistake 2026-08-10 16:33:01 +05:00
Andrej730 69b0409aa0 build_pyodide: normalize version added to meta.yaml
Prevents error below:
```
ValueError: Version mismatch in ifcopenshell: version in meta.yaml is '0.9.0alpha0' but version from wheel name is '0.9.0a0'
```
2026-08-10 16:33:01 +05:00
Andrej730 4095d5c8d6 pyodide/meta.yaml: better document version placeholder 2026-08-10 16:33:01 +05:00
Andrej730 19a3707f72 build-all: build swig natively for pyodide 2026-08-10 15:11:36 +05:00
Andrej730 262117c4f8 build-all: drop unused kwargs in build_dependency 2026-08-10 15:11:36 +05:00
Andrej730 246fa24be0 build-all: reuse WASM constant for consistency 2026-08-10 15:11:36 +05:00
Andrej730 35d2fb43e2 build_osx: use uv run 2026-08-10 15:11:24 +05:00
Andrej730 f10f7eba83 build-all: use assert_never instead of ValueError 2026-08-10 15:11:24 +05:00
Andrej730 785936000a ruff: sort imports 2026-08-10 13:35:22 +05:00
Thomas Krijnen 83fc219a8a publish-cpp-api-docs.yml 2026-08-10 06:15:49 +02:00
Thomas Krijnen 7a1dcd07c8 Handle version postfixes 2026-08-10 05:19:17 +02:00
Thomas Krijnen b63137e859 Merge remote-tracking branch 'origin/v0.8.0' into ifcviewer-wgpu 2026-08-10 03:31:02 +02:00
Thomas Krijnen 3d15500976 run black 2026-08-09 14:17:35 +02:00
Thomas Krijnen 64aed6a766 try fix stub 2026-08-09 14:11:49 +02:00
Thomas Krijnen a08eed7ac9 swig ignore ifcopenshell::detail::performance_scope 2026-08-09 14:04:04 +02:00
Thomas Krijnen 076f46cfeb Further propagate logger so that test succeeds 2026-08-09 14:00:42 +02:00
Thomas Krijnen a353edb9e0 check_call() so that init errors surface earlier 2026-08-09 13:59:44 +02:00
Thomas Krijnen 30fb379e32 Remove cwd from import in case you're running tests like I do 2026-08-09 13:16:24 +02:00
Thomas Krijnen dbea3f0362 Reapply skip type bitmap after field reordering changes 2026-08-09 12:56:15 +02:00
Thomas Krijnen b5eca83357 Adapt for namespaces changes 2026-08-09 12:48:35 +02:00
Thomas Krijnen e5aaf7c602 Adapt for namespaces changes 2026-08-09 12:45:00 +02:00
Thomas Krijnen 9e53d0dcc9 Don't bind to reference in order not to overwrite entity instance storage in case of IfcPropertySetDefinitionSet 2026-08-09 12:42:35 +02:00
Thomas Krijnen 17c4d8faff Skip unavailable shape-stat kernels
Generated with the assistance of an AI coding tool.
2026-08-09 11:51:06 +02:00
Thomas Krijnen c9c7edd4d6 Require SWIG 4.1 in CMake
Generated with the assistance of an AI coding tool.
2026-08-09 10:58:05 +02:00
Thomas Krijnen 96653029cf Upgrade standalone CI to SWIG 4.2.1
Generated with the assistance of an AI coding tool.
2026-08-09 10:49:49 +02:00
Thomas Krijnen e9fffc221b Silence final compiler warnings
Generated with the assistance of an AI coding tool.
2026-08-09 10:03:41 +02:00
Thomas Krijnen a441757080 Use underscore plugin artifact names
Generated with the assistance of an AI coding tool.
2026-08-09 09:52:17 +02:00
Thomas Krijnen c818f48a47 Own completed iterator results uniquely
Generated with the assistance of an AI coding tool.
2026-08-09 09:14:41 +02:00
Thomas Krijnen 28c9c1d34d Silence remaining compiler warnings
Generated with the assistance of an AI coding tool.
2026-08-09 09:04:28 +02:00
Robert Sigmundsson f05dd4aea5 Fix #9278. calculate_unit_scale raises the SI prefix to the length exponent for prefixed SQUARE_METRE/CUBIC_METRE units.
An SI prefix attaches to the base unit symbol and the prefixed symbol is
raised to the power as a whole: DECI CUBIC_METRE is dm3 = a litre = 1e-3 m3,
not 0.1 m3. The scale factor previously applied the prefix multiplier
linearly for all IfcSIUnits, inflating volumes x100 and areas x10 for such
declarations (produced e.g. by MagiCAD for Revit MEP exports).

Following the reviewer note in #9278, the exponent is taken from the
derived attribute IfcSIUnit.Dimensions rather than from substring matching
on the unit name: the multiplier is raised to LengthExponent only when the
unit's dimensions are a pure power of length, so prefixed derived units
(KILO PASCAL, MEGA NEWTON) and non-length units (KILO GRAM) correctly keep
the linear multiplier. This matches the exponent handling already present
in convert() and named_dimensions in the same module.

Adds regression tests for prefixed AREAUNIT/VOLUMEUNIT and for the
linear-prefix behaviour of PRESSUREUNIT/MASSUNIT.
bonsai-0.8.6-alpha2608090641
2026-08-09 08:41:15 +02:00
Thomas Krijnen dcfc22e29e Transfer iterator result ownership
Generated with the assistance of an AI coding tool.
2026-08-09 04:54:51 +02:00
Thomas Krijnen be3c2ee770 Expose geometry types in snake case
Generated with the assistance of an AI coding tool.
2026-08-09 04:44:18 +02:00
Thomas Krijnen fbfa51c451 Fix MSVC geometry build errors
Generated with the assistance of an AI coding tool.
2026-08-09 04:15:58 +02:00
Thomas Krijnen 19f3261dc3 Fixed by @Moult 2026-08-09 03:46:25 +02:00
Richard Brice 7ed8584edc Revised update_alignment_parameter_segment_tags to make EndTag optional bonsai-0.8.6-alpha2608081735 2026-08-08 10:35:20 -07:00
Thomas Krijnen 61f30dd200 Silence obvious compiler warnings
Generated with the assistance of an AI coding tool.
2026-08-08 17:08:26 +02:00