Dion Moult
19a1d88970
Fix all ty diagnostics on ifcviewer-wgpu (ci-lint ty-ios + ty-bonsai)
...
This branch carried v0.8.0's strict `[tool.ty.rules] all = "error"` config but
not the source fixes that were made upstream to satisfy it, so both ci-lint ty
gates were failing: `poe ty-ios` reported 256 diagnostics and `poe ty-bonsai`
258. Both are now clean.
Most fixes are ported from v0.8.0 and follow two idioms: initialise a name
before a conditional that may not bind it (plus an `assert` where the invariant
is real but not provable), and close an exhaustive `if`/`elif` chain with
`else: assert False, <discriminant>`.
The branch's own newer accessors are preserved throughout - `.file`,
`.declaration`, `file.types()`, `get_max_id()` are kept rather than reverted to
`wrapped_data.*`, and non-ty upstream changes (notably the in-progress geometry
cache removal) are deliberately not pulled in.
Notable fixes that are not straight ports:
* ifcopenshell_wrapper.pyi: `entity_instance.file` was declared as
`def file(self) -> file`, where the property name shadows the `class file`
below it, so the annotation resolved to `Unknown`. Every `element.file` in
the codebase was therefore unchecked. Qualifying it to `ifcopenshell.file`
restores `.schema` to its Literal union and surfaces no new diagnostics.
* model/wall.py: a duplicated merge fragment in the void-straddle path ran an
always-true `if void_straddles:` that read `new_opening` from the mutually
exclusive branch (stale value, or NameError on the first iteration), followed
by an unreachable duplicate `elif`. Removing it makes the file match v0.8.0.
* light/operator.py: upstream's own fix unpacks three targets from two values
and raises ValueError unconditionally; corrected to `None, None, None`.
* assign_system.py, validate.py, geom/main.py: walrus-in-genexp is valid at
runtime (PEP 572 binds in the containing scope) but ty does not model it;
rewritten as explicit loops, matching upstream.
Verified: poe ty-ios, poe ty-bonsai, ruff check src/ nix/, black --check .,
and compileall -W error at py3.10 (ifcopenshell-python) and py3.11 (bonsai).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com >
2026-07-27 19:14:39 +10:00
Dion Moult
291d7d8441
black .
2026-07-26 18:03:09 +10:00
dependabot[bot]
102e08efe5
Bump svelte from 5.53.6 to 5.55.8 in /src/ifctester/webapp
...
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte ) from 5.53.6 to 5.55.8.
- [Release notes](https://github.com/sveltejs/svelte/releases )
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.55.8/packages/svelte )
---
updated-dependencies:
- dependency-name: svelte
dependency-version: 5.55.8
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
(cherry picked from commit 1906481a01 )
2026-07-25 23:18:33 +10:00
dependabot[bot]
e6e80246f1
Bump uuid and hyperid in /src/ifctester/webapp
...
Removes [uuid](https://github.com/uuidjs/uuid ). It's no longer used after updating ancestor dependency [hyperid](https://github.com/mcollina/hyperid ). These dependencies need to be updated together.
Removes `uuid`
Updates `hyperid` from 3.3.0 to 4.0.0
- [Release notes](https://github.com/mcollina/hyperid/releases )
- [Commits](https://github.com/mcollina/hyperid/compare/v3.3.0...v4.0.0 )
---
updated-dependencies:
- dependency-name: uuid
dependency-version:
dependency-type: indirect
- dependency-name: hyperid
dependency-version: 4.0.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
(cherry picked from commit 73bf238232 )
2026-07-25 23:18:33 +10:00
dependabot[bot]
887cd35fa5
Bump ws and engine.io-client in /src/ifctester/webapp
...
Bumps [ws](https://github.com/websockets/ws ) and [engine.io-client](https://github.com/socketio/socket.io ). These dependencies needed to be updated together.
Updates `ws` from 8.17.1 to 8.21.0
- [Release notes](https://github.com/websockets/ws/releases )
- [Commits](https://github.com/websockets/ws/compare/8.17.1...8.21.0 )
Updates `engine.io-client` from 6.6.3 to 6.6.6
- [Release notes](https://github.com/socketio/socket.io/releases )
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md )
- [Commits](https://github.com/socketio/socket.io/compare/engine.io-client@6.6.3...engine.io-client@6.6.6 )
---
updated-dependencies:
- dependency-name: ws
dependency-version: 8.21.0
dependency-type: indirect
- dependency-name: engine.io-client
dependency-version: 6.6.6
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
(cherry picked from commit c16aec2cb0 )
2026-07-25 23:18:33 +10:00
dependabot[bot]
04d70d4a2a
build(deps-dev): bump immutable in /src/ifctester/webapp
...
Bumps [immutable](https://github.com/immutable-js/immutable-js ) from 5.1.5 to 5.1.9.
- [Release notes](https://github.com/immutable-js/immutable-js/releases )
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/immutable-js/immutable-js/compare/v5.1.5...v5.1.9 )
---
updated-dependencies:
- dependency-name: immutable
dependency-version: 5.1.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
(cherry picked from commit 76be31561e )
2026-07-25 23:18:33 +10:00
dependabot[bot]
89ae21c3ba
Bump devalue from 5.6.4 to 5.8.1 in /src/ifctester/webapp
...
Bumps [devalue](https://github.com/sveltejs/devalue ) from 5.6.4 to 5.8.1.
- [Release notes](https://github.com/sveltejs/devalue/releases )
- [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/devalue/compare/v5.6.4...v5.8.1 )
---
updated-dependencies:
- dependency-name: devalue
dependency-version: 5.8.1
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
(cherry picked from commit a111c68d44 )
2026-07-25 23:18:33 +10:00
dependabot[bot]
c6b3c54fc5
build(deps-dev): bump tar from 7.5.16 to 7.5.21 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.16 to 7.5.21.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.16...v7.5.21 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.21
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
(cherry picked from commit 279e16f2ab )
2026-07-25 23:18:33 +10:00
dependabot[bot]
71654a2af2
build(deps-dev): bump postcss in /src/ifctester/webapp
...
Bumps [postcss](https://github.com/postcss/postcss ) from 8.5.4 to 8.5.22.
- [Release notes](https://github.com/postcss/postcss/releases )
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss/compare/8.5.4...8.5.22 )
---
updated-dependencies:
- dependency-name: postcss
dependency-version: 8.5.22
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
(cherry picked from commit 3d68d0f0e5 )
2026-07-25 23:18:33 +10:00
Andrej730
3536bcf46d
entity_instance: switch to use of declaration as a property
...
Fixes most of the bonsai tests.
2026-07-22 19:01:51 +05:00
Thomas Krijnen
7fc2d9a998
Merge remote-tracking branch 'origin/v0.8.0' into ifcviewer-wgpu
2026-07-09 13:21:39 +02:00
dependabot[bot]
1e91eebf51
Bump tar from 7.5.11 to 7.5.16 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.11 to 7.5.16.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.11...v7.5.16 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.16
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-17 14:37:12 +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
dependabot[bot]
c509f1d3ee
Bump vite from 6.4.1 to 6.4.2 in /src/ifctester/webapp
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-10 16:16:33 +05:00
dependabot[bot]
0ed96d32dd
Bump picomatch from 4.0.2 to 4.0.4 in /src/ifctester/webapp
...
Bumps [picomatch](https://github.com/micromatch/picomatch ) from 4.0.2 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases )
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md )
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.2...4.0.4 )
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 4.0.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-28 16:53:31 +11:00
Sayan J. Das
f679c63a18
Merge pull request #7808 from theseyan/ifctester-improvements-rebased
...
IfcTester webapp improvements
2026-03-23 15:48:34 +05:30
dependabot[bot]
9c22dc6013
Bump socket.io-parser from 4.2.4 to 4.2.6 in /src/ifctester/webapp
...
Bumps [socket.io-parser](https://github.com/socketio/socket.io ) from 4.2.4 to 4.2.6.
- [Release notes](https://github.com/socketio/socket.io/releases )
- [Changelog](https://github.com/socketio/socket.io/blob/main/CHANGELOG.md )
- [Commits](https://github.com/socketio/socket.io/compare/socket.io-parser@4.2.4...socket.io-parser@4.2.6 )
---
updated-dependencies:
- dependency-name: socket.io-parser
dependency-version: 4.2.6
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-20 11:47:01 +01:00
Andrej730
77f0c43314
ids_doc_generator - fix invalid escape sequence SyntaxWarning
...
SyntaxWarning: invalid escape sequence '\/' at line 312.
`\/` in a plain string is treated as `/` by accident; replaced with raw string r"..." to be explicit.
2026-03-20 15:43:13 +05:00
Andrej730
bcf6f6197d
ifctester - move build-ids-docs target to ifctester Makefile
...
Also added a note why it lives in test folder and added it's output to gitignore.
2026-03-20 15:43:13 +05:00
Andrej730
1778656bd5
ids_doc_generator - fix Property args missed ( ed8eb75)
...
TypeError: Property.__init__() got an unexpected keyword argument 'name'
2026-03-20 15:43:12 +05:00
Andrej730
54f450129c
ids_doc_generator - fix failed_entities removed ( bd92c043)
...
AttributeError: 'Attribute' object has no attribute 'failed_entities'
2026-03-20 15:43:12 +05:00
Andrej730
9fad1569c7
ids_doc_generator - fix error due to stale cache ( f40281e97)
...
AssertionError: bool(facet(inst)) is expected
2026-03-20 15:43:12 +05:00
Andrej730
722c374fa6
ids_doc_generator - handle invalid entities coming from a test ( 1ed770d)
...
Exception: About to emit invalid example data: IfcMaterial.Name not optional
2026-03-20 15:43:12 +05:00
Sayan Jyoti Das
aa5f5120e0
delete ifcopenshell wheel
2026-03-18 14:37:24 +05:30
Sayan Jyoti Das
81986bcbfb
ifcopenshell wasm wheel should be dynamically fetched, not included in git
2026-03-18 14:35:55 +05:30
Sayan Jyoti Das
03de69814a
fixes and cleanups from old branch
2026-03-18 11:22:41 +05:30
Sayan Jyoti Das
4dc6a0f2bc
update ifcopenshell wheel to ifcopenshell-0.8.5+a51b2c5
2026-03-18 11:18:50 +05:30
Sayan Jyoti Das
47f058341b
local ifctester wheel build
2026-03-18 10:29:09 +05:30
Sayan Jyoti Das
845a13ba83
some fixes and lint cleanups
2026-03-17 21:16:53 +05:30
Sayan Jyoti Das
e95da857d6
convert codebase to typescript + introduce biome lint
2026-03-16 21:55:10 +05:30
Sayan Jyoti Das
d587d1ac11
build step for pyodide
2026-03-16 21:46:46 +05:30
Sayan Jyoti Das
6117417b89
update webapp + bonsai integration
2026-03-16 15:54:52 +05:30
dependabot[bot]
1576302caf
Bump devalue from 5.6.3 to 5.6.4 in /src/ifctester/webapp
...
Bumps [devalue](https://github.com/sveltejs/devalue ) from 5.6.3 to 5.6.4.
- [Release notes](https://github.com/sveltejs/devalue/releases )
- [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/devalue/compare/v5.6.3...v5.6.4 )
---
updated-dependencies:
- dependency-name: devalue
dependency-version: 5.6.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-13 07:58:26 +01:00
dependabot[bot]
d7f29c4494
Bump tar from 7.5.10 to 7.5.11 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.10 to 7.5.11.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.10...v7.5.11 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.11
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-13 07:58:22 +01:00
dependabot[bot]
72f279381f
Bump immutable from 5.1.2 to 5.1.5 in /src/ifctester/webapp
...
Bumps [immutable](https://github.com/immutable-js/immutable-js ) from 5.1.2 to 5.1.5.
- [Release notes](https://github.com/immutable-js/immutable-js/releases )
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/immutable-js/immutable-js/compare/v5.1.2...v5.1.5 )
---
updated-dependencies:
- dependency-name: immutable
dependency-version: 5.1.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 14:33:44 +01:00
dependabot[bot]
9873e403bc
Bump tar from 7.5.9 to 7.5.10 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.9 to 7.5.10.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.9...v7.5.10 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.10
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 14:33:38 +01:00
dependabot[bot]
d4150e0558
Bump svelte from 5.53.0 to 5.53.6 in /src/ifctester/webapp
...
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte ) from 5.53.0 to 5.53.6.
- [Release notes](https://github.com/sveltejs/svelte/releases )
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.53.6/packages/svelte )
---
updated-dependencies:
- dependency-name: svelte
dependency-version: 5.53.6
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-03 18:44:47 +11:00
dependabot[bot]
35886c9f72
Bump svelte from 5.33.10 to 5.53.0 in /src/ifctester/webapp
...
Bumps [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte ) from 5.33.10 to 5.53.0.
- [Release notes](https://github.com/sveltejs/svelte/releases )
- [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.53.0/packages/svelte )
---
updated-dependencies:
- dependency-name: svelte
dependency-version: 5.53.0
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-26 13:14:38 +01:00
dependabot[bot]
097c8af7c7
Bump rollup from 4.41.1 to 4.59.0 in /src/ifctester/webapp
...
Bumps [rollup](https://github.com/rollup/rollup ) from 4.41.1 to 4.59.0.
- [Release notes](https://github.com/rollup/rollup/releases )
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rollup/rollup/compare/v4.41.1...v4.59.0 )
---
updated-dependencies:
- dependency-name: rollup
dependency-version: 4.59.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-26 13:14:21 +01:00
dependabot[bot]
8afe05601e
Bump tar from 7.5.7 to 7.5.9 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.7 to 7.5.9.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.7...v7.5.9 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.9
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-20 08:56:50 +11:00
dependabot[bot]
22f91e11b3
Bump tar from 7.5.6 to 7.5.7 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.6 to 7.5.7.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.6...v7.5.7 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.7
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-30 17:57:12 +11:00
Dion Moult
e41df68124
Reintroduce public API for IfcTester after ruff purge 72f8218fcd
2026-01-27 15:57:47 +11:00
Andrej730
953c5fddc6
bonsai - sort imports
2026-01-26 17:13:18 +05:00
Andrej730
6d4eb06d89
black .
2026-01-26 17:10:03 +05:00
Andrej730
72f8218fcd
ruff - check for more unused imports
2026-01-26 17:10:02 +05:00
Dion Moult
c2cc6f80be
IfcTester webapp now shows prohibited more clearly
...
- is_skipped is calculated upstream instead of reimplementing logic
- the viewer now shows cardinality (not just in edit mode) to make it
clear what the requirements are
- prohibited specs are not allowed to have any requirements, so that
section is hidden
- failed prohibited specs now shows list of failed (applicable)
entities
2026-01-22 14:36:46 +11:00
Dion Moult
4c47eb573a
Improve IDS static HTML reporter to report list of prohibited entities (they aren't passes or fails, just prohibited applicability)
2026-01-22 11:18:35 +11:00
Vincent Cadoret
a3801a0ce9
Fix UnboundLocalError in reporter.py cardinality assignment
...
The report_specification() method in the Json reporter class was raising
an UnboundLocalError when processing IDS specifications with certain
minOccurs/maxOccurs combinations that weren't explicitly handled.
Problem:
The cardinality variable was only assigned for three specific cases:
- minOccurs=1, maxOccurs="unbounded" → "required"
- minOccurs=0, maxOccurs="unbounded" → "optional"
- minOccurs=0, maxOccurs=0 → "prohibited"
However, the IDS schema allows other valid combinations such as:
- minOccurs=0, maxOccurs=1 (commonly used for optional specifications)
- minOccurs=1, maxOccurs=1 (exactly one occurrence required)
- Any other valid XML Schema cardinality values
When processing IDS files with these combinations, the cardinality
variable remained unassigned, causing an UnboundLocalError at line 382
when attempting to use it in ResultsSpecification().
Solution:
Added fallback logic to handle all valid IDS cardinality combinations:
- If minOccurs >= 1: cardinality = "required" (must occur at least once)
- Otherwise (minOccurs == 0): cardinality = "optional" (may occur)
This maintains semantic compatibility with the existing codebase, which
expects cardinality to be one of the semantic strings ("required",
"optional", "prohibited") rather than numeric ranges. This is critical
for:
- HTML template rendering (line 457: .capitalize())
- Conditional logic for skipped specs (line 454)
- UI rendering for prohibited specs (line 456)
Testing:
- Tested with IDS file containing minOccurs=0 without explicit maxOccurs
(defaults to 1 per XML Schema specification)
- Validation now completes successfully without UnboundLocalError
- HTML report generation works correctly with semantic cardinality labels
- Maintains backward compatibility with existing IDS files
Fixes: Validation failure when using valid IDS cardinality combinations
2026-01-22 10:21:45 +11:00
dependabot[bot]
0cc3ce8709
Bump tar from 7.5.3 to 7.5.6 in /src/ifctester/webapp
...
Bumps [tar](https://github.com/isaacs/node-tar ) from 7.5.3 to 7.5.6.
- [Release notes](https://github.com/isaacs/node-tar/releases )
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md )
- [Commits](https://github.com/isaacs/node-tar/compare/v7.5.3...v7.5.6 )
---
updated-dependencies:
- dependency-name: tar
dependency-version: 7.5.6
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-22 08:40:44 +11:00
Dion Moult
41c6eba193
IfcTester should not check requirements for prohibited specifications
2026-01-21 19:43:37 +11:00