@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
|
@@ -8,6 +8,7 @@ import { IfcApiModelPassthrough } from "./ifc_api_model_passthrough.js";
|
|
|
8
8
|
import { NodeValueHandle } from "./properties_passthrough.js";
|
|
9
9
|
import * as glmatrix from "gl-matrix";
|
|
10
10
|
import { IfcProperties } from "./ifc_properties.js";
|
|
11
|
+
import { ProgressTracker } from "../../core/progress.js";
|
|
11
12
|
import { StepHeader } from "../../step/parsing/step_parser.js";
|
|
12
13
|
import { IfcGeometryExtraction } from "../../ifc/ifc_geometry_extraction.js";
|
|
13
14
|
/**
|
|
@@ -18,12 +19,19 @@ import { IfcGeometryExtraction } from "../../ifc/ifc_geometry_extraction.js";
|
|
|
18
19
|
*/
|
|
19
20
|
interface IfcProxyLoadState {
|
|
20
21
|
conwaywasm: ConwayGeometry;
|
|
22
|
+
/** True when opened without extraction (createDeferred). */
|
|
23
|
+
deferred?: boolean;
|
|
24
|
+
/** Coordination matrix the parse-time preview channel derived (slice
|
|
25
|
+
* A2) — adopted by the durable capture so both share one frame. */
|
|
26
|
+
previewCoordinationMatrix?: number[];
|
|
21
27
|
allTimeStart: number;
|
|
22
28
|
stepHeader: StepHeader;
|
|
23
29
|
model: IfcStepModel;
|
|
24
30
|
scene: IfcSceneBuilder;
|
|
25
31
|
conwayGeometry: IfcGeometryExtraction;
|
|
26
32
|
geometryTimeInMs: number;
|
|
33
|
+
/** Parse tracker, kept so the deferred batch pump can emit Geometry. */
|
|
34
|
+
tracker?: ProgressTracker;
|
|
27
35
|
}
|
|
28
36
|
/**
|
|
29
37
|
* The proxy for IFC from the shim.
|
|
@@ -49,6 +57,67 @@ export declare class IfcApiProxyIfc implements IfcApiModelPassthrough {
|
|
|
49
57
|
glmatrix.mat4
|
|
50
58
|
];
|
|
51
59
|
conwaywasm: ConwayGeometry;
|
|
60
|
+
/** The extraction behind this model (drives the deferred batch pump). */
|
|
61
|
+
private conwayGeometry_;
|
|
62
|
+
/** Was this model opened without extraction (DEFER_GEOMETRY)? */
|
|
63
|
+
private deferredMode_;
|
|
64
|
+
/** Parse/load tracker — deferred opens resume it for the Geometry phase. */
|
|
65
|
+
private progressTracker_?;
|
|
66
|
+
/** True once beginPhase('geometry') has fired for this deferred pump. */
|
|
67
|
+
private geometryPhaseStarted_;
|
|
68
|
+
/** Deferred-mode product worklist (file order), lazily enumerated. */
|
|
69
|
+
private demandProducts_?;
|
|
70
|
+
/**
|
|
71
|
+
* Deferred capture watermarks: entity localID -> how many of its
|
|
72
|
+
* placed instances (in scene-walk order) have been captured. Shared
|
|
73
|
+
* (mapped) geometry attributes instances to an entity from OTHER
|
|
74
|
+
* products' extractions, so an entity's instance set grows across
|
|
75
|
+
* batches - the watermark makes each instance captured exactly once,
|
|
76
|
+
* in the same order the classic single walk would process it.
|
|
77
|
+
*/
|
|
78
|
+
private readonly demandCapturedCounts_;
|
|
79
|
+
/** Cursor into demandProducts_ — products before it are extracted. */
|
|
80
|
+
private demandCursor_;
|
|
81
|
+
/** Wall-clock split of the store-backed batch pump (profile script). */
|
|
82
|
+
private readonly extractProfile_;
|
|
83
|
+
/**
|
|
84
|
+
* Deferred-mode rel-aggregates worklist, pumped batch-by-batch AFTER
|
|
85
|
+
* the product cursor completes. Classic's whole-model walk follows
|
|
86
|
+
* its product loop with a second pass extracting every
|
|
87
|
+
* IfcRelAggregates related product using the relating object's
|
|
88
|
+
* rel-voids. Aggregate-target products are EXCLUDED from
|
|
89
|
+
* demandProducts_ (see aggregateTargetLocalIDs) so this pass is their
|
|
90
|
+
* first and only extraction — content is final when their instances
|
|
91
|
+
* are captured, and no placement is ever appended over an
|
|
92
|
+
* already-delivered one (the ILNA missing-facades / 388_4
|
|
93
|
+
* duplicate-placement class).
|
|
94
|
+
*/
|
|
95
|
+
private demandAggregates_?;
|
|
96
|
+
/** Cursor into demandAggregates_ — items before it are extracted. */
|
|
97
|
+
private demandAggregatesCursor_;
|
|
98
|
+
/**
|
|
99
|
+
* Coordination matrix the deferred capture derived (or adopted from
|
|
100
|
+
* the parse-time preview channel). Kept OFF the model tuple's slot 5
|
|
101
|
+
* deliberately: classic streamAllMeshes derives its coordination into
|
|
102
|
+
* a local and getCoordinationMatrix therefore returns identity —
|
|
103
|
+
* consumers (Share) stamp that result onto the assembled model, so a
|
|
104
|
+
* deferred open must present the same identity or coordination would
|
|
105
|
+
* apply twice. This field is only the pump's internal multi-call
|
|
106
|
+
* memory.
|
|
107
|
+
*/
|
|
108
|
+
private demandCoordination_?;
|
|
109
|
+
/**
|
|
110
|
+
* True while an adopted preview-channel coordination frame is still
|
|
111
|
+
* unvalidated against the durable walk's first geometry. A model can
|
|
112
|
+
* carry geometry in more than one frame (ISSUE_129: a local-scale
|
|
113
|
+
* annotation previews first while the body is georeferenced at
|
|
114
|
+
* ~8.3e6 m), so a frame anchored on the wrong unit leaves the body
|
|
115
|
+
* raw — the Share#1634 browser-vs-node divergence, which was really
|
|
116
|
+
* preview-vs-no-preview. streamNewMeshes_ clears this on its first
|
|
117
|
+
* geometry, re-deriving from it when the adopted frame fails the
|
|
118
|
+
* large-coordinate budget.
|
|
119
|
+
*/
|
|
120
|
+
private demandCoordinationFromPreview_;
|
|
52
121
|
_isCoordinated: boolean;
|
|
53
122
|
linearScalingFactor: number;
|
|
54
123
|
identity: number[];
|
|
@@ -75,6 +144,53 @@ export declare class IfcApiProxyIfc implements IfcApiModelPassthrough {
|
|
|
75
144
|
* @return {Promise<IfcApiProxyIfc>} The constructed proxy.
|
|
76
145
|
*/
|
|
77
146
|
static createAsync(modelID: number, data: Uint8Array, wasmModule: any, settings?: Loadersettings): Promise<IfcApiProxyIfc>;
|
|
147
|
+
/**
|
|
148
|
+
* Streamed-open construction (conway extension, used by
|
|
149
|
+
* OpenModelStreamed): the parse runs through the streaming columnar
|
|
150
|
+
* indexer, so the model's index is columnar from birth and the
|
|
151
|
+
* per-record object phase — the dominant JS-heap cost of the classic
|
|
152
|
+
* parse on large models — never exists. Geometry extraction is the
|
|
153
|
+
* same cooperative path OpenModelAsync uses, and everything
|
|
154
|
+
* downstream (meshes, properties, SpillModelSource) behaves
|
|
155
|
+
* identically to a classic open.
|
|
156
|
+
*
|
|
157
|
+
* @param modelID The model ID being opened.
|
|
158
|
+
* @param data The IFC data buffer.
|
|
159
|
+
* @param wasmModule The wasm module.
|
|
160
|
+
* @param settings Loader settings (ON_PROGRESS is honored).
|
|
161
|
+
* @return {Promise<IfcApiProxyIfc>} The constructed proxy.
|
|
162
|
+
*/
|
|
163
|
+
static createStreamed(modelID: number, data: Uint8Array, wasmModule: any, settings?: Loadersettings): Promise<IfcApiProxyIfc>;
|
|
164
|
+
/**
|
|
165
|
+
* Deferred-geometry streamed open (conway extension; slice A of
|
|
166
|
+
* Share's demand/tiled rendering — design doc
|
|
167
|
+
* demand-tiled-rendering.md): identical streamed columnar parse, but
|
|
168
|
+
* NO geometry extraction happens at open. The proxy registers with an
|
|
169
|
+
* empty scene wired to the demand-extraction seam; callers then pump
|
|
170
|
+
* {@link extractGeometryBatch} to extract products in file-order
|
|
171
|
+
* batches, receiving each batch's meshes incrementally — the scene,
|
|
172
|
+
* properties, and spatial structure work from the first batch.
|
|
173
|
+
*
|
|
174
|
+
* @param modelID The model ID being opened.
|
|
175
|
+
* @param data The IFC data buffer.
|
|
176
|
+
* @param wasmModule The wasm module.
|
|
177
|
+
* @param settings Loader settings (ON_PROGRESS is honored for parse).
|
|
178
|
+
* @return {Promise<IfcApiProxyIfc>} The constructed proxy.
|
|
179
|
+
*/
|
|
180
|
+
static createDeferred(modelID: number, data: Uint8Array, wasmModule: any, settings?: Loadersettings): Promise<IfcApiProxyIfc>;
|
|
181
|
+
/**
|
|
182
|
+
* M1b store-backed open: parse through a moving window over `store`
|
|
183
|
+
* and keep the model windowed from birth — the source is never held
|
|
184
|
+
* as one `ArrayBuffer`. Geometry extract pages product closures
|
|
185
|
+
* through {@link extractGeometryBatchAsync}.
|
|
186
|
+
*
|
|
187
|
+
* @param modelID The model ID being opened.
|
|
188
|
+
* @param store External store holding the source bytes.
|
|
189
|
+
* @param wasmModule The wasm module.
|
|
190
|
+
* @param settings Loader settings (ON_PROGRESS is honored).
|
|
191
|
+
* @return {Promise<IfcApiProxyIfc>} The constructed proxy.
|
|
192
|
+
*/
|
|
193
|
+
static createFromStore(modelID: number, store: StepExternalByteStore, wasmModule: any, settings?: Loadersettings): Promise<IfcApiProxyIfc>;
|
|
78
194
|
/**
|
|
79
195
|
* Log + record the header parse result on the model statistics.
|
|
80
196
|
*
|
|
@@ -112,6 +228,48 @@ export declare class IfcApiProxyIfc implements IfcApiModelPassthrough {
|
|
|
112
228
|
* @return {Promise<IfcProxyLoadState>} Everything the constructor tail needs.
|
|
113
229
|
*/
|
|
114
230
|
private static parseAndExtractAsync;
|
|
231
|
+
/**
|
|
232
|
+
* Streamed twin of parseAndExtractAsync: the data parse runs through
|
|
233
|
+
* the streaming columnar indexer over a moving window instead of the
|
|
234
|
+
* per-record object parse, so the index is columnar from birth (no
|
|
235
|
+
* object phase). The source buffer stays resident behind the model —
|
|
236
|
+
* extraction and synchronous property reads behave exactly like a
|
|
237
|
+
* classic open, and `spillSourceToExternalStore` works afterwards as
|
|
238
|
+
* usual.
|
|
239
|
+
*
|
|
240
|
+
* The columnar build is cooperative (periodic event-loop yields, like
|
|
241
|
+
* the classic parseDataBlockAsync) with absolute byte-cursor progress
|
|
242
|
+
* ticks, and extraction is cooperative too — the streamed open keeps
|
|
243
|
+
* the repaint/no-stall property of OpenModelAsync (#301 §2). Throws
|
|
244
|
+
* when the streamed parse is anything but COMPLETE — the caller
|
|
245
|
+
* (OpenModelStreamed) falls back to the classic path, which tolerates
|
|
246
|
+
* recoverable parses.
|
|
247
|
+
*
|
|
248
|
+
* @param modelID The model ID being opened.
|
|
249
|
+
* @param data The IFC data buffer.
|
|
250
|
+
* @param conwaywasm The conway geometry wasm wrapper.
|
|
251
|
+
* @param settings Loader settings (ON_PROGRESS is honored).
|
|
252
|
+
* @return {Promise<IfcProxyLoadState>} Everything the constructor tail needs.
|
|
253
|
+
*/
|
|
254
|
+
private static parseColumnarAndExtractAsync;
|
|
255
|
+
/**
|
|
256
|
+
* Windowed-from-birth twin of parseColumnarAndExtractAsync: the
|
|
257
|
+
* source stays in `store`, parse windows are filled through it, and
|
|
258
|
+
* the model never holds a resident copy. During parse a bounded
|
|
259
|
+
* prefix extract pages product closures from the store and emits
|
|
260
|
+
* placed meshes (same COORDINATE_TO_ORIGIN frame as durable). After
|
|
261
|
+
* the index exists, spatial-structure AABB plates go out too.
|
|
262
|
+
* Deferred opens page prep closures before prepareDemandExtraction;
|
|
263
|
+
* non-deferred opens drain the demand pump with per-product residency.
|
|
264
|
+
*
|
|
265
|
+
* @param modelID The model ID being opened.
|
|
266
|
+
* @param store External store holding the source bytes.
|
|
267
|
+
* @param conwaywasm The conway geometry wasm wrapper.
|
|
268
|
+
* @param settings Loader settings (ON_PROGRESS is honored).
|
|
269
|
+
* @param deferGeometry Skip extraction (Share demand pump).
|
|
270
|
+
* @return {Promise<IfcProxyLoadState>} Everything the constructor tail needs.
|
|
271
|
+
*/
|
|
272
|
+
private static parseColumnarFromStore;
|
|
115
273
|
/**
|
|
116
274
|
*
|
|
117
275
|
* @param input - FILE_HEADER from step header
|
|
@@ -180,6 +338,19 @@ export declare class IfcApiProxyIfc implements IfcApiModelPassthrough {
|
|
|
180
338
|
* @return {boolean} True after spillSourceToExternalStore.
|
|
181
339
|
*/
|
|
182
340
|
get sourceIsExternal(): boolean;
|
|
341
|
+
/**
|
|
342
|
+
* Store-backed pump split (prefetch / extract / release).
|
|
343
|
+
*
|
|
344
|
+
* @return {object} Cumulative milliseconds and pin telemetry.
|
|
345
|
+
*/
|
|
346
|
+
get extractProfile(): {
|
|
347
|
+
prefetchMs: number;
|
|
348
|
+
extractMs: number;
|
|
349
|
+
releaseMs: number;
|
|
350
|
+
batches: number;
|
|
351
|
+
lastPins: number;
|
|
352
|
+
pinMax: number;
|
|
353
|
+
};
|
|
183
354
|
/**
|
|
184
355
|
* Release the resident source buffer and serve subsequent record
|
|
185
356
|
* reads through fixed-size windows paged in from the given external
|
|
@@ -274,6 +445,14 @@ export declare class IfcApiProxyIfc implements IfcApiModelPassthrough {
|
|
|
274
445
|
* @return {Array<number>}
|
|
275
446
|
*/
|
|
276
447
|
getCoordinationMatrix(): Array<number>;
|
|
448
|
+
/**
|
|
449
|
+
* The coordination frame actually applied to emitted placements —
|
|
450
|
+
* the derived (or validated adopted) recenter, identity when no
|
|
451
|
+
* recenter ran. See ifc_api_model_passthrough.getAppliedCoordination.
|
|
452
|
+
*
|
|
453
|
+
* @return {Array<number>} column-major mat4
|
|
454
|
+
*/
|
|
455
|
+
getAppliedCoordination(): Array<number>;
|
|
277
456
|
/**
|
|
278
457
|
*
|
|
279
458
|
* @param ptr
|
|
@@ -302,6 +481,95 @@ export declare class IfcApiProxyIfc implements IfcApiModelPassthrough {
|
|
|
302
481
|
* @param modelID Model handle retrieved by OpenModel, model must not be closed
|
|
303
482
|
*/
|
|
304
483
|
closeModel(): void;
|
|
484
|
+
/**
|
|
485
|
+
* Free this model's native geometry (conway extension): every
|
|
486
|
+
* canonical mesh the extraction produced plus the GetGeometry map.
|
|
487
|
+
* Call AFTER the consumer has built its own scene from the meshes —
|
|
488
|
+
* subsequent GetGeometry calls return an empty dummy. On a deferred
|
|
489
|
+
* model whose pump has not drained, this is a no-op (releasing would
|
|
490
|
+
* break the remaining extraction).
|
|
491
|
+
*
|
|
492
|
+
* The wasm heap never shrinks, but freed pages are reused: repeated
|
|
493
|
+
* loads in one tab plateau instead of stacking whole model scenes
|
|
494
|
+
* (the multi-load crash).
|
|
495
|
+
*
|
|
496
|
+
* @return {boolean} True when geometry was released.
|
|
497
|
+
*/
|
|
498
|
+
releaseGeometry(): boolean;
|
|
499
|
+
/** Native geometry freed (releaseGeometry) — scene walks would touch
|
|
500
|
+
* freed objects, so mesh serving degrades to the accumulated maps. */
|
|
501
|
+
private released_;
|
|
502
|
+
/**
|
|
503
|
+
* Deferred-mode batch pump (conway extension; Share demand/tiled
|
|
504
|
+
* rendering slice A): extract the next `batchSize` products (file
|
|
505
|
+
* order) through the per-product demand seam and emit THIS BATCH's
|
|
506
|
+
* meshes through `meshCallback` — the incremental twin of
|
|
507
|
+
* streamAllMeshes. Placed-geometry math (coordination, scaling,
|
|
508
|
+
* centering) is identical; the shared meshMap is updated so
|
|
509
|
+
* getFlatMesh keeps working. Call repeatedly until `remaining` is 0.
|
|
510
|
+
*
|
|
511
|
+
* Requires a model opened with deferred geometry
|
|
512
|
+
* (`OpenModelStreamed(data, {..., DEFER_GEOMETRY: true})`); on a
|
|
513
|
+
* fully-extracted model this is a no-op returning remaining 0.
|
|
514
|
+
*
|
|
515
|
+
* @param batchSize Max products to extract this call (min 1).
|
|
516
|
+
* @param meshCallback Receives each newly-extracted product's mesh.
|
|
517
|
+
* @return {object} `{extracted, remaining}` — products processed this
|
|
518
|
+
* call and products still pending.
|
|
519
|
+
*/
|
|
520
|
+
extractGeometryBatch(batchSize: number, meshCallback?: (mesh: FlatMesh) => void): {
|
|
521
|
+
extracted: number;
|
|
522
|
+
remaining: number;
|
|
523
|
+
};
|
|
524
|
+
/**
|
|
525
|
+
* Async twin of {@link extractGeometryBatch}: pages each product's
|
|
526
|
+
* `#ref` closure before extracting it, so a model opened through
|
|
527
|
+
* {@link IfcApiProxyIfc.createFromStore} (windowed from birth) can
|
|
528
|
+
* be pumped. Safe on a resident source (prefetch is a no-op).
|
|
529
|
+
*
|
|
530
|
+
* @param batchSize Max products to extract this call (min 1).
|
|
531
|
+
* @param meshCallback Receives each newly-extracted product's mesh.
|
|
532
|
+
* @return {Promise<object>} `{extracted, remaining}`.
|
|
533
|
+
*/
|
|
534
|
+
extractGeometryBatchAsync(batchSize: number, meshCallback?: (mesh: FlatMesh) => void): Promise<{
|
|
535
|
+
extracted: number;
|
|
536
|
+
remaining: number;
|
|
537
|
+
}>;
|
|
538
|
+
/**
|
|
539
|
+
* Enumerate the deferred worklists once (file-order products, then
|
|
540
|
+
* rel-aggregates). Shared by the sync and async pumps.
|
|
541
|
+
*/
|
|
542
|
+
private ensureDemandWorklists_;
|
|
543
|
+
/**
|
|
544
|
+
* Synchronous extract of the next batch. Caller must have paged
|
|
545
|
+
* ranges if the source is windowed.
|
|
546
|
+
*
|
|
547
|
+
* @param batchSize Max products this call.
|
|
548
|
+
* @param meshCallback Optional mesh consumer.
|
|
549
|
+
* @return {object} `{extracted, remaining}`.
|
|
550
|
+
*/
|
|
551
|
+
private pumpGeometryBatch_;
|
|
552
|
+
/**
|
|
553
|
+
* Walk the scene and emit every not-yet-captured placed instance as
|
|
554
|
+
* per-entity DELTA FlatMeshes — the incremental core of
|
|
555
|
+
* streamAllMeshes with identical placed-geometry math, processed in
|
|
556
|
+
* walk order exactly once per instance (per-entity watermarks). An
|
|
557
|
+
* entity re-emits with only its NEW instances when shared/mapped
|
|
558
|
+
* geometry attributes more to it in later batches; consumers render
|
|
559
|
+
* deltas additively (the shared meshMap still accumulates each
|
|
560
|
+
* entity's FULL vector, so getFlatMesh stays whole-model correct).
|
|
561
|
+
*
|
|
562
|
+
* Also fixes a latent multi-call bug: the derived coordination
|
|
563
|
+
* matrix is remembered (demandCoordination_), so later batches place
|
|
564
|
+
* with the SAME coordination the first batch established
|
|
565
|
+
* (streamAllMeshes never needed this — it runs once). It is NOT
|
|
566
|
+
* exposed through getCoordinationMatrix, which keeps the classic
|
|
567
|
+
* identity contract consumers stamp onto assembled models.
|
|
568
|
+
*
|
|
569
|
+
* @param meshCallback Receives one delta FlatMesh per entity that
|
|
570
|
+
* gained instances this call.
|
|
571
|
+
*/
|
|
572
|
+
private streamNewMeshes_;
|
|
305
573
|
/**
|
|
306
574
|
*
|
|
307
575
|
* @param modelID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifc_api_proxy_ifc.d.ts","sourceRoot":"","sources":["../../../../src/compat/web-ifc/ifc_api_proxy_ifc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,WAAW,EACX,MAAM,EACP,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"ifc_api_proxy_ifc.d.ts","sourceRoot":"","sources":["../../../../src/compat/web-ifc/ifc_api_proxy_ifc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,cAAc,EACf,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,YAAY,MAAM,0BAA0B,CAAA;AACnD,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,cAAc,EACd,cAAc,EACd,WAAW,EACX,MAAM,EACP,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,qBAAqB,EAA8B,MAAM,iCAAiC,CAAA;AACnG,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,QAAQ,MAAM,WAAW,CAAA;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAqBrD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAA;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAkDzE;;;;;GAKG;AACH,UAAU,iBAAiB;IACzB,UAAU,EAAE,cAAc,CAAA;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;uEACmE;IACnE,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;IACpC,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,UAAU,CAAA;IACtB,KAAK,EAAE,YAAY,CAAA;IACnB,KAAK,EAAE,eAAe,CAAA;IACtB,cAAc,EAAE,qBAAqB,CAAA;IACrC,gBAAgB,EAAE,MAAM,CAAA;IACxB,wEAAwE;IACxE,OAAO,CAAC,EAAE,eAAe,CAAA;CAC1B;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,sBAAsB;aAqHvC,OAAO,EAAE,MAAM;IAE/B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAtH9B,EAAE,CAAC,EAAE,GAAG,CAAY;IAEpB,KAAK,EACH;QAAC,YAAY;QACX,eAAe;QACf,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC/C,GAAG,CAAC,MAAM,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1D,MAAM,CAAC,QAAQ,CAAC;QAAE,QAAQ,CAAC,IAAI;KAAC,CAAA;IACpC,UAAU,EAAE,cAAc,CAAA;IAE1B,yEAAyE;IACzE,OAAO,CAAC,eAAe,CAAuB;IAE9C,iEAAiE;IACjE,OAAO,CAAC,aAAa,CAAiB;IAEtC,4EAA4E;IAC5E,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAE1C,yEAAyE;IACzE,OAAO,CAAC,qBAAqB,CAAiB;IAE9C,sEAAsE;IACtE,OAAO,CAAC,eAAe,CAAC,CAAU;IAElC;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA4B;IAElE,sEAAsE;IACtE,OAAO,CAAC,aAAa,CAAI;IAEzB,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAO/B;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAE9C,qEAAqE;IACrE,OAAO,CAAC,uBAAuB,CAAI;IAEnC;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB,CAAC,CAAU;IAEtC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,8BAA8B,CAAiB;IAEvD,cAAc,EAAE,OAAO,CAAQ;IAC/B,mBAAmB,EAAE,MAAM,CAAI;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAmD;IAGrE,YAAY,EAAE,QAAQ,CAAC,IAAI,CAK1B;IAED;;OAEG;IACH,UAAU,gBAA0B;IAEpC;;;;OAIG;gBAGiB,OAAO,EAAE,MAAM,EAC/B,IAAI,EAAE,UAAU,EACC,UAAU,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,cAAc,YAAA,EAC1C,WAAW,CAAC,EAAE,iBAAiB;IAuKnC;;;;;;;;;;OAUG;WACiB,WAAW,CAC3B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,cAAc,GAAI,OAAO,CAAC,cAAc,CAAC;IAQxD;;;;;;;;;;;;;;;OAeG;WACiB,cAAc,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,cAAc,GAAI,OAAO,CAAC,cAAc,CAAC;IAQxD;;;;;;;;;;;;;;;OAeG;WACiB,cAAc,CAC9B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,EAChB,UAAU,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,cAAc,GAAI,OAAO,CAAC,cAAc,CAAC;IAQxD;;;;;;;;;;;OAWG;WACiB,eAAe,CAC/B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,qBAAqB,EAC5B,UAAU,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,cAAc,GAAI,OAAO,CAAC,cAAc,CAAC;IASxD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAwCtC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAsF9B;;;;;;;;;OASG;mBACkB,oBAAoB;IAsFzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;mBACkB,4BAA4B;IA4KjD;;;;;;;;;;;;;;;;OAgBG;mBACkB,sBAAsB;IAyP3C;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IA4BxC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,CAAC,EAAE,cAAc,GAAG,MAAM;IAM9C;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAO5C;;;;;;OAMG;IACH,WAAW,CAAC,iBAAiB,EAAE,MAAM,GAAG,WAAW;IA6BnD;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe;IA0BnD;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GACrC;QAAE,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;QAC3B,QAAQ,CAAC,EAAE,eAAe,CAAA;KAAE;IAoChC;;;;;;OAMG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;;;;OAKG;IACH,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED;;;;OAIG;IACH,IAAI,cAAc,IAAI;QACpB,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,MAAM,CAAA;QAChB,MAAM,EAAE,MAAM,CAAA;KACf,CAEA;IAED;;;;;;;;;;OAUG;IACH,0BAA0B,CACtB,KAAK,EAAE,qBAAqB,EAC5B,UAAU,CAAC,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,GAAI,IAAI;IAItC;;;;;;;;;;;OAWG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D;;;;;;;;;;;OAWG;IACH,cAAc,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAI1C;;;;OAIG;IACH,iBAAiB,IAAI,MAAM,CAAC,WAAW,CAAC;IAoBxC;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,GAAG;IAIzB;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAkB5B;;;;;OAKG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW;IAgD9C;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,WAAW;IAIlC;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IA6ChD;;;;OAIG;IACH,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;IA0C7B;;;;OAIG;IACH,yBAAyB,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC;IAU7D;;;;OAIG;IACH,qBAAqB,IAAI,KAAK,CAAC,MAAM,CAAC;IAetC;;;;;;OAMG;IACH,sBAAsB,IAAI,KAAK,CAAC,MAAM,CAAC;IAIvC;;;;;OAKG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY;IAIvD;;;;;OAKG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW;IAIrD;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAC/E,YAAY,GAAG,WAAW;IAe5B;;;;OAIG;IACH,UAAU;IAIV;;;;;;;;;;;;;OAaG;IACH,eAAe,IAAI,OAAO;IAoC1B;0EACsE;IACtE,OAAO,CAAC,SAAS,CAAQ;IAEzB;;;;;;;;;;;;;;;;;OAiBG;IACH,oBAAoB,CAChB,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAI;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC;IAmBrF;;;;;;;;;OASG;IACG,yBAAyB,CAC3B,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GACvC,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC;IAqInD;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAsC9B;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IAwE1B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,gBAAgB;IAmLxB;;;;OAIG;IACH,eAAe,CAAE,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI;IAqLvD;;;;;OAKG;IACH,wBAAwB,CACpB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EACpB,YAAY,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI;IAgK1C;;;;OAIG;IACH,eAAe,IAAI,MAAM,CAAC,QAAQ,CAAC;IA2MnC;;;;;OAKG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;IAqDxC;;;;;OAKG;IACH,4BAA4B,IAAI,IAAI;CAwBrC"}
|