@mlightcad/graphic-interface 3.5.4 → 3.5.6

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.
@@ -1 +1 @@
1
- (function(s,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("@mlightcad/geometry-engine")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/geometry-engine"],t):(s=typeof globalThis<"u"?globalThis:s||self,t(s["graphic-interface"]={},s.geometryEngine))})(this,function(s,t){"use strict";var I=(e=>(e.ClosedFilled="",e.Dot="_DOT",e.DotSmall="_DOTSMALL",e.DotBlank="_DOTBLANK",e.Origin="_ORIGIN",e.Origin2="_ORIGIN2",e.Open="_OPEN",e.Open90="_OPEN90",e.Open30="_OPEN30",e.Closed="_CLOSED",e.Small="_SMALL",e.None="_NONE",e.Oblique="_OBLIQUE",e.BoxFilled="_BOXFILLED",e.Box="_BOXBLANK",e.ClosedBlank="_CLOSEDBLANK",e.DatumBlank="_DATUMBLANK",e.DatumFilled="_DATUMFILLED",e.Integral="_INTEGRAL",e.ArchTick="_ARCHTICK",e))(I||{}),O=(e=>(e[e.ByBlock=-2]="ByBlock",e[e.ByDIPs=-4]="ByDIPs",e[e.ByLayer=-1]="ByLayer",e[e.ByLineWeightDefault=-3]="ByLineWeightDefault",e[e.LineWeight000=0]="LineWeight000",e[e.LineWeight005=5]="LineWeight005",e[e.LineWeight009=9]="LineWeight009",e[e.LineWeight013=13]="LineWeight013",e[e.LineWeight015=15]="LineWeight015",e[e.LineWeight018=18]="LineWeight018",e[e.LineWeight020=20]="LineWeight020",e[e.LineWeight025=25]="LineWeight025",e[e.LineWeight030=30]="LineWeight030",e[e.LineWeight035=35]="LineWeight035",e[e.LineWeight040=40]="LineWeight040",e[e.LineWeight050=50]="LineWeight050",e[e.LineWeight053=53]="LineWeight053",e[e.LineWeight060=60]="LineWeight060",e[e.LineWeight070=70]="LineWeight070",e[e.LineWeight080=80]="LineWeight080",e[e.LineWeight090=90]="LineWeight090",e[e.LineWeight100=100]="LineWeight100",e[e.LineWeight106=106]="LineWeight106",e[e.LineWeight120=120]="LineWeight120",e[e.LineWeight140=140]="LineWeight140",e[e.LineWeight158=158]="LineWeight158",e[e.LineWeight200=200]="LineWeight200",e[e.LineWeight211=211]="LineWeight211",e))(O||{}),u=(e=>(e[e.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",e[e.RIGHT_TO_LEFT=2]="RIGHT_TO_LEFT",e[e.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",e[e.BOTTOM_TO_TOP=4]="BOTTOM_TO_TOP",e[e.BY_STYLE=5]="BY_STYLE",e))(u||{}),B=(e=>(e[e.TopLeft=1]="TopLeft",e[e.TopCenter=2]="TopCenter",e[e.TopRight=3]="TopRight",e[e.MiddleLeft=4]="MiddleLeft",e[e.MiddleCenter=5]="MiddleCenter",e[e.MiddleRight=6]="MiddleRight",e[e.BottomLeft=7]="BottomLeft",e[e.BottomCenter=8]="BottomCenter",e[e.BottomRight=9]="BottomRight",e[e.BaselineLeft=10]="BaselineLeft",e[e.BaselineCenter=11]="BaselineCenter",e[e.BaselineRight=12]="BaselineRight",e))(B||{}),n=(e=>(e[e.OPTIMIZED_2D=0]="OPTIMIZED_2D",e[e.WIREFRAME=1]="WIREFRAME",e[e.HIDDEN_LINE=2]="HIDDEN_LINE",e[e.FLAT_SHADED=3]="FLAT_SHADED",e[e.GOURAUD_SHADED=4]="GOURAUD_SHADED",e[e.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",e[e.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",e))(n||{}),d=(e=>(e[e.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",e[e.TOP=1]="TOP",e[e.BOTTOM=2]="BOTTOM",e[e.FRONT=3]="FRONT",e[e.BACK=4]="BACK",e[e.LEFT=5]="LEFT",e[e.RIGHT=6]="RIGHT",e))(d||{}),E=(e=>(e[e.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",e[e.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",e))(E||{});class h{constructor(){this._number=-1,this._id="",this._groupId="",this._centerPoint=new t.AcGePoint3d,this._height=0,this._width=0,this._viewCenter=new t.AcGePoint3d,this._viewHeight=0}get number(){return this._number}set number(_){this._number=_}get id(){return this._id}set id(_){this._id=_}get groupId(){return this._groupId}set groupId(_){this._groupId=_}get centerPoint(){return this._centerPoint}set centerPoint(_){this._centerPoint.copy(_)}get height(){return this._height}set height(_){this._height=_}get width(){return this._width}set width(_){this._width=_}get box(){const _=new t.AcGeBox2d;return _.setFromCenterAndSize(this.centerPoint,{x:this.width,y:this.height}),_}get viewCenter(){return this._viewCenter}set viewCenter(_){this._viewCenter.copy(_)}get viewHeight(){return this._viewHeight}set viewHeight(_){this._viewHeight=_}get viewWidth(){return this.viewHeight*(this.width/this.height)}get viewBox(){const _=new t.AcGeBox2d;return _.setFromCenterAndSize(this.viewCenter,{x:this.viewWidth,y:this.viewHeight}),_}clone(){const _=new h;return _.id=this.id,_.groupId=this.groupId,_.number=this.number,_.centerPoint.copy(this.centerPoint),_.height=this.height,_.width=this.width,_.viewCenter.copy(this.viewCenter),_.viewHeight=this.viewHeight,_}copy(_){return this.id=_.id,this.groupId=_.groupId,this.number=_.number,this.centerPoint.copy(_.centerPoint),this.height=_.height,this.width=_.width,this.viewCenter.copy(_.viewCenter),this.viewHeight=_.viewHeight,this}}s.AcGiArrowType=I,s.AcGiDefaultLightingType=E,s.AcGiLineWeight=O,s.AcGiMTextAttachmentPoint=B,s.AcGiMTextFlowDirection=u,s.AcGiOrthographicType=d,s.AcGiRenderMode=n,s.AcGiViewport=h,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
1
+ (function(n,_){typeof exports=="object"&&typeof module<"u"?_(exports,require("@mlightcad/geometry-engine")):typeof define=="function"&&define.amd?define(["exports","@mlightcad/geometry-engine"],_):(n=typeof globalThis<"u"?globalThis:n||self,_(n["graphic-interface"]={},n.geometryEngine))})(this,function(n,_){"use strict";var d=(t=>(t.ClosedFilled="",t.Dot="_DOT",t.DotSmall="_DOTSMALL",t.DotBlank="_DOTBLANK",t.Origin="_ORIGIN",t.Origin2="_ORIGIN2",t.Open="_OPEN",t.Open90="_OPEN90",t.Open30="_OPEN30",t.Closed="_CLOSED",t.Small="_SMALL",t.None="_NONE",t.Oblique="_OBLIQUE",t.BoxFilled="_BOXFILLED",t.Box="_BOXBLANK",t.ClosedBlank="_CLOSEDBLANK",t.DatumBlank="_DATUMBLANK",t.DatumFilled="_DATUMFILLED",t.Integral="_INTEGRAL",t.ArchTick="_ARCHTICK",t))(d||{}),h=(t=>(t[t.ByBlock=-2]="ByBlock",t[t.ByDIPs=-4]="ByDIPs",t[t.ByLayer=-1]="ByLayer",t[t.ByLineWeightDefault=-3]="ByLineWeightDefault",t[t.LineWeight000=0]="LineWeight000",t[t.LineWeight005=5]="LineWeight005",t[t.LineWeight009=9]="LineWeight009",t[t.LineWeight013=13]="LineWeight013",t[t.LineWeight015=15]="LineWeight015",t[t.LineWeight018=18]="LineWeight018",t[t.LineWeight020=20]="LineWeight020",t[t.LineWeight025=25]="LineWeight025",t[t.LineWeight030=30]="LineWeight030",t[t.LineWeight035=35]="LineWeight035",t[t.LineWeight040=40]="LineWeight040",t[t.LineWeight050=50]="LineWeight050",t[t.LineWeight053=53]="LineWeight053",t[t.LineWeight060=60]="LineWeight060",t[t.LineWeight070=70]="LineWeight070",t[t.LineWeight080=80]="LineWeight080",t[t.LineWeight090=90]="LineWeight090",t[t.LineWeight100=100]="LineWeight100",t[t.LineWeight106=106]="LineWeight106",t[t.LineWeight120=120]="LineWeight120",t[t.LineWeight140=140]="LineWeight140",t[t.LineWeight158=158]="LineWeight158",t[t.LineWeight200=200]="LineWeight200",t[t.LineWeight211=211]="LineWeight211",t))(h||{});class s{constructor(e={}){this.database=e.database,this.foregroundOnDark=e.foregroundOnDark??u,this.foregroundOnLight=e.foregroundOnLight??g,this.backgroundIsDark=e.backgroundIsDark??!0,this.fallbackRgb=e.fallbackRgb??16777215}resolveSubEntityTraitsRgb(e){const r=e.color;return r.isForeground?this.backgroundIsDark?this.foregroundOnDark:this.foregroundOnLight:r.isByLayer||r.isByBlock?this.fallbackRgb??16777215:r.RGB??this.fallbackRgb??16777215}static fromBackgroundColor(e=I,r){return new s({database:r,foregroundOnDark:u,foregroundOnLight:g,backgroundIsDark:!o(e),fallbackRgb:16777215})}}const I=0,u=16777215,g=0,l=16777215,R=128,L=new s({database:void 0,foregroundOnDark:u,foregroundOnLight:g,backgroundIsDark:!0,fallbackRgb:16777215});function o(t){const e=t>>16&255,r=t>>8&255,T=t&255;return .299*e+.587*r+.114*T>R}function H(t){const e=s.fromBackgroundColor(t);return e.backgroundIsDark?e.foregroundOnDark:e.foregroundOnLight}function b(t){return t?g:u}function f(t,e){return s.fromBackgroundColor(e).resolveSubEntityTraitsRgb(t)}var E=(t=>(t[t.LEFT_TO_RIGHT=1]="LEFT_TO_RIGHT",t[t.RIGHT_TO_LEFT=2]="RIGHT_TO_LEFT",t[t.TOP_TO_BOTTOM=3]="TOP_TO_BOTTOM",t[t.BOTTOM_TO_TOP=4]="BOTTOM_TO_TOP",t[t.BY_STYLE=5]="BY_STYLE",t))(E||{}),D=(t=>(t[t.TopLeft=1]="TopLeft",t[t.TopCenter=2]="TopCenter",t[t.TopRight=3]="TopRight",t[t.MiddleLeft=4]="MiddleLeft",t[t.MiddleCenter=5]="MiddleCenter",t[t.MiddleRight=6]="MiddleRight",t[t.BottomLeft=7]="BottomLeft",t[t.BottomCenter=8]="BottomCenter",t[t.BottomRight=9]="BottomRight",t[t.BaselineLeft=10]="BaselineLeft",t[t.BaselineCenter=11]="BaselineCenter",t[t.BaselineRight=12]="BaselineRight",t))(D||{}),B=(t=>(t[t.OPTIMIZED_2D=0]="OPTIMIZED_2D",t[t.WIREFRAME=1]="WIREFRAME",t[t.HIDDEN_LINE=2]="HIDDEN_LINE",t[t.FLAT_SHADED=3]="FLAT_SHADED",t[t.GOURAUD_SHADED=4]="GOURAUD_SHADED",t[t.FLAT_SHADED_WITH_WIREFRAME=5]="FLAT_SHADED_WITH_WIREFRAME",t[t.GOURAUD_SHADED_WITH_WIREFRAME=6]="GOURAUD_SHADED_WITH_WIREFRAME",t))(B||{}),a=(t=>(t[t.NON_ORTHOGRAPHIC=0]="NON_ORTHOGRAPHIC",t[t.TOP=1]="TOP",t[t.BOTTOM=2]="BOTTOM",t[t.FRONT=3]="FRONT",t[t.BACK=4]="BACK",t[t.LEFT=5]="LEFT",t[t.RIGHT=6]="RIGHT",t))(a||{}),C=(t=>(t[t.ONE_DISTANT_LIGHT=0]="ONE_DISTANT_LIGHT",t[t.TWO_DISTANT_LIGHTS=1]="TWO_DISTANT_LIGHTS",t))(C||{});class O{constructor(){this._number=-1,this._id="",this._groupId="",this._centerPoint=new _.AcGePoint3d,this._height=0,this._width=0,this._viewCenter=new _.AcGePoint3d,this._viewHeight=0}get number(){return this._number}set number(e){this._number=e}get id(){return this._id}set id(e){this._id=e}get groupId(){return this._groupId}set groupId(e){this._groupId=e}get centerPoint(){return this._centerPoint}set centerPoint(e){this._centerPoint.copy(e)}get height(){return this._height}set height(e){this._height=e}get width(){return this._width}set width(e){this._width=e}get box(){const e=new _.AcGeBox2d;return e.setFromCenterAndSize(this.centerPoint,{x:this.width,y:this.height}),e}get viewCenter(){return this._viewCenter}set viewCenter(e){this._viewCenter.copy(e)}get viewHeight(){return this._viewHeight}set viewHeight(e){this._viewHeight=e}get viewWidth(){return this.viewHeight*(this.width/this.height)}get viewBox(){const e=new _.AcGeBox2d;return e.setFromCenterAndSize(this.viewCenter,{x:this.viewWidth,y:this.viewHeight}),e}clone(){const e=new O;return e.id=this.id,e.groupId=this.groupId,e.number=this.number,e.centerPoint.copy(this.centerPoint),e.height=this.height,e.width=this.width,e.viewCenter.copy(this.viewCenter),e.viewHeight=this.viewHeight,e}copy(e){return this.id=e.id,this.groupId=e.groupId,this.number=e.number,this.centerPoint.copy(e.centerPoint),this.height=e.height,this.width=e.width,this.viewCenter.copy(e.viewCenter),this.viewHeight=e.viewHeight,this}}n.ACGI_DARK_THEME_FOREGROUND=u,n.ACGI_LIGHT_THEME_FOREGROUND=g,n.ACGI_MODEL_SPACE_BACKGROUND=I,n.ACGI_PAPER_SPACE_BACKGROUND=l,n.AcGiArrowType=d,n.AcGiContext=s,n.AcGiDefaultLightingType=C,n.AcGiLineWeight=h,n.AcGiMTextAttachmentPoint=D,n.AcGiMTextFlowDirection=E,n.AcGiOrthographicType=a,n.AcGiRenderMode=B,n.AcGiViewport=O,n.DEFAULT_ACGI_CONTEXT=L,n.acgiContrastingForegroundColor=b,n.acgiForegroundColorForBackground=H,n.acgiIsLightBackground=o,n.acgiResolveSubEntityTraitsRgbFromBackground=f,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
@@ -0,0 +1,73 @@
1
+ import { AcGiSubEntityTraits } from './AcGiSubEntityTraits';
2
+ export interface AcGiContextOptions {
3
+ /**
4
+ * Database being drawn. Runtime type is `AcDbDatabase` (data-model); typed as
5
+ * `unknown` here so graphic-interface does not depend on data-model.
6
+ */
7
+ database?: unknown;
8
+ /** RGB used when the resolved color is foreground (ACI 7) on a dark background. */
9
+ foregroundOnDark?: number;
10
+ /** RGB used when the resolved color is foreground (ACI 7) on a light background. */
11
+ foregroundOnLight?: number;
12
+ /** Whether the current draw background is dark. */
13
+ backgroundIsDark?: boolean;
14
+ /** Fallback RGB when the resolved color has no concrete RGB value. */
15
+ fallbackRgb?: number;
16
+ }
17
+ /**
18
+ * Draw-time context used to resolve semantic entity colors into pixel RGB values.
19
+ *
20
+ * ACI 7 (foreground / contrast color) depends on the current background, so RGB
21
+ * resolution must happen in the renderer with this context rather than on traits.
22
+ */
23
+ export declare class AcGiContext {
24
+ /**
25
+ * Database being drawn. Runtime type is `AcDbDatabase` (data-model); typed as
26
+ * `unknown` here so graphic-interface does not depend on data-model.
27
+ */
28
+ database: unknown;
29
+ /** RGB used when the resolved color is foreground (ACI 7) on a dark background. */
30
+ foregroundOnDark: number;
31
+ /** RGB used when the resolved color is foreground (ACI 7) on a light background. */
32
+ foregroundOnLight: number;
33
+ /** Whether the current draw background is dark. */
34
+ backgroundIsDark: boolean;
35
+ /** Fallback RGB when the resolved color has no concrete RGB value. */
36
+ fallbackRgb?: number;
37
+ constructor(options?: AcGiContextOptions);
38
+ /**
39
+ * Resolves {@link AcGiSubEntityTraits.color} to a pixel RGB value.
40
+ */
41
+ resolveSubEntityTraitsRgb(traits: AcGiSubEntityTraits): number;
42
+ /**
43
+ * Creates a draw-time context from the current canvas background colour.
44
+ */
45
+ static fromBackgroundColor(backgroundColor?: number, database?: unknown): AcGiContext;
46
+ }
47
+ /** AutoCAD model-space default background: RGB(0, 0, 0). */
48
+ export declare const ACGI_MODEL_SPACE_BACKGROUND = 0;
49
+ /** ACI-7 foreground on a dark canvas background. */
50
+ export declare const ACGI_DARK_THEME_FOREGROUND = 16777215;
51
+ /** ACI-7 foreground on a light canvas background. */
52
+ export declare const ACGI_LIGHT_THEME_FOREGROUND = 0;
53
+ /** AutoCAD paper-space default background: RGB(255, 255, 255). */
54
+ export declare const ACGI_PAPER_SPACE_BACKGROUND = 16777215;
55
+ /** Default draw context matching a dark AutoCAD model-space background. */
56
+ export declare const DEFAULT_ACGI_CONTEXT: AcGiContext;
57
+ /**
58
+ * Whether a packed RGB colour is perceptually light (paper-like).
59
+ */
60
+ export declare function acgiIsLightBackground(color: number): boolean;
61
+ /**
62
+ * ACI-7 foreground that contrasts with the canvas background.
63
+ */
64
+ export declare function acgiForegroundColorForBackground(backgroundColor: number): number;
65
+ /**
66
+ * ACI-7 foreground that contrasts with a light or dark UI theme flag.
67
+ */
68
+ export declare function acgiContrastingForegroundColor(isLight: boolean): number;
69
+ /**
70
+ * Convenience wrapper when only the canvas background is available.
71
+ */
72
+ export declare function acgiResolveSubEntityTraitsRgbFromBackground(traits: AcGiSubEntityTraits, backgroundColor: number): number;
73
+ //# sourceMappingURL=AcGiContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGiContext.d.ts","sourceRoot":"","sources":["../src/AcGiContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,oFAAoF;IACpF,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mDAAmD;IACnD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;GAKG;AACH,qBAAa,WAAW;IACtB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB,mFAAmF;IACnF,gBAAgB,EAAE,MAAM,CAAA;IACxB,oFAAoF;IACpF,iBAAiB,EAAE,MAAM,CAAA;IACzB,mDAAmD;IACnD,gBAAgB,EAAE,OAAO,CAAA;IACzB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;gBAER,OAAO,GAAE,kBAAuB;IAU5C;;OAEG;IACH,yBAAyB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM;IAa9D;;OAEG;IACH,MAAM,CAAC,mBAAmB,CACxB,eAAe,GAAE,MAAoC,EACrD,QAAQ,CAAC,EAAE,OAAO,GACjB,WAAW;CASf;AAED,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,IAAW,CAAA;AAEnD,oDAAoD;AACpD,eAAO,MAAM,0BAA0B,WAAW,CAAA;AAElD,qDAAqD;AACrD,eAAO,MAAM,2BAA2B,IAAW,CAAA;AAEnD,kEAAkE;AAClE,eAAO,MAAM,2BAA2B,WAAW,CAAA;AAKnD,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,aAM/B,CAAA;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAO5D;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,eAAe,EAAE,MAAM,GACtB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAEvE;AAED;;GAEG;AACH,wBAAgB,2CAA2C,CACzD,MAAM,EAAE,mBAAmB,EAC3B,eAAe,EAAE,MAAM,GACtB,MAAM,CAIR"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Draw-time context used to resolve semantic entity colors into pixel RGB values.
3
+ *
4
+ * ACI 7 (foreground / contrast color) depends on the current background, so RGB
5
+ * resolution must happen in the renderer with this context rather than on traits.
6
+ */
7
+ var AcGiContext = /** @class */ (function () {
8
+ function AcGiContext(options) {
9
+ if (options === void 0) { options = {}; }
10
+ var _a, _b, _c, _d;
11
+ this.database = options.database;
12
+ this.foregroundOnDark =
13
+ (_a = options.foregroundOnDark) !== null && _a !== void 0 ? _a : ACGI_DARK_THEME_FOREGROUND;
14
+ this.foregroundOnLight =
15
+ (_b = options.foregroundOnLight) !== null && _b !== void 0 ? _b : ACGI_LIGHT_THEME_FOREGROUND;
16
+ this.backgroundIsDark = (_c = options.backgroundIsDark) !== null && _c !== void 0 ? _c : true;
17
+ this.fallbackRgb = (_d = options.fallbackRgb) !== null && _d !== void 0 ? _d : 0xffffff;
18
+ }
19
+ /**
20
+ * Resolves {@link AcGiSubEntityTraits.color} to a pixel RGB value.
21
+ */
22
+ AcGiContext.prototype.resolveSubEntityTraitsRgb = function (traits) {
23
+ var _a, _b, _c;
24
+ var color = traits.color;
25
+ if (color.isForeground) {
26
+ return this.backgroundIsDark
27
+ ? this.foregroundOnDark
28
+ : this.foregroundOnLight;
29
+ }
30
+ if (color.isByLayer || color.isByBlock) {
31
+ return (_a = this.fallbackRgb) !== null && _a !== void 0 ? _a : 0xffffff;
32
+ }
33
+ return (_c = (_b = color.RGB) !== null && _b !== void 0 ? _b : this.fallbackRgb) !== null && _c !== void 0 ? _c : 0xffffff;
34
+ };
35
+ /**
36
+ * Creates a draw-time context from the current canvas background colour.
37
+ */
38
+ AcGiContext.fromBackgroundColor = function (backgroundColor, database) {
39
+ if (backgroundColor === void 0) { backgroundColor = ACGI_MODEL_SPACE_BACKGROUND; }
40
+ return new AcGiContext({
41
+ database: database,
42
+ foregroundOnDark: ACGI_DARK_THEME_FOREGROUND,
43
+ foregroundOnLight: ACGI_LIGHT_THEME_FOREGROUND,
44
+ backgroundIsDark: !acgiIsLightBackground(backgroundColor),
45
+ fallbackRgb: 0xffffff
46
+ });
47
+ };
48
+ return AcGiContext;
49
+ }());
50
+ export { AcGiContext };
51
+ /** AutoCAD model-space default background: RGB(0, 0, 0). */
52
+ export var ACGI_MODEL_SPACE_BACKGROUND = 0x000000;
53
+ /** ACI-7 foreground on a dark canvas background. */
54
+ export var ACGI_DARK_THEME_FOREGROUND = 0xffffff;
55
+ /** ACI-7 foreground on a light canvas background. */
56
+ export var ACGI_LIGHT_THEME_FOREGROUND = 0x000000;
57
+ /** AutoCAD paper-space default background: RGB(255, 255, 255). */
58
+ export var ACGI_PAPER_SPACE_BACKGROUND = 0xffffff;
59
+ /** ITU-R BT.601 luma threshold used by {@link acgiIsLightBackground}. */
60
+ var ACGI_LIGHT_BACKGROUND_LUMA_THRESHOLD = 128;
61
+ /** Default draw context matching a dark AutoCAD model-space background. */
62
+ export var DEFAULT_ACGI_CONTEXT = new AcGiContext({
63
+ database: undefined,
64
+ foregroundOnDark: ACGI_DARK_THEME_FOREGROUND,
65
+ foregroundOnLight: ACGI_LIGHT_THEME_FOREGROUND,
66
+ backgroundIsDark: true,
67
+ fallbackRgb: 0xffffff
68
+ });
69
+ /**
70
+ * Whether a packed RGB colour is perceptually light (paper-like).
71
+ */
72
+ export function acgiIsLightBackground(color) {
73
+ var r = (color >> 16) & 0xff;
74
+ var g = (color >> 8) & 0xff;
75
+ var b = color & 0xff;
76
+ return (0.299 * r + 0.587 * g + 0.114 * b > ACGI_LIGHT_BACKGROUND_LUMA_THRESHOLD);
77
+ }
78
+ /**
79
+ * ACI-7 foreground that contrasts with the canvas background.
80
+ */
81
+ export function acgiForegroundColorForBackground(backgroundColor) {
82
+ var context = AcGiContext.fromBackgroundColor(backgroundColor);
83
+ return context.backgroundIsDark
84
+ ? context.foregroundOnDark
85
+ : context.foregroundOnLight;
86
+ }
87
+ /**
88
+ * ACI-7 foreground that contrasts with a light or dark UI theme flag.
89
+ */
90
+ export function acgiContrastingForegroundColor(isLight) {
91
+ return isLight ? ACGI_LIGHT_THEME_FOREGROUND : ACGI_DARK_THEME_FOREGROUND;
92
+ }
93
+ /**
94
+ * Convenience wrapper when only the canvas background is available.
95
+ */
96
+ export function acgiResolveSubEntityTraitsRgbFromBackground(traits, backgroundColor) {
97
+ return AcGiContext.fromBackgroundColor(backgroundColor).resolveSubEntityTraitsRgb(traits);
98
+ }
99
+ //# sourceMappingURL=AcGiContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcGiContext.js","sourceRoot":"","sources":["../src/AcGiContext.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { AcGeArea2d, AcGeCircArc3d, AcGeEllipseArc3d, AcGePoint3d, AcGePoint3dLike } from '@mlightcad/geometry-engine';
2
+ import { AcGiContext } from './AcGiContext';
2
3
  import { AcGiEntity } from './AcGiEntity';
3
4
  import { AcGiImageStyle } from './AcGiImageStyle';
4
5
  import { AcGiPointStyle } from './AcGiPointStyle';
@@ -17,6 +18,11 @@ export interface AcGiRenderer<T extends AcGiEntity = AcGiEntity> {
17
18
  * (color, layer, linetype, etc.) settings of the current geometry.
18
19
  */
19
20
  get subEntityTraits(): AcGiSubEntityTraits;
21
+ /**
22
+ * Draw-time context for resolving semantic trait colors (for example ACI 7
23
+ * foreground) into pixel RGB values.
24
+ */
25
+ get context(): AcGiContext;
20
26
  /**
21
27
  * Create one group
22
28
  * @param entities Input entities to group together
@@ -79,11 +85,14 @@ export interface AcGiRenderer<T extends AcGiEntity = AcGiEntity> {
79
85
  * Draw one SHX shape glyph.
80
86
  *
81
87
  * @param shape Shape placement and glyph identity
82
- * @param style Text style that references the SHX shape font
88
+ * @param style Optional text style that references the SHX shape font. When omitted,
89
+ * `null`, or `undefined`, the renderer resolves the glyph by collecting every shape
90
+ * definition file from the text style table and searching them for the shape specified
91
+ * in {@link shape}.
83
92
  * @param delay When true, the renderer may defer heavy work and return a placeholder
84
93
  * @returns Rendered entity for the scene graph
85
94
  */
86
- shape(shape: AcGiShapeData, style: AcGiTextStyle, delay?: boolean): T;
95
+ shape(shape: AcGiShapeData, style?: AcGiTextStyle, delay?: boolean): T;
87
96
  /**
88
97
  * Draw image
89
98
  * @param blob Input Blob instance of one image file
@@ -1 +1 @@
1
- {"version":3,"file":"AcGiRenderer.d.ts","sourceRoot":"","sources":["../src/AcGiRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,eAAe,EAChB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE9D;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEpD,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC7D;;;OAGG;IACH,IAAI,eAAe,IAAI,mBAAmB,CAAA;IAE1C;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IAEvB;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,CAAC,CAAA;IAEnD;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,CAAC,CAAA;IAElC;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,CAAC,CAAA;IAE9C;;;;OAIG;IACH,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;IAEnC;;;;;;;;;OASG;IACH,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,CAAC,CAAA;IAE5E;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAA;IAEzB;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAA;IAErE;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAA;IAErE;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,GAAG,CAAC,CAAA;IAE3C;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;CAC/C"}
1
+ {"version":3,"file":"AcGiRenderer.d.ts","sourceRoot":"","sources":["../src/AcGiRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,eAAe,EAChB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE9D;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEpD,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU;IAC7D;;;OAGG;IACH,IAAI,eAAe,IAAI,mBAAmB,CAAA;IAE1C;;;OAGG;IACH,IAAI,OAAO,IAAI,WAAW,CAAA;IAE1B;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IAEvB;;;;;OAKG;IACH,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,CAAC,CAAA;IAEnD;;;;OAIG;IACH,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,CAAC,CAAA;IAElC;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,CAAC,CAAA;IAE9C;;;;OAIG;IACH,KAAK,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,CAAC,CAAA;IAEnC;;;;;;;;;OASG;IACH,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,CAAC,CAAA;IAE5E;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAA;IAEzB;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAA;IAErE;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,CAAC,CAAA;IAEtE;;;;;OAKG;IACH,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,GAAG,CAAC,CAAA;IAE3C;;;OAGG;IACH,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAA;CAC/C"}
@@ -8,13 +8,10 @@ import { AcGiLineWeight } from './AcGiLineWeight';
8
8
  */
9
9
  export interface AcGiSubEntityTraits {
10
10
  /**
11
- * The RGB color.
12
- * It resolves layer colors and block colors as needed and converts color index
13
- * to actual RGB color.
14
- */
15
- rgbColor: number;
16
- /**
17
- * Color of the entity.
11
+ * Resolved semantic color of the sub-entity.
12
+ *
13
+ * Use {@link AcGiContext.resolveSubEntityTraitsRgb} with {@link AcGiRenderer.context}
14
+ * to obtain the pixel RGB value at draw time (including ACI 7 foreground handling).
18
15
  */
19
16
  color: AcCmColor;
20
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"AcGiSubEntityTraits.d.ts","sourceRoot":"","sources":["../src/AcGiSubEntityTraits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAA;IAEhB;;;OAGG;IACH,QAAQ,EAAE,aAAa,CAAA;IAEvB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,UAAU,EAAE,cAAc,CAAA;IAE1B;;;;OAIG;IACH,QAAQ,EAAE,cAAc,CAAA;IAExB;;;OAGG;IACH,YAAY,EAAE,gBAAgB,CAAA;IAE9B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;;;;;;OAQG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB"}
1
+ {"version":3,"file":"AcGiSubEntityTraits.d.ts","sourceRoot":"","sources":["../src/AcGiSubEntityTraits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,KAAK,EAAE,SAAS,CAAA;IAEhB;;;OAGG;IACH,QAAQ,EAAE,aAAa,CAAA;IAEvB;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,UAAU,EAAE,cAAc,CAAA;IAE1B;;;;OAIG;IACH,QAAQ,EAAE,cAAc,CAAA;IAExB;;;OAGG;IACH,YAAY,EAAE,gBAAgB,CAAA;IAE9B;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;;;;;;OAQG;IACH,SAAS,EAAE,MAAM,CAAA;CAClB"}
package/lib/index.d.ts CHANGED
@@ -5,6 +5,8 @@ export type { AcGiImageStyle } from './AcGiImageStyle';
5
5
  export type { AcGiArrowStyle, AcGiBaseLineStyle, AcGiLineStyle, AcGiLineTypePatternElement } from './AcGiLineStyle';
6
6
  export { AcGiLineWeight } from './AcGiLineWeight';
7
7
  export type { AcGiPointStyle } from './AcGiPointStyle';
8
+ export { ACGI_DARK_THEME_FOREGROUND, ACGI_LIGHT_THEME_FOREGROUND, ACGI_MODEL_SPACE_BACKGROUND, ACGI_PAPER_SPACE_BACKGROUND, AcGiContext, DEFAULT_ACGI_CONTEXT, acgiContrastingForegroundColor, acgiForegroundColorForBackground, acgiIsLightBackground, acgiResolveSubEntityTraitsRgbFromBackground } from './AcGiContext';
9
+ export type { AcGiContextOptions } from './AcGiContext';
8
10
  export type { AcGiFontMapping, AcGiRenderer } from './AcGiRenderer';
9
11
  export type { AcGiShapeData } from './AcGiShapeData';
10
12
  export type { AcGiStyleType } from './AcGiStyleType';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACf,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC3B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACf,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACf,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,0BAA0B,EAC3B,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,WAAW,EACX,oBAAoB,EACpB,8BAA8B,EAC9B,gCAAgC,EAChC,qBAAqB,EACrB,2CAA2C,EAC5C,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AACvD,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AACxB,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACf,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
package/lib/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { AcGiArrowType } from './AcGiArrowType';
2
2
  export { AcGiLineWeight } from './AcGiLineWeight';
3
+ export { ACGI_DARK_THEME_FOREGROUND, ACGI_LIGHT_THEME_FOREGROUND, ACGI_MODEL_SPACE_BACKGROUND, ACGI_PAPER_SPACE_BACKGROUND, AcGiContext, DEFAULT_ACGI_CONTEXT, acgiContrastingForegroundColor, acgiForegroundColorForBackground, acgiIsLightBackground, acgiResolveSubEntityTraitsRgbFromBackground } from './AcGiContext';
3
4
  export { AcGiMTextAttachmentPoint, AcGiMTextFlowDirection } from './AcGiTextStyle';
4
5
  export { AcGiDefaultLightingType, AcGiOrthographicType, AcGiRenderMode } from './AcGiView';
5
6
  export { AcGiViewport } from './AcGiViewport';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAc/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAMjD,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACf,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAc/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,WAAW,EACX,oBAAoB,EACpB,8BAA8B,EAC9B,gCAAgC,EAChC,qBAAqB,EACrB,2CAA2C,EAC5C,MAAM,eAAe,CAAA;AAMtB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACf,MAAM,YAAY,CAAA;AAEnB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mlightcad/graphic-interface",
3
- "version": "3.5.4",
3
+ "version": "3.5.6",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "repository": {
@@ -33,8 +33,8 @@
33
33
  "require": "./dist/graphic-interface.umd.cjs"
34
34
  },
35
35
  "peerDependencies": {
36
- "@mlightcad/geometry-engine": "3.4.4",
37
- "@mlightcad/common": "1.6.4"
36
+ "@mlightcad/common": "1.6.6",
37
+ "@mlightcad/geometry-engine": "3.4.6"
38
38
  },
39
39
  "scripts": {
40
40
  "clean": "rimraf dist lib tsconfig.tsbuildinfo",