v3.60 Source Recovery — Missing Dependency Fix

Date: February 16, 2026
Status: ✅ Complete
Build: TB11-01x32 (supersedes PB11-00x32)
Source: Recovered from src/x86/v3_60/ legacy source archive


Summary

ConstructiVision v11 (src/PB11-00x32/) shipped with 12 missing AutoLISP modules and their associated DCL dialogs, causing 3 crash paths and 12 silent load failures at startup. All missing source files were recovered from the v3.60 codebase (src/x86/v3_60/) and merged into the new test build src/TB11-01x32/.

This increases the build from 134 files (84 .lsp, 33 .dcl) to 195 files (126 .lsp, 44 .dcl) — a net gain of 61 files, resolving all known missing-dependency issues documented in constructivision-v11-architecture.md §21.


Problem Statement

The v11 architecture audit (see legacy documentation) identified:

  • 12 .lsp modules listed in csvlst (the startup load list) but absent from the PB11-00x32 build

  • 3 critical crash paths where missing modules caused undefined-function errors

  • 9 silent load failures at startup where (load ...) calls failed for modules with no visible UI trigger

Crash Paths (Before Fix)

Path

Missing File

User Impact

mp_dlg → Standard Opening toggle

wd_dlg.lsp

Checking toggle crashes AutoCAD session

mp_dlg → Weld Connections toggle

wc_dlg.lsp

Checking toggle crashes AutoCAD session

sdwg_dlg → Wall Line button

wall_dlg.lsp

Clicking Wall Line crashes AutoCAD session

Silent Failures (Before Fix)

These 9 modules were loaded at startup via csvlst but had no .lsp file on disk:

weld.lsp, weldconn.lsp, wc_edit.lsp, wcenable.lsp, wclist.lsp, wcpage.lsp, wdenable.lsp, wdpage.lsp, warning.lsp


Resolution

Source Recovery from v3.60

The complete v3.60 source archive (src/x86/v3_60/) contains all 12 missing modules plus 30 additional files that were either removed or never carried forward to the v11 build. All files were imported into the new test build src/TB11-01x32/.

Files Added to TB11-01x32

Recovered Missing Dependencies (12 .lsp — crash/load fixes)

File

Category

Impact

wall_dlg.lsp

Wall Line dialog

Crash fix — sdwg_dlg Wall Line button now functional

wd_dlg.lsp

Standard Opening dialog

Crash fix — mp_dlg Standard Opening toggle now functional

wc_dlg.lsp

Weld Connections dialog

Crash fix — mp_dlg Weld Connections toggle now functional

weld.lsp

Weld drawing logic

Startup load fix

weldconn.lsp

Weld connection logic

Startup load fix

wc_edit.lsp

Weld connection editor

Startup load fix

wcenable.lsp

Weld enable/disable logic

Startup load fix

wclist.lsp

Weld connection list

Startup load fix

wcpage.lsp

Weld connection page handler

Startup load fix

wdenable.lsp

Standard opening enable logic

Startup load fix

wdpage.lsp

Standard opening page handler

Startup load fix

warning.lsp

Overwrite confirmation dialog

Startup load fix — may affect save operations

Additional v3.60 Modules (30 .lsp — feature completeness)

File

Purpose

basedim.lsp

Base dimensioning

bolt.lsp

Bolt connection drawing

drawdimlst.lsp

Dimension list drawing

dreng.lsp

Drawing engineering

drread.lsp

Drawing file reader

drwbas.lsp

Drawing base utilities

editbx.lsp

Edit box helper

elevmrkr.lsp

Elevation marker drawing

engexp.lsp

Engineering export

engimp.lsp

Engineering import

j.lsp

Unknown / utility

lyr_dlg.lsp

Layer management dialog

makepan.LSP

Panel creation

mbeng.lsp

Member engineering

mbread.lsp

Member data reader

native.lsp

Native format handler

nb_dlg.lsp

Notchblock dialog

nbblock.lsp

Notchblock drawing

nbenable.lsp

Notchblock enable logic

okcanhlp.lsp

OK/Cancel/Help dialog helper

pj_name.lsp

Project name handler

pointmap.lsp

Point mapping

project.lsp

Project management

setvars.lsp

Variable initialization

SHOW.LSP

Show/display utility

test.lsp

Testing utility

wcedlst.lsp

Weld connection edit list

wcmod.lsp

Weld connection modification

wsbeng.lsp

Wall/slab/beam engineering

wsbread.lsp

Wall/slab/beam data reader

DCL Dialogs Added (11 .dcl)

File

Associated Module

wall_dlg.dcl

Wall Line dialog UI

wd_dlg.dcl

Standard Opening dialog UI

wc_dlg.dcl

Weld Connections dialog UI

wc_edit.dcl

Weld connection editor UI

warning.dcl

Warning/confirmation dialog UI

dreng_dlg.dcl

Drawing engineering dialog UI

lyr_dlg.dcl

Layer management dialog UI

mbeng_dlg.dcl

Member engineering dialog UI

nb_dlg.dcl

Notchblock dialog UI

process.dcl

Processing/progress dialog UI

wsbeng_dlg.dcl

Wall/slab/beam engineering dialog UI

Other Files Added (8)

File

Purpose

csv.prj

Visual LISP project file

Csv.prv

Visual LISP project variables

SendTo copy.exe

SendTo utility executable

wincss2000.exe

ConstructiVision launcher executable

SHOW.SCR

AutoCAD script — show display

Show1.scr

AutoCAD script — show variant

showstart.scr

AutoCAD script — show startup

WINCSS.REG

Registry configuration file


Build Comparison

Metric

PB11-00x32 (v11)

TB11-01x32 (fixed)

Delta

Total files

134

195

+61

LISP modules (.lsp)

84

126

+42

DCL dialogs (.dcl)

33

44

+11

Other files

17

25

+8

Missing csvlst modules

12

0

-12

Known crash paths

3

0

-3

Silent load failures

9

0

-9


Deployment

The TB11-01x32 build is deployed to test VMs via Git sparse checkout with a nightly auto-pull:

  • Repository: git@github.com:ConstructiVision/ConstructiVision.git

  • Sparse path: src/TB11-01x32

  • Local path: C:\Repos\Constructivision\src\TB11-01x32

  • Junction: C:\Program Files\ConstructiVision → sparse checkout path

  • Nightly task: “ConstructiVision Git Pull” at 22:00 on VMs 108, 109, 201, 202

  • Manual pull: git-pull.bat on each VM desktop

See 06-testing-validation.md § Nightly Build Deployment for full details.


Assumptions and Risks

Assumptions

  1. API compatibility — v3.60 modules are compatible with the v11 runtime. Both versions target AutoCAD 2000 AutoLISP/DCL, so function signatures and global variable contracts should be identical.

  2. No breaking refactors — The 12 missing modules were removed from PB11-00x32 intentionally (likely because weld connections and standard openings were incomplete features), not because they were replaced by something else. The csvlst load list was never updated to remove them.

  3. Additional v3.60 modules are safe — The 30 extra .lsp files beyond the 12 missing dependencies are assumed to be either older versions of existing modules or supplementary features. They should not conflict since AutoLISP functions are globally scoped and later definitions override earlier ones.

  4. Stub functions remain stubsfooting.lsp and column.lsp (both 4-line alert stubs) exist in both PB11 and TB11. These features were never implemented in any version.

  5. Compiled functions unchangedcsvreg and csvtech (compiled into CSV.VLX with no source) are assumed identical between PB11 and TB11 since the same VLX binary is used.

Risks

Risk

Likelihood

Mitigation

v3.60 modules reference globals that v11 renamed

Low

Test all 3 formerly-crashing paths on VM 108

Additional v3.60 modules override v11 improvements

Medium

Compare function names across both sets; v11 loads later and wins

Weld connections / standard openings are incomplete even with source restored

Medium

These were disabled in v11 UI for a reason — test thoroughly before enabling

warning.lsp behavior differs from what v11 callers expect

Low

Test overwrite/save scenarios on all VMs


Validation

Test Paths to Verify

The 3 crash paths from the v11 architecture test matrix must be retested:

Test ID

Path

Expected (Before)

Expected (After)

T-A2-1-WD

mp_dlg → Standard Opening → wd_dlg

⚠️ CRASH

Dialog opens

T-A2-1-WC

mp_dlg → Weld Connections → wc_dlg

⚠️ CRASH

Dialog opens

T-A3x2

sdwg_dlg → Wall Line → wall_dlg

⚠️ CRASH

Dialog opens

Startup Validation

Load the application and confirm no errors in the AutoCAD command line. All 93 modules in csvlst should load without error messages.


References