62 lines
3.1 KiB
Markdown
62 lines
3.1 KiB
Markdown
# BIM Executable URL Unblock
|
|
|
|
Two commands implemented and published: BIM_Help and BIM_Examples.
|
|
Formal receipt: bim-external-url-pipeline.json. No tests, browser checks,
|
|
acceptance or benchmarks ran. This is not complete BIM or project parity.
|
|
|
|
## Fixed Causes
|
|
|
|
1. The existing BIMDesktopCommandRegistry.h is an executable dispatch table,
|
|
but capability discovery only recognized older marked command branches.
|
|
It repeatedly queued these completed source URL implementations as native
|
|
gaps. Discovery now recognizes just the two audited ExternalUrl entries,
|
|
checks the registry consumer, parses their embedded Python scripts with AST,
|
|
and requires calls to the supplied desktop getUrl methods plus mounted UI.
|
|
Document/geometry rows are not promoted by table membership.
|
|
2. Help and Examples both emitted a shared freecad-bim-help event. Help retained
|
|
the last event URL even when it came from Examples. Both mounted links now
|
|
use the matching current command response: canonical ID, name, exposed status,
|
|
result command and destination are checked. No stale event state is retained.
|
|
3. BIMDesktopCommands.h still defined EmptyTrash, Extrude and Fuse scripts also
|
|
defined by the newer BIMSolidCommands.h. Removed the superseded definitions;
|
|
the executable registry continues to use the newer implementation. Existing
|
|
files and native business implementations were retained, not rewritten.
|
|
4. Implementation packets followed only the first level of local includes, so
|
|
they contained the registry but omitted its actual script helpers. The same
|
|
source collector now follows the reachable local-header closure with a seen
|
|
set. It never leaves FreeCADCoreProbe or follows system includes; excerpt
|
|
budgets remain unchanged. The packet includes all six relevant BIM headers.
|
|
|
|
## Measured Steps
|
|
|
|
| Step | Seconds |
|
|
| --- | ---: |
|
|
| Initial capability generation | 8.266 |
|
|
| Initial implementation packet | 0.656 |
|
|
| Pipeline module registry | 0.102 |
|
|
| Pipeline capability registry, cached | 0.082 |
|
|
| Pipeline link preflight | 0.043 |
|
|
| BIM incremental compile/link | 37.735 |
|
|
| Artifact synchronization | 6.816 |
|
|
| Deferred business metadata | 0.961 |
|
|
| Pipeline total | 45.739 |
|
|
| Packet refresh with transitive headers | 0.731 |
|
|
| Frontend build | 8.591 |
|
|
| Public asset sync inside frontend build | 7.120 |
|
|
|
|
Both native and frontend builds exited 0. Existing OCCT/FreeCAD libraries were
|
|
reused. No new kernel, Worker or modeling algorithm was introduced. Frontend
|
|
asset sync remains most of this build's elapsed time; these are build timings,
|
|
not application performance benchmarks.
|
|
|
|
## Continuation
|
|
|
|
Reuse the URL table, compiled BIM artifact and current response links. Do not
|
|
send these two commands back through speculative native-marker repair. Read
|
|
the newly included script headers directly for remaining document commands.
|
|
|
|
At route generation the inventory was 1282/1451 routed, 169 requiring
|
|
implementation. These are route counts, not acceptance or verified parity.
|
|
Provider backoff observed at the start is independent of these local defects;
|
|
this change does not establish restored model service or global throughput.
|