ifx-core 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ifx_core-0.1.0/.github/workflows/corpus.yml +26 -0
- ifx_core-0.1.0/.github/workflows/tests.yml +46 -0
- ifx_core-0.1.0/.gitignore +9 -0
- ifx_core-0.1.0/ACKNOWLEDGEMENTS.md +9 -0
- ifx_core-0.1.0/Cargo.lock +1379 -0
- ifx_core-0.1.0/Cargo.toml +62 -0
- ifx_core-0.1.0/LICENSE +373 -0
- ifx_core-0.1.0/PKG-INFO +68 -0
- ifx_core-0.1.0/README.md +47 -0
- ifx_core-0.1.0/UPSTREAM_SOURCE.json +1285 -0
- ifx_core-0.1.0/crates/entities/Cargo.toml +11 -0
- ifx_core-0.1.0/crates/entities/LICENSE +373 -0
- ifx_core-0.1.0/crates/entities/src/lib.rs +3 -0
- ifx_core-0.1.0/crates/entities/src/model.rs +445 -0
- ifx_core-0.1.0/crates/entities/src/model_inherit.rs +126 -0
- ifx_core-0.1.0/crates/entities/src/model_inherit_tests.rs +179 -0
- ifx_core-0.1.0/crates/entities/src/model_options.rs +117 -0
- ifx_core-0.1.0/crates/entities/src/model_props.rs +210 -0
- ifx_core-0.1.0/crates/entities/src/model_tests.rs +751 -0
- ifx_core-0.1.0/crates/entities/src/model_types.rs +136 -0
- ifx_core-0.1.0/crates/geometry/Cargo.toml +133 -0
- ifx_core-0.1.0/crates/geometry/LICENSE +373 -0
- ifx_core-0.1.0/crates/geometry/README.md +47 -0
- ifx_core-0.1.0/crates/geometry/src/alignment.rs +1170 -0
- ifx_core-0.1.0/crates/geometry/src/b44_kernel_adjoint_tests.rs +942 -0
- ifx_core-0.1.0/crates/geometry/src/bool2d.rs +349 -0
- ifx_core-0.1.0/crates/geometry/src/bool2d_tests.rs +265 -0
- ifx_core-0.1.0/crates/geometry/src/cdt/predicates.rs +58 -0
- ifx_core-0.1.0/crates/geometry/src/cdt.rs +1607 -0
- ifx_core-0.1.0/crates/geometry/src/cdt_tests.rs +220 -0
- ifx_core-0.1.0/crates/geometry/src/contour_bool2d.rs +279 -0
- ifx_core-0.1.0/crates/geometry/src/contour_bool2d_tests.rs +383 -0
- ifx_core-0.1.0/crates/geometry/src/csg/consolidate/conform/emit.rs +120 -0
- ifx_core-0.1.0/crates/geometry/src/csg/consolidate/conform.rs +379 -0
- ifx_core-0.1.0/crates/geometry/src/csg/consolidate/ring_ops.rs +144 -0
- ifx_core-0.1.0/crates/geometry/src/csg/consolidate.rs +832 -0
- ifx_core-0.1.0/crates/geometry/src/csg/csg_tests.rs +266 -0
- ifx_core-0.1.0/crates/geometry/src/csg/mod.rs +788 -0
- ifx_core-0.1.0/crates/geometry/src/csg/normals.rs +89 -0
- ifx_core-0.1.0/crates/geometry/src/csg_capture.rs +203 -0
- ifx_core-0.1.0/crates/geometry/src/diag.rs +75 -0
- ifx_core-0.1.0/crates/geometry/src/diagnostics.rs +260 -0
- ifx_core-0.1.0/crates/geometry/src/error.rs +37 -0
- ifx_core-0.1.0/crates/geometry/src/extrusion.rs +777 -0
- ifx_core-0.1.0/crates/geometry/src/extrusion_byte_identity_tests.rs +558 -0
- ifx_core-0.1.0/crates/geometry/src/extrusion_generic.rs +388 -0
- ifx_core-0.1.0/crates/geometry/src/extrusion_watertight_tests.rs +96 -0
- ifx_core-0.1.0/crates/geometry/src/facet_weld.rs +952 -0
- ifx_core-0.1.0/crates/geometry/src/facet_weld_scoped_tests.rs +228 -0
- ifx_core-0.1.0/crates/geometry/src/geom_bounds.rs +93 -0
- ifx_core-0.1.0/crates/geometry/src/geom_closure.rs +238 -0
- ifx_core-0.1.0/crates/geometry/src/geom_hash.rs +351 -0
- ifx_core-0.1.0/crates/geometry/src/geom_hash_tests.rs +592 -0
- ifx_core-0.1.0/crates/geometry/src/grid.rs +21 -0
- ifx_core-0.1.0/crates/geometry/src/instancing/collate.rs +392 -0
- ifx_core-0.1.0/crates/geometry/src/instancing/mod.rs +42 -0
- ifx_core-0.1.0/crates/geometry/src/instancing/tests.rs +624 -0
- ifx_core-0.1.0/crates/geometry/src/instancing/wire.rs +279 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/arrangement/boolean.rs +257 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/arrangement/classify.rs +633 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/arrangement/mod.rs +400 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/arrangement/tests.rs +278 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/broadphase.rs +329 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/budget.rs +400 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/coplanar.rs +183 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/fixed.rs +566 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/fixed_int/mod.rs +604 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/fixed_int/mul.rs +163 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/fixed_int/tests.rs +359 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/interner.rs +146 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/interval.rs +383 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/manifest.rs +105 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/mesh_bridge.rs +903 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/mod.rs +140 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/predicates.rs +700 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/rational.rs +399 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/rational_tests.rs +38 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/retriangulate.rs +935 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/retriangulate_audit.rs +101 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/retriangulate_audit_tests.rs +147 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/retriangulate_cleanup.rs +68 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/retriangulate_recover.rs +438 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/retriangulate_recover_tests.rs +164 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/signed_volume.rs +78 -0
- ifx_core-0.1.0/crates/geometry/src/kernel/tritri.rs +374 -0
- ifx_core-0.1.0/crates/geometry/src/lib.rs +220 -0
- ifx_core-0.1.0/crates/geometry/src/material_layer_index.rs +563 -0
- ifx_core-0.1.0/crates/geometry/src/mesh.rs +1524 -0
- ifx_core-0.1.0/crates/geometry/src/mesh_orient.rs +382 -0
- ifx_core-0.1.0/crates/geometry/src/mesh_orient_tests.rs +297 -0
- ifx_core-0.1.0/crates/geometry/src/mesh_weld.rs +194 -0
- ifx_core-0.1.0/crates/geometry/src/mesh_weld_tests.rs +236 -0
- ifx_core-0.1.0/crates/geometry/src/processors/advanced.rs +179 -0
- ifx_core-0.1.0/crates/geometry/src/processors/advanced_face/bspline.rs +390 -0
- ifx_core-0.1.0/crates/geometry/src/processors/advanced_face/conics.rs +230 -0
- ifx_core-0.1.0/crates/geometry/src/processors/advanced_face/curves.rs +184 -0
- ifx_core-0.1.0/crates/geometry/src/processors/advanced_face/edge_loop.rs +355 -0
- ifx_core-0.1.0/crates/geometry/src/processors/advanced_face/mod.rs +130 -0
- ifx_core-0.1.0/crates/geometry/src/processors/advanced_face/polyline.rs +254 -0
- ifx_core-0.1.0/crates/geometry/src/processors/advanced_face/revolution.rs +232 -0
- ifx_core-0.1.0/crates/geometry/src/processors/advanced_face/surfaces.rs +328 -0
- ifx_core-0.1.0/crates/geometry/src/processors/alignment.rs +167 -0
- ifx_core-0.1.0/crates/geometry/src/processors/boolean/chain_cycle_tests.rs +197 -0
- ifx_core-0.1.0/crates/geometry/src/processors/boolean/cut_heuristics.rs +98 -0
- ifx_core-0.1.0/crates/geometry/src/processors/boolean/halfspace_cap.rs +266 -0
- ifx_core-0.1.0/crates/geometry/src/processors/boolean/halfspace_cap_tests.rs +223 -0
- ifx_core-0.1.0/crates/geometry/src/processors/boolean/mod.rs +849 -0
- ifx_core-0.1.0/crates/geometry/src/processors/boolean/polygonal_prism.rs +378 -0
- ifx_core-0.1.0/crates/geometry/src/processors/brep/faceted.rs +486 -0
- ifx_core-0.1.0/crates/geometry/src/processors/brep/mod.rs +14 -0
- ifx_core-0.1.0/crates/geometry/src/processors/brep/surface_model.rs +352 -0
- ifx_core-0.1.0/crates/geometry/src/processors/csg_primitive.rs +402 -0
- ifx_core-0.1.0/crates/geometry/src/processors/extrusion.rs +228 -0
- ifx_core-0.1.0/crates/geometry/src/processors/extrusion_tapered.rs +177 -0
- ifx_core-0.1.0/crates/geometry/src/processors/helpers.rs +224 -0
- ifx_core-0.1.0/crates/geometry/src/processors/mod.rs +184 -0
- ifx_core-0.1.0/crates/geometry/src/processors/sectioned.rs +608 -0
- ifx_core-0.1.0/crates/geometry/src/processors/surface.rs +243 -0
- ifx_core-0.1.0/crates/geometry/src/processors/swept/disk.rs +355 -0
- ifx_core-0.1.0/crates/geometry/src/processors/swept/mod.rs +14 -0
- ifx_core-0.1.0/crates/geometry/src/processors/swept/revolved.rs +286 -0
- ifx_core-0.1.0/crates/geometry/src/processors/swept/surface_curve.rs +257 -0
- ifx_core-0.1.0/crates/geometry/src/processors/tessellated/mesh_build.rs +244 -0
- ifx_core-0.1.0/crates/geometry/src/processors/tessellated/mod.rs +16 -0
- ifx_core-0.1.0/crates/geometry/src/processors/tessellated/polygonal.rs +187 -0
- ifx_core-0.1.0/crates/geometry/src/processors/tessellated/triangulate.rs +313 -0
- ifx_core-0.1.0/crates/geometry/src/processors/tessellated/triangulated.rs +209 -0
- ifx_core-0.1.0/crates/geometry/src/processors/tests.rs +1281 -0
- ifx_core-0.1.0/crates/geometry/src/processors/texture/mod.rs +335 -0
- ifx_core-0.1.0/crates/geometry/src/processors/texture/raster.rs +152 -0
- ifx_core-0.1.0/crates/geometry/src/profile.rs +372 -0
- ifx_core-0.1.0/crates/geometry/src/profile_extractor.rs +757 -0
- ifx_core-0.1.0/crates/geometry/src/profile_generic.rs +94 -0
- ifx_core-0.1.0/crates/geometry/src/profiles/curves_2d.rs +598 -0
- ifx_core-0.1.0/crates/geometry/src/profiles/curves_3d.rs +709 -0
- ifx_core-0.1.0/crates/geometry/src/profiles/mod.rs +899 -0
- ifx_core-0.1.0/crates/geometry/src/profiles/outline.rs +356 -0
- ifx_core-0.1.0/crates/geometry/src/profiles/placement.rs +212 -0
- ifx_core-0.1.0/crates/geometry/src/profiles/shapes.rs +353 -0
- ifx_core-0.1.0/crates/geometry/src/profiles/simplify.rs +485 -0
- ifx_core-0.1.0/crates/geometry/src/profiles/simplify_tests.rs +369 -0
- ifx_core-0.1.0/crates/geometry/src/profiles/steel_shapes.rs +305 -0
- ifx_core-0.1.0/crates/geometry/src/profiles/tests.rs +817 -0
- ifx_core-0.1.0/crates/geometry/src/projection_outline.rs +316 -0
- ifx_core-0.1.0/crates/geometry/src/rect_fast.rs +807 -0
- ifx_core-0.1.0/crates/geometry/src/router/caching.rs +267 -0
- ifx_core-0.1.0/crates/geometry/src/router/content_hash.rs +364 -0
- ifx_core-0.1.0/crates/geometry/src/router/diagnostics/diagnostics_contract_tests.rs +196 -0
- ifx_core-0.1.0/crates/geometry/src/router/diagnostics.rs +575 -0
- ifx_core-0.1.0/crates/geometry/src/router/instancing.rs +181 -0
- ifx_core-0.1.0/crates/geometry/src/router/layers.rs +646 -0
- ifx_core-0.1.0/crates/geometry/src/router/mod.rs +749 -0
- ifx_core-0.1.0/crates/geometry/src/router/processing.rs +1142 -0
- ifx_core-0.1.0/crates/geometry/src/router/rep_filter.rs +65 -0
- ifx_core-0.1.0/crates/geometry/src/router/rtc_offset.rs +479 -0
- ifx_core-0.1.0/crates/geometry/src/router/tests.rs +584 -0
- ifx_core-0.1.0/crates/geometry/src/router/textured.rs +182 -0
- ifx_core-0.1.0/crates/geometry/src/router/transforms/grid.rs +347 -0
- ifx_core-0.1.0/crates/geometry/src/router/transforms/linear.rs +272 -0
- ifx_core-0.1.0/crates/geometry/src/router/transforms/mapped.rs +132 -0
- ifx_core-0.1.0/crates/geometry/src/router/transforms/mesh_world.rs +254 -0
- ifx_core-0.1.0/crates/geometry/src/router/transforms/mod.rs +368 -0
- ifx_core-0.1.0/crates/geometry/src/router/transforms/operator.rs +359 -0
- ifx_core-0.1.0/crates/geometry/src/router/transforms/parsers.rs +123 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/aabb_clip.rs +619 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/bool2d_path.rs +400 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/bool2d_path_tests.rs +227 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/coaxial_union.rs +704 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/coaxial_union_tests.rs +485 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/flap_clip_tests.rs +369 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/geom.rs +871 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/mod.rs +2052 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/prism_cut/closure_checks.rs +230 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/prism_cut/vertex_dedup.rs +101 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/prism_cut.rs +2958 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/prism_cut_tests.rs +850 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/probe.rs +818 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/probe_tests.rs +70 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/reveal_tests.rs +838 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/sweep.rs +318 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/sweep_tests.rs +128 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/synthesis.rs +1002 -0
- ifx_core-0.1.0/crates/geometry/src/router/voids/synthesis_tests.rs +76 -0
- ifx_core-0.1.0/crates/geometry/src/scalar.rs +270 -0
- ifx_core-0.1.0/crates/geometry/src/simplify/boxify.rs +71 -0
- ifx_core-0.1.0/crates/geometry/src/simplify/cavities.rs +356 -0
- ifx_core-0.1.0/crates/geometry/src/simplify/cluster.rs +157 -0
- ifx_core-0.1.0/crates/geometry/src/simplify/mod.rs +389 -0
- ifx_core-0.1.0/crates/geometry/src/simplify/ray_parity.rs +87 -0
- ifx_core-0.1.0/crates/geometry/src/space_dcel/arrangement.rs +280 -0
- ifx_core-0.1.0/crates/geometry/src/space_dcel/geom2d.rs +86 -0
- ifx_core-0.1.0/crates/geometry/src/space_dcel/mod.rs +1472 -0
- ifx_core-0.1.0/crates/geometry/src/space_dcel/tests.rs +778 -0
- ifx_core-0.1.0/crates/geometry/src/tessellation.rs +304 -0
- ifx_core-0.1.0/crates/geometry/src/transform.rs +513 -0
- ifx_core-0.1.0/crates/geometry/src/triangulation/alt_oracle.rs +55 -0
- ifx_core-0.1.0/crates/geometry/src/triangulation/ring_geom.rs +36 -0
- ifx_core-0.1.0/crates/geometry/src/triangulation.rs +769 -0
- ifx_core-0.1.0/crates/geometry/src/void_index.rs +661 -0
- ifx_core-0.1.0/crates/processing/Cargo.toml +46 -0
- ifx_core-0.1.0/crates/processing/LICENSE +373 -0
- ifx_core-0.1.0/crates/processing/README.md +47 -0
- ifx_core-0.1.0/crates/processing/src/determinism.rs +499 -0
- ifx_core-0.1.0/crates/processing/src/determinism_tests.rs +88 -0
- ifx_core-0.1.0/crates/processing/src/element.rs +910 -0
- ifx_core-0.1.0/crates/processing/src/element_degenerate.rs +72 -0
- ifx_core-0.1.0/crates/processing/src/element_tests.rs +112 -0
- ifx_core-0.1.0/crates/processing/src/geometry_export.rs +208 -0
- ifx_core-0.1.0/crates/processing/src/georeferencing.rs +468 -0
- ifx_core-0.1.0/crates/processing/src/lib.rs +80 -0
- ifx_core-0.1.0/crates/processing/src/parallel_scan.rs +388 -0
- ifx_core-0.1.0/crates/processing/src/pipeline_diagnostics.rs +327 -0
- ifx_core-0.1.0/crates/processing/src/prepass.rs +781 -0
- ifx_core-0.1.0/crates/processing/src/prepass_styled.rs +130 -0
- ifx_core-0.1.0/crates/processing/src/processor/color_layer.rs +191 -0
- ifx_core-0.1.0/crates/processing/src/processor/instancing.rs +151 -0
- ifx_core-0.1.0/crates/processing/src/processor/jobs.rs +410 -0
- ifx_core-0.1.0/crates/processing/src/processor/mod.rs +1661 -0
- ifx_core-0.1.0/crates/processing/src/processor/opening_filter.rs +199 -0
- ifx_core-0.1.0/crates/processing/src/processor/properties.rs +352 -0
- ifx_core-0.1.0/crates/processing/src/processor/quick_metadata.rs +248 -0
- ifx_core-0.1.0/crates/processing/src/processor/site_local.rs +110 -0
- ifx_core-0.1.0/crates/processing/src/shard_classes.rs +241 -0
- ifx_core-0.1.0/crates/processing/src/simplify_math.rs +147 -0
- ifx_core-0.1.0/crates/processing/src/simplify_session.rs +283 -0
- ifx_core-0.1.0/crates/processing/src/simplify_session_tests.rs +299 -0
- ifx_core-0.1.0/crates/processing/src/stream_meta.rs +200 -0
- ifx_core-0.1.0/crates/processing/src/stream_meta_tests.rs +247 -0
- ifx_core-0.1.0/crates/processing/src/style/indexed_colour.rs +285 -0
- ifx_core-0.1.0/crates/processing/src/style/material.rs +281 -0
- ifx_core-0.1.0/crates/processing/src/style/mod.rs +307 -0
- ifx_core-0.1.0/crates/processing/src/style/surface.rs +111 -0
- ifx_core-0.1.0/crates/processing/src/symbolic/color.rs +129 -0
- ifx_core-0.1.0/crates/processing/src/symbolic/fill.rs +196 -0
- ifx_core-0.1.0/crates/processing/src/symbolic/grid.rs +157 -0
- ifx_core-0.1.0/crates/processing/src/symbolic/items.rs +440 -0
- ifx_core-0.1.0/crates/processing/src/symbolic/mod.rs +249 -0
- ifx_core-0.1.0/crates/processing/src/symbolic/primitives.rs +170 -0
- ifx_core-0.1.0/crates/processing/src/symbolic/text.rs +106 -0
- ifx_core-0.1.0/crates/processing/src/symbolic/transform.rs +393 -0
- ifx_core-0.1.0/crates/processing/src/types/mesh.rs +321 -0
- ifx_core-0.1.0/crates/processing/src/types/mod.rs +8 -0
- ifx_core-0.1.0/crates/processing/src/types/response.rs +165 -0
- ifx_core-0.1.0/crates/step/Cargo.toml +53 -0
- ifx_core-0.1.0/crates/step/LICENSE +373 -0
- ifx_core-0.1.0/crates/step/README.md +47 -0
- ifx_core-0.1.0/crates/step/src/columnar_index.rs +399 -0
- ifx_core-0.1.0/crates/step/src/decoder/caches.rs +115 -0
- ifx_core-0.1.0/crates/step/src/decoder/decoder_tests.rs +363 -0
- ifx_core-0.1.0/crates/step/src/decoder.rs +1064 -0
- ifx_core-0.1.0/crates/step/src/error.rs +55 -0
- ifx_core-0.1.0/crates/step/src/fast_parse.rs +375 -0
- ifx_core-0.1.0/crates/step/src/fast_parse_tests.rs +163 -0
- ifx_core-0.1.0/crates/step/src/generated/mod.rs +19 -0
- ifx_core-0.1.0/crates/step/src/generated/schema.rs +14366 -0
- ifx_core-0.1.0/crates/step/src/generated/type_ids.rs +918 -0
- ifx_core-0.1.0/crates/step/src/georef.rs +713 -0
- ifx_core-0.1.0/crates/step/src/georef_tests.rs +165 -0
- ifx_core-0.1.0/crates/step/src/legacy_entities.rs +149 -0
- ifx_core-0.1.0/crates/step/src/lib.rs +110 -0
- ifx_core-0.1.0/crates/step/src/model_bounds.rs +445 -0
- ifx_core-0.1.0/crates/step/src/parser/mod.rs +18 -0
- ifx_core-0.1.0/crates/step/src/parser/scanner.rs +600 -0
- ifx_core-0.1.0/crates/step/src/parser/tokenizer.rs +463 -0
- ifx_core-0.1.0/crates/step/src/project_units/measure.rs +362 -0
- ifx_core-0.1.0/crates/step/src/project_units/mod.rs +285 -0
- ifx_core-0.1.0/crates/step/src/project_units/symbols.rs +258 -0
- ifx_core-0.1.0/crates/step/src/project_units/tests.rs +176 -0
- ifx_core-0.1.0/crates/step/src/schema_gen.rs +477 -0
- ifx_core-0.1.0/crates/step/src/schema_gen_tests.rs +335 -0
- ifx_core-0.1.0/crates/step/src/schema_helpers.rs +322 -0
- ifx_core-0.1.0/crates/step/src/schema_helpers_tests.rs +312 -0
- ifx_core-0.1.0/crates/step/src/step_encoding.rs +237 -0
- ifx_core-0.1.0/crates/step/src/streaming.rs +361 -0
- ifx_core-0.1.0/crates/step/src/units.rs +990 -0
- ifx_core-0.1.0/docs/ifcopenshell-parity.md +68 -0
- ifx_core-0.1.0/docs/testing.md +100 -0
- ifx_core-0.1.0/ifx_core.pyi +387 -0
- ifx_core-0.1.0/pkg/ifx_core.d.ts +42 -0
- ifx_core-0.1.0/pkg/ifx_core.js +278 -0
- ifx_core-0.1.0/pkg/ifx_core_bg.wasm +0 -0
- ifx_core-0.1.0/pkg/ifx_core_bg.wasm.d.ts +11 -0
- ifx_core-0.1.0/pyproject.toml +55 -0
- ifx_core-0.1.0/ruff.toml +10 -0
- ifx_core-0.1.0/rust-toolchain.toml +4 -0
- ifx_core-0.1.0/scripts/build-wasm.sh +9 -0
- ifx_core-0.1.0/src/classifications.rs +163 -0
- ifx_core-0.1.0/src/connections.rs +221 -0
- ifx_core-0.1.0/src/documents.rs +154 -0
- ifx_core-0.1.0/src/extraction.rs +43 -0
- ifx_core-0.1.0/src/georeferencing.rs +186 -0
- ifx_core-0.1.0/src/groups.rs +138 -0
- ifx_core-0.1.0/src/lib.rs +103 -0
- ifx_core-0.1.0/src/materials.rs +300 -0
- ifx_core-0.1.0/src/model.rs +429 -0
- ifx_core-0.1.0/src/openings.rs +52 -0
- ifx_core-0.1.0/src/parser.rs +407 -0
- ifx_core-0.1.0/src/python_geometry.rs +404 -0
- ifx_core-0.1.0/src/relationships.rs +340 -0
- ifx_core-0.1.0/src/spatial.rs +266 -0
- ifx_core-0.1.0/src/units.rs +385 -0
- ifx_core-0.1.0/src/wasm.rs +16 -0
- ifx_core-0.1.0/tests/core.rs +513 -0
- ifx_core-0.1.0/tests/ifc_fixtures.py +787 -0
- ifx_core-0.1.0/tests/test_feature_matrix.py +844 -0
- ifx_core-0.1.0/tests/test_geometry.py +115 -0
- ifx_core-0.1.0/tests/test_ifcopenshell_parity.py +450 -0
- ifx_core-0.1.0/tests/test_python_api.py +39 -0
- ifx_core-0.1.0/tests/test_viktor_corpus.py +65 -0
- ifx_core-0.1.0/tests/viktor_corpus.json +27 -0
- ifx_core-0.1.0/uv.lock +602 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: IFC corpus
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
schedule:
|
|
6
|
+
- cron: "17 5 * * 1"
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
parity:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
timeout-minutes: 20
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v6
|
|
17
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
18
|
+
- uses: astral-sh/setup-uv@v10.0.1
|
|
19
|
+
with:
|
|
20
|
+
enable-cache: true
|
|
21
|
+
python-version: "3.14"
|
|
22
|
+
- run: uv sync --group dev --no-install-project
|
|
23
|
+
- run: uv run --no-sync maturin develop --uv
|
|
24
|
+
- run: .venv/bin/python -m pytest -m corpus -q
|
|
25
|
+
env:
|
|
26
|
+
IFX_RUN_REMOTE_CORPUS: "1"
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: Tests
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
push:
|
|
6
|
+
|
|
7
|
+
permissions:
|
|
8
|
+
contents: read
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
rust:
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v6
|
|
15
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
16
|
+
with:
|
|
17
|
+
components: clippy,rustfmt
|
|
18
|
+
- run: cargo fmt -p ifx-core --check
|
|
19
|
+
- run: cargo clippy -p ifx-core --all-targets --all-features --no-deps -- -D warnings
|
|
20
|
+
- run: cargo test -p ifx-core
|
|
21
|
+
|
|
22
|
+
python:
|
|
23
|
+
runs-on: ubuntu-latest
|
|
24
|
+
strategy:
|
|
25
|
+
fail-fast: false
|
|
26
|
+
matrix:
|
|
27
|
+
python-version: ["3.10", "3.14"]
|
|
28
|
+
steps:
|
|
29
|
+
- uses: actions/checkout@v6
|
|
30
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
31
|
+
- uses: astral-sh/setup-uv@v10.0.1
|
|
32
|
+
with:
|
|
33
|
+
enable-cache: true
|
|
34
|
+
python-version: ${{ matrix.python-version }}
|
|
35
|
+
- run: uv sync --group dev --no-install-project
|
|
36
|
+
- run: uv run --no-sync ruff check .
|
|
37
|
+
- run: uv run --no-sync ruff format --check .
|
|
38
|
+
- run: uv run --no-sync maturin develop --uv
|
|
39
|
+
- run: .venv/bin/python -m pytest -q
|
|
40
|
+
|
|
41
|
+
wasm:
|
|
42
|
+
runs-on: ubuntu-latest
|
|
43
|
+
steps:
|
|
44
|
+
- uses: actions/checkout@v6
|
|
45
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
46
|
+
- run: ./scripts/build-wasm.sh
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Source and license notices
|
|
2
|
+
|
|
3
|
+
IFX is inspired by IFC-Lite and includes adapted source from IFC-Lite, maintained by LTplus AG and its contributors. This is a source port, not only an API reference.
|
|
4
|
+
|
|
5
|
+
The STEP parser, geometry kernel, processing pipeline, entity model, and Python buffer binding come from [IFC-Lite](https://github.com/LTplus-AG/ifc-lite), tag `ifclite-geom-v4.4.0`, commit `9c17d7db44ff603f02ce7952d67ded05daabd120`.
|
|
6
|
+
|
|
7
|
+
These files remain under the Mozilla Public License 2.0. Original license headers are retained. `LICENSE` contains the full terms. `UPSTREAM_SOURCE.json` records each imported file and its original SHA-256 hash. IFX changes include local crate names, shared serialization, Python and WebAssembly entry points, and the IFX geometry document identifier. The entity crate includes only the data model used by IFX.
|
|
8
|
+
|
|
9
|
+
When you distribute a compiled native or WebAssembly build, provide this notice, the MPL terms, and the corresponding IFX source, including the modified imported files. The source distribution contains these files. The viewer has a separate license; it does not change the MPL terms for this core.
|