@bldrs-ai/conway 1.389.1221 → 1.394.1504
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.
- package/README.md +36 -22
- package/compiled/Dist/ConwayGeomWasmNode.js +0 -0
- package/compiled/Dist/ConwayGeomWasmNodeMT.js +0 -0
- package/compiled/Dist/ConwayGeomWasmWeb.js +0 -0
- package/compiled/Dist/ConwayGeomWasmWebMT.js +1 -1
- package/compiled/Dist/ConwayGeomWasmWebMT.wasm +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNode.js +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmNodeMT.js +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWeb.js +0 -0
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.js +1 -1
- package/compiled/dependencies/conway-geom/Dist/ConwayGeomWasmWebMT.wasm +0 -0
- package/compiled/dependencies/conway-geom/interface/conway_geometry.d.ts +19 -0
- package/compiled/dependencies/conway-geom/interface/conway_geometry.d.ts.map +1 -1
- package/compiled/dependencies/conway-geom/interface/conway_geometry.js +17 -0
- package/compiled/dependencies/conway-geom/interface/parameters/surface_object.d.ts +6 -0
- package/compiled/dependencies/conway-geom/interface/parameters/surface_object.d.ts.map +1 -1
- package/compiled/examples/browser-bundled.cjs +1569 -51
- package/compiled/examples/cli-bundled.cjs +2790 -436
- package/compiled/examples/cli-step-bundled.cjs +1904 -229
- package/compiled/examples/validator-bundled.cjs +1569 -51
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_curve.gen.d.ts +2 -2
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_curve.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_curve.gen.js +2 -2
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_surface.gen.d.ts +3 -3
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_surface.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/b_spline_surface.gen.js +3 -3
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/composite_curve.gen.d.ts +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/composite_curve.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/composite_curve.gen.js +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_2d.gen.d.ts +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_2d.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_2d.gen.js +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_3d.gen.d.ts +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_3d.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_curve_3d.gen.js +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_surface.gen.d.ts +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_surface.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/offset_surface.gen.js +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/presentation_style_assignment.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/presentation_style_assignment.gen.js +2 -2
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/schema_ap214.gen.js +11 -11
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/shape_aspect.gen.d.ts +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/shape_aspect.gen.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/AP214E3_2010_gen/shape_aspect.gen.js +1 -1
- package/compiled/src/AP214E3_2010/ap214_command_line_main.js +7 -3
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.d.ts +181 -7
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.js +906 -137
- package/compiled/src/AP214E3_2010/ap214_geometry_extraction.test.js +10 -2
- package/compiled/src/AP214E3_2010/ap214_logical_attribute.test.d.ts +2 -0
- package/compiled/src/AP214E3_2010/ap214_logical_attribute.test.d.ts.map +1 -0
- package/compiled/src/AP214E3_2010/ap214_logical_attribute.test.js +114 -0
- package/compiled/src/AP214E3_2010/ap214_model_geometry.d.ts +6 -0
- package/compiled/src/AP214E3_2010/ap214_model_geometry.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/ap214_model_geometry.js +9 -0
- package/compiled/src/AP214E3_2010/ap214_pcurve_basis_surfaces.test.d.ts +2 -0
- package/compiled/src/AP214E3_2010/ap214_pcurve_basis_surfaces.test.d.ts.map +1 -0
- package/compiled/src/AP214E3_2010/ap214_pcurve_basis_surfaces.test.js +233 -0
- package/compiled/src/AP214E3_2010/ap214_sphere_vertex_loop.test.d.ts +2 -0
- package/compiled/src/AP214E3_2010/ap214_sphere_vertex_loop.test.d.ts.map +1 -0
- package/compiled/src/AP214E3_2010/ap214_sphere_vertex_loop.test.js +147 -0
- package/compiled/src/AP214E3_2010/ap214_step_model.d.ts +2 -1
- package/compiled/src/AP214E3_2010/ap214_step_model.d.ts.map +1 -1
- package/compiled/src/AP214E3_2010/ap214_step_model.js +1 -1
- package/compiled/src/AP214E3_2010/ap214_typed_select_enum.test.d.ts +2 -0
- package/compiled/src/AP214E3_2010/ap214_typed_select_enum.test.d.ts.map +1 -0
- package/compiled/src/AP214E3_2010/ap214_typed_select_enum.test.js +65 -0
- package/compiled/src/AP214E3_2010/ap214_unit_scale.test.d.ts +2 -0
- package/compiled/src/AP214E3_2010/ap214_unit_scale.test.d.ts.map +1 -0
- package/compiled/src/AP214E3_2010/ap214_unit_scale.test.js +111 -0
- package/compiled/src/compat/web-ifc/ap214_streamed_open.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/ap214_streamed_open.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/ap214_streamed_open.test.js +190 -0
- package/compiled/src/compat/web-ifc/coordination_export_order.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/coordination_export_order.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/coordination_export_order.test.js +110 -0
- package/compiled/src/compat/web-ifc/coordination_f64.d.ts +165 -0
- package/compiled/src/compat/web-ifc/coordination_f64.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/coordination_f64.js +286 -0
- package/compiled/src/compat/web-ifc/coordination_f64.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/coordination_f64.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/coordination_f64.test.js +225 -0
- package/compiled/src/compat/web-ifc/ifc_api.d.ts +154 -0
- package/compiled/src/compat/web-ifc/ifc_api.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api.js +211 -3
- package/compiled/src/compat/web-ifc/ifc_api_deferred_open.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/ifc_api_deferred_open.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/ifc_api_deferred_open.test.js +288 -0
- package/compiled/src/compat/web-ifc/ifc_api_model_passthrough.d.ts +39 -0
- package/compiled/src/compat/web-ifc/ifc_api_model_passthrough.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_model_passthrough_factory.d.ts +30 -0
- package/compiled/src/compat/web-ifc/ifc_api_model_passthrough_factory.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_model_passthrough_factory.js +83 -0
- package/compiled/src/compat/web-ifc/ifc_api_preview_channel.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/ifc_api_preview_channel.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/ifc_api_preview_channel.test.js +383 -0
- package/compiled/src/compat/web-ifc/ifc_api_preview_coordination.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/ifc_api_preview_coordination.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/ifc_api_preview_coordination.test.js +124 -0
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.d.ts +132 -0
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ap214.js +488 -92
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.d.ts +268 -0
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.d.ts.map +1 -1
- package/compiled/src/compat/web-ifc/ifc_api_proxy_ifc.js +996 -149
- package/compiled/src/compat/web-ifc/ifc_api_streamed_open.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/ifc_api_streamed_open.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/ifc_api_streamed_open.test.js +129 -0
- package/compiled/src/compat/web-ifc/spatial_imposter.d.ts +134 -0
- package/compiled/src/compat/web-ifc/spatial_imposter.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/spatial_imposter.js +933 -0
- package/compiled/src/compat/web-ifc/spatial_imposter.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/spatial_imposter.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/spatial_imposter.test.js +467 -0
- package/compiled/src/compat/web-ifc/store_preview_channel.d.ts +187 -0
- package/compiled/src/compat/web-ifc/store_preview_channel.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/store_preview_channel.js +524 -0
- package/compiled/src/compat/web-ifc/store_preview_channel.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/store_preview_channel.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/store_preview_channel.test.js +234 -0
- package/compiled/src/compat/web-ifc/streamed_preview_channel.d.ts +306 -0
- package/compiled/src/compat/web-ifc/streamed_preview_channel.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/streamed_preview_channel.js +580 -0
- package/compiled/src/compat/web-ifc/web_wasm_directory.test.d.ts +2 -0
- package/compiled/src/compat/web-ifc/web_wasm_directory.test.d.ts.map +1 -0
- package/compiled/src/compat/web-ifc/web_wasm_directory.test.js +22 -0
- package/compiled/src/core/composed_model_skeleton.d.ts +63 -0
- package/compiled/src/core/composed_model_skeleton.d.ts.map +1 -0
- package/compiled/src/core/composed_model_skeleton.js +66 -0
- package/compiled/src/core/composed_model_skeleton.test.d.ts +2 -0
- package/compiled/src/core/composed_model_skeleton.test.d.ts.map +1 -0
- package/compiled/src/core/composed_model_skeleton.test.js +69 -0
- package/compiled/src/core/demand_geometry_queue.d.ts +147 -0
- package/compiled/src/core/demand_geometry_queue.d.ts.map +1 -0
- package/compiled/src/core/demand_geometry_queue.js +223 -0
- package/compiled/src/core/demand_geometry_queue.test.d.ts +2 -0
- package/compiled/src/core/demand_geometry_queue.test.d.ts.map +1 -0
- package/compiled/src/core/demand_geometry_queue.test.js +133 -0
- package/compiled/src/core/demand_residency_pump.d.ts +93 -0
- package/compiled/src/core/demand_residency_pump.d.ts.map +1 -0
- package/compiled/src/core/demand_residency_pump.js +120 -0
- package/compiled/src/core/demand_residency_pump.test.d.ts +2 -0
- package/compiled/src/core/demand_residency_pump.test.d.ts.map +1 -0
- package/compiled/src/core/demand_residency_pump.test.js +148 -0
- package/compiled/src/core/geometry_tile_bindings.d.ts +110 -0
- package/compiled/src/core/geometry_tile_bindings.d.ts.map +1 -0
- package/compiled/src/core/geometry_tile_bindings.js +76 -0
- package/compiled/src/core/geometry_tile_bindings.test.d.ts +2 -0
- package/compiled/src/core/geometry_tile_bindings.test.d.ts.map +1 -0
- package/compiled/src/core/geometry_tile_bindings.test.js +211 -0
- package/compiled/src/core/geometry_tile_pool.d.ts +99 -0
- package/compiled/src/core/geometry_tile_pool.d.ts.map +1 -0
- package/compiled/src/core/geometry_tile_pool.js +104 -0
- package/compiled/src/core/geometry_tile_pool.test.d.ts +2 -0
- package/compiled/src/core/geometry_tile_pool.test.d.ts.map +1 -0
- package/compiled/src/core/geometry_tile_pool.test.js +180 -0
- package/compiled/src/core/mem/chunked_pool.d.ts +116 -0
- package/compiled/src/core/mem/chunked_pool.d.ts.map +1 -0
- package/compiled/src/core/mem/chunked_pool.js +149 -0
- package/compiled/src/core/mem/chunked_pool.test.d.ts +2 -0
- package/compiled/src/core/mem/chunked_pool.test.d.ts.map +1 -0
- package/compiled/src/core/mem/chunked_pool.test.js +63 -0
- package/compiled/src/core/mem/shared_asset_pool.d.ts +82 -0
- package/compiled/src/core/mem/shared_asset_pool.d.ts.map +1 -0
- package/compiled/src/core/mem/shared_asset_pool.js +113 -0
- package/compiled/src/core/mem/shared_asset_pool.test.d.ts +2 -0
- package/compiled/src/core/mem/shared_asset_pool.test.d.ts.map +1 -0
- package/compiled/src/core/mem/shared_asset_pool.test.js +49 -0
- package/compiled/src/core/model_registry.d.ts +87 -0
- package/compiled/src/core/model_registry.d.ts.map +1 -0
- package/compiled/src/core/model_registry.js +101 -0
- package/compiled/src/core/model_registry.test.d.ts +2 -0
- package/compiled/src/core/model_registry.test.d.ts.map +1 -0
- package/compiled/src/core/model_registry.test.js +60 -0
- package/compiled/src/core/model_uri.d.ts +57 -0
- package/compiled/src/core/model_uri.d.ts.map +1 -0
- package/compiled/src/core/model_uri.js +101 -0
- package/compiled/src/core/model_uri.test.d.ts +2 -0
- package/compiled/src/core/model_uri.test.d.ts.map +1 -0
- package/compiled/src/core/model_uri.test.js +49 -0
- package/compiled/src/core/progress.d.ts +16 -2
- package/compiled/src/core/progress.d.ts.map +1 -1
- package/compiled/src/core/progress.js +31 -5
- package/compiled/src/core/progress.test.js +11 -2
- package/compiled/src/core/progress_log.d.ts +1 -0
- package/compiled/src/core/progress_log.d.ts.map +1 -1
- package/compiled/src/core/progress_log.js +7 -2
- package/compiled/src/core/progress_log.test.js +21 -0
- package/compiled/src/core/shared_byte_budget.d.ts +60 -0
- package/compiled/src/core/shared_byte_budget.d.ts.map +1 -0
- package/compiled/src/core/shared_byte_budget.js +85 -0
- package/compiled/src/core/shared_byte_budget.test.d.ts +2 -0
- package/compiled/src/core/shared_byte_budget.test.d.ts.map +1 -0
- package/compiled/src/core/shared_byte_budget.test.js +55 -0
- package/compiled/src/core/wasm_heap.d.ts +208 -0
- package/compiled/src/core/wasm_heap.d.ts.map +1 -0
- package/compiled/src/core/wasm_heap.js +417 -0
- package/compiled/src/core/wasm_heap.test.d.ts +2 -0
- package/compiled/src/core/wasm_heap.test.d.ts.map +1 -0
- package/compiled/src/core/wasm_heap.test.js +546 -0
- package/compiled/src/demand/index.d.ts +23 -0
- package/compiled/src/demand/index.d.ts.map +1 -0
- package/compiled/src/demand/index.js +22 -0
- package/compiled/src/ifc/ifc4_gen/IfcLogical.gen.d.ts +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcLogical.gen.d.ts.map +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcLogical.gen.js +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcPresentationStyleAssignment.gen.d.ts.map +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcPresentationStyleAssignment.gen.js +2 -2
- package/compiled/src/ifc/ifc4_gen/IfcRelInterferesElements.gen.d.ts +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcRelInterferesElements.gen.d.ts.map +1 -1
- package/compiled/src/ifc/ifc4_gen/IfcRelInterferesElements.gen.js +1 -1
- package/compiled/src/ifc/ifc4_gen/schema_ifc.gen.js +2 -2
- package/compiled/src/ifc/ifc_demand_extraction.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_demand_extraction.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_demand_extraction.test.js +251 -0
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts +367 -6
- package/compiled/src/ifc/ifc_geometry_extraction.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_geometry_extraction.js +1322 -389
- package/compiled/src/ifc/ifc_grid_placement.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_grid_placement.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_grid_placement.test.js +261 -0
- package/compiled/src/ifc/ifc_model_geometry.d.ts +12 -0
- package/compiled/src/ifc/ifc_model_geometry.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_model_geometry.js +15 -0
- package/compiled/src/ifc/ifc_regression_batch_main.js +210 -12
- package/compiled/src/ifc/ifc_spatial_skeleton.d.ts +145 -0
- package/compiled/src/ifc/ifc_spatial_skeleton.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_spatial_skeleton.js +266 -0
- package/compiled/src/ifc/ifc_spatial_skeleton.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_spatial_skeleton.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_spatial_skeleton.test.js +199 -0
- package/compiled/src/ifc/ifc_step_model.d.ts +6 -2
- package/compiled/src/ifc/ifc_step_model.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_step_model.js +6 -4
- package/compiled/src/ifc/ifc_step_parser.d.ts +58 -0
- package/compiled/src/ifc/ifc_step_parser.d.ts.map +1 -1
- package/compiled/src/ifc/ifc_step_parser.js +64 -0
- package/compiled/src/ifc/ifc_stream_model.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_stream_model.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_stream_model.test.js +70 -0
- package/compiled/src/ifc/ifc_stream_open.d.ts +131 -0
- package/compiled/src/ifc/ifc_stream_open.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_stream_open.js +116 -0
- package/compiled/src/ifc/ifc_stream_open.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_stream_open.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_stream_open.test.js +230 -0
- package/compiled/src/ifc/ifc_tile_extractor.d.ts +84 -0
- package/compiled/src/ifc/ifc_tile_extractor.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_tile_extractor.js +134 -0
- package/compiled/src/ifc/ifc_tile_extractor.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_tile_extractor.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_tile_extractor.test.js +118 -0
- package/compiled/src/ifc/ifc_typed_select_enum.test.d.ts +2 -0
- package/compiled/src/ifc/ifc_typed_select_enum.test.d.ts.map +1 -0
- package/compiled/src/ifc/ifc_typed_select_enum.test.js +60 -0
- package/compiled/src/index.d.ts +21 -1
- package/compiled/src/index.d.ts.map +1 -1
- package/compiled/src/index.js +28 -1
- package/compiled/src/logging/logger.d.ts +16 -2
- package/compiled/src/logging/logger.d.ts.map +1 -1
- package/compiled/src/logging/logger.js +34 -7
- package/compiled/src/logging/logger.test.js +30 -0
- package/compiled/src/mem/index.d.ts +17 -0
- package/compiled/src/mem/index.d.ts.map +1 -0
- package/compiled/src/mem/index.js +16 -0
- package/compiled/src/namespace_surface.test.d.ts +2 -0
- package/compiled/src/namespace_surface.test.d.ts.map +1 -0
- package/compiled/src/namespace_surface.test.js +43 -0
- package/compiled/src/parsing/parsing_buffer.d.ts +23 -0
- package/compiled/src/parsing/parsing_buffer.d.ts.map +1 -1
- package/compiled/src/parsing/parsing_buffer.js +31 -0
- package/compiled/src/scripts/model_report_displacement.test.d.ts +2 -0
- package/compiled/src/scripts/model_report_displacement.test.d.ts.map +1 -0
- package/compiled/src/scripts/model_report_displacement.test.js +104 -0
- package/compiled/src/scripts/render_glb_paths.test.d.ts +2 -0
- package/compiled/src/scripts/render_glb_paths.test.d.ts.map +1 -0
- package/compiled/src/scripts/render_glb_paths.test.js +115 -0
- package/compiled/src/step/indexing/step_type_indexer.d.ts +20 -0
- package/compiled/src/step/indexing/step_type_indexer.d.ts.map +1 -1
- package/compiled/src/step/indexing/step_type_indexer.js +67 -0
- package/compiled/src/step/parsing/byte_source.d.ts +153 -0
- package/compiled/src/step/parsing/byte_source.d.ts.map +1 -0
- package/compiled/src/step/parsing/byte_source.js +106 -0
- package/compiled/src/step/parsing/byte_source.test.d.ts +2 -0
- package/compiled/src/step/parsing/byte_source.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/byte_source.test.js +47 -0
- package/compiled/src/step/parsing/byte_source_node.d.ts +41 -0
- package/compiled/src/step/parsing/byte_source_node.d.ts.map +1 -0
- package/compiled/src/step/parsing/byte_source_node.js +54 -0
- package/compiled/src/step/parsing/columnar_index.d.ts +103 -0
- package/compiled/src/step/parsing/columnar_index.d.ts.map +1 -0
- package/compiled/src/step/parsing/columnar_index.js +224 -0
- package/compiled/src/step/parsing/columnar_index.test.d.ts +2 -0
- package/compiled/src/step/parsing/columnar_index.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/columnar_index.test.js +155 -0
- package/compiled/src/step/parsing/cross_reference_registry.d.ts +95 -0
- package/compiled/src/step/parsing/cross_reference_registry.d.ts.map +1 -0
- package/compiled/src/step/parsing/cross_reference_registry.js +91 -0
- package/compiled/src/step/parsing/cross_reference_registry.test.d.ts +2 -0
- package/compiled/src/step/parsing/cross_reference_registry.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/cross_reference_registry.test.js +66 -0
- package/compiled/src/step/parsing/decode_utf8.d.ts +15 -0
- package/compiled/src/step/parsing/decode_utf8.d.ts.map +1 -1
- package/compiled/src/step/parsing/decode_utf8.js +28 -0
- package/compiled/src/step/parsing/express_ref_scan.d.ts +20 -0
- package/compiled/src/step/parsing/express_ref_scan.d.ts.map +1 -0
- package/compiled/src/step/parsing/express_ref_scan.js +91 -0
- package/compiled/src/step/parsing/express_ref_scan.test.d.ts +2 -0
- package/compiled/src/step/parsing/express_ref_scan.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/express_ref_scan.test.js +28 -0
- package/compiled/src/step/parsing/index_sidecar.d.ts +81 -0
- package/compiled/src/step/parsing/index_sidecar.d.ts.map +1 -0
- package/compiled/src/step/parsing/index_sidecar.js +283 -0
- package/compiled/src/step/parsing/index_sidecar.test.d.ts +2 -0
- package/compiled/src/step/parsing/index_sidecar.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/index_sidecar.test.js +122 -0
- package/compiled/src/step/parsing/inf_recovery_index.test.d.ts +2 -0
- package/compiled/src/step/parsing/inf_recovery_index.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/inf_recovery_index.test.js +108 -0
- package/compiled/src/step/parsing/prefix_type_index.d.ts +124 -0
- package/compiled/src/step/parsing/prefix_type_index.d.ts.map +1 -0
- package/compiled/src/step/parsing/prefix_type_index.js +207 -0
- package/compiled/src/step/parsing/prefix_type_index.test.d.ts +2 -0
- package/compiled/src/step/parsing/prefix_type_index.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/prefix_type_index.test.js +298 -0
- package/compiled/src/step/parsing/range_byte_source.d.ts +69 -0
- package/compiled/src/step/parsing/range_byte_source.d.ts.map +1 -0
- package/compiled/src/step/parsing/range_byte_source.js +78 -0
- package/compiled/src/step/parsing/range_byte_source.test.d.ts +2 -0
- package/compiled/src/step/parsing/range_byte_source.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/range_byte_source.test.js +70 -0
- package/compiled/src/step/parsing/record_event.d.ts +23 -0
- package/compiled/src/step/parsing/record_event.d.ts.map +1 -0
- package/compiled/src/step/parsing/record_event.js +1 -0
- package/compiled/src/step/parsing/record_field_cursor.d.ts +94 -0
- package/compiled/src/step/parsing/record_field_cursor.d.ts.map +1 -0
- package/compiled/src/step/parsing/record_field_cursor.js +189 -0
- package/compiled/src/step/parsing/step_deserialization_functions.d.ts +29 -0
- package/compiled/src/step/parsing/step_deserialization_functions.d.ts.map +1 -1
- package/compiled/src/step/parsing/step_deserialization_functions.js +45 -0
- package/compiled/src/step/parsing/step_deserialization_functions.test.js +59 -1
- package/compiled/src/step/parsing/step_parser.d.ts +66 -1
- package/compiled/src/step/parsing/step_parser.d.ts.map +1 -1
- package/compiled/src/step/parsing/step_parser.js +164 -10
- package/compiled/src/step/parsing/step_string_parser.js +8 -8
- package/compiled/src/step/parsing/streaming_index_builder.d.ts +141 -0
- package/compiled/src/step/parsing/streaming_index_builder.d.ts.map +1 -0
- package/compiled/src/step/parsing/streaming_index_builder.js +280 -0
- package/compiled/src/step/parsing/streaming_index_builder.test.d.ts +2 -0
- package/compiled/src/step/parsing/streaming_index_builder.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/streaming_index_builder.test.js +107 -0
- package/compiled/src/step/parsing/streaming_index_builder_async.test.d.ts +2 -0
- package/compiled/src/step/parsing/streaming_index_builder_async.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/streaming_index_builder_async.test.js +109 -0
- package/compiled/src/step/parsing/streaming_record_dispatcher.d.ts +71 -0
- package/compiled/src/step/parsing/streaming_record_dispatcher.d.ts.map +1 -0
- package/compiled/src/step/parsing/streaming_record_dispatcher.js +88 -0
- package/compiled/src/step/parsing/streaming_record_dispatcher.test.d.ts +2 -0
- package/compiled/src/step/parsing/streaming_record_dispatcher.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/streaming_record_dispatcher.test.js +66 -0
- package/compiled/src/step/parsing/uint32_sink.d.ts +72 -0
- package/compiled/src/step/parsing/uint32_sink.d.ts.map +1 -0
- package/compiled/src/step/parsing/uint32_sink.js +180 -0
- package/compiled/src/step/parsing/uint32_sink.test.d.ts +2 -0
- package/compiled/src/step/parsing/uint32_sink.test.d.ts.map +1 -0
- package/compiled/src/step/parsing/uint32_sink.test.js +199 -0
- package/compiled/src/step/step_buffer_provider.d.ts +48 -3
- package/compiled/src/step/step_buffer_provider.d.ts.map +1 -1
- package/compiled/src/step/step_buffer_provider.js +60 -11
- package/compiled/src/step/step_buffer_provider.test.js +14 -0
- package/compiled/src/step/step_entity_base.d.ts +65 -3
- package/compiled/src/step/step_entity_base.d.ts.map +1 -1
- package/compiled/src/step/step_entity_base.js +135 -3
- package/compiled/src/step/step_model_base.d.ts +221 -8
- package/compiled/src/step/step_model_base.d.ts.map +1 -1
- package/compiled/src/step/step_model_base.js +542 -7
- package/compiled/src/stream/index.d.ts +34 -0
- package/compiled/src/stream/index.d.ts.map +1 -0
- package/compiled/src/stream/index.js +32 -0
- package/compiled/src/version/version.js +1 -1
- package/compiled/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ifc_api_streamed_open.test.d.ts","sourceRoot":"","sources":["../../../../src/compat/web-ifc/ifc_api_streamed_open.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/* eslint-disable no-magic-numbers */
|
|
2
|
+
// Integration tests for OpenModelStreamed (streamed columnar open).
|
|
3
|
+
//
|
|
4
|
+
// Parity requirement: a model opened through the streaming columnar
|
|
5
|
+
// indexer must be indistinguishable downstream from a classic
|
|
6
|
+
// OpenModel — same meshes (ids, placements, colors), same property
|
|
7
|
+
// reads, same spatial structure — and SpillModelSource must work
|
|
8
|
+
// afterwards exactly as it does on a classic open. The fallback
|
|
9
|
+
// contract (never worse than OpenModelAsync) is pinned via a factory
|
|
10
|
+
// spy: a successful streamed open must not have silently taken the
|
|
11
|
+
// classic path.
|
|
12
|
+
import * as fs from "fs";
|
|
13
|
+
import { beforeAll, describe, expect, jest, test } from "@jest/globals";
|
|
14
|
+
import { InMemoryStepByteStore } from "../../step/step_buffer_provider.js";
|
|
15
|
+
import { IfcAPI } from "./ifc_api.js";
|
|
16
|
+
import { IfcApiModelPassthroughFactory } from "./ifc_api_model_passthrough_factory.js";
|
|
17
|
+
const SETTINGS = { COORDINATE_TO_ORIGIN: true, USE_FAST_BOOLS: true };
|
|
18
|
+
let api;
|
|
19
|
+
let buffer;
|
|
20
|
+
/**
|
|
21
|
+
* Capture StreamAllMeshes output as plain comparable objects.
|
|
22
|
+
*
|
|
23
|
+
* @param modelID The model to stream.
|
|
24
|
+
* @return {object[]} One entry per mesh with its placed geometries.
|
|
25
|
+
*/
|
|
26
|
+
function captureMeshes(modelID) {
|
|
27
|
+
const captured = [];
|
|
28
|
+
api.StreamAllMeshes(modelID, (mesh) => {
|
|
29
|
+
const geometries = [];
|
|
30
|
+
for (let where = 0; where < mesh.geometries.size(); ++where) {
|
|
31
|
+
const placed = mesh.geometries.get(where);
|
|
32
|
+
geometries.push({
|
|
33
|
+
color: placed.color,
|
|
34
|
+
geometryExpressID: placed.geometryExpressID,
|
|
35
|
+
flatTransformation: [...placed.flatTransformation],
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
captured.push({ expressID: mesh.expressID, geometries });
|
|
39
|
+
});
|
|
40
|
+
return captured;
|
|
41
|
+
}
|
|
42
|
+
beforeAll(async () => {
|
|
43
|
+
api = new IfcAPI();
|
|
44
|
+
await api.Init();
|
|
45
|
+
buffer = new Uint8Array(fs.readFileSync("data/index.ifc"));
|
|
46
|
+
}, 120000);
|
|
47
|
+
describe("OpenModelStreamed", () => {
|
|
48
|
+
test("meshes and properties match a classic OpenModel exactly", async () => {
|
|
49
|
+
const fallback = jest.spyOn(IfcApiModelPassthroughFactory, "fromAsync");
|
|
50
|
+
const streamedID = await api.OpenModelStreamed(buffer, SETTINGS);
|
|
51
|
+
// A successful streamed open must be the streamed path, not a
|
|
52
|
+
// silent fallback (which would make the parity below vacuous).
|
|
53
|
+
expect(streamedID).toBeGreaterThanOrEqual(0);
|
|
54
|
+
expect(fallback).not.toHaveBeenCalled();
|
|
55
|
+
fallback.mockRestore();
|
|
56
|
+
const classicID = api.OpenModel(buffer, SETTINGS);
|
|
57
|
+
expect(classicID).toBeGreaterThanOrEqual(0);
|
|
58
|
+
// Mesh parity: ids, placements, colors.
|
|
59
|
+
expect(captureMeshes(streamedID)).toEqual(captureMeshes(classicID));
|
|
60
|
+
// Property parity across every record.
|
|
61
|
+
const classicPassthrough = api.getPassthrough(classicID);
|
|
62
|
+
const lineIDs = classicPassthrough.getAllLines();
|
|
63
|
+
expect(lineIDs.size()).toBeGreaterThan(10);
|
|
64
|
+
expect(api.getPassthrough(streamedID).getAllLines().size())
|
|
65
|
+
.toBe(lineIDs.size());
|
|
66
|
+
for (let where = 0; where < lineIDs.size(); ++where) {
|
|
67
|
+
const expressID = lineIDs.get(where);
|
|
68
|
+
expect(await api.properties.getItemProperties(streamedID, expressID))
|
|
69
|
+
.toEqual(await api.properties.getItemProperties(classicID, expressID));
|
|
70
|
+
}
|
|
71
|
+
// Spatial structure parity (names mode — Share's consumption).
|
|
72
|
+
expect(await api.properties.getSpatialStructure(streamedID, "names"))
|
|
73
|
+
.toEqual(await api.properties.getSpatialStructure(classicID, "names"));
|
|
74
|
+
api.CloseModel(streamedID);
|
|
75
|
+
api.CloseModel(classicID);
|
|
76
|
+
}, 240000);
|
|
77
|
+
test("SpillModelSource works after a streamed open", async () => {
|
|
78
|
+
const modelID = await api.OpenModelStreamed(buffer, SETTINGS);
|
|
79
|
+
const passthrough = api.getPassthrough(modelID);
|
|
80
|
+
// Snapshot a spread of records through the resident path.
|
|
81
|
+
const lineIDs = passthrough.getAllLines();
|
|
82
|
+
const sampled = new Map();
|
|
83
|
+
for (let where = 0; where < lineIDs.size(); where += 7) {
|
|
84
|
+
const expressID = lineIDs.get(where);
|
|
85
|
+
sampled.set(expressID, await api.properties.getItemProperties(modelID, expressID));
|
|
86
|
+
}
|
|
87
|
+
// Tiny windows force straddles + LRU eviction on the fixture.
|
|
88
|
+
const spilled = api.SpillModelSource(modelID, new InMemoryStepByteStore(buffer), 512, 3);
|
|
89
|
+
expect(spilled).toBe(true);
|
|
90
|
+
for (const [expressID, expected] of sampled) {
|
|
91
|
+
expect(await api.properties.getItemProperties(modelID, expressID))
|
|
92
|
+
.toEqual(expected);
|
|
93
|
+
}
|
|
94
|
+
api.CloseModel(modelID);
|
|
95
|
+
}, 240000);
|
|
96
|
+
test("unparseable input returns -1 (streamed and fallback both refuse)", async () => {
|
|
97
|
+
const garbage = new Uint8Array([0, 1, 2, 3, 42, 255, 254, 253]);
|
|
98
|
+
expect(await api.OpenModelStreamed(garbage, SETTINGS)).toBe(-1);
|
|
99
|
+
}, 120000);
|
|
100
|
+
test("OpenModelStream parses from a store without a resident buffer", async () => {
|
|
101
|
+
const store = new InMemoryStepByteStore(buffer);
|
|
102
|
+
const modelID = await api.OpenModelStream(store, SETTINGS);
|
|
103
|
+
expect(modelID).toBeGreaterThanOrEqual(0);
|
|
104
|
+
const passthrough = api.getPassthrough(modelID);
|
|
105
|
+
expect(passthrough.sourceIsExternal).toBe(true);
|
|
106
|
+
const streamedID = await api.OpenModelStreamed(buffer, SETTINGS);
|
|
107
|
+
expect(captureMeshes(modelID)).toEqual(captureMeshes(streamedID));
|
|
108
|
+
api.CloseModel(modelID);
|
|
109
|
+
api.CloseModel(streamedID);
|
|
110
|
+
}, 240000);
|
|
111
|
+
test("OpenModelStream + DEFER_GEOMETRY pumps via ExtractGeometryBatchAsync", async () => {
|
|
112
|
+
const store = new InMemoryStepByteStore(buffer);
|
|
113
|
+
const deferredID = await api.OpenModelStream(store, { ...SETTINGS, DEFER_GEOMETRY: true });
|
|
114
|
+
expect(deferredID).toBeGreaterThanOrEqual(0);
|
|
115
|
+
const captured = [];
|
|
116
|
+
for (;;) {
|
|
117
|
+
const { extracted, remaining } = await api.ExtractGeometryBatchAsync(deferredID, 8, (mesh) => {
|
|
118
|
+
captured.push({ expressID: mesh.expressID });
|
|
119
|
+
});
|
|
120
|
+
if (remaining === 0 && extracted === 0) {
|
|
121
|
+
break;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
expect(captured.length).toBeGreaterThan(0);
|
|
125
|
+
expect(() => api.ExtractGeometryBatch(deferredID, 8))
|
|
126
|
+
.toThrow(/ExtractGeometryBatchAsync/);
|
|
127
|
+
api.CloseModel(deferredID);
|
|
128
|
+
}, 240000);
|
|
129
|
+
});
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import type IfcStepModel from "../../ifc/ifc_step_model.js";
|
|
2
|
+
import type { PreviewMeshPayload } from "./streamed_preview_channel.js";
|
|
3
|
+
/** Black, almost transparent — Share honours `w` as opacity. */
|
|
4
|
+
export declare const SPATIAL_IMPOSTER_COLOR: {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
z: number;
|
|
8
|
+
w: number;
|
|
9
|
+
};
|
|
10
|
+
/** An axis-aligned box in raw IFC source-unit space (Z-up). */
|
|
11
|
+
export interface Aabb3 {
|
|
12
|
+
min: [
|
|
13
|
+
number,
|
|
14
|
+
number,
|
|
15
|
+
number
|
|
16
|
+
];
|
|
17
|
+
max: [
|
|
18
|
+
number,
|
|
19
|
+
number,
|
|
20
|
+
number
|
|
21
|
+
];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Column-major 4x4 mapping a centred unit cube onto `aabb`, entirely in
|
|
25
|
+
* RAW IFC space: `translate(centre) * scale(size)`.
|
|
26
|
+
*
|
|
27
|
+
* Deliberately carries NO Z-up -> Y-up flip and NO unit scaling: both of
|
|
28
|
+
* those live in the coordination matrix this is composed under (see
|
|
29
|
+
* {@link emitSpatialStructureImposters}), exactly as they do for real
|
|
30
|
+
* meshes. Baking the flip here — which the parse-time point-list
|
|
31
|
+
* imposter this replaced used to do — put the plates in a frame the
|
|
32
|
+
* durable geometry never shares (conway#515).
|
|
33
|
+
*
|
|
34
|
+
* @param aabb The IFC-space bounds.
|
|
35
|
+
* @return {number[]} 16-element matrix.
|
|
36
|
+
*/
|
|
37
|
+
export declare function aabbBoxMatrix(aabb: Aabb3): number[];
|
|
38
|
+
/**
|
|
39
|
+
* Deepest spatial depth we still emit (never Spaces). Halfway down the
|
|
40
|
+
* tree, plus every BuildingStorey — floor plates are the useful cut.
|
|
41
|
+
*
|
|
42
|
+
* @param maxDepth Deepest spatial node (spaces included).
|
|
43
|
+
* @return {number} Inclusive depth cap for non-storey nodes.
|
|
44
|
+
*/
|
|
45
|
+
export declare function spatialImposterDepthCap(maxDepth: number): number;
|
|
46
|
+
/**
|
|
47
|
+
* Whether this spatial node should become a box.
|
|
48
|
+
*
|
|
49
|
+
* @param depth Node depth from the project root.
|
|
50
|
+
* @param maxDepth Tree depth.
|
|
51
|
+
* @param typeID Schema type.
|
|
52
|
+
* @return {boolean} True to emit.
|
|
53
|
+
*/
|
|
54
|
+
export declare function shouldEmitSpatialNode(depth: number, maxDepth: number, typeID: number): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* True when two AABBs are within `rel` of each other on every axis
|
|
57
|
+
* (used to drop Project/Site wrappers that match the Building).
|
|
58
|
+
*
|
|
59
|
+
* @param a First box.
|
|
60
|
+
* @param b Second box.
|
|
61
|
+
* @param rel Relative slack.
|
|
62
|
+
* @param minEdge Span floor, in the same source units as `a` and `b`.
|
|
63
|
+
* The walk always passes {@link minEdgeSourceUnits}' converted value;
|
|
64
|
+
* the default is the unconverted MIN_EDGE_M, which is only correct on a
|
|
65
|
+
* metre model — a caller that omits it on a millimetre one gets a
|
|
66
|
+
* one-millimetre floor, the very bug MIN_EDGE_M removed.
|
|
67
|
+
* @return {boolean} True if they match.
|
|
68
|
+
*/
|
|
69
|
+
export declare function aabbMostlyEqual(a: Aabb3, b: Aabb3, rel?: number, minEdge?: number): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Union of boxes; ignores undefined.
|
|
72
|
+
*
|
|
73
|
+
* @param boxes Boxes to join.
|
|
74
|
+
* @return {Aabb3 | undefined} The union.
|
|
75
|
+
*/
|
|
76
|
+
export declare function unionAabb(...boxes: (Aabb3 | undefined)[]): Aabb3 | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Walk the IFC spatial tree and emit AABB imposters for Share.
|
|
79
|
+
*
|
|
80
|
+
* Project → Site → Building → Storey → Space. Spaces are never
|
|
81
|
+
* drawn (too dense). Everything else is drawn down to half the tree
|
|
82
|
+
* depth, and storeys are always drawn when present. Nested wrappers
|
|
83
|
+
* whose box matches their only child are collapsed.
|
|
84
|
+
*
|
|
85
|
+
* **Frame.** Every box is measured in raw IFC source units and Z-up,
|
|
86
|
+
* because that is what the placement chains this walk reads carry. The
|
|
87
|
+
* emitted `flatTransformation` is `C * M_box`, where `M_box` is that raw
|
|
88
|
+
* box ({@link aabbBoxMatrix}) and `C` is the durable coordination frame —
|
|
89
|
+
* metres, Y-up, recentred per the quantized model-zero policy. So the
|
|
90
|
+
* plates land exactly where the real meshes do, which they did not
|
|
91
|
+
* before (raw units, a locally baked axis flip, no coordination: on a
|
|
92
|
+
* millimetre model the plates came out 1000x too big, and a
|
|
93
|
+
* georeferenced one put them a site-offset away — conway#515).
|
|
94
|
+
* `payload.aabb` stays in raw IFC space as the consumer's reference.
|
|
95
|
+
*
|
|
96
|
+
* **Call it after `prepareDemandExtraction()`, never before.** The frame
|
|
97
|
+
* needs `getLinearScalingFactor()`, which reads 1 until the extraction
|
|
98
|
+
* maps — and with them the unit assignment — are prepared, and
|
|
99
|
+
* `extractLinearScalingFactor()` is `*=`-accumulating, so it cannot be
|
|
100
|
+
* pulled forward on its own without squaring the unit prefix. The cost
|
|
101
|
+
* is latency on the model's first visible feedback: on the resident path
|
|
102
|
+
* the plates now follow the prep instead of preceding it, and on the
|
|
103
|
+
* store-backed path they also follow an awaited
|
|
104
|
+
* `ensureResidentForDemandPrep()`, so on a large model they land
|
|
105
|
+
* measurably later than they used to. Accepted deliberately — a plate at
|
|
106
|
+
* 1000x the model's scale is worse than a plate slightly late.
|
|
107
|
+
*
|
|
108
|
+
* **The latched frame is adopted, not guaranteed.** The deferred durable
|
|
109
|
+
* pump re-derives its own when the composed placement overruns
|
|
110
|
+
* LARGE_COORDINATE_BUDGET_M (`validatePreviewFrame`, Share#1634). Plates
|
|
111
|
+
* emitted here are not re-emitted, so on that path they keep the
|
|
112
|
+
* rejected frame and sit a site-offset from the durable meshes — the
|
|
113
|
+
* conway#515 symptom again, now confined to a case the preview meshes
|
|
114
|
+
* beside them share, and to scenery Share tears down at load end.
|
|
115
|
+
* Re-emitting on rejection is the fix if it ever shows up live.
|
|
116
|
+
*
|
|
117
|
+
* @param model Parsed IFC model (windowed or resident).
|
|
118
|
+
* @param onMesh Preview consumer.
|
|
119
|
+
* @param coordinationMatrix The frame already latched by the preview
|
|
120
|
+
* channel (the one the durable pump adopts). When it is `undefined` — no
|
|
121
|
+
* preview instance was ever captured — the walk derives the same frame
|
|
122
|
+
* from an identity placement anchored on the root spatial box's centre.
|
|
123
|
+
* That is best-effort by construction: below LARGE_COORDINATE_BUDGET_M
|
|
124
|
+
* the policy recentres nothing, so it agrees with the durable derivation
|
|
125
|
+
* exactly; above it, both snap to COORDINATION_SNAP_M and agree as long
|
|
126
|
+
* as the spatial root and the first geometry share a grid cell.
|
|
127
|
+
* @param linearScalingFactor Source units -> metres, from
|
|
128
|
+
* `IfcGeometryExtraction.getLinearScalingFactor()`. Only consulted for
|
|
129
|
+
* the fallback derivation and the minimum-edge padding; when
|
|
130
|
+
* `coordinationMatrix` is supplied its own scaling is already baked in.
|
|
131
|
+
* @return {Promise<number>} Boxes emitted.
|
|
132
|
+
*/
|
|
133
|
+
export declare function emitSpatialStructureImposters(model: IfcStepModel, onMesh: (mesh: PreviewMeshPayload) => void, coordinationMatrix?: ArrayLike<number>, linearScalingFactor?: number): Promise<number>;
|
|
134
|
+
//# sourceMappingURL=spatial_imposter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spatial_imposter.d.ts","sourceRoot":"","sources":["../../../../src/compat/web-ifc/spatial_imposter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA;AAgBxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAKpE,gEAAgE;AAChE,eAAO,MAAM,sBAAsB;;;;;CAA+B,CAAA;AAqBlE,+DAA+D;AAC/D,MAAM,WAAW,KAAK;IACpB,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AA0BD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAE,IAAI,EAAE,KAAK,GAAI,MAAM,EAAE,CAerD;AA6DD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAE,QAAQ,EAAE,MAAM,GAAI,MAAM,CAGlE;AAGD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACjC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAI,OAAO,CAW5B;AAGD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAC3B,CAAC,EAAE,KAAK,EACR,CAAC,EAAE,KAAK,EACR,GAAG,GAAE,MAAqB,EAC1B,OAAO,GAAE,MAAmB,GAAI,OAAO,CAiB1C;AAGD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAE,GAAG,KAAK,EAAE,CAAE,KAAK,GAAG,SAAS,CAAE,EAAE,GAAI,KAAK,GAAG,SAAS,CA4BhF;AAoWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAsB,6BAA6B,CAC/C,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,CAAE,IAAI,EAAE,kBAAkB,KAAM,IAAI,EAC5C,kBAAkB,CAAC,EAAE,SAAS,CAAE,MAAM,CAAE,EACxC,mBAAmB,GAAE,MAAU,GAAI,OAAO,CAAE,MAAM,CAAE,CAkevD"}
|