ConstructiVision TB11-01x32 — Architecture & Deployment¶
Purpose: Complete architecture and deployment reference for ConstructiVision v11.01 on the 32-bit platform (Win10 x32, AutoCAD 2000). Documents the full file layout, registry footprint (from Total Uninstall analysis), auto-configuration, source file recoveries, and crash path resolutions applied to the TB11-01x32 test build.
Build: TB11-01x32 (Test Build 11, 32-bit)
Source Location: src/x32/TB11-01x32/
Baseline Reference: Legacy Architecture Doc (PB11-00x32 snapshot — read-only)
Target VMs: 108, 201, 202 — all Win10 x32
Last Updated: March 11, 2026
Key Facts
All 93 modules in csvlst have source files on disk (12 recovered from v3.60)
Zero crash paths (3 critical crashes fixed)
20/20 feature toggles operational (was 18/20 in PB11)
63 bugs tracked in validation campaign — 50 fixed, 12 open, 1 known limitation
NOD key mismatch discovered — VLX uses
panel/site, source usedpanel_list/site_list(Bug 63, fixed)Dual-key detection applied across 24 files — reads both VLX and source key names
progcont routing is VLX-only — source-mode shows same dialog for all menu items (Bug 18)
Validated on Win10 x32 (VM 108), XP (VMs 102, 103, 104) — AutoIT 6/6 pass in VLX mode
Complete registry footprint documented from Total Uninstall analysis
Auto-configuration script:
scripts/Configure-ConstructiVision.ps1Diagnostic tool:
csv_diag.lsp— runtime NOD/layer/block dump for debugging
Table of Contents¶
File System Layout¶
Installation Directories¶
Path |
Contents |
Source |
|---|---|---|
|
AutoCAD 2000 R15.0 — |
Total Uninstall restore |
|
CV plugin files — junction to git sparse checkout |
Git deploy (nightly at 22:00) |
|
User project data (drawings, xrefs) |
Created by CV at runtime |
|
CV-specific fonts |
Part of TB11-01x32 |
|
Plot style tables |
Part of TB11-01x32 |
|
Backup/archive files |
Part of TB11-01x32 |
Junction Configuration¶
C:\Program Files\ConstructiVision → C:\Repos\Constructivision\src\TB11-01x32
Created via:
New-Item -ItemType Junction -Path "C:\Program Files\ConstructiVision" `
-Target "C:\Repos\Constructivision\src\TB11-01x32"
Physical File Inventory (TB11-01x32)¶
Type |
Count |
Notes |
|---|---|---|
LISP source (.lsp) |
94 |
93 in csvlst + csv_diag.lsp diagnostic tool (12 recovered from v3.60) |
DCL dialogs (.dcl) |
44 |
Some contain multiple dialog definitions |
Menu files |
5 |
csv.mnu, csv.mns, csv.mnr, csv.mnc, csv.cui |
Compiled VLX |
1 |
CSV.VLX (813 KB) — compiled application bundle |
Compiled ARX |
2 |
CSV.ARX, pcms.arx — ObjectARX extensions |
Help file |
1 |
CSV.Hlp — Windows Help |
PDF manual |
1 |
CSV Manual.pdf |
Build project |
2 |
csv.prj, Csv.prv — Visual LISP project files |
Registry file |
1 |
WINCSS.REG — legacy registry settings |
Executables |
2 |
wincss2000.exe, SendTo.exe |
Other |
8+ |
License.txt, README.TXT, PCA.Jeff.CIF, CV logo.JPG, etc. |
Registry Footprint¶
The complete registry configuration required for AutoCAD 2000 + ConstructiVision on Win10 x32. All values documented from Total Uninstall analysis and validated on VM 108.
HKLM — Machine-Level Keys¶
Autodesk Configuration¶
Path: HKLM\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:409
Value |
Type |
Data |
|---|---|---|
|
REG_SZ |
|
|
REG_SZ |
|
|
REG_SZ |
|
|
REG_SZ |
|
|
REG_SZ |
|
|
REG_SZ |
|
|
REG_SZ |
|
|
REG_SZ |
|
Note
The ACAD value includes C:\Program Files\ConstructiVision — this was appended during deployment so AutoCAD’s file search path includes the CV plugin directory at the machine level.
Subkeys under ACAD-1:409:
Subkey |
Purpose |
Entries |
|---|---|---|
|
~20 AutoCAD ARX/ObjectDBX application registrations |
AcadApp, AcadAppload, AcadAttedit, AcadBlock, AcadBrowser, AcadDbConnect, AcadDC, AcadDim, Express tools, etc. |
|
Dialog configuration |
— |
|
Express Tools settings |
— |
|
Selection mode |
— |
|
Profile management |
— |
|
Product activation data |
CD Key, Authorization Code |
|
Splash screen settings |
— |
|
DWG/DXF/DWT associations |
— |
COM Registration (HKLM\SOFTWARE\Classes)¶
AutoCAD registers extensive COM automation objects used by Visual LISP. These are required for CSV.VLX to function.
Location |
Count |
Purpose |
|---|---|---|
|
104 |
COM class factories (AutoCAD, AcDb, Acad objects) |
|
217 |
IAcad* COM interface definitions |
|
4 |
Type libraries (ACAD.TLB, AXAUTO15, AXDB15, VL) |
|
8 |
Programmatic identifiers |
Key CLSID: {8E75D911-3D21-11d2-85C4-080009A0C626} — AutoCAD.Application
ProgIDs registered:
ProgID |
Purpose |
|---|---|
|
Primary COM entry point |
|
Versioned COM entry point |
|
DWG file association |
|
Versioned DWG association |
|
CTB file association |
|
DXF file association |
|
SST file association |
|
DWT template association |
TypeLib GUIDs:
GUID |
File |
Description |
|---|---|---|
|
ACAD.TLB |
AutoCAD Type Library |
|
AXAUTO15.TLB |
Automation Library |
|
AXDB15.TLB |
ObjectDBX Library |
|
VL.tlb |
Visual LISP Library |
HKCU — Per-User Keys¶
AutoCAD Profile¶
Path: HKCU\SOFTWARE\Autodesk\AutoCAD\R15.0\ACAD-1:409
Value |
Data |
|---|---|
|
|
Support File Search Path¶
Path: HKCU\...\Profiles\<<Unnamed Profile>>\General
Value |
Type |
Data (with CV appended) |
|---|---|---|
|
REG_SZ |
|
Important
This is the critical registry value that tells AutoCAD where to find ConstructiVision’s .lsp, .dcl, .vlx, and menu files. Without C:\Program Files\ConstructiVision in this path, AutoCAD cannot locate any CV modules.
Startup Suite (Auto-Load)¶
Path: HKCU\...\Profiles\<<Unnamed Profile>>\Dialogs\Appload\Startup
VLX Mode (PB11 — golden reference from VM 102):
Value |
Type |
Data |
|---|---|---|
|
REG_SZ |
|
|
REG_SZ |
|
Source Mode (TB11 — current test configuration):
Value |
Type |
Data |
|---|---|---|
|
REG_SZ |
|
|
REG_SZ |
|
Note
VLX mode loads CSV.VLX which bundles csvmenu + csv + all 93 modules. The VLX reads progcont and routes to distinct dialogs per menu item. Source mode loads only csvmenu.lsp to install the menu; csv.lsp is then loaded on first menu click. Source-mode does NOT read progcont — all menu items show the same dialog (Bug 18).
Project Files Search Path¶
Path: HKCU\...\Profiles\<<Unnamed Profile>>\General (or configured via AutoCAD Options)
The Project Files Search Path tells AutoCAD where to find xrefs, images, and other files referenced by drawings. This is set per-project in AutoCAD:
Tools → Options → Files → Project Files Search Path → [Project Name] → C:\Program Files\ConstructiVision\Project Files\
Other HKCU Profile Subkeys¶
Subkey |
Purpose |
|---|---|
|
3D graphics system settings |
|
Editor preferences |
|
General AutoCAD settings |
|
Plotter settings and defaults |
Registry Summary¶
Hive |
Path |
Purpose |
|---|---|---|
HKLM |
|
AutoCAD installation + CV in ACAD path |
HKLM |
|
ARX application registrations |
HKLM |
|
Serial number, CD key, auth code |
HKLM |
|
104 COM class registrations |
HKLM |
|
217 COM interface definitions |
HKLM |
|
4 type libraries |
HKLM |
|
8 ProgID registrations |
HKCU |
|
Support path (includes CV) |
HKCU |
|
Auto-load CSV.VLX (PB11) or csvmenu.lsp (TB11) |
Auto-Configuration Script¶
scripts/Configure-ConstructiVision.ps1 automates the HKCU registry setup after AutoCAD is installed and has been run at least once.
What It Does¶
Adds CV to Support File Search Path — Appends
C:\Program Files\ConstructiVision;to theACADvalue underHKCU\...\GeneralConfigures Startup Suite — Sets
NumStartup,1Startup(csvmenu.lsp),2Startup(csv.vlx) underHKCU\...\Dialogs\Appload\StartupValidates prerequisites — Checks that CV folder exists, required files present, AutoCAD registry profile exists
Idempotent — Safe to run multiple times; skips already-configured values
Usage¶
# Default path (C:\Program Files\ConstructiVision)
.\scripts\Configure-ConstructiVision.ps1
# Custom path
.\scripts\Configure-ConstructiVision.ps1 -CVPath "C:\Custom\Path"
What It Does NOT Do¶
Does not modify HKLM keys (requires admin elevation)
Does not install AutoCAD or copy CV files
Does not configure Project Files Search Path (project-specific, done in AutoCAD UI)
Does not handle COM registration (only needed on x64 — see doc 29)
Startup Chain¶
The complete load sequence from AutoCAD launch to ConstructiVision ready:
VLX Mode (PB11 — Production)¶
On real-directory installs (VM 102, 103):
1. Windows launches acad.exe
2. AutoCAD reads HKCU profile → loads Startup Suite entries
3. CSV.VLX loads via Startup Suite:
- Contains compiled csvmenu, csv, csvreg, csvtech, and all 93 modules
- Installs CV menu group from csv.mnu/mns
- Makes c:csv command available
4. User clicks any CV menu item:
a. csv.mnu sets (setq progcont N) where N is a menu-specific bitmask
b. csv.mnu calls csv; which invokes c:csv
c. VLX's c:csv reads progcont, decodes bitmask, routes to correct dialog
On junction deployments (VM 104, 108+):
1. Windows launches acad.exe
2. AutoCAD reads HKCU profile → Startup Suite SILENTLY FAILS (Bug 35)
3. acaddoc.lsp runs from Support directory (real path):
- Checks (not c:csv) — c:csv is undefined, so proceeds
- Runs (load (findfile "CSV.VLX"))
- VLX loads, installs menu, defines c:csv, full progcont routing works
Note
PB11 on junction VMs should now load correctly via (load) in acaddoc.lsp, with full VLX progcont routing. Pending retest after Bug 35 fix.
Source Mode (TB11 — Development/Testing)¶
1. Windows launches acad.exe
2. AutoCAD reads HKCU profile → loads Startup Suite entries
3. csvmenu.lsp loads:
- Calls (menucmd "S=CSV") to install the CSV menu group
- Loads csv.mnu → compiled to csv.mns/mnr/mnc
- CV menu appears in AutoCAD menu bar
4. User clicks any CV menu item:
a. csv.mnu sets (setq progcont N) — but no .lsp file reads progcont
b. csv.mnu calls csv; which invokes c:csv from csv.lsp
c. csv.lsp loads all 93 modules, shows Panel Options dialog regardless of progcont
Warning
In source-mode (TB11), progcont routing does NOT work — all menu items show the same “Panel Options” dialog instead of routing to distinct dialogs. This is Bug 18 and the highest-priority remaining source-mode issue. See the progcont Routing section below.
NTFS Junction + VLX Loading Limitation (Bug 35)¶
On junction-based deployments (VM 104, 108, 201, 202), AutoCAD 2000 silently fails to load VLX files in two ways:
Startup Suite — The
Dialogs\Appload\Startupregistry entry pointing toCSV.VLXis ignored. AutoCAD does not report an error; it simply skips the entry.(arxload ...)— Wrong API.arxloadis for ObjectARX.arxC++ extensions, NOT VLX files. Using(arxload (findfile "CSV.VLX"))returnserror: ARXLOAD failedbecause VLX is not an ARX format.(command "_.appload" ...)— Wrong approach. TheAPPLOADcommand opens an interactive file browser dialog, blocking automation. It cannot be used for unattended startup loading.
The correct way to load a VLX programmatically is the AutoLISP (load) function, which handles .lsp, .fas, AND .vlx files:
(load (findfile "CSV.VLX"))
This does NOT affect VMs with real (non-junction) directories (VM 102, VM 103) where the Startup Suite works correctly.
Root cause: AutoCAD 2000 (released 1999) predates NTFS junction support. Its internal file-loading code likely uses Win32 APIs that do not resolve reparse points, or it validates the path against expected locations.
Impact: PB11 VLX mode does not auto-load on junction deployments. The c:csv command is undefined, and all menu items fail with error: no function definition: C:CSV.
Mitigation: A unified acaddoc.lsp is deployed to C:\Program Files\ACAD2000\Support\ as a safety net. AutoCAD runs acaddoc.lsp from the Support directory (a real path, not a junction) every time a drawing opens. The loader checks (not c:csv) then uses:
(load (findfile "CSV.VLX"))— loads VLX via the AutoLISP(load)function(load (findfile "csv.lsp"))— fallback to source-mode loading if no VLX found
Warning
Previous attempts used (arxload ...) (wrong — for .arx C++ extensions only) and (command "_.appload" ...) (wrong — opens interactive dialog). The correct mechanism is AutoLISP’s (load) function, which handles .lsp, .fas, and .vlx files. Testing is needed to confirm (load) succeeds through NTFS junctions.
Affected deployments:
Deployment Type |
VLX Loading |
Source Loading |
Notes |
|---|---|---|---|
Real directory (VM 102, 103) |
✅ Works |
✅ Works |
Original installer |
NTFS junction (VM 104, 108+) |
❌ Fails |
✅ Works |
Git sparse checkout + junction |
acaddoc.lsp — Per-Document Safety Net¶
Deployed to C:\Program Files\ACAD2000\Support\acaddoc.lsp by CV_Configure.bat (both PB11 and TB11 modes). Source lives in src/x32/TB11-01x32/acaddoc.lsp.
Behavior:
Runs every time a drawing opens (AutoCAD built-in mechanism)
Checks
(not c:csv)— if already loaded, does nothingSets
csv_silent_loadflag to suppress csvmenu’s modal alertDispatches via
(cond): tries VLX first, then csv.lspClears
csv_silent_loadafter loading
Module Load List (csvlst — 93 modules)¶
Defined in csv.lsp lines 130–139. All 93 modules are loaded on first use via (foreach a csvlst (load a)). In TB11-01x32, all 93 .lsp files are present on disk.
Source File Recovery¶
All 12 files were recovered from the v3.60 archive (src/x86/v3_60/) and copied to src/TB11-01x32/ on February 16, 2026. These files were listed in csvlst but had no corresponding .lsp file on disk in PB11-00x32.
Recovered Files (12 total)¶
File |
Category |
Impact When Missing |
|---|---|---|
|
Standard Opening |
Crash — mp_dlg toggle |
|
Standard Opening |
Startup load error (silent) |
|
Standard Opening |
Startup load error (silent) |
|
Weld Connections |
Crash — mp_dlg toggle |
|
Weld Connections |
sdwg_dlg button |
|
Weld Connections |
Startup load error (silent) |
|
Weld Connections |
Startup load error (silent) |
|
Weld Connections |
Startup load error (silent) |
|
Weld Connections |
Startup load error (silent) |
|
Weld Connections |
Startup load error (silent) |
|
Wall Line |
Crash — sdwg_dlg button |
|
Utility Dialog |
Overwrite confirmations failed |
See 26-v360-source-recovery.md for the full recovery procedure.
Crash Path Resolutions¶
# |
Path |
Root Cause |
Resolution |
|---|---|---|---|
1 |
mp_dlg → Standard Opening toggle ( |
|
✅ FIXED — recovered from v3.60 |
2 |
mp_dlg → Weld Connections toggle ( |
|
✅ FIXED — recovered from v3.60 |
3 |
sdwg_dlg → Wall Line button ( |
|
✅ FIXED — recovered from v3.60 |
Current status: Zero crash paths. All 40 menu-level click paths and all deep dialog paths complete without crashing.
Note
While the crash paths are fixed (dialogs open), the output quality of these recovered features has not yet been fully validated. The weld connection and standard opening features need additional testing to verify correct drawing generation.
Updated Feature Status¶
Panel Properties Feature Toggles (mp_dlg — 20 toggles)¶
# |
Feature |
Toggle Key |
Sub-Dialog |
PB11 Status |
TB11 Status |
|---|---|---|---|---|---|
1 |
Rough Opening |
|
|
✅ Works |
✅ Works |
2 |
Square Blockout |
|
|
✅ Works |
✅ Works |
3 |
Spandrel Seat |
|
|
✅ Works |
✅ Works |
4 |
Top Plate |
|
|
✅ Works |
✅ Works |
5 |
Pick Points |
|
|
✅ Works |
✅ Works |
6 |
Standard Opening |
|
|
⚠️ CRASH |
✅ FIXED |
7 |
Round Blockout |
|
|
✅ Works |
✅ Works |
8 |
Pilaster |
|
|
✅ Works |
✅ Works |
9 |
Ledger |
|
|
✅ Works |
✅ Works |
10 |
Brace Points |
|
|
✅ Works |
✅ Works |
11 |
Man Door |
|
|
✅ Works |
✅ Works |
12 |
Footing Step |
|
|
✅ Works |
✅ Works |
13 |
Lintel |
|
|
✅ Works |
✅ Works |
14 |
Slab Dowels |
|
|
✅ Works |
✅ Works |
15 |
Feature Strip (H) |
|
|
✅ Works |
✅ Works |
16 |
Dock Leveler |
|
|
✅ Works |
✅ Works |
17 |
Top Step |
|
|
✅ Works |
✅ Works |
18 |
Chamfer |
|
|
✅ Works |
✅ Works |
19 |
Weld Connections |
|
|
⚠️ CRASH |
✅ FIXED |
20 |
Feature Strip (V) |
|
|
✅ Works |
✅ Works |
Result: 20/20 feature toggles operational (was 18/20).
Source File Inventory¶
For the complete file-by-file inventory organized by role (controllers, hub dialogs, data input dialogs, drawing generation, helpers, stubs), refer to the legacy architecture doc §22. The 12 recovered files listed above are the only additions.
Remaining Stubs and Disabled Features¶
Unchanged from PB11-00x32 — features that were never completed or intentionally disabled in v11.
Stub Functions¶
Module |
Message |
UI State |
|---|---|---|
|
|
Disabled via |
|
|
Disabled via |
Compiled-Only Functions (Inside CSV.VLX)¶
Function |
Menu Item |
Purpose |
|---|---|---|
|
M: Registration Manager |
Software licensing/registration |
|
Q: Tech Support |
Technical support contact |
progcont Routing — VLX vs Source Mismatch¶
Important
Discovered Mar 1, 2026: progcont is NOT dead code in VLX mode.
Discovered Mar 11, 2026: VLX and source use different NOD key names (Bug 63). See NOD Key Architecture.
The progcont global variable is set by every menu item (17 items in
csv.mnu) before calling csv;. In VLX mode, the compiled
bytecode reads progcont and routes to distinct dialogs — confirmed by
OCR evidence from VM 102. In source-mode, no .lsp file reads
progcont, so all menu items fall through to the same dialog.
The VLX was compiled from source that does not exist in this repo:
Component |
VLX Version (working) |
Source Version (broken in source-mode) |
|---|---|---|
|
“Program Options” — numeric keys (2,8,16,32,64…) |
“Panel Options” — string keys (new,old,val,pal…) |
|
Reads numeric keys, maps to progcont bitmask routing |
Reads string keys, routes via |
|
Reads |
Never reads |
progcont Bitmask System:
Base 262144 (0x40000) = “already loaded, skip project dialog”
Button keys are powers of 2
Full mapping: 1=Drawing Setup, 8193=Slope Calculator, 262145=Edit Existing, 262153=New Project, 262161=New Drawing, 262177=Batch Utilities, 262209=All Layers, 262273=Select Layers, 262401=Print with preset, 262465=Print All, 262657=Select Layouts, 263169=Materials, 264193=Revision
See Bug 18 in 32-tb11-bug-tracker.md and Section 3.1a of 31-comprehensive-workflow-analysis.md for full analysis.
NOD Key Architecture¶
Important
Discovered Mar 11, 2026 (Bug 63): The VLX and source code use DIFFERENT Named Object Dictionary key names. This was the single biggest source archaeology finding of the project.
The Mismatch¶
ConstructiVision stores panel and site configuration data as XRecord entries in AutoCAD’s Named Object Dictionary (NOD). The VLX writes these under one key name; all surviving source code checked a different key name:
Data Type |
VLX Key (written by csv.vlx) |
Source Key (checked by .lsp files) |
Status |
|---|---|---|---|
Panel config |
|
|
✅ Fixed — dual-key reads |
Panel linkage |
|
(not referenced in any .lsp) |
⚠️ Unknown purpose |
Site config |
|
|
✅ Fixed — dual-key reads |
Site linkage |
|
(not referenced in any .lsp) |
⚠️ Unknown purpose |
Tilt-up(?) |
|
(not yet investigated) |
⚠️ Unknown |
CSVDIAG Evidence¶
CSB001.dwg (panel drawing, VM 104):
NOD keys: ACAD_GROUP, ACAD_LAYOUT, ACAD_MLINESTYLE, ACAD_PLOTSETTINGS, ACAD_PLOTSTYLENAME, AcDbVariableDictionary,
panel,panel1panel_list: NOT FOUNDsite_list: NOT FOUND
CSBsite1.dwg (site drawing, VM 104):
NOD keys: ACAD_GROUP, ACAD_LAYOUT, ACAD_MLINESTYLE, ACAD_PLOTSETTINGS, ACAD_PLOTSTYLENAME, AcDbVariableDictionary,
site,site1,tiltpanel: NOT FOUNDsite_list: NOT FOUND
Dual-Key Fix Pattern¶
All dictsearch reads now check both keys via (or):
;; Before (broken on VLX-created drawings):
(if (dictsearch (namedobjdict) "panel_list") ...)
;; After (works on both VLX and source-created drawings):
(if (or (dictsearch (namedobjdict) "panel")
(dictsearch (namedobjdict) "panel_list")) ...)
All dictadd writes remain "panel_list" / "site_list" for source-mode compatibility. This means:
Source-mode creates drawings with
panel_list/site_listkeysVLX-mode creates drawings with
panel/sitekeysBoth modes can now READ either format
Files Modified (Bug 63 — commits 178c9ba6, 41860c39)¶
Panel dual-key (14 files × 2 for x64 = 28):
File |
Occurrences |
Type |
|---|---|---|
|
3 |
Tier 1 detect + progcont guards |
|
1 |
XRecord read |
|
1 |
XRecord read |
|
1 |
XRecord check |
|
14 |
Dialog routing guards |
|
2 |
Read + delete-before-write |
|
1 |
XRecord check |
|
1 |
XRecord check |
|
1 |
XRecord check |
Visual copies |
5 |
Same patterns |
Site dual-key (10 files × 2 for x64 = 20):
File |
Occurrences |
Type |
|---|---|---|
|
1 |
Tier 3 site detect |
|
2 |
Guard + data extraction |
|
2 |
Guard + data extraction |
|
1 |
Delete-before-write |
|
1 |
Delete-before-write |
Visual copies |
5 |
Same patterns |
Uninvestigated Keys¶
panel1: Present in VLX-created panel drawings. Zero references in source code. Likely contains panel-to-site linkage data (panel order, location, elevation within a site). Needs CSVDIAG dump of actual XRecord contents.site1: Expected parallel topanel1in site drawings. Needs CSVDIAG confirmation.tilt: Observed in CSBsite1.dwg NOD. Likely tilt-up wall data. Needs investigation.Panel-to-site relationship: Panels attach to sites as INSERT/XREF blocks (confirmed by CSVDIAG — CSBsite1 contains CSB001–CSB022 inserts). The
layout.lspmodule positions these inserts and saves positions toconslist.txt. Thebtch.lsp/btch_dlg.lspmodules iterate panels by filename pattern (pnlname*.dwg), not by NOD keys.
XRecord Structure¶
Both panel and site XRecords use the same internal format — nested DXF groups encoding section/name/value triplets:
(0 . "XRECORD")
(100 . "AcDbXrecord")
(1 . "section_name") ;; e.g., "mpvar", "chvar", "gdvar"
(2 . "variable_name") ;; e.g., "mpv#", "mppn", "gdv#"
(3 . "value") ;; e.g., "V2.25", "CSB", "1"
(1 . "next_section")
...
Parsed by the same pattern in panatt.lsp (panel) and site_dlg.lsp (site) into nested alists: ((section . ((var . val) ...)) ...)
The convert function (convert.lsp) initializes default values when the version field (mpv#/gdv#) doesn’t match "V2.25" — it takes "panel" or "site" as argument to select which variable set to default.
Updated Test Matrix¶
Fixed Crash Paths¶
ID |
Path |
PB11 |
TB11 |
Verified |
|---|---|---|---|---|
T-A2-1-WD |
mp_dlg → Standard Opening → wd_dlg |
⚠️ CRASH |
✅ Dialog opens, fields work |
Pending |
T-A2-1-WC |
mp_dlg → Weld Connections → wc_dlg |
⚠️ CRASH |
✅ Dialog opens, fields work |
Pending |
T-A3x2 |
sdwg_dlg → Wall Line → wall_dlg |
⚠️ CRASH |
✅ Dialog opens, fields work |
Pending |
Quality Validation Priority¶
Priority |
Feature |
What to Validate |
|---|---|---|
High |
Standard Opening |
Dialog fields populate; opening draws at correct position |
High |
Weld Connections |
Dialog fields populate; weld marks render in drawing |
Medium |
Wall Line |
Dialog fields populate; wall line draws on site plan |
Medium |
Warning dialog |
Overwrite confirmations appear when expected |
Low |
Weld utility modules |
Startup load completes without errors (already working) |
For the full 40-path menu-level test matrix and deep dialog tests, refer to the legacy architecture doc §23. All test expectations are unchanged except the 3 crash paths listed above and T-A3x6 (weld source now present, still disabled in UI).
Platform Compatibility¶
Platform |
AutoCAD 2000 |
ConstructiVision |
Status |
Notes |
|---|---|---|---|---|
Windows XP |
✅ Works |
✅ Works |
Fully Supported |
Reference platform |
Windows Vista |
✅ Works |
✅ Works |
Fully Supported |
|
Windows 7 |
✅ Works |
⚠️ pcAnywhere bug |
Limited |
pcAnywhere BHF path issue (not CV — see 22-windows10-upgrade-study) |
Win10 32-bit |
✅ Works |
✅ Works |
Fully Supported |
VM 108 — config script required |
Note
For Win10 64-bit deployment, see 29-tb11-01x64-architecture.md — the x64 build forks the install into separate acad2000/ and nanocad25/ directories and requires Wow6432Node registry fixes.
Validation & Bug Cross-Reference¶
The 2026 validation campaign has discovered 63 bugs across VMs 102–109. Full details in 32-tb11-bug-tracker.md.
Bug Summary by Category¶
Category |
Bugs |
Fixed |
Open |
Notes |
|---|---|---|---|---|
Source-mode (VM 108) |
1–18 |
17 |
1 |
Bug 18 (progcont routing) is the remaining open bug |
Profile/Deployment (VLX) |
19–22 |
3 |
0 |
Registry/profile configuration issues |
Deployment/Env (VM 104) |
24–34 |
9 |
2 |
XP platform quirks + deployment script issues |
Source-mode dialog & routing |
35–41, 50–53 |
7 |
1 |
progcont routing, format corruption, cold-call guards |
Skill Pack compliance |
54–62 |
0 |
9 |
Error handlers, undo groups, namespace, DCL load checks |
NOD key mismatch |
63 |
1 |
0 |
VLX uses |
Total |
63 |
50 |
12 |
+ 1 known limitation (Bug 27 — AutoIT false positive) |
Key Validation Results¶
Platform/VM |
VLX Mode |
Source Mode |
AutoIT Validation |
|---|---|---|---|
VM 102 (XP x32) |
✅ 6/6 |
N/A |
✅ Pass |
VM 103 (XP x32) |
✅ 6/6 |
N/A |
✅ Pass |
VM 104 (XP x32) |
✅ 6/6 |
⚠️ Bug 18 |
✅ Pass (VLX) |
VM 108 (W10 x32) |
✅ Works |
⚠️ Bug 18 |
— |
Critical Findings¶
1. progcont VLX/Source Mismatch (Bug 18)
The most significant validation finding is that progcont routing works correctly in VLX mode but is completely absent from source-mode. The VLX was compiled from source that doesn’t exist in the repository. See the progcont Routing section above and Bug 18 for details.
2. NOD Key Name Mismatch (Bug 63)
The VLX writes XRecords under different dictionary key names than the source code checks. Panel drawings have "panel" (VLX) vs "panel_list" (source); site drawings have "site" vs "site_list". Fixed with dual-key reads across 24 files. See NOD Key Architecture for full details.
3. CSVDIAG confirms panel-to-site linkage via XREF INSERTs (CSBsite1.dwg)
Site drawings contain panel drawings as INSERT/XREF blocks (CSB001–CSB022 observed). The panel1 and site1 NOD keys (VLX-only, zero source references) likely store additional linkage metadata. Investigation ongoing.
Resolved GitHub Issues¶
References¶
Legacy Architecture Doc — Complete PB11-00x32 architecture map (menu structure, all dialog trees, field inventories)
26-v360-source-recovery.md — v3.60 source recovery procedure
29-tb11-01x64-architecture.md — x64 build architecture (AutoCAD/nanoCAD fork, Wow6432Node)
31-comprehensive-workflow-analysis.md — Complete workflow analysis, DFMEA, progcont Section 3.1a
32-tb11-bug-tracker.md — Bug tracker (63 bugs, including Bug 18 progcont routing, Bug 63 NOD key mismatch)
06-testing-validation.md — Testing and validation strategy
10-milestones-dashboard.md — Project milestones and status
scripts/Configure-ConstructiVision.ps1— Auto-configuration script (source)