Commit Graph

22807 Commits

Author SHA1 Message Date
Andrej730 ed6316b7f9 build-deps.py: add support for Python 3.15
We've added 3.15 to build-all-win, but `3.15.0` is not available on nuget yet, we need rc2 suffix for workflow to succeed.
2026-09-15 12:02:52 +05:00
Andrej730 e21dec4781 build-all: drop stale x86 comments (993ae7196) 2026-09-15 12:02:52 +05:00
Andrej730 c0a939be96 build-all: bump Python 3.15 to rc2 2026-09-15 12:02:52 +05:00
Bruno Perdigão 1da48061e3 snap: fix stale cut geometry after file reload bonsai-0.9.0-alpha2609142348 2026-09-14 20:47:55 -03:00
Bruno Perdigão edbce75f4e Unify polyline tool cleanup
Route all polyline tools through a single PolylineOperator.cleanup that tears down the decorators, polyline, and raycast cache, and uninstall ProductDecorator unconditionally since it is idempotent.

Generated with the assistance of an AI coding tool.
2026-09-14 20:47:55 -03:00
Bruno Perdigão a6d59bf61c snap: fix possible crash
- use draw handler to move the expensive synchronous GPU readback
out of the mouse-event loop.
- restore GPU state (depth, blend, face culling) around the offscreen
2026-09-14 20:47:55 -03:00
Bruno Perdigão 0f629d0d54 snap: add option to use GPU snapping. It is disabled by default 2026-09-14 20:47:55 -03:00
Bruno Perdigão 495455cb2e snap: small fix 2026-09-14 20:47:55 -03:00
Bruno Perdigão e9c7203c23 snap: black formatting 2026-09-14 20:47:55 -03:00
Bruno Perdigão 105d186a34 snap: typing 2026-09-14 20:47:55 -03:00
Bruno Perdigão bd34226b23 snap: add cut geometry to gpu snap detection 2026-09-14 20:47:55 -03:00
Bruno Perdigão 2e0a529c73 snap: clear raycast global variables cache 2026-09-14 20:47:55 -03:00
Bruno Perdigão 3353afcbcd snap: refactor GPU snap detection into helpers 2026-09-14 20:47:55 -03:00
Bruno Perdigão 4ae34814e4 black formatting 2026-09-14 20:47:55 -03:00
Bruno Perdigão 5e522568e3 snap: remove face index from the GPU detection.
Now the face index can be handled only by the object raycast.
2026-09-14 20:47:55 -03:00
Bruno Perdigão 540c0fdc9d snap: avoid creating wireframe batches for solid objects 2026-09-14 20:47:55 -03:00
Bruno Perdigão e93858b8c6 snap: avoid unnecessary operations on each mouse mouse 2026-09-14 20:47:55 -03:00
Bruno Perdigão 6ef12a26f8 fix: add support to empty objects 2026-09-14 20:47:55 -03:00
Bruno Perdigão 626315a152 snap: fix wireframe snaps where there is no face occlusion 2026-09-14 20:47:55 -03:00
Bruno Perdigão 2328cc73d4 snap: use GPU detection for solid and wireframe objects.
Now is also works with x-ray mode.
2026-09-14 20:47:55 -03:00
Bruno Perdigão 50c1a0049c snap: remove custom edge BVH (SnapObj) 2026-09-14 20:47:55 -03:00
Bruno Perdigão d227f45663 snap: add snap dicts creation for GPU object detection 2026-09-14 20:47:55 -03:00
Bruno Perdigão 2912df5147 snap: add GPU object detection
Initial implementation of GPU object detection. It uses an offscreen
buffer with object ID enconded as colors, then reads the pixel(s) under
the cursor to find which object is hit.
It has two modes, one to detect faces and other the detect boundary edges and isolated vertices.
2026-09-14 20:47:55 -03:00
CyrilWaechter 243f0f32dc Handle null Styles when loading surface styles
An IfcSurfaceStyle with a NULL Styles set raised a TypeError when
loading a project. Guard the iterations, matching the existing
defensive pattern in import_presentation_styles.

Generated with the assistance of an AI coding tool.
bonsai-0.9.0-alpha2609141631
2026-09-14 18:31:38 +02:00
dependabot[bot] ff2b57d152 build(deps): bump hendrikmuhs/ccache-action from 1.2.23 to 1.2.24
Bumps [hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action) from 1.2.23 to 1.2.24.
- [Release notes](https://github.com/hendrikmuhs/ccache-action/releases)
- [Commits](https://github.com/hendrikmuhs/ccache-action/compare/v1.2.23...v1.2.24)

---
updated-dependencies:
- dependency-name: hendrikmuhs/ccache-action
  dependency-version: 1.2.24
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
bonsai-0.9.0-alpha2609141223
2026-09-14 17:23:35 +05:00
Andrej730 f9d606e13a build-all-win: add script metadata 2026-09-14 17:23:21 +05:00
Andrej730 c8ece3ddb3 pyproject: add win to ty check 2026-09-14 17:23:21 +05:00
Andrej730 34e01b3cf8 build_win: fix wrong env var bug introduced in bfce5b94
In bfce5b94 by accident I removed `TARGET_ARCH` env variable to `VS_PLATFORM` in `build-all-win.py`, while it wasn't related to build-deps really - this was the variable coming from CI matrix.
2026-09-14 17:23:21 +05:00
Andrej730 1cadd711f1 build-deps: remove unnecessary mark installation for qt6 2026-09-14 17:23:21 +05:00
Andrej730 b59dc01019 build: run aqtinstall in deps directory to avoid stray log file 2026-09-14 17:23:21 +05:00
Andrej730 04ded95045 build-deps.py: use uv for running aqtinstall if possible, warn about possible global Python pollution
Using `uv` allows to run dependency in an ephemeral environment instead of polluting either local/global Python.
2026-09-14 17:23:21 +05:00
Andrej730 b93cd182fd build-deps: drop unnecessarypython.exe check
If `IFCOS_INSTALL_PYTHON` is enabled, then it's guaranteed that `PYTHONHOME` is set to nuget Python installation, so it will have python.exe.
2026-09-14 17:23:21 +05:00
Andrej730 3c8d8b2fda run-cmake.py: dont set any env variables
And pass needed values as cmake args instead
2026-09-14 17:23:21 +05:00
Andrej730 1b97857b60 build-deps.py: relax default logging to INFO 2026-09-14 17:23:21 +05:00
Andrej730 e7ae2097a4 run-cmake.py: cli args for using ninja and adding commit sha 2026-09-14 17:23:21 +05:00
Andrej730 e76b6bb9d7 build-all-win: use cli args instead of env vars 2026-09-14 17:23:21 +05:00
Andrej730 befc031ec5 build-deps.py: cli args to provide qt6 and Python version 2026-09-14 17:23:21 +05:00
Andrej730 a0e0516795 build-deps.py: add -y to skip initial confirmation prompt 2026-09-14 17:23:21 +05:00
Andrej730 73d24a50d0 build-all.cmd: keep using build-deps.cmd`until its removed 2026-09-14 17:23:21 +05:00
Andrej730 1ea95b9580 check-whitespace: add a note about Rust files 2026-09-14 17:23:21 +05:00
Andrej730 32b408c3d5 check-whitespace: fix idempotency issue
See the comment, if there was couple whitespaces at the end of the file without newline, it would take running `check-whitespace` twice to finally fix it.
2026-09-14 17:23:21 +05:00
Andrej730 f3013f29df check-whitespace: normalize css files 2026-09-14 17:23:21 +05:00
Andrej730 3e88479277 check-whitespace: normalize json files 2026-09-14 17:23:21 +05:00
Andrej730 0c12d2334b check-whitespace: normalize javascript files 2026-09-14 17:23:21 +05:00
Andrej730 032a361d16 check-whitespace: normalize .yaml files 2026-09-14 17:23:21 +05:00
Andrej730 3ae023bffc check-whitespace: normalize batch, shell scripts 2026-09-14 17:23:21 +05:00
Andrej730 62259da3af bonsai/docs: drop duplicated dev_environment scripts
Scripts were outdated now, redirecting to general `dev_environment.py` instructions.
2026-09-14 17:23:21 +05:00
Andrej730 1bb36cc1d4 gitignore: remove stray dev_environment.bat, .code-workspace entries
Seems to be a sneak-in from local environment in 2912580
2026-09-14 17:23:21 +05:00
Dion Moult ec210a87db ifcparse: use std::filesystem in guess_file_type()
The stat()-based path helpers were added in 573e53ebf as a speculative
workaround for #7131 ("Ugly workarounds to not depend on
std::filesystem"). That issue turned out to be a hardcoded schema list
missing HEADER_SECTION_SCHEMA and was fixed separately.

Since the plug-in architecture landed, libIfcParse already depends on
std::filesystem: schema.h exports schema_plugin_directory() returning a
std::filesystem::path, and plugin.cpp uses it throughout. The build also
mandates C++17. The workaround therefore no longer avoids anything and
its comment is misleading.

Restore the std::filesystem version, using the error_code overloads so
inaccessible paths are still reported as "not there" rather than
throwing, and route the path through ifcopenshell::path::from_utf8 so
non-ASCII paths work on Windows, as file_reader.cpp already does.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WcUNL8YygRrNC5KpxELMHs
2026-09-14 09:18:14 +02:00
Andrej730 23f3874de1 run-cmake.py: pass Python args as cmake args instead of env vars
Keeping it more explicit and to avoid reconfiguration issues.
bonsai-0.8.6-alpha2609131404
2026-09-11 19:12:01 +05:00