/** HS_050 / 1_1(typ1): 3mm text and 1mm arrow in the reference. Values below are paper mm. */ export const CAD_STYLE={dimensionText:3.0,elevationText:2.6,text:2.5,tableText:2.5,title:3.0,arrow:1.0,extensionGap:5,extensionOverrun:1,laneGap:9,clearance:1.2,viewGap:7}; export const CAD_LAYERS:Record={STRUCTURE:'CS-CONC-MAJR',HIDDEN:'CS-CONC-REFR-HIDD',CENTER:'CS-XXXXCS-CENT',DIMENSION:'CS-DIML',TEXT:'CS-DIMT',ELEVATION:'CS-DIMT',BEARING:'CS-CONC-MAJR',SECTION:'CS-SYMB',HATCH:'CS-PATT253',FRAME:'CX-BORD-LIN1'}; /** Verified from reference-style-analysis.json; ACI 7 is black on white paper. */ export const REFERENCE_ACI:Record={'CS-CONC-MAJR':4,'CS-CONC-REFR-HIDD':8,'CS-XXXXCS-CENT':1,'CS-DIML':1,'CS-DIMT':3,'CS-SYMB':1,'CS-PATT253':253,'CX-BORD-LIN1':4,'CX-BORD-TEX3':7,'CS-TABL-LIN1':4,'CS-TABL-LIN2':1,'CS-TABL-TEX2':3,'CR-BORE-TEXT':3,'CR-BORE-MISC':1}; export const referenceLayer=(e:{layer:string;kind:string;source:{member:string};cad?:{layer:string}}):string=>{ if(e.cad)return e.cad.layer; if(e.source.member==='bearing-table')return e.kind==='text'?'CS-TABL-TEX2':'CS-TABL-LIN2'; if(e.layer==='FRAME'&&e.kind==='text')return 'CX-BORD-TEX3'; if(e.layer==='DIMENSION'&&e.kind==='text')return 'CS-DIMT'; return CAD_LAYERS[e.layer]??e.layer; }; export const aciPaper=(aci:number):string=>({1:'#ff0000',2:'#ffff00',3:'#00ff00',4:'#00ffff',5:'#0000ff',6:'#ff00ff',7:'#000000',8:'#808080',252:'#666666',253:'#999999',254:'#cccccc'}[aci]??'#000000');