wadi-mcp 0.1.13 → 0.1.19
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.
- package/dist/server.mjs +1381 -719
- package/package.json +1 -1
package/dist/server.mjs
CHANGED
|
@@ -47141,13 +47141,13 @@ var require_react_dom_client_development = __commonJS({
|
|
|
47141
47141
|
"React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue."
|
|
47142
47142
|
);
|
|
47143
47143
|
child._store.validated = 1;
|
|
47144
|
-
var componentName2 = getComponentNameFromFiber(returnFiber),
|
|
47145
|
-
if (!ownerHasKeyUseWarning[
|
|
47146
|
-
ownerHasKeyUseWarning[
|
|
47144
|
+
var componentName2 = getComponentNameFromFiber(returnFiber), componentKey2 = componentName2 || "null";
|
|
47145
|
+
if (!ownerHasKeyUseWarning[componentKey2]) {
|
|
47146
|
+
ownerHasKeyUseWarning[componentKey2] = true;
|
|
47147
47147
|
child = child._owner;
|
|
47148
47148
|
returnFiber = returnFiber._debugOwner;
|
|
47149
47149
|
var currentComponentErrorInfo = "";
|
|
47150
|
-
returnFiber && "number" === typeof returnFiber.tag && (
|
|
47150
|
+
returnFiber && "number" === typeof returnFiber.tag && (componentKey2 = getComponentNameFromFiber(returnFiber)) && (currentComponentErrorInfo = "\n\nCheck the render method of `" + componentKey2 + "`.");
|
|
47151
47151
|
currentComponentErrorInfo || componentName2 && (currentComponentErrorInfo = "\n\nCheck the top-level render call using <" + componentName2 + ">.");
|
|
47152
47152
|
var childOwnerAppendix = "";
|
|
47153
47153
|
null != child && returnFiber !== child && (componentName2 = null, "number" === typeof child.tag ? componentName2 = getComponentNameFromFiber(child) : "string" === typeof child.name && (componentName2 = child.name), componentName2 && (childOwnerAppendix = " It was passed a child from " + componentName2 + "."));
|
|
@@ -369777,6 +369777,21 @@ var Reduction;
|
|
|
369777
369777
|
})(Reduction || (Reduction = {}));
|
|
369778
369778
|
|
|
369779
369779
|
// ../wadi-dsl/node_modules/langium/lib/utils/ast-utils.js
|
|
369780
|
+
var ast_utils_exports = {};
|
|
369781
|
+
__export(ast_utils_exports, {
|
|
369782
|
+
assignMandatoryProperties: () => assignMandatoryProperties,
|
|
369783
|
+
copyAstNode: () => copyAstNode,
|
|
369784
|
+
findRootNode: () => findRootNode,
|
|
369785
|
+
getContainerOfType: () => getContainerOfType,
|
|
369786
|
+
getDocument: () => getDocument,
|
|
369787
|
+
getReferenceNodes: () => getReferenceNodes,
|
|
369788
|
+
hasContainerOfType: () => hasContainerOfType,
|
|
369789
|
+
linkContentToContainer: () => linkContentToContainer,
|
|
369790
|
+
streamAllContents: () => streamAllContents,
|
|
369791
|
+
streamAst: () => streamAst,
|
|
369792
|
+
streamContents: () => streamContents,
|
|
369793
|
+
streamReferences: () => streamReferences
|
|
369794
|
+
});
|
|
369780
369795
|
function linkContentToContainer(node, options = {}) {
|
|
369781
369796
|
for (const [name, value] of Object.entries(node)) {
|
|
369782
369797
|
if (!name.startsWith("$")) {
|
|
@@ -369811,6 +369826,16 @@ function getContainerOfType(node, typePredicate) {
|
|
|
369811
369826
|
}
|
|
369812
369827
|
return void 0;
|
|
369813
369828
|
}
|
|
369829
|
+
function hasContainerOfType(node, predicate) {
|
|
369830
|
+
let item2 = node;
|
|
369831
|
+
while (item2) {
|
|
369832
|
+
if (predicate(item2)) {
|
|
369833
|
+
return true;
|
|
369834
|
+
}
|
|
369835
|
+
item2 = item2.$container;
|
|
369836
|
+
}
|
|
369837
|
+
return false;
|
|
369838
|
+
}
|
|
369814
369839
|
function getDocument(node) {
|
|
369815
369840
|
const rootNode = findRootNode(node);
|
|
369816
369841
|
const result = rootNode.$document;
|
|
@@ -369937,6 +369962,38 @@ function copyDefaultValue(propertyType) {
|
|
|
369937
369962
|
return propertyType;
|
|
369938
369963
|
}
|
|
369939
369964
|
}
|
|
369965
|
+
function copyAstNode(node, buildReference, trace) {
|
|
369966
|
+
const copy = { $type: node.$type };
|
|
369967
|
+
if (trace) {
|
|
369968
|
+
trace.set(node, copy);
|
|
369969
|
+
trace.set(copy, node);
|
|
369970
|
+
}
|
|
369971
|
+
for (const [name, value] of Object.entries(node)) {
|
|
369972
|
+
if (!name.startsWith("$")) {
|
|
369973
|
+
if (isAstNode(value)) {
|
|
369974
|
+
copy[name] = copyAstNode(value, buildReference, trace);
|
|
369975
|
+
} else if (isReference(value)) {
|
|
369976
|
+
copy[name] = buildReference(copy, name, value.$refNode, value.$refText, value);
|
|
369977
|
+
} else if (Array.isArray(value)) {
|
|
369978
|
+
const copiedArray = [];
|
|
369979
|
+
for (const element of value) {
|
|
369980
|
+
if (isAstNode(element)) {
|
|
369981
|
+
copiedArray.push(copyAstNode(element, buildReference, trace));
|
|
369982
|
+
} else if (isReference(element)) {
|
|
369983
|
+
copiedArray.push(buildReference(copy, name, element.$refNode, element.$refText, element));
|
|
369984
|
+
} else {
|
|
369985
|
+
copiedArray.push(element);
|
|
369986
|
+
}
|
|
369987
|
+
}
|
|
369988
|
+
copy[name] = copiedArray;
|
|
369989
|
+
} else {
|
|
369990
|
+
copy[name] = value;
|
|
369991
|
+
}
|
|
369992
|
+
}
|
|
369993
|
+
}
|
|
369994
|
+
linkContentToContainer(copy, { deep: true });
|
|
369995
|
+
return copy;
|
|
369996
|
+
}
|
|
369940
369997
|
|
|
369941
369998
|
// ../wadi-dsl/node_modules/langium/lib/languages/generated/ast.js
|
|
369942
369999
|
var AbstractElement = {
|
|
@@ -384245,6 +384302,46 @@ var StreamScope = class {
|
|
|
384245
384302
|
}
|
|
384246
384303
|
}
|
|
384247
384304
|
};
|
|
384305
|
+
var MapScope = class {
|
|
384306
|
+
constructor(elements, outerScope, options) {
|
|
384307
|
+
this.elements = /* @__PURE__ */ new Map();
|
|
384308
|
+
this.caseInsensitive = options?.caseInsensitive ?? false;
|
|
384309
|
+
this.concatOuterScope = options?.concatOuterScope ?? true;
|
|
384310
|
+
for (const element of elements) {
|
|
384311
|
+
const name = this.caseInsensitive ? element.name.toLowerCase() : element.name;
|
|
384312
|
+
this.elements.set(name, element);
|
|
384313
|
+
}
|
|
384314
|
+
this.outerScope = outerScope;
|
|
384315
|
+
}
|
|
384316
|
+
getElement(name) {
|
|
384317
|
+
const localName = this.caseInsensitive ? name.toLowerCase() : name;
|
|
384318
|
+
const local = this.elements.get(localName);
|
|
384319
|
+
if (local) {
|
|
384320
|
+
return local;
|
|
384321
|
+
}
|
|
384322
|
+
if (this.outerScope) {
|
|
384323
|
+
return this.outerScope.getElement(name);
|
|
384324
|
+
}
|
|
384325
|
+
return void 0;
|
|
384326
|
+
}
|
|
384327
|
+
getElements(name) {
|
|
384328
|
+
const localName = this.caseInsensitive ? name.toLowerCase() : name;
|
|
384329
|
+
const local = this.elements.get(localName);
|
|
384330
|
+
const arr = local ? [local] : [];
|
|
384331
|
+
if ((this.concatOuterScope || arr.length > 0) && this.outerScope) {
|
|
384332
|
+
return stream(arr).concat(this.outerScope.getElements(name));
|
|
384333
|
+
} else {
|
|
384334
|
+
return stream(arr);
|
|
384335
|
+
}
|
|
384336
|
+
}
|
|
384337
|
+
getAllElements() {
|
|
384338
|
+
let elementStream = stream(this.elements.values());
|
|
384339
|
+
if (this.outerScope) {
|
|
384340
|
+
elementStream = elementStream.concat(this.outerScope.getAllElements());
|
|
384341
|
+
}
|
|
384342
|
+
return elementStream;
|
|
384343
|
+
}
|
|
384344
|
+
};
|
|
384248
384345
|
var MultiMapScope = class {
|
|
384249
384346
|
constructor(elements, outerScope, options) {
|
|
384250
384347
|
this.elements = new MultiMap();
|
|
@@ -387127,11 +387224,6 @@ var AssetDecl = {
|
|
|
387127
387224
|
id: "id",
|
|
387128
387225
|
src: "src"
|
|
387129
387226
|
};
|
|
387130
|
-
var AssetRef = {
|
|
387131
|
-
$type: "AssetRef",
|
|
387132
|
-
id: "id",
|
|
387133
|
-
ns: "ns"
|
|
387134
|
-
};
|
|
387135
387227
|
var Beam = {
|
|
387136
387228
|
$type: "Beam",
|
|
387137
387229
|
enabled: "enabled",
|
|
@@ -387167,8 +387259,8 @@ var Component = {
|
|
|
387167
387259
|
enabled: "enabled",
|
|
387168
387260
|
layer: "layer",
|
|
387169
387261
|
name: "name",
|
|
387170
|
-
|
|
387171
|
-
|
|
387262
|
+
rotation: "rotation",
|
|
387263
|
+
target: "target",
|
|
387172
387264
|
x: "x",
|
|
387173
387265
|
y: "y",
|
|
387174
387266
|
z_offset: "z_offset"
|
|
@@ -387193,12 +387285,23 @@ var ComponentParam = {
|
|
|
387193
387285
|
label: "label",
|
|
387194
387286
|
name: "name"
|
|
387195
387287
|
};
|
|
387288
|
+
var ConfigGroup = {
|
|
387289
|
+
$type: "ConfigGroup",
|
|
387290
|
+
description: "description",
|
|
387291
|
+
inputs: "inputs",
|
|
387292
|
+
label: "label"
|
|
387293
|
+
};
|
|
387196
387294
|
var ConfigInput = {
|
|
387197
387295
|
$type: "ConfigInput"
|
|
387198
387296
|
};
|
|
387297
|
+
var ConfigItem = {
|
|
387298
|
+
$type: "ConfigItem"
|
|
387299
|
+
};
|
|
387199
387300
|
var Configurator = {
|
|
387200
387301
|
$type: "Configurator",
|
|
387201
|
-
|
|
387302
|
+
description: "description",
|
|
387303
|
+
items: "items",
|
|
387304
|
+
title: "title"
|
|
387202
387305
|
};
|
|
387203
387306
|
var Defaults = {
|
|
387204
387307
|
$type: "Defaults",
|
|
@@ -387212,6 +387315,7 @@ var Expr = {
|
|
|
387212
387315
|
};
|
|
387213
387316
|
var Floor = {
|
|
387214
387317
|
$type: "Floor",
|
|
387318
|
+
enabled: "enabled",
|
|
387215
387319
|
height: "height",
|
|
387216
387320
|
name: "name",
|
|
387217
387321
|
number: "number",
|
|
@@ -387385,12 +387489,14 @@ function isNum(item2) {
|
|
|
387385
387489
|
}
|
|
387386
387490
|
var NumberInput = {
|
|
387387
387491
|
$type: "NumberInput",
|
|
387492
|
+
description: "description",
|
|
387388
387493
|
label: "label",
|
|
387389
387494
|
target: "target",
|
|
387390
387495
|
unit: "unit"
|
|
387391
387496
|
};
|
|
387392
387497
|
var Opening = {
|
|
387393
387498
|
$type: "Opening",
|
|
387499
|
+
direction: "direction",
|
|
387394
387500
|
height: "height",
|
|
387395
387501
|
kind: "kind",
|
|
387396
387502
|
name: "name",
|
|
@@ -387404,9 +387510,11 @@ var Pillar = {
|
|
|
387404
387510
|
enabled: "enabled",
|
|
387405
387511
|
height: "height",
|
|
387406
387512
|
l: "l",
|
|
387513
|
+
l_auto: "l_auto",
|
|
387407
387514
|
layer: "layer",
|
|
387408
387515
|
name: "name",
|
|
387409
387516
|
w: "w",
|
|
387517
|
+
w_auto: "w_auto",
|
|
387410
387518
|
x: "x",
|
|
387411
387519
|
y: "y",
|
|
387412
387520
|
z_offset: "z_offset"
|
|
@@ -387451,6 +387559,7 @@ var Roof = {
|
|
|
387451
387559
|
$type: "Roof",
|
|
387452
387560
|
default_endpoint: "default_endpoint",
|
|
387453
387561
|
enabled: "enabled",
|
|
387562
|
+
framing: "framing",
|
|
387454
387563
|
gable_wall_thickness: "gable_wall_thickness",
|
|
387455
387564
|
layer: "layer",
|
|
387456
387565
|
material: "material",
|
|
@@ -387462,8 +387571,6 @@ var Roof = {
|
|
|
387462
387571
|
segments: "segments",
|
|
387463
387572
|
slab_thickness: "slab_thickness",
|
|
387464
387573
|
slope: "slope",
|
|
387465
|
-
slope_left: "slope_left",
|
|
387466
|
-
slope_right: "slope_right",
|
|
387467
387574
|
trusses: "trusses",
|
|
387468
387575
|
z_offset: "z_offset"
|
|
387469
387576
|
};
|
|
@@ -387531,6 +387638,7 @@ var Segment = {
|
|
|
387531
387638
|
};
|
|
387532
387639
|
var SelectInput = {
|
|
387533
387640
|
$type: "SelectInput",
|
|
387641
|
+
description: "description",
|
|
387534
387642
|
label: "label",
|
|
387535
387643
|
options: "options",
|
|
387536
387644
|
target: "target"
|
|
@@ -387549,6 +387657,7 @@ var Site = {
|
|
|
387549
387657
|
};
|
|
387550
387658
|
var SliderInput = {
|
|
387551
387659
|
$type: "SliderInput",
|
|
387660
|
+
description: "description",
|
|
387552
387661
|
label: "label",
|
|
387553
387662
|
max: "max",
|
|
387554
387663
|
min: "min",
|
|
@@ -387558,18 +387667,10 @@ var SliderInput = {
|
|
|
387558
387667
|
};
|
|
387559
387668
|
var Slope = {
|
|
387560
387669
|
$type: "Slope",
|
|
387561
|
-
|
|
387562
|
-
|
|
387563
|
-
|
|
387564
|
-
|
|
387565
|
-
$type: "SlopeLeft",
|
|
387566
|
-
by: "by",
|
|
387567
|
-
value: "value"
|
|
387568
|
-
};
|
|
387569
|
-
var SlopeRight = {
|
|
387570
|
-
$type: "SlopeRight",
|
|
387571
|
-
by: "by",
|
|
387572
|
-
value: "value"
|
|
387670
|
+
angle_deg: "angle_deg",
|
|
387671
|
+
angle_left: "angle_left",
|
|
387672
|
+
angle_right: "angle_right",
|
|
387673
|
+
ridge_h: "ridge_h"
|
|
387573
387674
|
};
|
|
387574
387675
|
var Staircase = {
|
|
387575
387676
|
$type: "Staircase",
|
|
@@ -387593,6 +387694,7 @@ var Staircase = {
|
|
|
387593
387694
|
};
|
|
387594
387695
|
var ToggleInput = {
|
|
387595
387696
|
$type: "ToggleInput",
|
|
387697
|
+
description: "description",
|
|
387596
387698
|
label: "label",
|
|
387597
387699
|
target: "target"
|
|
387598
387700
|
};
|
|
@@ -387688,19 +387790,6 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
387688
387790
|
},
|
|
387689
387791
|
superTypes: []
|
|
387690
387792
|
},
|
|
387691
|
-
AssetRef: {
|
|
387692
|
-
name: AssetRef.$type,
|
|
387693
|
-
properties: {
|
|
387694
|
-
id: {
|
|
387695
|
-
name: AssetRef.id
|
|
387696
|
-
},
|
|
387697
|
-
ns: {
|
|
387698
|
-
name: AssetRef.ns,
|
|
387699
|
-
optional: true
|
|
387700
|
-
}
|
|
387701
|
-
},
|
|
387702
|
-
superTypes: []
|
|
387703
|
-
},
|
|
387704
387793
|
Beam: {
|
|
387705
387794
|
name: Beam.$type,
|
|
387706
387795
|
properties: {
|
|
@@ -387788,12 +387877,13 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
387788
387877
|
name: Component.name,
|
|
387789
387878
|
optional: true
|
|
387790
387879
|
},
|
|
387791
|
-
|
|
387792
|
-
name: Component.
|
|
387880
|
+
rotation: {
|
|
387881
|
+
name: Component.rotation,
|
|
387793
387882
|
optional: true
|
|
387794
387883
|
},
|
|
387795
|
-
|
|
387796
|
-
name: Component.
|
|
387884
|
+
target: {
|
|
387885
|
+
name: Component.target,
|
|
387886
|
+
referenceType: ComponentDef.$type
|
|
387797
387887
|
},
|
|
387798
387888
|
x: {
|
|
387799
387889
|
name: Component.x
|
|
@@ -387870,17 +387960,47 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
387870
387960
|
},
|
|
387871
387961
|
superTypes: []
|
|
387872
387962
|
},
|
|
387963
|
+
ConfigGroup: {
|
|
387964
|
+
name: ConfigGroup.$type,
|
|
387965
|
+
properties: {
|
|
387966
|
+
description: {
|
|
387967
|
+
name: ConfigGroup.description,
|
|
387968
|
+
optional: true
|
|
387969
|
+
},
|
|
387970
|
+
inputs: {
|
|
387971
|
+
name: ConfigGroup.inputs,
|
|
387972
|
+
defaultValue: []
|
|
387973
|
+
},
|
|
387974
|
+
label: {
|
|
387975
|
+
name: ConfigGroup.label
|
|
387976
|
+
}
|
|
387977
|
+
},
|
|
387978
|
+
superTypes: [ConfigItem.$type]
|
|
387979
|
+
},
|
|
387873
387980
|
ConfigInput: {
|
|
387874
387981
|
name: ConfigInput.$type,
|
|
387875
387982
|
properties: {},
|
|
387983
|
+
superTypes: [ConfigItem.$type]
|
|
387984
|
+
},
|
|
387985
|
+
ConfigItem: {
|
|
387986
|
+
name: ConfigItem.$type,
|
|
387987
|
+
properties: {},
|
|
387876
387988
|
superTypes: []
|
|
387877
387989
|
},
|
|
387878
387990
|
Configurator: {
|
|
387879
387991
|
name: Configurator.$type,
|
|
387880
387992
|
properties: {
|
|
387881
|
-
|
|
387882
|
-
name: Configurator.
|
|
387993
|
+
description: {
|
|
387994
|
+
name: Configurator.description,
|
|
387995
|
+
optional: true
|
|
387996
|
+
},
|
|
387997
|
+
items: {
|
|
387998
|
+
name: Configurator.items,
|
|
387883
387999
|
defaultValue: []
|
|
388000
|
+
},
|
|
388001
|
+
title: {
|
|
388002
|
+
name: Configurator.title,
|
|
388003
|
+
optional: true
|
|
387884
388004
|
}
|
|
387885
388005
|
},
|
|
387886
388006
|
superTypes: []
|
|
@@ -387915,6 +388035,10 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
387915
388035
|
Floor: {
|
|
387916
388036
|
name: Floor.$type,
|
|
387917
388037
|
properties: {
|
|
388038
|
+
enabled: {
|
|
388039
|
+
name: Floor.enabled,
|
|
388040
|
+
optional: true
|
|
388041
|
+
},
|
|
387918
388042
|
height: {
|
|
387919
388043
|
name: Floor.height,
|
|
387920
388044
|
optional: true
|
|
@@ -388093,6 +388217,7 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388093
388217
|
},
|
|
388094
388218
|
assetRef: {
|
|
388095
388219
|
name: Item.assetRef,
|
|
388220
|
+
referenceType: AssetDecl.$type,
|
|
388096
388221
|
optional: true
|
|
388097
388222
|
},
|
|
388098
388223
|
enabled: {
|
|
@@ -388367,6 +388492,10 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388367
388492
|
NumberInput: {
|
|
388368
388493
|
name: NumberInput.$type,
|
|
388369
388494
|
properties: {
|
|
388495
|
+
description: {
|
|
388496
|
+
name: NumberInput.description,
|
|
388497
|
+
optional: true
|
|
388498
|
+
},
|
|
388370
388499
|
label: {
|
|
388371
388500
|
name: NumberInput.label
|
|
388372
388501
|
},
|
|
@@ -388383,6 +388512,10 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388383
388512
|
Opening: {
|
|
388384
388513
|
name: Opening.$type,
|
|
388385
388514
|
properties: {
|
|
388515
|
+
direction: {
|
|
388516
|
+
name: Opening.direction,
|
|
388517
|
+
optional: true
|
|
388518
|
+
},
|
|
388386
388519
|
height: {
|
|
388387
388520
|
name: Opening.height
|
|
388388
388521
|
},
|
|
@@ -388422,7 +388555,13 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388422
388555
|
optional: true
|
|
388423
388556
|
},
|
|
388424
388557
|
l: {
|
|
388425
|
-
name: Pillar.l
|
|
388558
|
+
name: Pillar.l,
|
|
388559
|
+
optional: true
|
|
388560
|
+
},
|
|
388561
|
+
l_auto: {
|
|
388562
|
+
name: Pillar.l_auto,
|
|
388563
|
+
defaultValue: false,
|
|
388564
|
+
optional: true
|
|
388426
388565
|
},
|
|
388427
388566
|
layer: {
|
|
388428
388567
|
name: Pillar.layer,
|
|
@@ -388432,7 +388571,13 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388432
388571
|
name: Pillar.name
|
|
388433
388572
|
},
|
|
388434
388573
|
w: {
|
|
388435
|
-
name: Pillar.w
|
|
388574
|
+
name: Pillar.w,
|
|
388575
|
+
optional: true
|
|
388576
|
+
},
|
|
388577
|
+
w_auto: {
|
|
388578
|
+
name: Pillar.w_auto,
|
|
388579
|
+
defaultValue: false,
|
|
388580
|
+
optional: true
|
|
388436
388581
|
},
|
|
388437
388582
|
x: {
|
|
388438
388583
|
name: Pillar.x
|
|
@@ -388548,6 +388693,10 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388548
388693
|
name: Roof.enabled,
|
|
388549
388694
|
optional: true
|
|
388550
388695
|
},
|
|
388696
|
+
framing: {
|
|
388697
|
+
name: Roof.framing,
|
|
388698
|
+
optional: true
|
|
388699
|
+
},
|
|
388551
388700
|
gable_wall_thickness: {
|
|
388552
388701
|
name: Roof.gable_wall_thickness,
|
|
388553
388702
|
optional: true
|
|
@@ -388592,14 +388741,6 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388592
388741
|
name: Roof.slope,
|
|
388593
388742
|
optional: true
|
|
388594
388743
|
},
|
|
388595
|
-
slope_left: {
|
|
388596
|
-
name: Roof.slope_left,
|
|
388597
|
-
optional: true
|
|
388598
|
-
},
|
|
388599
|
-
slope_right: {
|
|
388600
|
-
name: Roof.slope_right,
|
|
388601
|
-
optional: true
|
|
388602
|
-
},
|
|
388603
388744
|
trusses: {
|
|
388604
388745
|
name: Roof.trusses,
|
|
388605
388746
|
defaultValue: [],
|
|
@@ -388676,6 +388817,7 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388676
388817
|
},
|
|
388677
388818
|
assetRef: {
|
|
388678
388819
|
name: RoomItem.assetRef,
|
|
388820
|
+
referenceType: AssetDecl.$type,
|
|
388679
388821
|
optional: true
|
|
388680
388822
|
},
|
|
388681
388823
|
enabled: {
|
|
@@ -388831,6 +388973,10 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388831
388973
|
SelectInput: {
|
|
388832
388974
|
name: SelectInput.$type,
|
|
388833
388975
|
properties: {
|
|
388976
|
+
description: {
|
|
388977
|
+
name: SelectInput.description,
|
|
388978
|
+
optional: true
|
|
388979
|
+
},
|
|
388834
388980
|
label: {
|
|
388835
388981
|
name: SelectInput.label
|
|
388836
388982
|
},
|
|
@@ -388879,6 +389025,10 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388879
389025
|
SliderInput: {
|
|
388880
389026
|
name: SliderInput.$type,
|
|
388881
389027
|
properties: {
|
|
389028
|
+
description: {
|
|
389029
|
+
name: SliderInput.description,
|
|
389030
|
+
optional: true
|
|
389031
|
+
},
|
|
388882
389032
|
label: {
|
|
388883
389033
|
name: SliderInput.label
|
|
388884
389034
|
},
|
|
@@ -388905,35 +389055,21 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
388905
389055
|
Slope: {
|
|
388906
389056
|
name: Slope.$type,
|
|
388907
389057
|
properties: {
|
|
388908
|
-
|
|
388909
|
-
name: Slope.
|
|
389058
|
+
angle_deg: {
|
|
389059
|
+
name: Slope.angle_deg,
|
|
389060
|
+
optional: true
|
|
388910
389061
|
},
|
|
388911
|
-
|
|
388912
|
-
name: Slope.
|
|
388913
|
-
|
|
388914
|
-
},
|
|
388915
|
-
superTypes: []
|
|
388916
|
-
},
|
|
388917
|
-
SlopeLeft: {
|
|
388918
|
-
name: SlopeLeft.$type,
|
|
388919
|
-
properties: {
|
|
388920
|
-
by: {
|
|
388921
|
-
name: SlopeLeft.by
|
|
389062
|
+
angle_left: {
|
|
389063
|
+
name: Slope.angle_left,
|
|
389064
|
+
optional: true
|
|
388922
389065
|
},
|
|
388923
|
-
|
|
388924
|
-
name:
|
|
388925
|
-
|
|
388926
|
-
},
|
|
388927
|
-
superTypes: []
|
|
388928
|
-
},
|
|
388929
|
-
SlopeRight: {
|
|
388930
|
-
name: SlopeRight.$type,
|
|
388931
|
-
properties: {
|
|
388932
|
-
by: {
|
|
388933
|
-
name: SlopeRight.by
|
|
389066
|
+
angle_right: {
|
|
389067
|
+
name: Slope.angle_right,
|
|
389068
|
+
optional: true
|
|
388934
389069
|
},
|
|
388935
|
-
|
|
388936
|
-
name:
|
|
389070
|
+
ridge_h: {
|
|
389071
|
+
name: Slope.ridge_h,
|
|
389072
|
+
optional: true
|
|
388937
389073
|
}
|
|
388938
389074
|
},
|
|
388939
389075
|
superTypes: []
|
|
@@ -389009,6 +389145,10 @@ var WadiAstReflection = class extends AbstractAstReflection {
|
|
|
389009
389145
|
ToggleInput: {
|
|
389010
389146
|
name: ToggleInput.$type,
|
|
389011
389147
|
properties: {
|
|
389148
|
+
description: {
|
|
389149
|
+
name: ToggleInput.description,
|
|
389150
|
+
optional: true
|
|
389151
|
+
},
|
|
389012
389152
|
label: {
|
|
389013
389153
|
name: ToggleInput.label
|
|
389014
389154
|
},
|
|
@@ -389213,7 +389353,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389213
389353
|
"terminal": {
|
|
389214
389354
|
"$type": "RuleCall",
|
|
389215
389355
|
"rule": {
|
|
389216
|
-
"$ref": "#/rules@
|
|
389356
|
+
"$ref": "#/rules@29"
|
|
389217
389357
|
},
|
|
389218
389358
|
"arguments": []
|
|
389219
389359
|
}
|
|
@@ -389225,7 +389365,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389225
389365
|
"terminal": {
|
|
389226
389366
|
"$type": "RuleCall",
|
|
389227
389367
|
"rule": {
|
|
389228
|
-
"$ref": "#/rules@
|
|
389368
|
+
"$ref": "#/rules@30"
|
|
389229
389369
|
},
|
|
389230
389370
|
"arguments": []
|
|
389231
389371
|
}
|
|
@@ -389247,7 +389387,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389247
389387
|
"terminal": {
|
|
389248
389388
|
"$type": "RuleCall",
|
|
389249
389389
|
"rule": {
|
|
389250
|
-
"$ref": "#/rules@
|
|
389390
|
+
"$ref": "#/rules@64"
|
|
389251
389391
|
},
|
|
389252
389392
|
"arguments": []
|
|
389253
389393
|
}
|
|
@@ -389291,7 +389431,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389291
389431
|
"terminal": {
|
|
389292
389432
|
"$type": "RuleCall",
|
|
389293
389433
|
"rule": {
|
|
389294
|
-
"$ref": "#/rules@
|
|
389434
|
+
"$ref": "#/rules@26"
|
|
389295
389435
|
},
|
|
389296
389436
|
"arguments": []
|
|
389297
389437
|
},
|
|
@@ -389304,7 +389444,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389304
389444
|
"terminal": {
|
|
389305
389445
|
"$type": "RuleCall",
|
|
389306
389446
|
"rule": {
|
|
389307
|
-
"$ref": "#/rules@
|
|
389447
|
+
"$ref": "#/rules@27"
|
|
389308
389448
|
},
|
|
389309
389449
|
"arguments": []
|
|
389310
389450
|
},
|
|
@@ -389317,7 +389457,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389317
389457
|
"terminal": {
|
|
389318
389458
|
"$type": "RuleCall",
|
|
389319
389459
|
"rule": {
|
|
389320
|
-
"$ref": "#/rules@
|
|
389460
|
+
"$ref": "#/rules@28"
|
|
389321
389461
|
},
|
|
389322
389462
|
"arguments": []
|
|
389323
389463
|
},
|
|
@@ -389405,7 +389545,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389405
389545
|
"terminal": {
|
|
389406
389546
|
"$type": "RuleCall",
|
|
389407
389547
|
"rule": {
|
|
389408
|
-
"$ref": "#/rules@
|
|
389548
|
+
"$ref": "#/rules@29"
|
|
389409
389549
|
},
|
|
389410
389550
|
"arguments": []
|
|
389411
389551
|
}
|
|
@@ -389417,7 +389557,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389417
389557
|
"terminal": {
|
|
389418
389558
|
"$type": "RuleCall",
|
|
389419
389559
|
"rule": {
|
|
389420
|
-
"$ref": "#/rules@
|
|
389560
|
+
"$ref": "#/rules@30"
|
|
389421
389561
|
},
|
|
389422
389562
|
"arguments": []
|
|
389423
389563
|
}
|
|
@@ -389429,7 +389569,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389429
389569
|
"terminal": {
|
|
389430
389570
|
"$type": "RuleCall",
|
|
389431
389571
|
"rule": {
|
|
389432
|
-
"$ref": "#/rules@
|
|
389572
|
+
"$ref": "#/rules@32"
|
|
389433
389573
|
},
|
|
389434
389574
|
"arguments": []
|
|
389435
389575
|
}
|
|
@@ -389466,7 +389606,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389466
389606
|
"terminal": {
|
|
389467
389607
|
"$type": "RuleCall",
|
|
389468
389608
|
"rule": {
|
|
389469
|
-
"$ref": "#/rules@
|
|
389609
|
+
"$ref": "#/rules@66"
|
|
389470
389610
|
},
|
|
389471
389611
|
"arguments": []
|
|
389472
389612
|
}
|
|
@@ -389485,7 +389625,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389485
389625
|
"terminal": {
|
|
389486
389626
|
"$type": "RuleCall",
|
|
389487
389627
|
"rule": {
|
|
389488
|
-
"$ref": "#/rules@
|
|
389628
|
+
"$ref": "#/rules@64"
|
|
389489
389629
|
},
|
|
389490
389630
|
"arguments": []
|
|
389491
389631
|
}
|
|
@@ -389516,7 +389656,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389516
389656
|
"terminal": {
|
|
389517
389657
|
"$type": "RuleCall",
|
|
389518
389658
|
"rule": {
|
|
389519
|
-
"$ref": "#/rules@
|
|
389659
|
+
"$ref": "#/rules@66"
|
|
389520
389660
|
},
|
|
389521
389661
|
"arguments": []
|
|
389522
389662
|
}
|
|
@@ -389532,7 +389672,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389532
389672
|
"terminal": {
|
|
389533
389673
|
"$type": "RuleCall",
|
|
389534
389674
|
"rule": {
|
|
389535
|
-
"$ref": "#/rules@
|
|
389675
|
+
"$ref": "#/rules@66"
|
|
389536
389676
|
},
|
|
389537
389677
|
"arguments": []
|
|
389538
389678
|
}
|
|
@@ -389552,7 +389692,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389552
389692
|
"terminal": {
|
|
389553
389693
|
"$type": "RuleCall",
|
|
389554
389694
|
"rule": {
|
|
389555
|
-
"$ref": "#/rules@
|
|
389695
|
+
"$ref": "#/rules@65"
|
|
389556
389696
|
},
|
|
389557
389697
|
"arguments": []
|
|
389558
389698
|
}
|
|
@@ -389568,7 +389708,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389568
389708
|
"terminal": {
|
|
389569
389709
|
"$type": "RuleCall",
|
|
389570
389710
|
"rule": {
|
|
389571
|
-
"$ref": "#/rules@
|
|
389711
|
+
"$ref": "#/rules@65"
|
|
389572
389712
|
},
|
|
389573
389713
|
"arguments": []
|
|
389574
389714
|
}
|
|
@@ -389584,7 +389724,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389584
389724
|
"terminal": {
|
|
389585
389725
|
"$type": "RuleCall",
|
|
389586
389726
|
"rule": {
|
|
389587
|
-
"$ref": "#/rules@
|
|
389727
|
+
"$ref": "#/rules@65"
|
|
389588
389728
|
},
|
|
389589
389729
|
"arguments": []
|
|
389590
389730
|
}
|
|
@@ -389607,7 +389747,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389607
389747
|
"terminal": {
|
|
389608
389748
|
"$type": "RuleCall",
|
|
389609
389749
|
"rule": {
|
|
389610
|
-
"$ref": "#/rules@
|
|
389750
|
+
"$ref": "#/rules@66"
|
|
389611
389751
|
},
|
|
389612
389752
|
"arguments": []
|
|
389613
389753
|
}
|
|
@@ -389629,7 +389769,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389629
389769
|
"terminal": {
|
|
389630
389770
|
"$type": "RuleCall",
|
|
389631
389771
|
"rule": {
|
|
389632
|
-
"$ref": "#/rules@
|
|
389772
|
+
"$ref": "#/rules@66"
|
|
389633
389773
|
},
|
|
389634
389774
|
"arguments": []
|
|
389635
389775
|
}
|
|
@@ -389660,7 +389800,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389660
389800
|
"terminal": {
|
|
389661
389801
|
"$type": "RuleCall",
|
|
389662
389802
|
"rule": {
|
|
389663
|
-
"$ref": "#/rules@
|
|
389803
|
+
"$ref": "#/rules@64"
|
|
389664
389804
|
},
|
|
389665
389805
|
"arguments": []
|
|
389666
389806
|
}
|
|
@@ -389676,7 +389816,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389676
389816
|
"terminal": {
|
|
389677
389817
|
"$type": "RuleCall",
|
|
389678
389818
|
"rule": {
|
|
389679
|
-
"$ref": "#/rules@
|
|
389819
|
+
"$ref": "#/rules@16"
|
|
389680
389820
|
},
|
|
389681
389821
|
"arguments": []
|
|
389682
389822
|
}
|
|
@@ -389704,7 +389844,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389704
389844
|
"terminal": {
|
|
389705
389845
|
"$type": "RuleCall",
|
|
389706
389846
|
"rule": {
|
|
389707
|
-
"$ref": "#/rules@
|
|
389847
|
+
"$ref": "#/rules@64"
|
|
389708
389848
|
},
|
|
389709
389849
|
"arguments": []
|
|
389710
389850
|
}
|
|
@@ -389728,7 +389868,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389728
389868
|
"terminal": {
|
|
389729
389869
|
"$type": "RuleCall",
|
|
389730
389870
|
"rule": {
|
|
389731
|
-
"$ref": "#/rules@
|
|
389871
|
+
"$ref": "#/rules@16"
|
|
389732
389872
|
},
|
|
389733
389873
|
"arguments": []
|
|
389734
389874
|
}
|
|
@@ -389753,7 +389893,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389753
389893
|
"terminal": {
|
|
389754
389894
|
"$type": "RuleCall",
|
|
389755
389895
|
"rule": {
|
|
389756
|
-
"$ref": "#/rules@
|
|
389896
|
+
"$ref": "#/rules@16"
|
|
389757
389897
|
},
|
|
389758
389898
|
"arguments": []
|
|
389759
389899
|
}
|
|
@@ -389785,7 +389925,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389785
389925
|
"terminal": {
|
|
389786
389926
|
"$type": "RuleCall",
|
|
389787
389927
|
"rule": {
|
|
389788
|
-
"$ref": "#/rules@
|
|
389928
|
+
"$ref": "#/rules@64"
|
|
389789
389929
|
},
|
|
389790
389930
|
"arguments": []
|
|
389791
389931
|
}
|
|
@@ -389904,14 +390044,14 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389904
390044
|
{
|
|
389905
390045
|
"$type": "RuleCall",
|
|
389906
390046
|
"rule": {
|
|
389907
|
-
"$ref": "#/rules@
|
|
390047
|
+
"$ref": "#/rules@64"
|
|
389908
390048
|
},
|
|
389909
390049
|
"arguments": []
|
|
389910
390050
|
},
|
|
389911
390051
|
{
|
|
389912
390052
|
"$type": "RuleCall",
|
|
389913
390053
|
"rule": {
|
|
389914
|
-
"$ref": "#/rules@
|
|
390054
|
+
"$ref": "#/rules@65"
|
|
389915
390055
|
},
|
|
389916
390056
|
"arguments": []
|
|
389917
390057
|
}
|
|
@@ -389929,7 +390069,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389929
390069
|
"terminal": {
|
|
389930
390070
|
"$type": "RuleCall",
|
|
389931
390071
|
"rule": {
|
|
389932
|
-
"$ref": "#/rules@
|
|
390072
|
+
"$ref": "#/rules@16"
|
|
389933
390073
|
},
|
|
389934
390074
|
"arguments": []
|
|
389935
390075
|
}
|
|
@@ -389948,7 +390088,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
389948
390088
|
"terminal": {
|
|
389949
390089
|
"$type": "RuleCall",
|
|
389950
390090
|
"rule": {
|
|
389951
|
-
"$ref": "#/rules@
|
|
390091
|
+
"$ref": "#/rules@16"
|
|
389952
390092
|
},
|
|
389953
390093
|
"arguments": []
|
|
389954
390094
|
}
|
|
@@ -390004,9 +390144,53 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390004
390144
|
"$type": "Keyword",
|
|
390005
390145
|
"value": "{"
|
|
390006
390146
|
},
|
|
390147
|
+
{
|
|
390148
|
+
"$type": "Group",
|
|
390149
|
+
"elements": [
|
|
390150
|
+
{
|
|
390151
|
+
"$type": "Keyword",
|
|
390152
|
+
"value": "title"
|
|
390153
|
+
},
|
|
390154
|
+
{
|
|
390155
|
+
"$type": "Assignment",
|
|
390156
|
+
"feature": "title",
|
|
390157
|
+
"operator": "=",
|
|
390158
|
+
"terminal": {
|
|
390159
|
+
"$type": "RuleCall",
|
|
390160
|
+
"rule": {
|
|
390161
|
+
"$ref": "#/rules@66"
|
|
390162
|
+
},
|
|
390163
|
+
"arguments": []
|
|
390164
|
+
}
|
|
390165
|
+
}
|
|
390166
|
+
],
|
|
390167
|
+
"cardinality": "?"
|
|
390168
|
+
},
|
|
390169
|
+
{
|
|
390170
|
+
"$type": "Group",
|
|
390171
|
+
"elements": [
|
|
390172
|
+
{
|
|
390173
|
+
"$type": "Keyword",
|
|
390174
|
+
"value": "note"
|
|
390175
|
+
},
|
|
390176
|
+
{
|
|
390177
|
+
"$type": "Assignment",
|
|
390178
|
+
"feature": "description",
|
|
390179
|
+
"operator": "=",
|
|
390180
|
+
"terminal": {
|
|
390181
|
+
"$type": "RuleCall",
|
|
390182
|
+
"rule": {
|
|
390183
|
+
"$ref": "#/rules@66"
|
|
390184
|
+
},
|
|
390185
|
+
"arguments": []
|
|
390186
|
+
}
|
|
390187
|
+
}
|
|
390188
|
+
],
|
|
390189
|
+
"cardinality": "?"
|
|
390190
|
+
},
|
|
390007
390191
|
{
|
|
390008
390192
|
"$type": "Assignment",
|
|
390009
|
-
"feature": "
|
|
390193
|
+
"feature": "items",
|
|
390010
390194
|
"operator": "+=",
|
|
390011
390195
|
"terminal": {
|
|
390012
390196
|
"$type": "RuleCall",
|
|
@@ -390029,7 +390213,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390029
390213
|
},
|
|
390030
390214
|
{
|
|
390031
390215
|
"$type": "ParserRule",
|
|
390032
|
-
"name": "
|
|
390216
|
+
"name": "ConfigItem",
|
|
390033
390217
|
"definition": {
|
|
390034
390218
|
"$type": "Alternatives",
|
|
390035
390219
|
"elements": [
|
|
@@ -390046,7 +390230,90 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390046
390230
|
"$ref": "#/rules@10"
|
|
390047
390231
|
},
|
|
390048
390232
|
"arguments": []
|
|
390233
|
+
}
|
|
390234
|
+
]
|
|
390235
|
+
},
|
|
390236
|
+
"entry": false,
|
|
390237
|
+
"fragment": false,
|
|
390238
|
+
"parameters": []
|
|
390239
|
+
},
|
|
390240
|
+
{
|
|
390241
|
+
"$type": "ParserRule",
|
|
390242
|
+
"name": "ConfigGroup",
|
|
390243
|
+
"definition": {
|
|
390244
|
+
"$type": "Group",
|
|
390245
|
+
"elements": [
|
|
390246
|
+
{
|
|
390247
|
+
"$type": "Keyword",
|
|
390248
|
+
"value": "group"
|
|
390049
390249
|
},
|
|
390250
|
+
{
|
|
390251
|
+
"$type": "Assignment",
|
|
390252
|
+
"feature": "label",
|
|
390253
|
+
"operator": "=",
|
|
390254
|
+
"terminal": {
|
|
390255
|
+
"$type": "RuleCall",
|
|
390256
|
+
"rule": {
|
|
390257
|
+
"$ref": "#/rules@66"
|
|
390258
|
+
},
|
|
390259
|
+
"arguments": []
|
|
390260
|
+
}
|
|
390261
|
+
},
|
|
390262
|
+
{
|
|
390263
|
+
"$type": "Group",
|
|
390264
|
+
"elements": [
|
|
390265
|
+
{
|
|
390266
|
+
"$type": "Keyword",
|
|
390267
|
+
"value": "note"
|
|
390268
|
+
},
|
|
390269
|
+
{
|
|
390270
|
+
"$type": "Assignment",
|
|
390271
|
+
"feature": "description",
|
|
390272
|
+
"operator": "=",
|
|
390273
|
+
"terminal": {
|
|
390274
|
+
"$type": "RuleCall",
|
|
390275
|
+
"rule": {
|
|
390276
|
+
"$ref": "#/rules@66"
|
|
390277
|
+
},
|
|
390278
|
+
"arguments": []
|
|
390279
|
+
}
|
|
390280
|
+
}
|
|
390281
|
+
],
|
|
390282
|
+
"cardinality": "?"
|
|
390283
|
+
},
|
|
390284
|
+
{
|
|
390285
|
+
"$type": "Keyword",
|
|
390286
|
+
"value": "{"
|
|
390287
|
+
},
|
|
390288
|
+
{
|
|
390289
|
+
"$type": "Assignment",
|
|
390290
|
+
"feature": "inputs",
|
|
390291
|
+
"operator": "+=",
|
|
390292
|
+
"terminal": {
|
|
390293
|
+
"$type": "RuleCall",
|
|
390294
|
+
"rule": {
|
|
390295
|
+
"$ref": "#/rules@10"
|
|
390296
|
+
},
|
|
390297
|
+
"arguments": []
|
|
390298
|
+
},
|
|
390299
|
+
"cardinality": "+"
|
|
390300
|
+
},
|
|
390301
|
+
{
|
|
390302
|
+
"$type": "Keyword",
|
|
390303
|
+
"value": "}"
|
|
390304
|
+
}
|
|
390305
|
+
]
|
|
390306
|
+
},
|
|
390307
|
+
"entry": false,
|
|
390308
|
+
"fragment": false,
|
|
390309
|
+
"parameters": []
|
|
390310
|
+
},
|
|
390311
|
+
{
|
|
390312
|
+
"$type": "ParserRule",
|
|
390313
|
+
"name": "ConfigInput",
|
|
390314
|
+
"definition": {
|
|
390315
|
+
"$type": "Alternatives",
|
|
390316
|
+
"elements": [
|
|
390050
390317
|
{
|
|
390051
390318
|
"$type": "RuleCall",
|
|
390052
390319
|
"rule": {
|
|
@@ -390060,6 +390327,20 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390060
390327
|
"$ref": "#/rules@12"
|
|
390061
390328
|
},
|
|
390062
390329
|
"arguments": []
|
|
390330
|
+
},
|
|
390331
|
+
{
|
|
390332
|
+
"$type": "RuleCall",
|
|
390333
|
+
"rule": {
|
|
390334
|
+
"$ref": "#/rules@13"
|
|
390335
|
+
},
|
|
390336
|
+
"arguments": []
|
|
390337
|
+
},
|
|
390338
|
+
{
|
|
390339
|
+
"$type": "RuleCall",
|
|
390340
|
+
"rule": {
|
|
390341
|
+
"$ref": "#/rules@14"
|
|
390342
|
+
},
|
|
390343
|
+
"arguments": []
|
|
390063
390344
|
}
|
|
390064
390345
|
]
|
|
390065
390346
|
},
|
|
@@ -390084,7 +390365,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390084
390365
|
"terminal": {
|
|
390085
390366
|
"$type": "RuleCall",
|
|
390086
390367
|
"rule": {
|
|
390087
|
-
"$ref": "#/rules@
|
|
390368
|
+
"$ref": "#/rules@64"
|
|
390088
390369
|
},
|
|
390089
390370
|
"arguments": []
|
|
390090
390371
|
}
|
|
@@ -390096,7 +390377,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390096
390377
|
"terminal": {
|
|
390097
390378
|
"$type": "RuleCall",
|
|
390098
390379
|
"rule": {
|
|
390099
|
-
"$ref": "#/rules@
|
|
390380
|
+
"$ref": "#/rules@66"
|
|
390100
390381
|
},
|
|
390101
390382
|
"arguments": []
|
|
390102
390383
|
}
|
|
@@ -390108,7 +390389,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390108
390389
|
"terminal": {
|
|
390109
390390
|
"$type": "RuleCall",
|
|
390110
390391
|
"rule": {
|
|
390111
|
-
"$ref": "#/rules@
|
|
390392
|
+
"$ref": "#/rules@64"
|
|
390112
390393
|
},
|
|
390113
390394
|
"arguments": []
|
|
390114
390395
|
},
|
|
@@ -390125,7 +390406,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390125
390406
|
"terminal": {
|
|
390126
390407
|
"$type": "RuleCall",
|
|
390127
390408
|
"rule": {
|
|
390128
|
-
"$ref": "#/rules@
|
|
390409
|
+
"$ref": "#/rules@65"
|
|
390129
390410
|
},
|
|
390130
390411
|
"arguments": []
|
|
390131
390412
|
}
|
|
@@ -390141,7 +390422,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390141
390422
|
"terminal": {
|
|
390142
390423
|
"$type": "RuleCall",
|
|
390143
390424
|
"rule": {
|
|
390144
|
-
"$ref": "#/rules@
|
|
390425
|
+
"$ref": "#/rules@65"
|
|
390145
390426
|
},
|
|
390146
390427
|
"arguments": []
|
|
390147
390428
|
}
|
|
@@ -390160,7 +390441,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390160
390441
|
"terminal": {
|
|
390161
390442
|
"$type": "RuleCall",
|
|
390162
390443
|
"rule": {
|
|
390163
|
-
"$ref": "#/rules@
|
|
390444
|
+
"$ref": "#/rules@65"
|
|
390164
390445
|
},
|
|
390165
390446
|
"arguments": []
|
|
390166
390447
|
}
|
|
@@ -390171,6 +390452,28 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390171
390452
|
{
|
|
390172
390453
|
"$type": "Keyword",
|
|
390173
390454
|
"value": "]"
|
|
390455
|
+
},
|
|
390456
|
+
{
|
|
390457
|
+
"$type": "Group",
|
|
390458
|
+
"elements": [
|
|
390459
|
+
{
|
|
390460
|
+
"$type": "Keyword",
|
|
390461
|
+
"value": "note"
|
|
390462
|
+
},
|
|
390463
|
+
{
|
|
390464
|
+
"$type": "Assignment",
|
|
390465
|
+
"feature": "description",
|
|
390466
|
+
"operator": "=",
|
|
390467
|
+
"terminal": {
|
|
390468
|
+
"$type": "RuleCall",
|
|
390469
|
+
"rule": {
|
|
390470
|
+
"$ref": "#/rules@66"
|
|
390471
|
+
},
|
|
390472
|
+
"arguments": []
|
|
390473
|
+
}
|
|
390474
|
+
}
|
|
390475
|
+
],
|
|
390476
|
+
"cardinality": "?"
|
|
390174
390477
|
}
|
|
390175
390478
|
]
|
|
390176
390479
|
},
|
|
@@ -390195,7 +390498,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390195
390498
|
"terminal": {
|
|
390196
390499
|
"$type": "RuleCall",
|
|
390197
390500
|
"rule": {
|
|
390198
|
-
"$ref": "#/rules@
|
|
390501
|
+
"$ref": "#/rules@64"
|
|
390199
390502
|
},
|
|
390200
390503
|
"arguments": []
|
|
390201
390504
|
}
|
|
@@ -390207,7 +390510,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390207
390510
|
"terminal": {
|
|
390208
390511
|
"$type": "RuleCall",
|
|
390209
390512
|
"rule": {
|
|
390210
|
-
"$ref": "#/rules@
|
|
390513
|
+
"$ref": "#/rules@66"
|
|
390211
390514
|
},
|
|
390212
390515
|
"arguments": []
|
|
390213
390516
|
}
|
|
@@ -390219,11 +390522,33 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390219
390522
|
"terminal": {
|
|
390220
390523
|
"$type": "RuleCall",
|
|
390221
390524
|
"rule": {
|
|
390222
|
-
"$ref": "#/rules@
|
|
390525
|
+
"$ref": "#/rules@64"
|
|
390223
390526
|
},
|
|
390224
390527
|
"arguments": []
|
|
390225
390528
|
},
|
|
390226
390529
|
"cardinality": "?"
|
|
390530
|
+
},
|
|
390531
|
+
{
|
|
390532
|
+
"$type": "Group",
|
|
390533
|
+
"elements": [
|
|
390534
|
+
{
|
|
390535
|
+
"$type": "Keyword",
|
|
390536
|
+
"value": "note"
|
|
390537
|
+
},
|
|
390538
|
+
{
|
|
390539
|
+
"$type": "Assignment",
|
|
390540
|
+
"feature": "description",
|
|
390541
|
+
"operator": "=",
|
|
390542
|
+
"terminal": {
|
|
390543
|
+
"$type": "RuleCall",
|
|
390544
|
+
"rule": {
|
|
390545
|
+
"$ref": "#/rules@66"
|
|
390546
|
+
},
|
|
390547
|
+
"arguments": []
|
|
390548
|
+
}
|
|
390549
|
+
}
|
|
390550
|
+
],
|
|
390551
|
+
"cardinality": "?"
|
|
390227
390552
|
}
|
|
390228
390553
|
]
|
|
390229
390554
|
},
|
|
@@ -390248,7 +390573,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390248
390573
|
"terminal": {
|
|
390249
390574
|
"$type": "RuleCall",
|
|
390250
390575
|
"rule": {
|
|
390251
|
-
"$ref": "#/rules@
|
|
390576
|
+
"$ref": "#/rules@64"
|
|
390252
390577
|
},
|
|
390253
390578
|
"arguments": []
|
|
390254
390579
|
}
|
|
@@ -390260,10 +390585,32 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390260
390585
|
"terminal": {
|
|
390261
390586
|
"$type": "RuleCall",
|
|
390262
390587
|
"rule": {
|
|
390263
|
-
"$ref": "#/rules@
|
|
390588
|
+
"$ref": "#/rules@66"
|
|
390264
390589
|
},
|
|
390265
390590
|
"arguments": []
|
|
390266
390591
|
}
|
|
390592
|
+
},
|
|
390593
|
+
{
|
|
390594
|
+
"$type": "Group",
|
|
390595
|
+
"elements": [
|
|
390596
|
+
{
|
|
390597
|
+
"$type": "Keyword",
|
|
390598
|
+
"value": "note"
|
|
390599
|
+
},
|
|
390600
|
+
{
|
|
390601
|
+
"$type": "Assignment",
|
|
390602
|
+
"feature": "description",
|
|
390603
|
+
"operator": "=",
|
|
390604
|
+
"terminal": {
|
|
390605
|
+
"$type": "RuleCall",
|
|
390606
|
+
"rule": {
|
|
390607
|
+
"$ref": "#/rules@66"
|
|
390608
|
+
},
|
|
390609
|
+
"arguments": []
|
|
390610
|
+
}
|
|
390611
|
+
}
|
|
390612
|
+
],
|
|
390613
|
+
"cardinality": "?"
|
|
390267
390614
|
}
|
|
390268
390615
|
]
|
|
390269
390616
|
},
|
|
@@ -390288,7 +390635,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390288
390635
|
"terminal": {
|
|
390289
390636
|
"$type": "RuleCall",
|
|
390290
390637
|
"rule": {
|
|
390291
|
-
"$ref": "#/rules@
|
|
390638
|
+
"$ref": "#/rules@64"
|
|
390292
390639
|
},
|
|
390293
390640
|
"arguments": []
|
|
390294
390641
|
}
|
|
@@ -390300,7 +390647,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390300
390647
|
"terminal": {
|
|
390301
390648
|
"$type": "RuleCall",
|
|
390302
390649
|
"rule": {
|
|
390303
|
-
"$ref": "#/rules@
|
|
390650
|
+
"$ref": "#/rules@66"
|
|
390304
390651
|
},
|
|
390305
390652
|
"arguments": []
|
|
390306
390653
|
}
|
|
@@ -390316,7 +390663,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390316
390663
|
"terminal": {
|
|
390317
390664
|
"$type": "RuleCall",
|
|
390318
390665
|
"rule": {
|
|
390319
|
-
"$ref": "#/rules@
|
|
390666
|
+
"$ref": "#/rules@15"
|
|
390320
390667
|
},
|
|
390321
390668
|
"arguments": []
|
|
390322
390669
|
}
|
|
@@ -390335,7 +390682,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390335
390682
|
"terminal": {
|
|
390336
390683
|
"$type": "RuleCall",
|
|
390337
390684
|
"rule": {
|
|
390338
|
-
"$ref": "#/rules@
|
|
390685
|
+
"$ref": "#/rules@15"
|
|
390339
390686
|
},
|
|
390340
390687
|
"arguments": []
|
|
390341
390688
|
}
|
|
@@ -390346,6 +390693,28 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390346
390693
|
{
|
|
390347
390694
|
"$type": "Keyword",
|
|
390348
390695
|
"value": "}"
|
|
390696
|
+
},
|
|
390697
|
+
{
|
|
390698
|
+
"$type": "Group",
|
|
390699
|
+
"elements": [
|
|
390700
|
+
{
|
|
390701
|
+
"$type": "Keyword",
|
|
390702
|
+
"value": "note"
|
|
390703
|
+
},
|
|
390704
|
+
{
|
|
390705
|
+
"$type": "Assignment",
|
|
390706
|
+
"feature": "description",
|
|
390707
|
+
"operator": "=",
|
|
390708
|
+
"terminal": {
|
|
390709
|
+
"$type": "RuleCall",
|
|
390710
|
+
"rule": {
|
|
390711
|
+
"$ref": "#/rules@66"
|
|
390712
|
+
},
|
|
390713
|
+
"arguments": []
|
|
390714
|
+
}
|
|
390715
|
+
}
|
|
390716
|
+
],
|
|
390717
|
+
"cardinality": "?"
|
|
390349
390718
|
}
|
|
390350
390719
|
]
|
|
390351
390720
|
},
|
|
@@ -390364,11 +390733,23 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390364
390733
|
"feature": "label",
|
|
390365
390734
|
"operator": "=",
|
|
390366
390735
|
"terminal": {
|
|
390367
|
-
"$type": "
|
|
390368
|
-
"
|
|
390369
|
-
|
|
390370
|
-
|
|
390371
|
-
|
|
390736
|
+
"$type": "Alternatives",
|
|
390737
|
+
"elements": [
|
|
390738
|
+
{
|
|
390739
|
+
"$type": "RuleCall",
|
|
390740
|
+
"rule": {
|
|
390741
|
+
"$ref": "#/rules@64"
|
|
390742
|
+
},
|
|
390743
|
+
"arguments": []
|
|
390744
|
+
},
|
|
390745
|
+
{
|
|
390746
|
+
"$type": "RuleCall",
|
|
390747
|
+
"rule": {
|
|
390748
|
+
"$ref": "#/rules@66"
|
|
390749
|
+
},
|
|
390750
|
+
"arguments": []
|
|
390751
|
+
}
|
|
390752
|
+
]
|
|
390372
390753
|
}
|
|
390373
390754
|
},
|
|
390374
390755
|
{
|
|
@@ -390382,7 +390763,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390382
390763
|
"terminal": {
|
|
390383
390764
|
"$type": "RuleCall",
|
|
390384
390765
|
"rule": {
|
|
390385
|
-
"$ref": "#/rules@
|
|
390766
|
+
"$ref": "#/rules@65"
|
|
390386
390767
|
},
|
|
390387
390768
|
"arguments": []
|
|
390388
390769
|
}
|
|
@@ -390403,7 +390784,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390403
390784
|
"definition": {
|
|
390404
390785
|
"$type": "RuleCall",
|
|
390405
390786
|
"rule": {
|
|
390406
|
-
"$ref": "#/rules@
|
|
390787
|
+
"$ref": "#/rules@17"
|
|
390407
390788
|
},
|
|
390408
390789
|
"arguments": []
|
|
390409
390790
|
},
|
|
@@ -390424,7 +390805,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390424
390805
|
{
|
|
390425
390806
|
"$type": "RuleCall",
|
|
390426
390807
|
"rule": {
|
|
390427
|
-
"$ref": "#/rules@
|
|
390808
|
+
"$ref": "#/rules@18"
|
|
390428
390809
|
},
|
|
390429
390810
|
"arguments": []
|
|
390430
390811
|
},
|
|
@@ -390465,7 +390846,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390465
390846
|
"terminal": {
|
|
390466
390847
|
"$type": "RuleCall",
|
|
390467
390848
|
"rule": {
|
|
390468
|
-
"$ref": "#/rules@
|
|
390849
|
+
"$ref": "#/rules@18"
|
|
390469
390850
|
},
|
|
390470
390851
|
"arguments": []
|
|
390471
390852
|
}
|
|
@@ -390492,7 +390873,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390492
390873
|
{
|
|
390493
390874
|
"$type": "RuleCall",
|
|
390494
390875
|
"rule": {
|
|
390495
|
-
"$ref": "#/rules@
|
|
390876
|
+
"$ref": "#/rules@19"
|
|
390496
390877
|
},
|
|
390497
390878
|
"arguments": []
|
|
390498
390879
|
},
|
|
@@ -390533,7 +390914,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390533
390914
|
"terminal": {
|
|
390534
390915
|
"$type": "RuleCall",
|
|
390535
390916
|
"rule": {
|
|
390536
|
-
"$ref": "#/rules@
|
|
390917
|
+
"$ref": "#/rules@19"
|
|
390537
390918
|
},
|
|
390538
390919
|
"arguments": []
|
|
390539
390920
|
}
|
|
@@ -390578,7 +390959,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390578
390959
|
"terminal": {
|
|
390579
390960
|
"$type": "RuleCall",
|
|
390580
390961
|
"rule": {
|
|
390581
|
-
"$ref": "#/rules@
|
|
390962
|
+
"$ref": "#/rules@19"
|
|
390582
390963
|
},
|
|
390583
390964
|
"arguments": []
|
|
390584
390965
|
}
|
|
@@ -390595,7 +390976,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390595
390976
|
{
|
|
390596
390977
|
"$type": "RuleCall",
|
|
390597
390978
|
"rule": {
|
|
390598
|
-
"$ref": "#/rules@
|
|
390979
|
+
"$ref": "#/rules@16"
|
|
390599
390980
|
},
|
|
390600
390981
|
"arguments": []
|
|
390601
390982
|
},
|
|
@@ -390622,7 +391003,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390622
391003
|
"terminal": {
|
|
390623
391004
|
"$type": "RuleCall",
|
|
390624
391005
|
"rule": {
|
|
390625
|
-
"$ref": "#/rules@
|
|
391006
|
+
"$ref": "#/rules@65"
|
|
390626
391007
|
},
|
|
390627
391008
|
"arguments": []
|
|
390628
391009
|
}
|
|
@@ -390632,7 +391013,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390632
391013
|
{
|
|
390633
391014
|
"$type": "RuleCall",
|
|
390634
391015
|
"rule": {
|
|
390635
|
-
"$ref": "#/rules@
|
|
391016
|
+
"$ref": "#/rules@20"
|
|
390636
391017
|
},
|
|
390637
391018
|
"arguments": []
|
|
390638
391019
|
}
|
|
@@ -390666,7 +391047,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390666
391047
|
"terminal": {
|
|
390667
391048
|
"$type": "RuleCall",
|
|
390668
391049
|
"rule": {
|
|
390669
|
-
"$ref": "#/rules@
|
|
391050
|
+
"$ref": "#/rules@64"
|
|
390670
391051
|
},
|
|
390671
391052
|
"arguments": []
|
|
390672
391053
|
}
|
|
@@ -390685,7 +391066,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390685
391066
|
"terminal": {
|
|
390686
391067
|
"$type": "RuleCall",
|
|
390687
391068
|
"rule": {
|
|
390688
|
-
"$ref": "#/rules@
|
|
391069
|
+
"$ref": "#/rules@21"
|
|
390689
391070
|
},
|
|
390690
391071
|
"arguments": []
|
|
390691
391072
|
}
|
|
@@ -390719,7 +391100,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390719
391100
|
"terminal": {
|
|
390720
391101
|
"$type": "RuleCall",
|
|
390721
391102
|
"rule": {
|
|
390722
|
-
"$ref": "#/rules@
|
|
391103
|
+
"$ref": "#/rules@16"
|
|
390723
391104
|
},
|
|
390724
391105
|
"arguments": []
|
|
390725
391106
|
}
|
|
@@ -390738,7 +391119,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390738
391119
|
"terminal": {
|
|
390739
391120
|
"$type": "RuleCall",
|
|
390740
391121
|
"rule": {
|
|
390741
|
-
"$ref": "#/rules@
|
|
391122
|
+
"$ref": "#/rules@16"
|
|
390742
391123
|
},
|
|
390743
391124
|
"arguments": []
|
|
390744
391125
|
}
|
|
@@ -390762,6 +391143,34 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390762
391143
|
"fragment": false,
|
|
390763
391144
|
"parameters": []
|
|
390764
391145
|
},
|
|
391146
|
+
{
|
|
391147
|
+
"$type": "ParserRule",
|
|
391148
|
+
"name": "RefPart",
|
|
391149
|
+
"dataType": "string",
|
|
391150
|
+
"definition": {
|
|
391151
|
+
"$type": "Alternatives",
|
|
391152
|
+
"elements": [
|
|
391153
|
+
{
|
|
391154
|
+
"$type": "RuleCall",
|
|
391155
|
+
"rule": {
|
|
391156
|
+
"$ref": "#/rules@64"
|
|
391157
|
+
},
|
|
391158
|
+
"arguments": []
|
|
391159
|
+
},
|
|
391160
|
+
{
|
|
391161
|
+
"$type": "Keyword",
|
|
391162
|
+
"value": "x"
|
|
391163
|
+
},
|
|
391164
|
+
{
|
|
391165
|
+
"$type": "Keyword",
|
|
391166
|
+
"value": "y"
|
|
391167
|
+
}
|
|
391168
|
+
]
|
|
391169
|
+
},
|
|
391170
|
+
"entry": false,
|
|
391171
|
+
"fragment": false,
|
|
391172
|
+
"parameters": []
|
|
391173
|
+
},
|
|
390765
391174
|
{
|
|
390766
391175
|
"$type": "ParserRule",
|
|
390767
391176
|
"name": "Raw",
|
|
@@ -390779,7 +391188,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390779
391188
|
"terminal": {
|
|
390780
391189
|
"$type": "RuleCall",
|
|
390781
391190
|
"rule": {
|
|
390782
|
-
"$ref": "#/rules@
|
|
391191
|
+
"$ref": "#/rules@66"
|
|
390783
391192
|
},
|
|
390784
391193
|
"arguments": []
|
|
390785
391194
|
}
|
|
@@ -390791,7 +391200,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390791
391200
|
"terminal": {
|
|
390792
391201
|
"$type": "RuleCall",
|
|
390793
391202
|
"rule": {
|
|
390794
|
-
"$ref": "#/rules@
|
|
391203
|
+
"$ref": "#/rules@23"
|
|
390795
391204
|
},
|
|
390796
391205
|
"arguments": []
|
|
390797
391206
|
}
|
|
@@ -390826,7 +391235,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390826
391235
|
"terminal": {
|
|
390827
391236
|
"$type": "RuleCall",
|
|
390828
391237
|
"rule": {
|
|
390829
|
-
"$ref": "#/rules@
|
|
391238
|
+
"$ref": "#/rules@24"
|
|
390830
391239
|
},
|
|
390831
391240
|
"arguments": []
|
|
390832
391241
|
}
|
|
@@ -390845,7 +391254,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390845
391254
|
"terminal": {
|
|
390846
391255
|
"$type": "RuleCall",
|
|
390847
391256
|
"rule": {
|
|
390848
|
-
"$ref": "#/rules@
|
|
391257
|
+
"$ref": "#/rules@24"
|
|
390849
391258
|
},
|
|
390850
391259
|
"arguments": []
|
|
390851
391260
|
}
|
|
@@ -390882,14 +391291,14 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390882
391291
|
{
|
|
390883
391292
|
"$type": "RuleCall",
|
|
390884
391293
|
"rule": {
|
|
390885
|
-
"$ref": "#/rules@
|
|
391294
|
+
"$ref": "#/rules@66"
|
|
390886
391295
|
},
|
|
390887
391296
|
"arguments": []
|
|
390888
391297
|
},
|
|
390889
391298
|
{
|
|
390890
391299
|
"$type": "RuleCall",
|
|
390891
391300
|
"rule": {
|
|
390892
|
-
"$ref": "#/rules@
|
|
391301
|
+
"$ref": "#/rules@64"
|
|
390893
391302
|
},
|
|
390894
391303
|
"arguments": []
|
|
390895
391304
|
}
|
|
@@ -390907,7 +391316,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390907
391316
|
"terminal": {
|
|
390908
391317
|
"$type": "RuleCall",
|
|
390909
391318
|
"rule": {
|
|
390910
|
-
"$ref": "#/rules@
|
|
391319
|
+
"$ref": "#/rules@25"
|
|
390911
391320
|
},
|
|
390912
391321
|
"arguments": []
|
|
390913
391322
|
}
|
|
@@ -390931,7 +391340,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390931
391340
|
{
|
|
390932
391341
|
"$type": "RuleCall",
|
|
390933
391342
|
"rule": {
|
|
390934
|
-
"$ref": "#/rules@
|
|
391343
|
+
"$ref": "#/rules@23"
|
|
390935
391344
|
},
|
|
390936
391345
|
"arguments": []
|
|
390937
391346
|
},
|
|
@@ -390959,7 +391368,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390959
391368
|
"terminal": {
|
|
390960
391369
|
"$type": "RuleCall",
|
|
390961
391370
|
"rule": {
|
|
390962
|
-
"$ref": "#/rules@
|
|
391371
|
+
"$ref": "#/rules@25"
|
|
390963
391372
|
},
|
|
390964
391373
|
"arguments": []
|
|
390965
391374
|
}
|
|
@@ -390978,7 +391387,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
390978
391387
|
"terminal": {
|
|
390979
391388
|
"$type": "RuleCall",
|
|
390980
391389
|
"rule": {
|
|
390981
|
-
"$ref": "#/rules@
|
|
391390
|
+
"$ref": "#/rules@25"
|
|
390982
391391
|
},
|
|
390983
391392
|
"arguments": []
|
|
390984
391393
|
}
|
|
@@ -391022,7 +391431,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391022
391431
|
"terminal": {
|
|
391023
391432
|
"$type": "RuleCall",
|
|
391024
391433
|
"rule": {
|
|
391025
|
-
"$ref": "#/rules@
|
|
391434
|
+
"$ref": "#/rules@65"
|
|
391026
391435
|
},
|
|
391027
391436
|
"arguments": []
|
|
391028
391437
|
}
|
|
@@ -391046,7 +391455,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391046
391455
|
"terminal": {
|
|
391047
391456
|
"$type": "RuleCall",
|
|
391048
391457
|
"rule": {
|
|
391049
|
-
"$ref": "#/rules@
|
|
391458
|
+
"$ref": "#/rules@66"
|
|
391050
391459
|
},
|
|
391051
391460
|
"arguments": []
|
|
391052
391461
|
}
|
|
@@ -391159,7 +391568,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391159
391568
|
"terminal": {
|
|
391160
391569
|
"$type": "RuleCall",
|
|
391161
391570
|
"rule": {
|
|
391162
|
-
"$ref": "#/rules@
|
|
391571
|
+
"$ref": "#/rules@65"
|
|
391163
391572
|
},
|
|
391164
391573
|
"arguments": []
|
|
391165
391574
|
}
|
|
@@ -391202,7 +391611,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391202
391611
|
"terminal": {
|
|
391203
391612
|
"$type": "RuleCall",
|
|
391204
391613
|
"rule": {
|
|
391205
|
-
"$ref": "#/rules@
|
|
391614
|
+
"$ref": "#/rules@16"
|
|
391206
391615
|
},
|
|
391207
391616
|
"arguments": []
|
|
391208
391617
|
}
|
|
@@ -391218,7 +391627,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391218
391627
|
"terminal": {
|
|
391219
391628
|
"$type": "RuleCall",
|
|
391220
391629
|
"rule": {
|
|
391221
|
-
"$ref": "#/rules@
|
|
391630
|
+
"$ref": "#/rules@16"
|
|
391222
391631
|
},
|
|
391223
391632
|
"arguments": []
|
|
391224
391633
|
}
|
|
@@ -391245,7 +391654,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391245
391654
|
"terminal": {
|
|
391246
391655
|
"$type": "RuleCall",
|
|
391247
391656
|
"rule": {
|
|
391248
|
-
"$ref": "#/rules@
|
|
391657
|
+
"$ref": "#/rules@65"
|
|
391249
391658
|
},
|
|
391250
391659
|
"arguments": []
|
|
391251
391660
|
}
|
|
@@ -391261,7 +391670,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391261
391670
|
"terminal": {
|
|
391262
391671
|
"$type": "RuleCall",
|
|
391263
391672
|
"rule": {
|
|
391264
|
-
"$ref": "#/rules@
|
|
391673
|
+
"$ref": "#/rules@65"
|
|
391265
391674
|
},
|
|
391266
391675
|
"arguments": []
|
|
391267
391676
|
}
|
|
@@ -391311,7 +391720,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391311
391720
|
"terminal": {
|
|
391312
391721
|
"$type": "RuleCall",
|
|
391313
391722
|
"rule": {
|
|
391314
|
-
"$ref": "#/rules@
|
|
391723
|
+
"$ref": "#/rules@65"
|
|
391315
391724
|
},
|
|
391316
391725
|
"arguments": []
|
|
391317
391726
|
}
|
|
@@ -391333,7 +391742,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391333
391742
|
"terminal": {
|
|
391334
391743
|
"$type": "RuleCall",
|
|
391335
391744
|
"rule": {
|
|
391336
|
-
"$ref": "#/rules@
|
|
391745
|
+
"$ref": "#/rules@65"
|
|
391337
391746
|
},
|
|
391338
391747
|
"arguments": []
|
|
391339
391748
|
}
|
|
@@ -391355,7 +391764,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391355
391764
|
"terminal": {
|
|
391356
391765
|
"$type": "RuleCall",
|
|
391357
391766
|
"rule": {
|
|
391358
|
-
"$ref": "#/rules@
|
|
391767
|
+
"$ref": "#/rules@65"
|
|
391359
391768
|
},
|
|
391360
391769
|
"arguments": []
|
|
391361
391770
|
}
|
|
@@ -391377,7 +391786,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391377
391786
|
"terminal": {
|
|
391378
391787
|
"$type": "RuleCall",
|
|
391379
391788
|
"rule": {
|
|
391380
|
-
"$ref": "#/rules@
|
|
391789
|
+
"$ref": "#/rules@65"
|
|
391381
391790
|
},
|
|
391382
391791
|
"arguments": []
|
|
391383
391792
|
}
|
|
@@ -391412,7 +391821,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391412
391821
|
"terminal": {
|
|
391413
391822
|
"$type": "RuleCall",
|
|
391414
391823
|
"rule": {
|
|
391415
|
-
"$ref": "#/rules@
|
|
391824
|
+
"$ref": "#/rules@66"
|
|
391416
391825
|
},
|
|
391417
391826
|
"arguments": []
|
|
391418
391827
|
}
|
|
@@ -391424,7 +391833,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391424
391833
|
"terminal": {
|
|
391425
391834
|
"$type": "RuleCall",
|
|
391426
391835
|
"rule": {
|
|
391427
|
-
"$ref": "#/rules@
|
|
391836
|
+
"$ref": "#/rules@66"
|
|
391428
391837
|
},
|
|
391429
391838
|
"arguments": []
|
|
391430
391839
|
}
|
|
@@ -391443,7 +391852,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391443
391852
|
"terminal": {
|
|
391444
391853
|
"$type": "RuleCall",
|
|
391445
391854
|
"rule": {
|
|
391446
|
-
"$ref": "#/rules@
|
|
391855
|
+
"$ref": "#/rules@66"
|
|
391447
391856
|
},
|
|
391448
391857
|
"arguments": []
|
|
391449
391858
|
}
|
|
@@ -391465,7 +391874,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391465
391874
|
"terminal": {
|
|
391466
391875
|
"$type": "RuleCall",
|
|
391467
391876
|
"rule": {
|
|
391468
|
-
"$ref": "#/rules@
|
|
391877
|
+
"$ref": "#/rules@66"
|
|
391469
391878
|
},
|
|
391470
391879
|
"arguments": []
|
|
391471
391880
|
}
|
|
@@ -391496,7 +391905,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391496
391905
|
"terminal": {
|
|
391497
391906
|
"$type": "RuleCall",
|
|
391498
391907
|
"rule": {
|
|
391499
|
-
"$ref": "#/rules@
|
|
391908
|
+
"$ref": "#/rules@64"
|
|
391500
391909
|
},
|
|
391501
391910
|
"arguments": []
|
|
391502
391911
|
}
|
|
@@ -391515,7 +391924,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391515
391924
|
"terminal": {
|
|
391516
391925
|
"$type": "RuleCall",
|
|
391517
391926
|
"rule": {
|
|
391518
|
-
"$ref": "#/rules@
|
|
391927
|
+
"$ref": "#/rules@66"
|
|
391519
391928
|
},
|
|
391520
391929
|
"arguments": []
|
|
391521
391930
|
}
|
|
@@ -391534,7 +391943,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391534
391943
|
"terminal": {
|
|
391535
391944
|
"$type": "RuleCall",
|
|
391536
391945
|
"rule": {
|
|
391537
|
-
"$ref": "#/rules@
|
|
391946
|
+
"$ref": "#/rules@31"
|
|
391538
391947
|
},
|
|
391539
391948
|
"arguments": []
|
|
391540
391949
|
},
|
|
@@ -391577,7 +391986,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391577
391986
|
"terminal": {
|
|
391578
391987
|
"$type": "RuleCall",
|
|
391579
391988
|
"rule": {
|
|
391580
|
-
"$ref": "#/rules@
|
|
391989
|
+
"$ref": "#/rules@33"
|
|
391581
391990
|
},
|
|
391582
391991
|
"arguments": []
|
|
391583
391992
|
},
|
|
@@ -391610,7 +392019,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391610
392019
|
"terminal": {
|
|
391611
392020
|
"$type": "RuleCall",
|
|
391612
392021
|
"rule": {
|
|
391613
|
-
"$ref": "#/rules@
|
|
392022
|
+
"$ref": "#/rules@64"
|
|
391614
392023
|
},
|
|
391615
392024
|
"arguments": []
|
|
391616
392025
|
}
|
|
@@ -391629,7 +392038,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391629
392038
|
"terminal": {
|
|
391630
392039
|
"$type": "RuleCall",
|
|
391631
392040
|
"rule": {
|
|
391632
|
-
"$ref": "#/rules@
|
|
392041
|
+
"$ref": "#/rules@65"
|
|
391633
392042
|
},
|
|
391634
392043
|
"arguments": []
|
|
391635
392044
|
}
|
|
@@ -391651,7 +392060,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391651
392060
|
"terminal": {
|
|
391652
392061
|
"$type": "RuleCall",
|
|
391653
392062
|
"rule": {
|
|
391654
|
-
"$ref": "#/rules@
|
|
392063
|
+
"$ref": "#/rules@66"
|
|
391655
392064
|
},
|
|
391656
392065
|
"arguments": []
|
|
391657
392066
|
}
|
|
@@ -391682,7 +392091,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391682
392091
|
"terminal": {
|
|
391683
392092
|
"$type": "RuleCall",
|
|
391684
392093
|
"rule": {
|
|
391685
|
-
"$ref": "#/rules@
|
|
392094
|
+
"$ref": "#/rules@65"
|
|
391686
392095
|
},
|
|
391687
392096
|
"arguments": []
|
|
391688
392097
|
}
|
|
@@ -391694,7 +392103,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391694
392103
|
"terminal": {
|
|
391695
392104
|
"$type": "RuleCall",
|
|
391696
392105
|
"rule": {
|
|
391697
|
-
"$ref": "#/rules@
|
|
392106
|
+
"$ref": "#/rules@66"
|
|
391698
392107
|
},
|
|
391699
392108
|
"arguments": []
|
|
391700
392109
|
}
|
|
@@ -391713,7 +392122,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391713
392122
|
"terminal": {
|
|
391714
392123
|
"$type": "RuleCall",
|
|
391715
392124
|
"rule": {
|
|
391716
|
-
"$ref": "#/rules@
|
|
392125
|
+
"$ref": "#/rules@65"
|
|
391717
392126
|
},
|
|
391718
392127
|
"arguments": []
|
|
391719
392128
|
}
|
|
@@ -391735,7 +392144,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391735
392144
|
"terminal": {
|
|
391736
392145
|
"$type": "RuleCall",
|
|
391737
392146
|
"rule": {
|
|
391738
|
-
"$ref": "#/rules@
|
|
392147
|
+
"$ref": "#/rules@65"
|
|
391739
392148
|
},
|
|
391740
392149
|
"arguments": []
|
|
391741
392150
|
}
|
|
@@ -391757,7 +392166,29 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391757
392166
|
"terminal": {
|
|
391758
392167
|
"$type": "RuleCall",
|
|
391759
392168
|
"rule": {
|
|
391760
|
-
"$ref": "#/rules@
|
|
392169
|
+
"$ref": "#/rules@65"
|
|
392170
|
+
},
|
|
392171
|
+
"arguments": []
|
|
392172
|
+
}
|
|
392173
|
+
}
|
|
392174
|
+
],
|
|
392175
|
+
"cardinality": "?"
|
|
392176
|
+
},
|
|
392177
|
+
{
|
|
392178
|
+
"$type": "Group",
|
|
392179
|
+
"elements": [
|
|
392180
|
+
{
|
|
392181
|
+
"$type": "Keyword",
|
|
392182
|
+
"value": "enabled"
|
|
392183
|
+
},
|
|
392184
|
+
{
|
|
392185
|
+
"$type": "Assignment",
|
|
392186
|
+
"feature": "enabled",
|
|
392187
|
+
"operator": "=",
|
|
392188
|
+
"terminal": {
|
|
392189
|
+
"$type": "RuleCall",
|
|
392190
|
+
"rule": {
|
|
392191
|
+
"$ref": "#/rules@16"
|
|
391761
392192
|
},
|
|
391762
392193
|
"arguments": []
|
|
391763
392194
|
}
|
|
@@ -391776,7 +392207,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391776
392207
|
"terminal": {
|
|
391777
392208
|
"$type": "RuleCall",
|
|
391778
392209
|
"rule": {
|
|
391779
|
-
"$ref": "#/rules@
|
|
392210
|
+
"$ref": "#/rules@33"
|
|
391780
392211
|
},
|
|
391781
392212
|
"arguments": []
|
|
391782
392213
|
},
|
|
@@ -391801,91 +392232,91 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391801
392232
|
{
|
|
391802
392233
|
"$type": "RuleCall",
|
|
391803
392234
|
"rule": {
|
|
391804
|
-
"$ref": "#/rules@
|
|
392235
|
+
"$ref": "#/rules@36"
|
|
391805
392236
|
},
|
|
391806
392237
|
"arguments": []
|
|
391807
392238
|
},
|
|
391808
392239
|
{
|
|
391809
392240
|
"$type": "RuleCall",
|
|
391810
392241
|
"rule": {
|
|
391811
|
-
"$ref": "#/rules@
|
|
392242
|
+
"$ref": "#/rules@40"
|
|
391812
392243
|
},
|
|
391813
392244
|
"arguments": []
|
|
391814
392245
|
},
|
|
391815
392246
|
{
|
|
391816
392247
|
"$type": "RuleCall",
|
|
391817
392248
|
"rule": {
|
|
391818
|
-
"$ref": "#/rules@
|
|
392249
|
+
"$ref": "#/rules@41"
|
|
391819
392250
|
},
|
|
391820
392251
|
"arguments": []
|
|
391821
392252
|
},
|
|
391822
392253
|
{
|
|
391823
392254
|
"$type": "RuleCall",
|
|
391824
392255
|
"rule": {
|
|
391825
|
-
"$ref": "#/rules@
|
|
392256
|
+
"$ref": "#/rules@42"
|
|
391826
392257
|
},
|
|
391827
392258
|
"arguments": []
|
|
391828
392259
|
},
|
|
391829
392260
|
{
|
|
391830
392261
|
"$type": "RuleCall",
|
|
391831
392262
|
"rule": {
|
|
391832
|
-
"$ref": "#/rules@
|
|
392263
|
+
"$ref": "#/rules@43"
|
|
391833
392264
|
},
|
|
391834
392265
|
"arguments": []
|
|
391835
392266
|
},
|
|
391836
392267
|
{
|
|
391837
392268
|
"$type": "RuleCall",
|
|
391838
392269
|
"rule": {
|
|
391839
|
-
"$ref": "#/rules@
|
|
392270
|
+
"$ref": "#/rules@44"
|
|
391840
392271
|
},
|
|
391841
392272
|
"arguments": []
|
|
391842
392273
|
},
|
|
391843
392274
|
{
|
|
391844
392275
|
"$type": "RuleCall",
|
|
391845
392276
|
"rule": {
|
|
391846
|
-
"$ref": "#/rules@
|
|
392277
|
+
"$ref": "#/rules@45"
|
|
391847
392278
|
},
|
|
391848
392279
|
"arguments": []
|
|
391849
392280
|
},
|
|
391850
392281
|
{
|
|
391851
392282
|
"$type": "RuleCall",
|
|
391852
392283
|
"rule": {
|
|
391853
|
-
"$ref": "#/rules@
|
|
392284
|
+
"$ref": "#/rules@46"
|
|
391854
392285
|
},
|
|
391855
392286
|
"arguments": []
|
|
391856
392287
|
},
|
|
391857
392288
|
{
|
|
391858
392289
|
"$type": "RuleCall",
|
|
391859
392290
|
"rule": {
|
|
391860
|
-
"$ref": "#/rules@
|
|
392291
|
+
"$ref": "#/rules@47"
|
|
391861
392292
|
},
|
|
391862
392293
|
"arguments": []
|
|
391863
392294
|
},
|
|
391864
392295
|
{
|
|
391865
392296
|
"$type": "RuleCall",
|
|
391866
392297
|
"rule": {
|
|
391867
|
-
"$ref": "#/rules@
|
|
392298
|
+
"$ref": "#/rules@49"
|
|
391868
392299
|
},
|
|
391869
392300
|
"arguments": []
|
|
391870
392301
|
},
|
|
391871
392302
|
{
|
|
391872
392303
|
"$type": "RuleCall",
|
|
391873
392304
|
"rule": {
|
|
391874
|
-
"$ref": "#/rules@
|
|
392305
|
+
"$ref": "#/rules@54"
|
|
391875
392306
|
},
|
|
391876
392307
|
"arguments": []
|
|
391877
392308
|
},
|
|
391878
392309
|
{
|
|
391879
392310
|
"$type": "RuleCall",
|
|
391880
392311
|
"rule": {
|
|
391881
|
-
"$ref": "#/rules@
|
|
392312
|
+
"$ref": "#/rules@57"
|
|
391882
392313
|
},
|
|
391883
392314
|
"arguments": []
|
|
391884
392315
|
},
|
|
391885
392316
|
{
|
|
391886
392317
|
"$type": "RuleCall",
|
|
391887
392318
|
"rule": {
|
|
391888
|
-
"$ref": "#/rules@
|
|
392319
|
+
"$ref": "#/rules@22"
|
|
391889
392320
|
},
|
|
391890
392321
|
"arguments": []
|
|
391891
392322
|
}
|
|
@@ -391916,7 +392347,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391916
392347
|
"terminal": {
|
|
391917
392348
|
"$type": "RuleCall",
|
|
391918
392349
|
"rule": {
|
|
391919
|
-
"$ref": "#/rules@
|
|
392350
|
+
"$ref": "#/rules@16"
|
|
391920
392351
|
},
|
|
391921
392352
|
"arguments": []
|
|
391922
392353
|
}
|
|
@@ -391938,7 +392369,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391938
392369
|
"terminal": {
|
|
391939
392370
|
"$type": "RuleCall",
|
|
391940
392371
|
"rule": {
|
|
391941
|
-
"$ref": "#/rules@
|
|
392372
|
+
"$ref": "#/rules@16"
|
|
391942
392373
|
},
|
|
391943
392374
|
"arguments": []
|
|
391944
392375
|
}
|
|
@@ -391960,7 +392391,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391960
392391
|
"terminal": {
|
|
391961
392392
|
"$type": "RuleCall",
|
|
391962
392393
|
"rule": {
|
|
391963
|
-
"$ref": "#/rules@
|
|
392394
|
+
"$ref": "#/rules@66"
|
|
391964
392395
|
},
|
|
391965
392396
|
"arguments": []
|
|
391966
392397
|
}
|
|
@@ -391973,6 +392404,33 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391973
392404
|
"entry": false,
|
|
391974
392405
|
"parameters": []
|
|
391975
392406
|
},
|
|
392407
|
+
{
|
|
392408
|
+
"$type": "ParserRule",
|
|
392409
|
+
"name": "NameRef",
|
|
392410
|
+
"dataType": "string",
|
|
392411
|
+
"definition": {
|
|
392412
|
+
"$type": "Alternatives",
|
|
392413
|
+
"elements": [
|
|
392414
|
+
{
|
|
392415
|
+
"$type": "RuleCall",
|
|
392416
|
+
"rule": {
|
|
392417
|
+
"$ref": "#/rules@64"
|
|
392418
|
+
},
|
|
392419
|
+
"arguments": []
|
|
392420
|
+
},
|
|
392421
|
+
{
|
|
392422
|
+
"$type": "RuleCall",
|
|
392423
|
+
"rule": {
|
|
392424
|
+
"$ref": "#/rules@66"
|
|
392425
|
+
},
|
|
392426
|
+
"arguments": []
|
|
392427
|
+
}
|
|
392428
|
+
]
|
|
392429
|
+
},
|
|
392430
|
+
"entry": false,
|
|
392431
|
+
"fragment": false,
|
|
392432
|
+
"parameters": []
|
|
392433
|
+
},
|
|
391976
392434
|
{
|
|
391977
392435
|
"$type": "ParserRule",
|
|
391978
392436
|
"name": "Room",
|
|
@@ -391990,7 +392448,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
391990
392448
|
"terminal": {
|
|
391991
392449
|
"$type": "RuleCall",
|
|
391992
392450
|
"rule": {
|
|
391993
|
-
"$ref": "#/rules@
|
|
392451
|
+
"$ref": "#/rules@35"
|
|
391994
392452
|
},
|
|
391995
392453
|
"arguments": []
|
|
391996
392454
|
}
|
|
@@ -392010,7 +392468,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392010
392468
|
"terminal": {
|
|
392011
392469
|
"$type": "RuleCall",
|
|
392012
392470
|
"rule": {
|
|
392013
|
-
"$ref": "#/rules@
|
|
392471
|
+
"$ref": "#/rules@16"
|
|
392014
392472
|
},
|
|
392015
392473
|
"arguments": []
|
|
392016
392474
|
}
|
|
@@ -392026,7 +392484,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392026
392484
|
"terminal": {
|
|
392027
392485
|
"$type": "RuleCall",
|
|
392028
392486
|
"rule": {
|
|
392029
|
-
"$ref": "#/rules@
|
|
392487
|
+
"$ref": "#/rules@16"
|
|
392030
392488
|
},
|
|
392031
392489
|
"arguments": []
|
|
392032
392490
|
}
|
|
@@ -392050,7 +392508,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392050
392508
|
"terminal": {
|
|
392051
392509
|
"$type": "RuleCall",
|
|
392052
392510
|
"rule": {
|
|
392053
|
-
"$ref": "#/rules@
|
|
392511
|
+
"$ref": "#/rules@16"
|
|
392054
392512
|
},
|
|
392055
392513
|
"arguments": []
|
|
392056
392514
|
}
|
|
@@ -392066,7 +392524,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392066
392524
|
"terminal": {
|
|
392067
392525
|
"$type": "RuleCall",
|
|
392068
392526
|
"rule": {
|
|
392069
|
-
"$ref": "#/rules@
|
|
392527
|
+
"$ref": "#/rules@16"
|
|
392070
392528
|
},
|
|
392071
392529
|
"arguments": []
|
|
392072
392530
|
}
|
|
@@ -392089,7 +392547,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392089
392547
|
"terminal": {
|
|
392090
392548
|
"$type": "RuleCall",
|
|
392091
392549
|
"rule": {
|
|
392092
|
-
"$ref": "#/rules@
|
|
392550
|
+
"$ref": "#/rules@16"
|
|
392093
392551
|
},
|
|
392094
392552
|
"arguments": []
|
|
392095
392553
|
}
|
|
@@ -392100,7 +392558,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392100
392558
|
{
|
|
392101
392559
|
"$type": "RuleCall",
|
|
392102
392560
|
"rule": {
|
|
392103
|
-
"$ref": "#/rules@
|
|
392561
|
+
"$ref": "#/rules@34"
|
|
392104
392562
|
},
|
|
392105
392563
|
"arguments": []
|
|
392106
392564
|
},
|
|
@@ -392118,7 +392576,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392118
392576
|
"terminal": {
|
|
392119
392577
|
"$type": "RuleCall",
|
|
392120
392578
|
"rule": {
|
|
392121
|
-
"$ref": "#/rules@
|
|
392579
|
+
"$ref": "#/rules@66"
|
|
392122
392580
|
},
|
|
392123
392581
|
"arguments": []
|
|
392124
392582
|
}
|
|
@@ -392143,7 +392601,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392143
392601
|
"terminal": {
|
|
392144
392602
|
"$type": "RuleCall",
|
|
392145
392603
|
"rule": {
|
|
392146
|
-
"$ref": "#/rules@
|
|
392604
|
+
"$ref": "#/rules@37"
|
|
392147
392605
|
},
|
|
392148
392606
|
"arguments": []
|
|
392149
392607
|
}
|
|
@@ -392155,7 +392613,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392155
392613
|
"terminal": {
|
|
392156
392614
|
"$type": "RuleCall",
|
|
392157
392615
|
"rule": {
|
|
392158
|
-
"$ref": "#/rules@
|
|
392616
|
+
"$ref": "#/rules@50"
|
|
392159
392617
|
},
|
|
392160
392618
|
"arguments": []
|
|
392161
392619
|
}
|
|
@@ -392193,7 +392651,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392193
392651
|
"terminal": {
|
|
392194
392652
|
"$type": "RuleCall",
|
|
392195
392653
|
"rule": {
|
|
392196
|
-
"$ref": "#/rules@
|
|
392654
|
+
"$ref": "#/rules@39"
|
|
392197
392655
|
},
|
|
392198
392656
|
"arguments": []
|
|
392199
392657
|
}
|
|
@@ -392205,7 +392663,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392205
392663
|
"terminal": {
|
|
392206
392664
|
"$type": "RuleCall",
|
|
392207
392665
|
"rule": {
|
|
392208
|
-
"$ref": "#/rules@
|
|
392666
|
+
"$ref": "#/rules@39"
|
|
392209
392667
|
},
|
|
392210
392668
|
"arguments": []
|
|
392211
392669
|
},
|
|
@@ -392225,7 +392683,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392225
392683
|
"terminal": {
|
|
392226
392684
|
"$type": "RuleCall",
|
|
392227
392685
|
"rule": {
|
|
392228
|
-
"$ref": "#/rules@
|
|
392686
|
+
"$ref": "#/rules@16"
|
|
392229
392687
|
},
|
|
392230
392688
|
"arguments": []
|
|
392231
392689
|
}
|
|
@@ -392247,7 +392705,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392247
392705
|
"terminal": {
|
|
392248
392706
|
"$type": "RuleCall",
|
|
392249
392707
|
"rule": {
|
|
392250
|
-
"$ref": "#/rules@
|
|
392708
|
+
"$ref": "#/rules@16"
|
|
392251
392709
|
},
|
|
392252
392710
|
"arguments": []
|
|
392253
392711
|
}
|
|
@@ -392269,7 +392727,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392269
392727
|
"terminal": {
|
|
392270
392728
|
"$type": "RuleCall",
|
|
392271
392729
|
"rule": {
|
|
392272
|
-
"$ref": "#/rules@
|
|
392730
|
+
"$ref": "#/rules@38"
|
|
392273
392731
|
},
|
|
392274
392732
|
"arguments": []
|
|
392275
392733
|
},
|
|
@@ -392319,7 +392777,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392319
392777
|
"terminal": {
|
|
392320
392778
|
"$type": "RuleCall",
|
|
392321
392779
|
"rule": {
|
|
392322
|
-
"$ref": "#/rules@
|
|
392780
|
+
"$ref": "#/rules@35"
|
|
392323
392781
|
},
|
|
392324
392782
|
"arguments": []
|
|
392325
392783
|
}
|
|
@@ -392335,7 +392793,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392335
392793
|
"terminal": {
|
|
392336
392794
|
"$type": "RuleCall",
|
|
392337
392795
|
"rule": {
|
|
392338
|
-
"$ref": "#/rules@
|
|
392796
|
+
"$ref": "#/rules@16"
|
|
392339
392797
|
},
|
|
392340
392798
|
"arguments": []
|
|
392341
392799
|
}
|
|
@@ -392355,7 +392813,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392355
392813
|
"terminal": {
|
|
392356
392814
|
"$type": "RuleCall",
|
|
392357
392815
|
"rule": {
|
|
392358
|
-
"$ref": "#/rules@
|
|
392816
|
+
"$ref": "#/rules@16"
|
|
392359
392817
|
},
|
|
392360
392818
|
"arguments": []
|
|
392361
392819
|
}
|
|
@@ -392371,7 +392829,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392371
392829
|
"terminal": {
|
|
392372
392830
|
"$type": "RuleCall",
|
|
392373
392831
|
"rule": {
|
|
392374
|
-
"$ref": "#/rules@
|
|
392832
|
+
"$ref": "#/rules@16"
|
|
392375
392833
|
},
|
|
392376
392834
|
"arguments": []
|
|
392377
392835
|
}
|
|
@@ -392394,7 +392852,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392394
392852
|
"terminal": {
|
|
392395
392853
|
"$type": "RuleCall",
|
|
392396
392854
|
"rule": {
|
|
392397
|
-
"$ref": "#/rules@
|
|
392855
|
+
"$ref": "#/rules@16"
|
|
392398
392856
|
},
|
|
392399
392857
|
"arguments": []
|
|
392400
392858
|
}
|
|
@@ -392411,6 +392869,28 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392411
392869
|
"value": "open"
|
|
392412
392870
|
},
|
|
392413
392871
|
"cardinality": "?"
|
|
392872
|
+
},
|
|
392873
|
+
{
|
|
392874
|
+
"$type": "Group",
|
|
392875
|
+
"elements": [
|
|
392876
|
+
{
|
|
392877
|
+
"$type": "Keyword",
|
|
392878
|
+
"value": "direction"
|
|
392879
|
+
},
|
|
392880
|
+
{
|
|
392881
|
+
"$type": "Assignment",
|
|
392882
|
+
"feature": "direction",
|
|
392883
|
+
"operator": "=",
|
|
392884
|
+
"terminal": {
|
|
392885
|
+
"$type": "RuleCall",
|
|
392886
|
+
"rule": {
|
|
392887
|
+
"$ref": "#/rules@39"
|
|
392888
|
+
},
|
|
392889
|
+
"arguments": []
|
|
392890
|
+
}
|
|
392891
|
+
}
|
|
392892
|
+
],
|
|
392893
|
+
"cardinality": "?"
|
|
392414
392894
|
}
|
|
392415
392895
|
]
|
|
392416
392896
|
},
|
|
@@ -392464,7 +392944,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392464
392944
|
"terminal": {
|
|
392465
392945
|
"$type": "RuleCall",
|
|
392466
392946
|
"rule": {
|
|
392467
|
-
"$ref": "#/rules@
|
|
392947
|
+
"$ref": "#/rules@35"
|
|
392468
392948
|
},
|
|
392469
392949
|
"arguments": []
|
|
392470
392950
|
}
|
|
@@ -392484,7 +392964,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392484
392964
|
"terminal": {
|
|
392485
392965
|
"$type": "RuleCall",
|
|
392486
392966
|
"rule": {
|
|
392487
|
-
"$ref": "#/rules@
|
|
392967
|
+
"$ref": "#/rules@16"
|
|
392488
392968
|
},
|
|
392489
392969
|
"arguments": []
|
|
392490
392970
|
}
|
|
@@ -392500,7 +392980,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392500
392980
|
"terminal": {
|
|
392501
392981
|
"$type": "RuleCall",
|
|
392502
392982
|
"rule": {
|
|
392503
|
-
"$ref": "#/rules@
|
|
392983
|
+
"$ref": "#/rules@16"
|
|
392504
392984
|
},
|
|
392505
392985
|
"arguments": []
|
|
392506
392986
|
}
|
|
@@ -392524,7 +393004,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392524
393004
|
"terminal": {
|
|
392525
393005
|
"$type": "RuleCall",
|
|
392526
393006
|
"rule": {
|
|
392527
|
-
"$ref": "#/rules@
|
|
393007
|
+
"$ref": "#/rules@16"
|
|
392528
393008
|
},
|
|
392529
393009
|
"arguments": []
|
|
392530
393010
|
}
|
|
@@ -392540,7 +393020,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392540
393020
|
"terminal": {
|
|
392541
393021
|
"$type": "RuleCall",
|
|
392542
393022
|
"rule": {
|
|
392543
|
-
"$ref": "#/rules@
|
|
393023
|
+
"$ref": "#/rules@16"
|
|
392544
393024
|
},
|
|
392545
393025
|
"arguments": []
|
|
392546
393026
|
}
|
|
@@ -392563,7 +393043,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392563
393043
|
"terminal": {
|
|
392564
393044
|
"$type": "RuleCall",
|
|
392565
393045
|
"rule": {
|
|
392566
|
-
"$ref": "#/rules@
|
|
393046
|
+
"$ref": "#/rules@16"
|
|
392567
393047
|
},
|
|
392568
393048
|
"arguments": []
|
|
392569
393049
|
}
|
|
@@ -392585,7 +393065,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392585
393065
|
"terminal": {
|
|
392586
393066
|
"$type": "RuleCall",
|
|
392587
393067
|
"rule": {
|
|
392588
|
-
"$ref": "#/rules@
|
|
393068
|
+
"$ref": "#/rules@16"
|
|
392589
393069
|
},
|
|
392590
393070
|
"arguments": []
|
|
392591
393071
|
}
|
|
@@ -392607,7 +393087,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392607
393087
|
"terminal": {
|
|
392608
393088
|
"$type": "RuleCall",
|
|
392609
393089
|
"rule": {
|
|
392610
|
-
"$ref": "#/rules@
|
|
393090
|
+
"$ref": "#/rules@39"
|
|
392611
393091
|
},
|
|
392612
393092
|
"arguments": []
|
|
392613
393093
|
}
|
|
@@ -392618,7 +393098,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392618
393098
|
{
|
|
392619
393099
|
"$type": "RuleCall",
|
|
392620
393100
|
"rule": {
|
|
392621
|
-
"$ref": "#/rules@
|
|
393101
|
+
"$ref": "#/rules@34"
|
|
392622
393102
|
},
|
|
392623
393103
|
"arguments": []
|
|
392624
393104
|
},
|
|
@@ -392636,7 +393116,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392636
393116
|
"terminal": {
|
|
392637
393117
|
"$type": "RuleCall",
|
|
392638
393118
|
"rule": {
|
|
392639
|
-
"$ref": "#/rules@
|
|
393119
|
+
"$ref": "#/rules@66"
|
|
392640
393120
|
},
|
|
392641
393121
|
"arguments": []
|
|
392642
393122
|
}
|
|
@@ -392658,7 +393138,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392658
393138
|
"terminal": {
|
|
392659
393139
|
"$type": "RuleCall",
|
|
392660
393140
|
"rule": {
|
|
392661
|
-
"$ref": "#/rules@
|
|
393141
|
+
"$ref": "#/rules@38"
|
|
392662
393142
|
},
|
|
392663
393143
|
"arguments": []
|
|
392664
393144
|
},
|
|
@@ -392694,7 +393174,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392694
393174
|
"terminal": {
|
|
392695
393175
|
"$type": "RuleCall",
|
|
392696
393176
|
"rule": {
|
|
392697
|
-
"$ref": "#/rules@
|
|
393177
|
+
"$ref": "#/rules@35"
|
|
392698
393178
|
},
|
|
392699
393179
|
"arguments": []
|
|
392700
393180
|
}
|
|
@@ -392714,7 +393194,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392714
393194
|
"terminal": {
|
|
392715
393195
|
"$type": "RuleCall",
|
|
392716
393196
|
"rule": {
|
|
392717
|
-
"$ref": "#/rules@
|
|
393197
|
+
"$ref": "#/rules@16"
|
|
392718
393198
|
},
|
|
392719
393199
|
"arguments": []
|
|
392720
393200
|
}
|
|
@@ -392730,7 +393210,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392730
393210
|
"terminal": {
|
|
392731
393211
|
"$type": "RuleCall",
|
|
392732
393212
|
"rule": {
|
|
392733
|
-
"$ref": "#/rules@
|
|
393213
|
+
"$ref": "#/rules@16"
|
|
392734
393214
|
},
|
|
392735
393215
|
"arguments": []
|
|
392736
393216
|
}
|
|
@@ -392748,32 +393228,60 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392748
393228
|
"value": "("
|
|
392749
393229
|
},
|
|
392750
393230
|
{
|
|
392751
|
-
"$type": "
|
|
392752
|
-
"
|
|
392753
|
-
|
|
392754
|
-
|
|
392755
|
-
|
|
392756
|
-
|
|
392757
|
-
"
|
|
393231
|
+
"$type": "Alternatives",
|
|
393232
|
+
"elements": [
|
|
393233
|
+
{
|
|
393234
|
+
"$type": "Assignment",
|
|
393235
|
+
"feature": "w_auto",
|
|
393236
|
+
"operator": "?=",
|
|
393237
|
+
"terminal": {
|
|
393238
|
+
"$type": "Keyword",
|
|
393239
|
+
"value": "auto"
|
|
393240
|
+
}
|
|
392758
393241
|
},
|
|
392759
|
-
|
|
392760
|
-
|
|
393242
|
+
{
|
|
393243
|
+
"$type": "Assignment",
|
|
393244
|
+
"feature": "w",
|
|
393245
|
+
"operator": "=",
|
|
393246
|
+
"terminal": {
|
|
393247
|
+
"$type": "RuleCall",
|
|
393248
|
+
"rule": {
|
|
393249
|
+
"$ref": "#/rules@16"
|
|
393250
|
+
},
|
|
393251
|
+
"arguments": []
|
|
393252
|
+
}
|
|
393253
|
+
}
|
|
393254
|
+
]
|
|
392761
393255
|
},
|
|
392762
393256
|
{
|
|
392763
393257
|
"$type": "Keyword",
|
|
392764
393258
|
"value": ","
|
|
392765
393259
|
},
|
|
392766
393260
|
{
|
|
392767
|
-
"$type": "
|
|
392768
|
-
"
|
|
392769
|
-
|
|
392770
|
-
|
|
392771
|
-
|
|
392772
|
-
|
|
392773
|
-
"
|
|
393261
|
+
"$type": "Alternatives",
|
|
393262
|
+
"elements": [
|
|
393263
|
+
{
|
|
393264
|
+
"$type": "Assignment",
|
|
393265
|
+
"feature": "l_auto",
|
|
393266
|
+
"operator": "?=",
|
|
393267
|
+
"terminal": {
|
|
393268
|
+
"$type": "Keyword",
|
|
393269
|
+
"value": "auto"
|
|
393270
|
+
}
|
|
392774
393271
|
},
|
|
392775
|
-
|
|
392776
|
-
|
|
393272
|
+
{
|
|
393273
|
+
"$type": "Assignment",
|
|
393274
|
+
"feature": "l",
|
|
393275
|
+
"operator": "=",
|
|
393276
|
+
"terminal": {
|
|
393277
|
+
"$type": "RuleCall",
|
|
393278
|
+
"rule": {
|
|
393279
|
+
"$ref": "#/rules@16"
|
|
393280
|
+
},
|
|
393281
|
+
"arguments": []
|
|
393282
|
+
}
|
|
393283
|
+
}
|
|
393284
|
+
]
|
|
392777
393285
|
},
|
|
392778
393286
|
{
|
|
392779
393287
|
"$type": "Keyword",
|
|
@@ -392793,7 +393301,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392793
393301
|
"terminal": {
|
|
392794
393302
|
"$type": "RuleCall",
|
|
392795
393303
|
"rule": {
|
|
392796
|
-
"$ref": "#/rules@
|
|
393304
|
+
"$ref": "#/rules@16"
|
|
392797
393305
|
},
|
|
392798
393306
|
"arguments": []
|
|
392799
393307
|
}
|
|
@@ -392804,7 +393312,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392804
393312
|
{
|
|
392805
393313
|
"$type": "RuleCall",
|
|
392806
393314
|
"rule": {
|
|
392807
|
-
"$ref": "#/rules@
|
|
393315
|
+
"$ref": "#/rules@34"
|
|
392808
393316
|
},
|
|
392809
393317
|
"arguments": []
|
|
392810
393318
|
}
|
|
@@ -392838,7 +393346,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392838
393346
|
"terminal": {
|
|
392839
393347
|
"$type": "RuleCall",
|
|
392840
393348
|
"rule": {
|
|
392841
|
-
"$ref": "#/rules@
|
|
393349
|
+
"$ref": "#/rules@66"
|
|
392842
393350
|
},
|
|
392843
393351
|
"arguments": []
|
|
392844
393352
|
}
|
|
@@ -392861,7 +393369,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392861
393369
|
"terminal": {
|
|
392862
393370
|
"$type": "RuleCall",
|
|
392863
393371
|
"rule": {
|
|
392864
|
-
"$ref": "#/rules@
|
|
393372
|
+
"$ref": "#/rules@16"
|
|
392865
393373
|
},
|
|
392866
393374
|
"arguments": []
|
|
392867
393375
|
}
|
|
@@ -392877,7 +393385,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392877
393385
|
"terminal": {
|
|
392878
393386
|
"$type": "RuleCall",
|
|
392879
393387
|
"rule": {
|
|
392880
|
-
"$ref": "#/rules@
|
|
393388
|
+
"$ref": "#/rules@16"
|
|
392881
393389
|
},
|
|
392882
393390
|
"arguments": []
|
|
392883
393391
|
}
|
|
@@ -392901,7 +393409,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392901
393409
|
"terminal": {
|
|
392902
393410
|
"$type": "RuleCall",
|
|
392903
393411
|
"rule": {
|
|
392904
|
-
"$ref": "#/rules@
|
|
393412
|
+
"$ref": "#/rules@16"
|
|
392905
393413
|
},
|
|
392906
393414
|
"arguments": []
|
|
392907
393415
|
}
|
|
@@ -392917,7 +393425,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392917
393425
|
"terminal": {
|
|
392918
393426
|
"$type": "RuleCall",
|
|
392919
393427
|
"rule": {
|
|
392920
|
-
"$ref": "#/rules@
|
|
393428
|
+
"$ref": "#/rules@16"
|
|
392921
393429
|
},
|
|
392922
393430
|
"arguments": []
|
|
392923
393431
|
}
|
|
@@ -392940,7 +393448,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392940
393448
|
"terminal": {
|
|
392941
393449
|
"$type": "RuleCall",
|
|
392942
393450
|
"rule": {
|
|
392943
|
-
"$ref": "#/rules@
|
|
393451
|
+
"$ref": "#/rules@16"
|
|
392944
393452
|
},
|
|
392945
393453
|
"arguments": []
|
|
392946
393454
|
}
|
|
@@ -392951,7 +393459,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392951
393459
|
{
|
|
392952
393460
|
"$type": "RuleCall",
|
|
392953
393461
|
"rule": {
|
|
392954
|
-
"$ref": "#/rules@
|
|
393462
|
+
"$ref": "#/rules@34"
|
|
392955
393463
|
},
|
|
392956
393464
|
"arguments": []
|
|
392957
393465
|
}
|
|
@@ -392985,7 +393493,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
392985
393493
|
"terminal": {
|
|
392986
393494
|
"$type": "RuleCall",
|
|
392987
393495
|
"rule": {
|
|
392988
|
-
"$ref": "#/rules@
|
|
393496
|
+
"$ref": "#/rules@66"
|
|
392989
393497
|
},
|
|
392990
393498
|
"arguments": []
|
|
392991
393499
|
}
|
|
@@ -393008,7 +393516,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393008
393516
|
"terminal": {
|
|
393009
393517
|
"$type": "RuleCall",
|
|
393010
393518
|
"rule": {
|
|
393011
|
-
"$ref": "#/rules@
|
|
393519
|
+
"$ref": "#/rules@16"
|
|
393012
393520
|
},
|
|
393013
393521
|
"arguments": []
|
|
393014
393522
|
}
|
|
@@ -393024,7 +393532,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393024
393532
|
"terminal": {
|
|
393025
393533
|
"$type": "RuleCall",
|
|
393026
393534
|
"rule": {
|
|
393027
|
-
"$ref": "#/rules@
|
|
393535
|
+
"$ref": "#/rules@16"
|
|
393028
393536
|
},
|
|
393029
393537
|
"arguments": []
|
|
393030
393538
|
}
|
|
@@ -393048,7 +393556,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393048
393556
|
"terminal": {
|
|
393049
393557
|
"$type": "RuleCall",
|
|
393050
393558
|
"rule": {
|
|
393051
|
-
"$ref": "#/rules@
|
|
393559
|
+
"$ref": "#/rules@16"
|
|
393052
393560
|
},
|
|
393053
393561
|
"arguments": []
|
|
393054
393562
|
}
|
|
@@ -393064,7 +393572,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393064
393572
|
"terminal": {
|
|
393065
393573
|
"$type": "RuleCall",
|
|
393066
393574
|
"rule": {
|
|
393067
|
-
"$ref": "#/rules@
|
|
393575
|
+
"$ref": "#/rules@16"
|
|
393068
393576
|
},
|
|
393069
393577
|
"arguments": []
|
|
393070
393578
|
}
|
|
@@ -393087,7 +393595,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393087
393595
|
"terminal": {
|
|
393088
393596
|
"$type": "RuleCall",
|
|
393089
393597
|
"rule": {
|
|
393090
|
-
"$ref": "#/rules@
|
|
393598
|
+
"$ref": "#/rules@16"
|
|
393091
393599
|
},
|
|
393092
393600
|
"arguments": []
|
|
393093
393601
|
}
|
|
@@ -393098,7 +393606,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393098
393606
|
{
|
|
393099
393607
|
"$type": "RuleCall",
|
|
393100
393608
|
"rule": {
|
|
393101
|
-
"$ref": "#/rules@
|
|
393609
|
+
"$ref": "#/rules@34"
|
|
393102
393610
|
},
|
|
393103
393611
|
"arguments": []
|
|
393104
393612
|
}
|
|
@@ -393132,7 +393640,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393132
393640
|
"terminal": {
|
|
393133
393641
|
"$type": "RuleCall",
|
|
393134
393642
|
"rule": {
|
|
393135
|
-
"$ref": "#/rules@
|
|
393643
|
+
"$ref": "#/rules@66"
|
|
393136
393644
|
},
|
|
393137
393645
|
"arguments": []
|
|
393138
393646
|
}
|
|
@@ -393155,7 +393663,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393155
393663
|
"terminal": {
|
|
393156
393664
|
"$type": "RuleCall",
|
|
393157
393665
|
"rule": {
|
|
393158
|
-
"$ref": "#/rules@
|
|
393666
|
+
"$ref": "#/rules@16"
|
|
393159
393667
|
},
|
|
393160
393668
|
"arguments": []
|
|
393161
393669
|
}
|
|
@@ -393171,7 +393679,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393171
393679
|
"terminal": {
|
|
393172
393680
|
"$type": "RuleCall",
|
|
393173
393681
|
"rule": {
|
|
393174
|
-
"$ref": "#/rules@
|
|
393682
|
+
"$ref": "#/rules@16"
|
|
393175
393683
|
},
|
|
393176
393684
|
"arguments": []
|
|
393177
393685
|
}
|
|
@@ -393195,7 +393703,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393195
393703
|
"terminal": {
|
|
393196
393704
|
"$type": "RuleCall",
|
|
393197
393705
|
"rule": {
|
|
393198
|
-
"$ref": "#/rules@
|
|
393706
|
+
"$ref": "#/rules@16"
|
|
393199
393707
|
},
|
|
393200
393708
|
"arguments": []
|
|
393201
393709
|
}
|
|
@@ -393211,7 +393719,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393211
393719
|
"terminal": {
|
|
393212
393720
|
"$type": "RuleCall",
|
|
393213
393721
|
"rule": {
|
|
393214
|
-
"$ref": "#/rules@
|
|
393722
|
+
"$ref": "#/rules@16"
|
|
393215
393723
|
},
|
|
393216
393724
|
"arguments": []
|
|
393217
393725
|
}
|
|
@@ -393231,7 +393739,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393231
393739
|
"terminal": {
|
|
393232
393740
|
"$type": "RuleCall",
|
|
393233
393741
|
"rule": {
|
|
393234
|
-
"$ref": "#/rules@
|
|
393742
|
+
"$ref": "#/rules@16"
|
|
393235
393743
|
},
|
|
393236
393744
|
"arguments": []
|
|
393237
393745
|
}
|
|
@@ -393239,7 +393747,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393239
393747
|
{
|
|
393240
393748
|
"$type": "RuleCall",
|
|
393241
393749
|
"rule": {
|
|
393242
|
-
"$ref": "#/rules@
|
|
393750
|
+
"$ref": "#/rules@34"
|
|
393243
393751
|
},
|
|
393244
393752
|
"arguments": []
|
|
393245
393753
|
},
|
|
@@ -393257,7 +393765,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393257
393765
|
"terminal": {
|
|
393258
393766
|
"$type": "RuleCall",
|
|
393259
393767
|
"rule": {
|
|
393260
|
-
"$ref": "#/rules@
|
|
393768
|
+
"$ref": "#/rules@66"
|
|
393261
393769
|
},
|
|
393262
393770
|
"arguments": []
|
|
393263
393771
|
}
|
|
@@ -393295,7 +393803,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393295
393803
|
"terminal": {
|
|
393296
393804
|
"$type": "RuleCall",
|
|
393297
393805
|
"rule": {
|
|
393298
|
-
"$ref": "#/rules@
|
|
393806
|
+
"$ref": "#/rules@66"
|
|
393299
393807
|
},
|
|
393300
393808
|
"arguments": []
|
|
393301
393809
|
}
|
|
@@ -393318,7 +393826,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393318
393826
|
"terminal": {
|
|
393319
393827
|
"$type": "RuleCall",
|
|
393320
393828
|
"rule": {
|
|
393321
|
-
"$ref": "#/rules@
|
|
393829
|
+
"$ref": "#/rules@16"
|
|
393322
393830
|
},
|
|
393323
393831
|
"arguments": []
|
|
393324
393832
|
}
|
|
@@ -393334,7 +393842,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393334
393842
|
"terminal": {
|
|
393335
393843
|
"$type": "RuleCall",
|
|
393336
393844
|
"rule": {
|
|
393337
|
-
"$ref": "#/rules@
|
|
393845
|
+
"$ref": "#/rules@16"
|
|
393338
393846
|
},
|
|
393339
393847
|
"arguments": []
|
|
393340
393848
|
}
|
|
@@ -393358,7 +393866,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393358
393866
|
"terminal": {
|
|
393359
393867
|
"$type": "RuleCall",
|
|
393360
393868
|
"rule": {
|
|
393361
|
-
"$ref": "#/rules@
|
|
393869
|
+
"$ref": "#/rules@16"
|
|
393362
393870
|
},
|
|
393363
393871
|
"arguments": []
|
|
393364
393872
|
}
|
|
@@ -393374,7 +393882,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393374
393882
|
"terminal": {
|
|
393375
393883
|
"$type": "RuleCall",
|
|
393376
393884
|
"rule": {
|
|
393377
|
-
"$ref": "#/rules@
|
|
393885
|
+
"$ref": "#/rules@16"
|
|
393378
393886
|
},
|
|
393379
393887
|
"arguments": []
|
|
393380
393888
|
}
|
|
@@ -393397,7 +393905,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393397
393905
|
"terminal": {
|
|
393398
393906
|
"$type": "RuleCall",
|
|
393399
393907
|
"rule": {
|
|
393400
|
-
"$ref": "#/rules@
|
|
393908
|
+
"$ref": "#/rules@16"
|
|
393401
393909
|
},
|
|
393402
393910
|
"arguments": []
|
|
393403
393911
|
}
|
|
@@ -393408,7 +393916,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393408
393916
|
{
|
|
393409
393917
|
"$type": "RuleCall",
|
|
393410
393918
|
"rule": {
|
|
393411
|
-
"$ref": "#/rules@
|
|
393919
|
+
"$ref": "#/rules@34"
|
|
393412
393920
|
},
|
|
393413
393921
|
"arguments": []
|
|
393414
393922
|
},
|
|
@@ -393426,7 +393934,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393426
393934
|
"terminal": {
|
|
393427
393935
|
"$type": "RuleCall",
|
|
393428
393936
|
"rule": {
|
|
393429
|
-
"$ref": "#/rules@
|
|
393937
|
+
"$ref": "#/rules@66"
|
|
393430
393938
|
},
|
|
393431
393939
|
"arguments": []
|
|
393432
393940
|
}
|
|
@@ -393464,7 +393972,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393464
393972
|
"terminal": {
|
|
393465
393973
|
"$type": "RuleCall",
|
|
393466
393974
|
"rule": {
|
|
393467
|
-
"$ref": "#/rules@
|
|
393975
|
+
"$ref": "#/rules@66"
|
|
393468
393976
|
},
|
|
393469
393977
|
"arguments": []
|
|
393470
393978
|
}
|
|
@@ -393487,7 +393995,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393487
393995
|
"terminal": {
|
|
393488
393996
|
"$type": "RuleCall",
|
|
393489
393997
|
"rule": {
|
|
393490
|
-
"$ref": "#/rules@
|
|
393998
|
+
"$ref": "#/rules@16"
|
|
393491
393999
|
},
|
|
393492
394000
|
"arguments": []
|
|
393493
394001
|
}
|
|
@@ -393503,7 +394011,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393503
394011
|
"terminal": {
|
|
393504
394012
|
"$type": "RuleCall",
|
|
393505
394013
|
"rule": {
|
|
393506
|
-
"$ref": "#/rules@
|
|
394014
|
+
"$ref": "#/rules@16"
|
|
393507
394015
|
},
|
|
393508
394016
|
"arguments": []
|
|
393509
394017
|
}
|
|
@@ -393527,7 +394035,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393527
394035
|
"terminal": {
|
|
393528
394036
|
"$type": "RuleCall",
|
|
393529
394037
|
"rule": {
|
|
393530
|
-
"$ref": "#/rules@
|
|
394038
|
+
"$ref": "#/rules@16"
|
|
393531
394039
|
},
|
|
393532
394040
|
"arguments": []
|
|
393533
394041
|
}
|
|
@@ -393543,7 +394051,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393543
394051
|
"terminal": {
|
|
393544
394052
|
"$type": "RuleCall",
|
|
393545
394053
|
"rule": {
|
|
393546
|
-
"$ref": "#/rules@
|
|
394054
|
+
"$ref": "#/rules@16"
|
|
393547
394055
|
},
|
|
393548
394056
|
"arguments": []
|
|
393549
394057
|
}
|
|
@@ -393559,7 +394067,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393559
394067
|
"terminal": {
|
|
393560
394068
|
"$type": "RuleCall",
|
|
393561
394069
|
"rule": {
|
|
393562
|
-
"$ref": "#/rules@
|
|
394070
|
+
"$ref": "#/rules@16"
|
|
393563
394071
|
},
|
|
393564
394072
|
"arguments": []
|
|
393565
394073
|
}
|
|
@@ -393579,7 +394087,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393579
394087
|
"terminal": {
|
|
393580
394088
|
"$type": "RuleCall",
|
|
393581
394089
|
"rule": {
|
|
393582
|
-
"$ref": "#/rules@
|
|
394090
|
+
"$ref": "#/rules@39"
|
|
393583
394091
|
},
|
|
393584
394092
|
"arguments": []
|
|
393585
394093
|
}
|
|
@@ -393598,7 +394106,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393598
394106
|
"terminal": {
|
|
393599
394107
|
"$type": "RuleCall",
|
|
393600
394108
|
"rule": {
|
|
393601
|
-
"$ref": "#/rules@
|
|
394109
|
+
"$ref": "#/rules@16"
|
|
393602
394110
|
},
|
|
393603
394111
|
"arguments": []
|
|
393604
394112
|
}
|
|
@@ -393620,7 +394128,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393620
394128
|
"terminal": {
|
|
393621
394129
|
"$type": "RuleCall",
|
|
393622
394130
|
"rule": {
|
|
393623
|
-
"$ref": "#/rules@
|
|
394131
|
+
"$ref": "#/rules@16"
|
|
393624
394132
|
},
|
|
393625
394133
|
"arguments": []
|
|
393626
394134
|
}
|
|
@@ -393642,7 +394150,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393642
394150
|
"terminal": {
|
|
393643
394151
|
"$type": "RuleCall",
|
|
393644
394152
|
"rule": {
|
|
393645
|
-
"$ref": "#/rules@
|
|
394153
|
+
"$ref": "#/rules@16"
|
|
393646
394154
|
},
|
|
393647
394155
|
"arguments": []
|
|
393648
394156
|
}
|
|
@@ -393664,7 +394172,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393664
394172
|
"terminal": {
|
|
393665
394173
|
"$type": "RuleCall",
|
|
393666
394174
|
"rule": {
|
|
393667
|
-
"$ref": "#/rules@
|
|
394175
|
+
"$ref": "#/rules@16"
|
|
393668
394176
|
},
|
|
393669
394177
|
"arguments": []
|
|
393670
394178
|
}
|
|
@@ -393714,7 +394222,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393714
394222
|
"terminal": {
|
|
393715
394223
|
"$type": "RuleCall",
|
|
393716
394224
|
"rule": {
|
|
393717
|
-
"$ref": "#/rules@
|
|
394225
|
+
"$ref": "#/rules@16"
|
|
393718
394226
|
},
|
|
393719
394227
|
"arguments": []
|
|
393720
394228
|
}
|
|
@@ -393725,7 +394233,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393725
394233
|
{
|
|
393726
394234
|
"$type": "RuleCall",
|
|
393727
394235
|
"rule": {
|
|
393728
|
-
"$ref": "#/rules@
|
|
394236
|
+
"$ref": "#/rules@34"
|
|
393729
394237
|
},
|
|
393730
394238
|
"arguments": []
|
|
393731
394239
|
},
|
|
@@ -393743,7 +394251,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393743
394251
|
"terminal": {
|
|
393744
394252
|
"$type": "RuleCall",
|
|
393745
394253
|
"rule": {
|
|
393746
|
-
"$ref": "#/rules@
|
|
394254
|
+
"$ref": "#/rules@66"
|
|
393747
394255
|
},
|
|
393748
394256
|
"arguments": []
|
|
393749
394257
|
}
|
|
@@ -393781,7 +394289,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393781
394289
|
"terminal": {
|
|
393782
394290
|
"$type": "RuleCall",
|
|
393783
394291
|
"rule": {
|
|
393784
|
-
"$ref": "#/rules@
|
|
394292
|
+
"$ref": "#/rules@66"
|
|
393785
394293
|
},
|
|
393786
394294
|
"arguments": []
|
|
393787
394295
|
}
|
|
@@ -393804,7 +394312,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393804
394312
|
"terminal": {
|
|
393805
394313
|
"$type": "RuleCall",
|
|
393806
394314
|
"rule": {
|
|
393807
|
-
"$ref": "#/rules@
|
|
394315
|
+
"$ref": "#/rules@48"
|
|
393808
394316
|
},
|
|
393809
394317
|
"arguments": []
|
|
393810
394318
|
}
|
|
@@ -393823,7 +394331,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393823
394331
|
"terminal": {
|
|
393824
394332
|
"$type": "RuleCall",
|
|
393825
394333
|
"rule": {
|
|
393826
|
-
"$ref": "#/rules@
|
|
394334
|
+
"$ref": "#/rules@48"
|
|
393827
394335
|
},
|
|
393828
394336
|
"arguments": []
|
|
393829
394337
|
}
|
|
@@ -393868,7 +394376,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393868
394376
|
"terminal": {
|
|
393869
394377
|
"$type": "RuleCall",
|
|
393870
394378
|
"rule": {
|
|
393871
|
-
"$ref": "#/rules@
|
|
394379
|
+
"$ref": "#/rules@16"
|
|
393872
394380
|
},
|
|
393873
394381
|
"arguments": []
|
|
393874
394382
|
}
|
|
@@ -393884,7 +394392,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393884
394392
|
"terminal": {
|
|
393885
394393
|
"$type": "RuleCall",
|
|
393886
394394
|
"rule": {
|
|
393887
|
-
"$ref": "#/rules@
|
|
394395
|
+
"$ref": "#/rules@16"
|
|
393888
394396
|
},
|
|
393889
394397
|
"arguments": []
|
|
393890
394398
|
}
|
|
@@ -393903,7 +394411,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393903
394411
|
"terminal": {
|
|
393904
394412
|
"$type": "RuleCall",
|
|
393905
394413
|
"rule": {
|
|
393906
|
-
"$ref": "#/rules@
|
|
394414
|
+
"$ref": "#/rules@16"
|
|
393907
394415
|
},
|
|
393908
394416
|
"arguments": []
|
|
393909
394417
|
}
|
|
@@ -393914,7 +394422,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393914
394422
|
{
|
|
393915
394423
|
"$type": "RuleCall",
|
|
393916
394424
|
"rule": {
|
|
393917
|
-
"$ref": "#/rules@
|
|
394425
|
+
"$ref": "#/rules@34"
|
|
393918
394426
|
},
|
|
393919
394427
|
"arguments": []
|
|
393920
394428
|
},
|
|
@@ -393932,7 +394440,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393932
394440
|
"terminal": {
|
|
393933
394441
|
"$type": "RuleCall",
|
|
393934
394442
|
"rule": {
|
|
393935
|
-
"$ref": "#/rules@
|
|
394443
|
+
"$ref": "#/rules@66"
|
|
393936
394444
|
},
|
|
393937
394445
|
"arguments": []
|
|
393938
394446
|
}
|
|
@@ -393963,7 +394471,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393963
394471
|
"terminal": {
|
|
393964
394472
|
"$type": "RuleCall",
|
|
393965
394473
|
"rule": {
|
|
393966
|
-
"$ref": "#/rules@
|
|
394474
|
+
"$ref": "#/rules@65"
|
|
393967
394475
|
},
|
|
393968
394476
|
"arguments": []
|
|
393969
394477
|
}
|
|
@@ -393979,7 +394487,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
393979
394487
|
"terminal": {
|
|
393980
394488
|
"$type": "RuleCall",
|
|
393981
394489
|
"rule": {
|
|
393982
|
-
"$ref": "#/rules@
|
|
394490
|
+
"$ref": "#/rules@65"
|
|
393983
394491
|
},
|
|
393984
394492
|
"arguments": []
|
|
393985
394493
|
}
|
|
@@ -394018,7 +394526,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394018
394526
|
"terminal": {
|
|
394019
394527
|
"$type": "RuleCall",
|
|
394020
394528
|
"rule": {
|
|
394021
|
-
"$ref": "#/rules@
|
|
394529
|
+
"$ref": "#/rules@66"
|
|
394022
394530
|
},
|
|
394023
394531
|
"arguments": []
|
|
394024
394532
|
}
|
|
@@ -394034,11 +394542,19 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394034
394542
|
"feature": "assetRef",
|
|
394035
394543
|
"operator": "=",
|
|
394036
394544
|
"terminal": {
|
|
394037
|
-
"$type": "
|
|
394038
|
-
"
|
|
394039
|
-
"$ref": "#/rules@
|
|
394545
|
+
"$type": "CrossReference",
|
|
394546
|
+
"type": {
|
|
394547
|
+
"$ref": "#/rules@2"
|
|
394040
394548
|
},
|
|
394041
|
-
"
|
|
394549
|
+
"terminal": {
|
|
394550
|
+
"$type": "RuleCall",
|
|
394551
|
+
"rule": {
|
|
394552
|
+
"$ref": "#/rules@51"
|
|
394553
|
+
},
|
|
394554
|
+
"arguments": []
|
|
394555
|
+
},
|
|
394556
|
+
"deprecatedSyntax": false,
|
|
394557
|
+
"isMulti": false
|
|
394042
394558
|
}
|
|
394043
394559
|
},
|
|
394044
394560
|
{
|
|
@@ -394055,7 +394571,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394055
394571
|
"terminal": {
|
|
394056
394572
|
"$type": "RuleCall",
|
|
394057
394573
|
"rule": {
|
|
394058
|
-
"$ref": "#/rules@
|
|
394574
|
+
"$ref": "#/rules@52"
|
|
394059
394575
|
},
|
|
394060
394576
|
"arguments": []
|
|
394061
394577
|
}
|
|
@@ -394079,7 +394595,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394079
394595
|
"terminal": {
|
|
394080
394596
|
"$type": "RuleCall",
|
|
394081
394597
|
"rule": {
|
|
394082
|
-
"$ref": "#/rules@
|
|
394598
|
+
"$ref": "#/rules@16"
|
|
394083
394599
|
},
|
|
394084
394600
|
"arguments": []
|
|
394085
394601
|
}
|
|
@@ -394095,7 +394611,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394095
394611
|
"terminal": {
|
|
394096
394612
|
"$type": "RuleCall",
|
|
394097
394613
|
"rule": {
|
|
394098
|
-
"$ref": "#/rules@
|
|
394614
|
+
"$ref": "#/rules@16"
|
|
394099
394615
|
},
|
|
394100
394616
|
"arguments": []
|
|
394101
394617
|
}
|
|
@@ -394118,7 +394634,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394118
394634
|
"terminal": {
|
|
394119
394635
|
"$type": "RuleCall",
|
|
394120
394636
|
"rule": {
|
|
394121
|
-
"$ref": "#/rules@
|
|
394637
|
+
"$ref": "#/rules@16"
|
|
394122
394638
|
},
|
|
394123
394639
|
"arguments": []
|
|
394124
394640
|
}
|
|
@@ -394140,7 +394656,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394140
394656
|
"terminal": {
|
|
394141
394657
|
"$type": "RuleCall",
|
|
394142
394658
|
"rule": {
|
|
394143
|
-
"$ref": "#/rules@
|
|
394659
|
+
"$ref": "#/rules@16"
|
|
394144
394660
|
},
|
|
394145
394661
|
"arguments": []
|
|
394146
394662
|
}
|
|
@@ -394162,7 +394678,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394162
394678
|
"terminal": {
|
|
394163
394679
|
"$type": "RuleCall",
|
|
394164
394680
|
"rule": {
|
|
394165
|
-
"$ref": "#/rules@
|
|
394681
|
+
"$ref": "#/rules@66"
|
|
394166
394682
|
},
|
|
394167
394683
|
"arguments": []
|
|
394168
394684
|
}
|
|
@@ -394184,7 +394700,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394184
394700
|
"terminal": {
|
|
394185
394701
|
"$type": "RuleCall",
|
|
394186
394702
|
"rule": {
|
|
394187
|
-
"$ref": "#/rules@
|
|
394703
|
+
"$ref": "#/rules@53"
|
|
394188
394704
|
},
|
|
394189
394705
|
"arguments": []
|
|
394190
394706
|
}
|
|
@@ -394210,7 +394726,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394210
394726
|
"terminal": {
|
|
394211
394727
|
"$type": "RuleCall",
|
|
394212
394728
|
"rule": {
|
|
394213
|
-
"$ref": "#/rules@
|
|
394729
|
+
"$ref": "#/rules@16"
|
|
394214
394730
|
},
|
|
394215
394731
|
"arguments": []
|
|
394216
394732
|
}
|
|
@@ -394226,7 +394742,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394226
394742
|
"terminal": {
|
|
394227
394743
|
"$type": "RuleCall",
|
|
394228
394744
|
"rule": {
|
|
394229
|
-
"$ref": "#/rules@
|
|
394745
|
+
"$ref": "#/rules@16"
|
|
394230
394746
|
},
|
|
394231
394747
|
"arguments": []
|
|
394232
394748
|
}
|
|
@@ -394241,7 +394757,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394241
394757
|
{
|
|
394242
394758
|
"$type": "RuleCall",
|
|
394243
394759
|
"rule": {
|
|
394244
|
-
"$ref": "#/rules@
|
|
394760
|
+
"$ref": "#/rules@34"
|
|
394245
394761
|
},
|
|
394246
394762
|
"arguments": []
|
|
394247
394763
|
}
|
|
@@ -394275,7 +394791,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394275
394791
|
"terminal": {
|
|
394276
394792
|
"$type": "RuleCall",
|
|
394277
394793
|
"rule": {
|
|
394278
|
-
"$ref": "#/rules@
|
|
394794
|
+
"$ref": "#/rules@66"
|
|
394279
394795
|
},
|
|
394280
394796
|
"arguments": []
|
|
394281
394797
|
}
|
|
@@ -394291,11 +394807,19 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394291
394807
|
"feature": "assetRef",
|
|
394292
394808
|
"operator": "=",
|
|
394293
394809
|
"terminal": {
|
|
394294
|
-
"$type": "
|
|
394295
|
-
"
|
|
394296
|
-
"$ref": "#/rules@
|
|
394810
|
+
"$type": "CrossReference",
|
|
394811
|
+
"type": {
|
|
394812
|
+
"$ref": "#/rules@2"
|
|
394297
394813
|
},
|
|
394298
|
-
"
|
|
394814
|
+
"terminal": {
|
|
394815
|
+
"$type": "RuleCall",
|
|
394816
|
+
"rule": {
|
|
394817
|
+
"$ref": "#/rules@51"
|
|
394818
|
+
},
|
|
394819
|
+
"arguments": []
|
|
394820
|
+
},
|
|
394821
|
+
"deprecatedSyntax": false,
|
|
394822
|
+
"isMulti": false
|
|
394299
394823
|
}
|
|
394300
394824
|
},
|
|
394301
394825
|
{
|
|
@@ -394312,7 +394836,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394312
394836
|
"terminal": {
|
|
394313
394837
|
"$type": "RuleCall",
|
|
394314
394838
|
"rule": {
|
|
394315
|
-
"$ref": "#/rules@
|
|
394839
|
+
"$ref": "#/rules@52"
|
|
394316
394840
|
},
|
|
394317
394841
|
"arguments": []
|
|
394318
394842
|
}
|
|
@@ -394335,7 +394859,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394335
394859
|
"terminal": {
|
|
394336
394860
|
"$type": "RuleCall",
|
|
394337
394861
|
"rule": {
|
|
394338
|
-
"$ref": "#/rules@
|
|
394862
|
+
"$ref": "#/rules@53"
|
|
394339
394863
|
},
|
|
394340
394864
|
"arguments": []
|
|
394341
394865
|
}
|
|
@@ -394361,7 +394885,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394361
394885
|
"terminal": {
|
|
394362
394886
|
"$type": "RuleCall",
|
|
394363
394887
|
"rule": {
|
|
394364
|
-
"$ref": "#/rules@
|
|
394888
|
+
"$ref": "#/rules@16"
|
|
394365
394889
|
},
|
|
394366
394890
|
"arguments": []
|
|
394367
394891
|
}
|
|
@@ -394377,7 +394901,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394377
394901
|
"terminal": {
|
|
394378
394902
|
"$type": "RuleCall",
|
|
394379
394903
|
"rule": {
|
|
394380
|
-
"$ref": "#/rules@
|
|
394904
|
+
"$ref": "#/rules@16"
|
|
394381
394905
|
},
|
|
394382
394906
|
"arguments": []
|
|
394383
394907
|
}
|
|
@@ -394403,7 +394927,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394403
394927
|
"terminal": {
|
|
394404
394928
|
"$type": "RuleCall",
|
|
394405
394929
|
"rule": {
|
|
394406
|
-
"$ref": "#/rules@
|
|
394930
|
+
"$ref": "#/rules@16"
|
|
394407
394931
|
},
|
|
394408
394932
|
"arguments": []
|
|
394409
394933
|
}
|
|
@@ -394425,7 +394949,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394425
394949
|
"terminal": {
|
|
394426
394950
|
"$type": "RuleCall",
|
|
394427
394951
|
"rule": {
|
|
394428
|
-
"$ref": "#/rules@
|
|
394952
|
+
"$ref": "#/rules@16"
|
|
394429
394953
|
},
|
|
394430
394954
|
"arguments": []
|
|
394431
394955
|
}
|
|
@@ -394436,7 +394960,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394436
394960
|
{
|
|
394437
394961
|
"$type": "RuleCall",
|
|
394438
394962
|
"rule": {
|
|
394439
|
-
"$ref": "#/rules@
|
|
394963
|
+
"$ref": "#/rules@34"
|
|
394440
394964
|
},
|
|
394441
394965
|
"arguments": []
|
|
394442
394966
|
}
|
|
@@ -394448,7 +394972,8 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394448
394972
|
},
|
|
394449
394973
|
{
|
|
394450
394974
|
"$type": "ParserRule",
|
|
394451
|
-
"name": "
|
|
394975
|
+
"name": "AssetName",
|
|
394976
|
+
"dataType": "string",
|
|
394452
394977
|
"definition": {
|
|
394453
394978
|
"$type": "Group",
|
|
394454
394979
|
"elements": [
|
|
@@ -394456,16 +394981,11 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394456
394981
|
"$type": "Group",
|
|
394457
394982
|
"elements": [
|
|
394458
394983
|
{
|
|
394459
|
-
"$type": "
|
|
394460
|
-
"
|
|
394461
|
-
|
|
394462
|
-
|
|
394463
|
-
|
|
394464
|
-
"rule": {
|
|
394465
|
-
"$ref": "#/rules@61"
|
|
394466
|
-
},
|
|
394467
|
-
"arguments": []
|
|
394468
|
-
}
|
|
394984
|
+
"$type": "RuleCall",
|
|
394985
|
+
"rule": {
|
|
394986
|
+
"$ref": "#/rules@64"
|
|
394987
|
+
},
|
|
394988
|
+
"arguments": []
|
|
394469
394989
|
},
|
|
394470
394990
|
{
|
|
394471
394991
|
"$type": "Keyword",
|
|
@@ -394475,16 +394995,11 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394475
394995
|
"cardinality": "?"
|
|
394476
394996
|
},
|
|
394477
394997
|
{
|
|
394478
|
-
"$type": "
|
|
394479
|
-
"
|
|
394480
|
-
|
|
394481
|
-
|
|
394482
|
-
|
|
394483
|
-
"rule": {
|
|
394484
|
-
"$ref": "#/rules@63"
|
|
394485
|
-
},
|
|
394486
|
-
"arguments": []
|
|
394487
|
-
}
|
|
394998
|
+
"$type": "RuleCall",
|
|
394999
|
+
"rule": {
|
|
395000
|
+
"$ref": "#/rules@66"
|
|
395001
|
+
},
|
|
395002
|
+
"arguments": []
|
|
394488
395003
|
}
|
|
394489
395004
|
]
|
|
394490
395005
|
},
|
|
@@ -394513,7 +395028,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394513
395028
|
"terminal": {
|
|
394514
395029
|
"$type": "RuleCall",
|
|
394515
395030
|
"rule": {
|
|
394516
|
-
"$ref": "#/rules@
|
|
395031
|
+
"$ref": "#/rules@66"
|
|
394517
395032
|
},
|
|
394518
395033
|
"arguments": []
|
|
394519
395034
|
}
|
|
@@ -394529,7 +395044,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394529
395044
|
"terminal": {
|
|
394530
395045
|
"$type": "RuleCall",
|
|
394531
395046
|
"rule": {
|
|
394532
|
-
"$ref": "#/rules@
|
|
395047
|
+
"$ref": "#/rules@66"
|
|
394533
395048
|
},
|
|
394534
395049
|
"arguments": []
|
|
394535
395050
|
}
|
|
@@ -394549,7 +395064,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394549
395064
|
"terminal": {
|
|
394550
395065
|
"$type": "RuleCall",
|
|
394551
395066
|
"rule": {
|
|
394552
|
-
"$ref": "#/rules@
|
|
395067
|
+
"$ref": "#/rules@65"
|
|
394553
395068
|
},
|
|
394554
395069
|
"arguments": []
|
|
394555
395070
|
}
|
|
@@ -394565,7 +395080,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394565
395080
|
"terminal": {
|
|
394566
395081
|
"$type": "RuleCall",
|
|
394567
395082
|
"rule": {
|
|
394568
|
-
"$ref": "#/rules@
|
|
395083
|
+
"$ref": "#/rules@65"
|
|
394569
395084
|
},
|
|
394570
395085
|
"arguments": []
|
|
394571
395086
|
}
|
|
@@ -394581,7 +395096,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394581
395096
|
"terminal": {
|
|
394582
395097
|
"$type": "RuleCall",
|
|
394583
395098
|
"rule": {
|
|
394584
|
-
"$ref": "#/rules@
|
|
395099
|
+
"$ref": "#/rules@65"
|
|
394585
395100
|
},
|
|
394586
395101
|
"arguments": []
|
|
394587
395102
|
}
|
|
@@ -394604,7 +395119,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394604
395119
|
"terminal": {
|
|
394605
395120
|
"$type": "RuleCall",
|
|
394606
395121
|
"rule": {
|
|
394607
|
-
"$ref": "#/rules@
|
|
395122
|
+
"$ref": "#/rules@66"
|
|
394608
395123
|
},
|
|
394609
395124
|
"arguments": []
|
|
394610
395125
|
}
|
|
@@ -394626,7 +395141,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394626
395141
|
"terminal": {
|
|
394627
395142
|
"$type": "RuleCall",
|
|
394628
395143
|
"rule": {
|
|
394629
|
-
"$ref": "#/rules@
|
|
395144
|
+
"$ref": "#/rules@66"
|
|
394630
395145
|
},
|
|
394631
395146
|
"arguments": []
|
|
394632
395147
|
}
|
|
@@ -394703,38 +395218,24 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394703
395218
|
"$type": "Keyword",
|
|
394704
395219
|
"value": "use"
|
|
394705
395220
|
},
|
|
394706
|
-
{
|
|
394707
|
-
"$type": "Group",
|
|
394708
|
-
"elements": [
|
|
394709
|
-
{
|
|
394710
|
-
"$type": "Assignment",
|
|
394711
|
-
"feature": "ns",
|
|
394712
|
-
"operator": "=",
|
|
394713
|
-
"terminal": {
|
|
394714
|
-
"$type": "RuleCall",
|
|
394715
|
-
"rule": {
|
|
394716
|
-
"$ref": "#/rules@61"
|
|
394717
|
-
},
|
|
394718
|
-
"arguments": []
|
|
394719
|
-
}
|
|
394720
|
-
},
|
|
394721
|
-
{
|
|
394722
|
-
"$type": "Keyword",
|
|
394723
|
-
"value": "."
|
|
394724
|
-
}
|
|
394725
|
-
],
|
|
394726
|
-
"cardinality": "?"
|
|
394727
|
-
},
|
|
394728
395221
|
{
|
|
394729
395222
|
"$type": "Assignment",
|
|
394730
|
-
"feature": "
|
|
395223
|
+
"feature": "target",
|
|
394731
395224
|
"operator": "=",
|
|
394732
395225
|
"terminal": {
|
|
394733
|
-
"$type": "
|
|
394734
|
-
"
|
|
394735
|
-
"$ref": "#/rules@
|
|
395226
|
+
"$type": "CrossReference",
|
|
395227
|
+
"type": {
|
|
395228
|
+
"$ref": "#/rules@30"
|
|
394736
395229
|
},
|
|
394737
|
-
"
|
|
395230
|
+
"terminal": {
|
|
395231
|
+
"$type": "RuleCall",
|
|
395232
|
+
"rule": {
|
|
395233
|
+
"$ref": "#/rules@56"
|
|
395234
|
+
},
|
|
395235
|
+
"arguments": []
|
|
395236
|
+
},
|
|
395237
|
+
"deprecatedSyntax": false,
|
|
395238
|
+
"isMulti": false
|
|
394738
395239
|
}
|
|
394739
395240
|
},
|
|
394740
395241
|
{
|
|
@@ -394751,7 +395252,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394751
395252
|
"terminal": {
|
|
394752
395253
|
"$type": "RuleCall",
|
|
394753
395254
|
"rule": {
|
|
394754
|
-
"$ref": "#/rules@
|
|
395255
|
+
"$ref": "#/rules@66"
|
|
394755
395256
|
},
|
|
394756
395257
|
"arguments": []
|
|
394757
395258
|
}
|
|
@@ -394774,7 +395275,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394774
395275
|
"terminal": {
|
|
394775
395276
|
"$type": "RuleCall",
|
|
394776
395277
|
"rule": {
|
|
394777
|
-
"$ref": "#/rules@
|
|
395278
|
+
"$ref": "#/rules@16"
|
|
394778
395279
|
},
|
|
394779
395280
|
"arguments": []
|
|
394780
395281
|
}
|
|
@@ -394790,7 +395291,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394790
395291
|
"terminal": {
|
|
394791
395292
|
"$type": "RuleCall",
|
|
394792
395293
|
"rule": {
|
|
394793
|
-
"$ref": "#/rules@
|
|
395294
|
+
"$ref": "#/rules@16"
|
|
394794
395295
|
},
|
|
394795
395296
|
"arguments": []
|
|
394796
395297
|
}
|
|
@@ -394799,6 +395300,28 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394799
395300
|
"$type": "Keyword",
|
|
394800
395301
|
"value": ")"
|
|
394801
395302
|
},
|
|
395303
|
+
{
|
|
395304
|
+
"$type": "Group",
|
|
395305
|
+
"elements": [
|
|
395306
|
+
{
|
|
395307
|
+
"$type": "Keyword",
|
|
395308
|
+
"value": "rotation"
|
|
395309
|
+
},
|
|
395310
|
+
{
|
|
395311
|
+
"$type": "Assignment",
|
|
395312
|
+
"feature": "rotation",
|
|
395313
|
+
"operator": "=",
|
|
395314
|
+
"terminal": {
|
|
395315
|
+
"$type": "RuleCall",
|
|
395316
|
+
"rule": {
|
|
395317
|
+
"$ref": "#/rules@16"
|
|
395318
|
+
},
|
|
395319
|
+
"arguments": []
|
|
395320
|
+
}
|
|
395321
|
+
}
|
|
395322
|
+
],
|
|
395323
|
+
"cardinality": "?"
|
|
395324
|
+
},
|
|
394802
395325
|
{
|
|
394803
395326
|
"$type": "Group",
|
|
394804
395327
|
"elements": [
|
|
@@ -394817,7 +395340,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394817
395340
|
"terminal": {
|
|
394818
395341
|
"$type": "RuleCall",
|
|
394819
395342
|
"rule": {
|
|
394820
|
-
"$ref": "#/rules@
|
|
395343
|
+
"$ref": "#/rules@55"
|
|
394821
395344
|
},
|
|
394822
395345
|
"arguments": []
|
|
394823
395346
|
}
|
|
@@ -394836,7 +395359,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394836
395359
|
"terminal": {
|
|
394837
395360
|
"$type": "RuleCall",
|
|
394838
395361
|
"rule": {
|
|
394839
|
-
"$ref": "#/rules@
|
|
395362
|
+
"$ref": "#/rules@55"
|
|
394840
395363
|
},
|
|
394841
395364
|
"arguments": []
|
|
394842
395365
|
}
|
|
@@ -394854,7 +395377,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394854
395377
|
{
|
|
394855
395378
|
"$type": "RuleCall",
|
|
394856
395379
|
"rule": {
|
|
394857
|
-
"$ref": "#/rules@
|
|
395380
|
+
"$ref": "#/rules@34"
|
|
394858
395381
|
},
|
|
394859
395382
|
"arguments": []
|
|
394860
395383
|
}
|
|
@@ -394877,7 +395400,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394877
395400
|
"terminal": {
|
|
394878
395401
|
"$type": "RuleCall",
|
|
394879
395402
|
"rule": {
|
|
394880
|
-
"$ref": "#/rules@
|
|
395403
|
+
"$ref": "#/rules@64"
|
|
394881
395404
|
},
|
|
394882
395405
|
"arguments": []
|
|
394883
395406
|
}
|
|
@@ -394893,7 +395416,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394893
395416
|
"terminal": {
|
|
394894
395417
|
"$type": "RuleCall",
|
|
394895
395418
|
"rule": {
|
|
394896
|
-
"$ref": "#/rules@
|
|
395419
|
+
"$ref": "#/rules@16"
|
|
394897
395420
|
},
|
|
394898
395421
|
"arguments": []
|
|
394899
395422
|
}
|
|
@@ -394904,6 +395427,43 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394904
395427
|
"fragment": false,
|
|
394905
395428
|
"parameters": []
|
|
394906
395429
|
},
|
|
395430
|
+
{
|
|
395431
|
+
"$type": "ParserRule",
|
|
395432
|
+
"name": "QualifiedName",
|
|
395433
|
+
"dataType": "string",
|
|
395434
|
+
"definition": {
|
|
395435
|
+
"$type": "Group",
|
|
395436
|
+
"elements": [
|
|
395437
|
+
{
|
|
395438
|
+
"$type": "RuleCall",
|
|
395439
|
+
"rule": {
|
|
395440
|
+
"$ref": "#/rules@64"
|
|
395441
|
+
},
|
|
395442
|
+
"arguments": []
|
|
395443
|
+
},
|
|
395444
|
+
{
|
|
395445
|
+
"$type": "Group",
|
|
395446
|
+
"elements": [
|
|
395447
|
+
{
|
|
395448
|
+
"$type": "Keyword",
|
|
395449
|
+
"value": "."
|
|
395450
|
+
},
|
|
395451
|
+
{
|
|
395452
|
+
"$type": "RuleCall",
|
|
395453
|
+
"rule": {
|
|
395454
|
+
"$ref": "#/rules@64"
|
|
395455
|
+
},
|
|
395456
|
+
"arguments": []
|
|
395457
|
+
}
|
|
395458
|
+
],
|
|
395459
|
+
"cardinality": "*"
|
|
395460
|
+
}
|
|
395461
|
+
]
|
|
395462
|
+
},
|
|
395463
|
+
"entry": false,
|
|
395464
|
+
"fragment": false,
|
|
395465
|
+
"parameters": []
|
|
395466
|
+
},
|
|
394907
395467
|
{
|
|
394908
395468
|
"$type": "ParserRule",
|
|
394909
395469
|
"name": "Roof",
|
|
@@ -394928,7 +395488,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394928
395488
|
"terminal": {
|
|
394929
395489
|
"$type": "RuleCall",
|
|
394930
395490
|
"rule": {
|
|
394931
|
-
"$ref": "#/rules@
|
|
395491
|
+
"$ref": "#/rules@66"
|
|
394932
395492
|
},
|
|
394933
395493
|
"arguments": []
|
|
394934
395494
|
}
|
|
@@ -394993,33 +395553,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
394993
395553
|
"terminal": {
|
|
394994
395554
|
"$type": "RuleCall",
|
|
394995
395555
|
"rule": {
|
|
394996
|
-
"$ref": "#/rules@
|
|
394997
|
-
},
|
|
394998
|
-
"arguments": []
|
|
394999
|
-
},
|
|
395000
|
-
"cardinality": "?"
|
|
395001
|
-
},
|
|
395002
|
-
{
|
|
395003
|
-
"$type": "Assignment",
|
|
395004
|
-
"feature": "slope_left",
|
|
395005
|
-
"operator": "=",
|
|
395006
|
-
"terminal": {
|
|
395007
|
-
"$type": "RuleCall",
|
|
395008
|
-
"rule": {
|
|
395009
|
-
"$ref": "#/rules@54"
|
|
395010
|
-
},
|
|
395011
|
-
"arguments": []
|
|
395012
|
-
},
|
|
395013
|
-
"cardinality": "?"
|
|
395014
|
-
},
|
|
395015
|
-
{
|
|
395016
|
-
"$type": "Assignment",
|
|
395017
|
-
"feature": "slope_right",
|
|
395018
|
-
"operator": "=",
|
|
395019
|
-
"terminal": {
|
|
395020
|
-
"$type": "RuleCall",
|
|
395021
|
-
"rule": {
|
|
395022
|
-
"$ref": "#/rules@55"
|
|
395556
|
+
"$ref": "#/rules@58"
|
|
395023
395557
|
},
|
|
395024
395558
|
"arguments": []
|
|
395025
395559
|
},
|
|
@@ -395039,7 +395573,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395039
395573
|
"terminal": {
|
|
395040
395574
|
"$type": "RuleCall",
|
|
395041
395575
|
"rule": {
|
|
395042
|
-
"$ref": "#/rules@
|
|
395576
|
+
"$ref": "#/rules@16"
|
|
395043
395577
|
},
|
|
395044
395578
|
"arguments": []
|
|
395045
395579
|
}
|
|
@@ -395061,7 +395595,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395061
395595
|
"terminal": {
|
|
395062
395596
|
"$type": "RuleCall",
|
|
395063
395597
|
"rule": {
|
|
395064
|
-
"$ref": "#/rules@
|
|
395598
|
+
"$ref": "#/rules@16"
|
|
395065
395599
|
},
|
|
395066
395600
|
"arguments": []
|
|
395067
395601
|
}
|
|
@@ -395083,7 +395617,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395083
395617
|
"terminal": {
|
|
395084
395618
|
"$type": "RuleCall",
|
|
395085
395619
|
"rule": {
|
|
395086
|
-
"$ref": "#/rules@
|
|
395620
|
+
"$ref": "#/rules@16"
|
|
395087
395621
|
},
|
|
395088
395622
|
"arguments": []
|
|
395089
395623
|
}
|
|
@@ -395099,7 +395633,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395099
395633
|
"terminal": {
|
|
395100
395634
|
"$type": "RuleCall",
|
|
395101
395635
|
"rule": {
|
|
395102
|
-
"$ref": "#/rules@
|
|
395636
|
+
"$ref": "#/rules@16"
|
|
395103
395637
|
},
|
|
395104
395638
|
"arguments": []
|
|
395105
395639
|
}
|
|
@@ -395121,7 +395655,29 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395121
395655
|
"terminal": {
|
|
395122
395656
|
"$type": "RuleCall",
|
|
395123
395657
|
"rule": {
|
|
395124
|
-
"$ref": "#/rules@
|
|
395658
|
+
"$ref": "#/rules@16"
|
|
395659
|
+
},
|
|
395660
|
+
"arguments": []
|
|
395661
|
+
}
|
|
395662
|
+
}
|
|
395663
|
+
],
|
|
395664
|
+
"cardinality": "?"
|
|
395665
|
+
},
|
|
395666
|
+
{
|
|
395667
|
+
"$type": "Group",
|
|
395668
|
+
"elements": [
|
|
395669
|
+
{
|
|
395670
|
+
"$type": "Keyword",
|
|
395671
|
+
"value": "framing"
|
|
395672
|
+
},
|
|
395673
|
+
{
|
|
395674
|
+
"$type": "Assignment",
|
|
395675
|
+
"feature": "framing",
|
|
395676
|
+
"operator": "=",
|
|
395677
|
+
"terminal": {
|
|
395678
|
+
"$type": "RuleCall",
|
|
395679
|
+
"rule": {
|
|
395680
|
+
"$ref": "#/rules@23"
|
|
395125
395681
|
},
|
|
395126
395682
|
"arguments": []
|
|
395127
395683
|
}
|
|
@@ -395132,7 +395688,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395132
395688
|
{
|
|
395133
395689
|
"$type": "RuleCall",
|
|
395134
395690
|
"rule": {
|
|
395135
|
-
"$ref": "#/rules@
|
|
395691
|
+
"$ref": "#/rules@34"
|
|
395136
395692
|
},
|
|
395137
395693
|
"arguments": []
|
|
395138
395694
|
},
|
|
@@ -395150,7 +395706,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395150
395706
|
"terminal": {
|
|
395151
395707
|
"$type": "RuleCall",
|
|
395152
395708
|
"rule": {
|
|
395153
|
-
"$ref": "#/rules@
|
|
395709
|
+
"$ref": "#/rules@66"
|
|
395154
395710
|
},
|
|
395155
395711
|
"arguments": []
|
|
395156
395712
|
}
|
|
@@ -395172,7 +395728,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395172
395728
|
"terminal": {
|
|
395173
395729
|
"$type": "RuleCall",
|
|
395174
395730
|
"rule": {
|
|
395175
|
-
"$ref": "#/rules@
|
|
395731
|
+
"$ref": "#/rules@59"
|
|
395176
395732
|
},
|
|
395177
395733
|
"arguments": []
|
|
395178
395734
|
}
|
|
@@ -395184,7 +395740,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395184
395740
|
"terminal": {
|
|
395185
395741
|
"$type": "RuleCall",
|
|
395186
395742
|
"rule": {
|
|
395187
|
-
"$ref": "#/rules@
|
|
395743
|
+
"$ref": "#/rules@60"
|
|
395188
395744
|
},
|
|
395189
395745
|
"arguments": []
|
|
395190
395746
|
}
|
|
@@ -395213,126 +395769,97 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395213
395769
|
"value": "slope"
|
|
395214
395770
|
},
|
|
395215
395771
|
{
|
|
395216
|
-
"$type": "
|
|
395217
|
-
"
|
|
395218
|
-
|
|
395219
|
-
|
|
395220
|
-
|
|
395221
|
-
|
|
395222
|
-
|
|
395223
|
-
|
|
395224
|
-
|
|
395225
|
-
|
|
395226
|
-
|
|
395227
|
-
|
|
395228
|
-
|
|
395229
|
-
|
|
395230
|
-
|
|
395231
|
-
|
|
395232
|
-
|
|
395233
|
-
|
|
395234
|
-
|
|
395235
|
-
|
|
395236
|
-
|
|
395237
|
-
|
|
395238
|
-
|
|
395239
|
-
|
|
395240
|
-
|
|
395241
|
-
|
|
395242
|
-
|
|
395243
|
-
|
|
395244
|
-
|
|
395245
|
-
|
|
395246
|
-
|
|
395247
|
-
|
|
395248
|
-
|
|
395249
|
-
|
|
395250
|
-
|
|
395251
|
-
|
|
395252
|
-
|
|
395253
|
-
|
|
395254
|
-
|
|
395255
|
-
|
|
395256
|
-
|
|
395257
|
-
|
|
395258
|
-
|
|
395259
|
-
|
|
395260
|
-
|
|
395261
|
-
|
|
395262
|
-
|
|
395263
|
-
|
|
395264
|
-
|
|
395265
|
-
|
|
395266
|
-
|
|
395267
|
-
|
|
395268
|
-
|
|
395269
|
-
|
|
395270
|
-
|
|
395271
|
-
|
|
395272
|
-
|
|
395273
|
-
|
|
395274
|
-
|
|
395275
|
-
|
|
395276
|
-
|
|
395277
|
-
|
|
395278
|
-
|
|
395279
|
-
|
|
395280
|
-
|
|
395281
|
-
|
|
395282
|
-
|
|
395283
|
-
|
|
395284
|
-
"$type": "RuleCall",
|
|
395285
|
-
"rule": {
|
|
395286
|
-
"$ref": "#/rules@14"
|
|
395287
|
-
},
|
|
395288
|
-
"arguments": []
|
|
395289
|
-
}
|
|
395290
|
-
}
|
|
395291
|
-
]
|
|
395292
|
-
},
|
|
395293
|
-
"entry": false,
|
|
395294
|
-
"fragment": false,
|
|
395295
|
-
"parameters": []
|
|
395296
|
-
},
|
|
395297
|
-
{
|
|
395298
|
-
"$type": "ParserRule",
|
|
395299
|
-
"name": "SlopeRight",
|
|
395300
|
-
"definition": {
|
|
395301
|
-
"$type": "Group",
|
|
395302
|
-
"elements": [
|
|
395303
|
-
{
|
|
395304
|
-
"$type": "Keyword",
|
|
395305
|
-
"value": "slope_right"
|
|
395306
|
-
},
|
|
395307
|
-
{
|
|
395308
|
-
"$type": "Assignment",
|
|
395309
|
-
"feature": "by",
|
|
395310
|
-
"operator": "=",
|
|
395311
|
-
"terminal": {
|
|
395312
|
-
"$type": "Alternatives",
|
|
395313
|
-
"elements": [
|
|
395314
|
-
{
|
|
395315
|
-
"$type": "Keyword",
|
|
395316
|
-
"value": "angle"
|
|
395317
|
-
},
|
|
395318
|
-
{
|
|
395319
|
-
"$type": "Keyword",
|
|
395320
|
-
"value": "height"
|
|
395321
|
-
}
|
|
395322
|
-
]
|
|
395323
|
-
}
|
|
395324
|
-
},
|
|
395325
|
-
{
|
|
395326
|
-
"$type": "Assignment",
|
|
395327
|
-
"feature": "value",
|
|
395328
|
-
"operator": "=",
|
|
395329
|
-
"terminal": {
|
|
395330
|
-
"$type": "RuleCall",
|
|
395331
|
-
"rule": {
|
|
395332
|
-
"$ref": "#/rules@14"
|
|
395772
|
+
"$type": "Alternatives",
|
|
395773
|
+
"elements": [
|
|
395774
|
+
{
|
|
395775
|
+
"$type": "Group",
|
|
395776
|
+
"elements": [
|
|
395777
|
+
{
|
|
395778
|
+
"$type": "Keyword",
|
|
395779
|
+
"value": "angle"
|
|
395780
|
+
},
|
|
395781
|
+
{
|
|
395782
|
+
"$type": "Alternatives",
|
|
395783
|
+
"elements": [
|
|
395784
|
+
{
|
|
395785
|
+
"$type": "Group",
|
|
395786
|
+
"elements": [
|
|
395787
|
+
{
|
|
395788
|
+
"$type": "Keyword",
|
|
395789
|
+
"value": "("
|
|
395790
|
+
},
|
|
395791
|
+
{
|
|
395792
|
+
"$type": "Assignment",
|
|
395793
|
+
"feature": "angle_left",
|
|
395794
|
+
"operator": "=",
|
|
395795
|
+
"terminal": {
|
|
395796
|
+
"$type": "RuleCall",
|
|
395797
|
+
"rule": {
|
|
395798
|
+
"$ref": "#/rules@16"
|
|
395799
|
+
},
|
|
395800
|
+
"arguments": []
|
|
395801
|
+
}
|
|
395802
|
+
},
|
|
395803
|
+
{
|
|
395804
|
+
"$type": "Keyword",
|
|
395805
|
+
"value": ","
|
|
395806
|
+
},
|
|
395807
|
+
{
|
|
395808
|
+
"$type": "Assignment",
|
|
395809
|
+
"feature": "angle_right",
|
|
395810
|
+
"operator": "=",
|
|
395811
|
+
"terminal": {
|
|
395812
|
+
"$type": "RuleCall",
|
|
395813
|
+
"rule": {
|
|
395814
|
+
"$ref": "#/rules@16"
|
|
395815
|
+
},
|
|
395816
|
+
"arguments": []
|
|
395817
|
+
}
|
|
395818
|
+
},
|
|
395819
|
+
{
|
|
395820
|
+
"$type": "Keyword",
|
|
395821
|
+
"value": ")"
|
|
395822
|
+
}
|
|
395823
|
+
]
|
|
395824
|
+
},
|
|
395825
|
+
{
|
|
395826
|
+
"$type": "Assignment",
|
|
395827
|
+
"feature": "angle_deg",
|
|
395828
|
+
"operator": "=",
|
|
395829
|
+
"terminal": {
|
|
395830
|
+
"$type": "RuleCall",
|
|
395831
|
+
"rule": {
|
|
395832
|
+
"$ref": "#/rules@16"
|
|
395833
|
+
},
|
|
395834
|
+
"arguments": []
|
|
395835
|
+
}
|
|
395836
|
+
}
|
|
395837
|
+
]
|
|
395838
|
+
}
|
|
395839
|
+
]
|
|
395333
395840
|
},
|
|
395334
|
-
|
|
395335
|
-
|
|
395841
|
+
{
|
|
395842
|
+
"$type": "Group",
|
|
395843
|
+
"elements": [
|
|
395844
|
+
{
|
|
395845
|
+
"$type": "Keyword",
|
|
395846
|
+
"value": "height"
|
|
395847
|
+
},
|
|
395848
|
+
{
|
|
395849
|
+
"$type": "Assignment",
|
|
395850
|
+
"feature": "ridge_h",
|
|
395851
|
+
"operator": "=",
|
|
395852
|
+
"terminal": {
|
|
395853
|
+
"$type": "RuleCall",
|
|
395854
|
+
"rule": {
|
|
395855
|
+
"$ref": "#/rules@16"
|
|
395856
|
+
},
|
|
395857
|
+
"arguments": []
|
|
395858
|
+
}
|
|
395859
|
+
}
|
|
395860
|
+
]
|
|
395861
|
+
}
|
|
395862
|
+
]
|
|
395336
395863
|
}
|
|
395337
395864
|
]
|
|
395338
395865
|
},
|
|
@@ -395357,7 +395884,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395357
395884
|
"terminal": {
|
|
395358
395885
|
"$type": "RuleCall",
|
|
395359
395886
|
"rule": {
|
|
395360
|
-
"$ref": "#/rules@
|
|
395887
|
+
"$ref": "#/rules@66"
|
|
395361
395888
|
},
|
|
395362
395889
|
"arguments": []
|
|
395363
395890
|
}
|
|
@@ -395377,7 +395904,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395377
395904
|
"terminal": {
|
|
395378
395905
|
"$type": "RuleCall",
|
|
395379
395906
|
"rule": {
|
|
395380
|
-
"$ref": "#/rules@
|
|
395907
|
+
"$ref": "#/rules@16"
|
|
395381
395908
|
},
|
|
395382
395909
|
"arguments": []
|
|
395383
395910
|
}
|
|
@@ -395393,7 +395920,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395393
395920
|
"terminal": {
|
|
395394
395921
|
"$type": "RuleCall",
|
|
395395
395922
|
"rule": {
|
|
395396
|
-
"$ref": "#/rules@
|
|
395923
|
+
"$ref": "#/rules@16"
|
|
395397
395924
|
},
|
|
395398
395925
|
"arguments": []
|
|
395399
395926
|
}
|
|
@@ -395417,7 +395944,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395417
395944
|
"terminal": {
|
|
395418
395945
|
"$type": "RuleCall",
|
|
395419
395946
|
"rule": {
|
|
395420
|
-
"$ref": "#/rules@
|
|
395947
|
+
"$ref": "#/rules@16"
|
|
395421
395948
|
},
|
|
395422
395949
|
"arguments": []
|
|
395423
395950
|
}
|
|
@@ -395433,7 +395960,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395433
395960
|
"terminal": {
|
|
395434
395961
|
"$type": "RuleCall",
|
|
395435
395962
|
"rule": {
|
|
395436
|
-
"$ref": "#/rules@
|
|
395963
|
+
"$ref": "#/rules@16"
|
|
395437
395964
|
},
|
|
395438
395965
|
"arguments": []
|
|
395439
395966
|
}
|
|
@@ -395453,7 +395980,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395453
395980
|
"terminal": {
|
|
395454
395981
|
"$type": "RuleCall",
|
|
395455
395982
|
"rule": {
|
|
395456
|
-
"$ref": "#/rules@
|
|
395983
|
+
"$ref": "#/rules@16"
|
|
395457
395984
|
},
|
|
395458
395985
|
"arguments": []
|
|
395459
395986
|
}
|
|
@@ -395560,7 +396087,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395560
396087
|
"terminal": {
|
|
395561
396088
|
"$type": "RuleCall",
|
|
395562
396089
|
"rule": {
|
|
395563
|
-
"$ref": "#/rules@
|
|
396090
|
+
"$ref": "#/rules@16"
|
|
395564
396091
|
},
|
|
395565
396092
|
"arguments": []
|
|
395566
396093
|
}
|
|
@@ -395576,7 +396103,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395576
396103
|
"terminal": {
|
|
395577
396104
|
"$type": "RuleCall",
|
|
395578
396105
|
"rule": {
|
|
395579
|
-
"$ref": "#/rules@
|
|
396106
|
+
"$ref": "#/rules@16"
|
|
395580
396107
|
},
|
|
395581
396108
|
"arguments": []
|
|
395582
396109
|
}
|
|
@@ -395606,7 +396133,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395606
396133
|
"terminal": {
|
|
395607
396134
|
"$type": "RuleCall",
|
|
395608
396135
|
"rule": {
|
|
395609
|
-
"$ref": "#/rules@
|
|
396136
|
+
"$ref": "#/rules@16"
|
|
395610
396137
|
},
|
|
395611
396138
|
"arguments": []
|
|
395612
396139
|
}
|
|
@@ -395622,7 +396149,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395622
396149
|
"terminal": {
|
|
395623
396150
|
"$type": "RuleCall",
|
|
395624
396151
|
"rule": {
|
|
395625
|
-
"$ref": "#/rules@
|
|
396152
|
+
"$ref": "#/rules@16"
|
|
395626
396153
|
},
|
|
395627
396154
|
"arguments": []
|
|
395628
396155
|
}
|
|
@@ -395652,7 +396179,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395652
396179
|
"terminal": {
|
|
395653
396180
|
"$type": "RuleCall",
|
|
395654
396181
|
"rule": {
|
|
395655
|
-
"$ref": "#/rules@
|
|
396182
|
+
"$ref": "#/rules@16"
|
|
395656
396183
|
},
|
|
395657
396184
|
"arguments": []
|
|
395658
396185
|
}
|
|
@@ -395668,7 +396195,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395668
396195
|
"terminal": {
|
|
395669
396196
|
"$type": "RuleCall",
|
|
395670
396197
|
"rule": {
|
|
395671
|
-
"$ref": "#/rules@
|
|
396198
|
+
"$ref": "#/rules@16"
|
|
395672
396199
|
},
|
|
395673
396200
|
"arguments": []
|
|
395674
396201
|
}
|
|
@@ -395694,7 +396221,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395694
396221
|
"terminal": {
|
|
395695
396222
|
"$type": "RuleCall",
|
|
395696
396223
|
"rule": {
|
|
395697
|
-
"$ref": "#/rules@
|
|
396224
|
+
"$ref": "#/rules@16"
|
|
395698
396225
|
},
|
|
395699
396226
|
"arguments": []
|
|
395700
396227
|
}
|
|
@@ -395716,7 +396243,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395716
396243
|
"terminal": {
|
|
395717
396244
|
"$type": "RuleCall",
|
|
395718
396245
|
"rule": {
|
|
395719
|
-
"$ref": "#/rules@
|
|
396246
|
+
"$ref": "#/rules@16"
|
|
395720
396247
|
},
|
|
395721
396248
|
"arguments": []
|
|
395722
396249
|
}
|
|
@@ -395738,7 +396265,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395738
396265
|
"terminal": {
|
|
395739
396266
|
"$type": "RuleCall",
|
|
395740
396267
|
"rule": {
|
|
395741
|
-
"$ref": "#/rules@
|
|
396268
|
+
"$ref": "#/rules@16"
|
|
395742
396269
|
},
|
|
395743
396270
|
"arguments": []
|
|
395744
396271
|
}
|
|
@@ -395760,7 +396287,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395760
396287
|
"terminal": {
|
|
395761
396288
|
"$type": "RuleCall",
|
|
395762
396289
|
"rule": {
|
|
395763
|
-
"$ref": "#/rules@
|
|
396290
|
+
"$ref": "#/rules@16"
|
|
395764
396291
|
},
|
|
395765
396292
|
"arguments": []
|
|
395766
396293
|
}
|
|
@@ -395782,7 +396309,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395782
396309
|
"terminal": {
|
|
395783
396310
|
"$type": "RuleCall",
|
|
395784
396311
|
"rule": {
|
|
395785
|
-
"$ref": "#/rules@
|
|
396312
|
+
"$ref": "#/rules@16"
|
|
395786
396313
|
},
|
|
395787
396314
|
"arguments": []
|
|
395788
396315
|
}
|
|
@@ -395804,7 +396331,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395804
396331
|
"terminal": {
|
|
395805
396332
|
"$type": "RuleCall",
|
|
395806
396333
|
"rule": {
|
|
395807
|
-
"$ref": "#/rules@
|
|
396334
|
+
"$ref": "#/rules@16"
|
|
395808
396335
|
},
|
|
395809
396336
|
"arguments": []
|
|
395810
396337
|
}
|
|
@@ -395826,7 +396353,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395826
396353
|
"terminal": {
|
|
395827
396354
|
"$type": "RuleCall",
|
|
395828
396355
|
"rule": {
|
|
395829
|
-
"$ref": "#/rules@
|
|
396356
|
+
"$ref": "#/rules@16"
|
|
395830
396357
|
},
|
|
395831
396358
|
"arguments": []
|
|
395832
396359
|
}
|
|
@@ -395848,7 +396375,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395848
396375
|
"terminal": {
|
|
395849
396376
|
"$type": "RuleCall",
|
|
395850
396377
|
"rule": {
|
|
395851
|
-
"$ref": "#/rules@
|
|
396378
|
+
"$ref": "#/rules@65"
|
|
395852
396379
|
},
|
|
395853
396380
|
"arguments": []
|
|
395854
396381
|
}
|
|
@@ -395879,7 +396406,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395879
396406
|
"terminal": {
|
|
395880
396407
|
"$type": "RuleCall",
|
|
395881
396408
|
"rule": {
|
|
395882
|
-
"$ref": "#/rules@
|
|
396409
|
+
"$ref": "#/rules@66"
|
|
395883
396410
|
},
|
|
395884
396411
|
"arguments": []
|
|
395885
396412
|
}
|
|
@@ -395917,7 +396444,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395917
396444
|
"terminal": {
|
|
395918
396445
|
"$type": "RuleCall",
|
|
395919
396446
|
"rule": {
|
|
395920
|
-
"$ref": "#/rules@
|
|
396447
|
+
"$ref": "#/rules@16"
|
|
395921
396448
|
},
|
|
395922
396449
|
"arguments": []
|
|
395923
396450
|
}
|
|
@@ -395936,7 +396463,7 @@ var WadiGrammar = () => loadedWadiGrammar ?? (loadedWadiGrammar = loadGrammarFro
|
|
|
395936
396463
|
"terminal": {
|
|
395937
396464
|
"$type": "RuleCall",
|
|
395938
396465
|
"rule": {
|
|
395939
|
-
"$ref": "#/rules@
|
|
396466
|
+
"$ref": "#/rules@16"
|
|
395940
396467
|
},
|
|
395941
396468
|
"arguments": []
|
|
395942
396469
|
}
|
|
@@ -396046,8 +396573,42 @@ var WadiGeneratedModule = {
|
|
|
396046
396573
|
parser: {}
|
|
396047
396574
|
};
|
|
396048
396575
|
|
|
396576
|
+
// ../wadi-dsl/src/language/wadi-scope.ts
|
|
396577
|
+
function moduleUri(ref) {
|
|
396578
|
+
return URI2.parse(`memory:///${ref}.wdl`);
|
|
396579
|
+
}
|
|
396580
|
+
var WadiScopeProvider = class extends DefaultScopeProvider {
|
|
396581
|
+
documents;
|
|
396582
|
+
constructor(services) {
|
|
396583
|
+
super(services);
|
|
396584
|
+
this.documents = services.shared.workspace.LangiumDocuments;
|
|
396585
|
+
}
|
|
396586
|
+
getScope(context) {
|
|
396587
|
+
const isAsset = this.reflection.getReferenceType(context) === "AssetDecl";
|
|
396588
|
+
const model = ast_utils_exports.getDocument(context.container).parseResult.value;
|
|
396589
|
+
const out = [];
|
|
396590
|
+
const add = (node, name, d) => out.push(this.descriptions.createDescription(node, name, d));
|
|
396591
|
+
const collect = (m, d, prefix) => {
|
|
396592
|
+
if (isAsset) for (const a of m.assets) add(a, prefix ? `${prefix}.${a.id}` : a.id, d);
|
|
396593
|
+
else for (const c of m.components) add(c, prefix ? `${prefix}.${c.name}` : c.name, d);
|
|
396594
|
+
};
|
|
396595
|
+
const doc = ast_utils_exports.getDocument(context.container);
|
|
396596
|
+
collect(model, doc, "");
|
|
396597
|
+
for (const imp of model.imports) {
|
|
396598
|
+
const idoc = this.documents.getDocument(moduleUri(imp.ref));
|
|
396599
|
+
if (!idoc) continue;
|
|
396600
|
+
collect(idoc.parseResult.value, idoc, imp.ns ?? "");
|
|
396601
|
+
}
|
|
396602
|
+
return new MapScope(out);
|
|
396603
|
+
}
|
|
396604
|
+
};
|
|
396605
|
+
|
|
396049
396606
|
// ../wadi-dsl/src/language/wadi-module.ts
|
|
396050
|
-
var WadiModule = {
|
|
396607
|
+
var WadiModule = {
|
|
396608
|
+
references: {
|
|
396609
|
+
ScopeProvider: (services) => new WadiScopeProvider(services)
|
|
396610
|
+
}
|
|
396611
|
+
};
|
|
396051
396612
|
function createWadiServices(context = EmptyFileSystem) {
|
|
396052
396613
|
const shared = inject(createDefaultSharedCoreModule(context), WadiGeneratedSharedModule);
|
|
396053
396614
|
const Wadi = inject(createDefaultCoreModule({ shared }), WadiGeneratedModule, WadiModule);
|
|
@@ -396138,7 +396699,7 @@ function room(r2) {
|
|
|
396138
396699
|
const items = r2.items.map(roomItem);
|
|
396139
396700
|
const o = {
|
|
396140
396701
|
type: "room",
|
|
396141
|
-
name: r2.name,
|
|
396702
|
+
name: unquote(r2.name),
|
|
396142
396703
|
x: put("x", r2.x, 0),
|
|
396143
396704
|
y: put("y", r2.y, 0),
|
|
396144
396705
|
width: put("width", r2.w, 1),
|
|
@@ -396166,7 +396727,7 @@ function opening(o) {
|
|
|
396166
396727
|
const { formulas, put } = geom();
|
|
396167
396728
|
const obj = {
|
|
396168
396729
|
kind: o.kind,
|
|
396169
|
-
name: o.name,
|
|
396730
|
+
name: unquote(o.name),
|
|
396170
396731
|
offset: put("offset", o.offset, 0),
|
|
396171
396732
|
width: put("width", o.width, 1),
|
|
396172
396733
|
height: put("height", o.height, 1)
|
|
@@ -396174,6 +396735,7 @@ function opening(o) {
|
|
|
396174
396735
|
const s = put("sill_height", o.sill);
|
|
396175
396736
|
if (s !== void 0) obj.sill_height = s;
|
|
396176
396737
|
if (o.open) obj.open = true;
|
|
396738
|
+
if (o.direction) obj.direction = o.direction;
|
|
396177
396739
|
return done(obj, formulas);
|
|
396178
396740
|
}
|
|
396179
396741
|
function roomItem(it) {
|
|
@@ -396196,7 +396758,7 @@ function wall(w) {
|
|
|
396196
396758
|
const { formulas, put } = geom();
|
|
396197
396759
|
const o = {
|
|
396198
396760
|
type: "wall",
|
|
396199
|
-
name: w.name,
|
|
396761
|
+
name: unquote(w.name),
|
|
396200
396762
|
start_x: put("start_x", w.start_x, 0),
|
|
396201
396763
|
start_y: put("start_y", w.start_y, 0),
|
|
396202
396764
|
end_x: put("end_x", w.end_x, 0),
|
|
@@ -396216,12 +396778,12 @@ function pillar(p) {
|
|
|
396216
396778
|
const { formulas, put } = geom();
|
|
396217
396779
|
const o = {
|
|
396218
396780
|
type: "pillar",
|
|
396219
|
-
name: p.name,
|
|
396781
|
+
name: unquote(p.name),
|
|
396220
396782
|
x: put("x", p.x, 0),
|
|
396221
|
-
y: put("y", p.y, 0)
|
|
396222
|
-
width: put("width", p.w, 1),
|
|
396223
|
-
length: put("length", p.l, 1)
|
|
396783
|
+
y: put("y", p.y, 0)
|
|
396224
396784
|
};
|
|
396785
|
+
if (!p.w_auto) o.width = put("width", p.w, 1);
|
|
396786
|
+
if (!p.l_auto) o.length = put("length", p.l, 1);
|
|
396225
396787
|
const h = put("height", p.height, 1);
|
|
396226
396788
|
if (h !== void 0) o.height = h;
|
|
396227
396789
|
applyCommon(o, formulas, p);
|
|
@@ -396302,12 +396864,12 @@ function staircase(s) {
|
|
|
396302
396864
|
if (rh !== void 0) o.rise_height = rh;
|
|
396303
396865
|
const mr = put("max_run", s.max_run, 1);
|
|
396304
396866
|
if (mr !== void 0) o.max_run = mr;
|
|
396305
|
-
const ld = put("landing_depth", s.landing_depth);
|
|
396867
|
+
const ld = put("landing_depth", s.landing_depth, 1);
|
|
396306
396868
|
if (ld !== void 0) o.landing_depth = ld;
|
|
396307
396869
|
const lt = put("landing_thickness", s.landing_thickness);
|
|
396308
396870
|
if (lt !== void 0) o.landing_thickness = lt;
|
|
396309
396871
|
if (s.turn) o.turn = s.turn;
|
|
396310
|
-
const fg = put("flight_gap", s.flight_gap);
|
|
396872
|
+
const fg = put("flight_gap", s.flight_gap, 1);
|
|
396311
396873
|
if (fg !== void 0) o.flight_gap = fg;
|
|
396312
396874
|
applyCommon(o, formulas, s);
|
|
396313
396875
|
return done(o, formulas);
|
|
@@ -396337,8 +396899,6 @@ function asset(a) {
|
|
|
396337
396899
|
if (a.category) o.category = unquote(a.category);
|
|
396338
396900
|
return o;
|
|
396339
396901
|
}
|
|
396340
|
-
var ASSET_INDEX = /* @__PURE__ */ new Map();
|
|
396341
|
-
var NS_ASSET_INDEX = /* @__PURE__ */ new Map();
|
|
396342
396902
|
function assetDeclToObj(a) {
|
|
396343
396903
|
const o = {
|
|
396344
396904
|
id: unquote(a.id),
|
|
@@ -396349,35 +396909,29 @@ function assetDeclToObj(a) {
|
|
|
396349
396909
|
if (a.category) o.category = unquote(a.category);
|
|
396350
396910
|
return o;
|
|
396351
396911
|
}
|
|
396912
|
+
function unresolvedRefMessage(refText, kind, node) {
|
|
396913
|
+
const model = ast_utils_exports.getDocument(node).parseResult.value;
|
|
396914
|
+
const aliases = model.imports.filter((i2) => i2.ns).map((i2) => i2.ns);
|
|
396915
|
+
const verb = kind === "component" ? "use" : "item asset";
|
|
396916
|
+
const dot2 = refText.indexOf(".");
|
|
396917
|
+
if (dot2 >= 0) {
|
|
396918
|
+
const ns = refText.slice(0, dot2);
|
|
396919
|
+
const name = refText.slice(dot2 + 1);
|
|
396920
|
+
if (!aliases.includes(ns)) {
|
|
396921
|
+
return `${verb} ${refText}: no import is aliased "${ns}". Add \`import "\u2026" as ${ns}\`` + (aliases.length ? ` (imported aliases: ${aliases.join(", ")}).` : ".");
|
|
396922
|
+
}
|
|
396923
|
+
return `unknown ${kind} "${refText}" \u2014 module "${ns}" defines no "${name}".`;
|
|
396924
|
+
}
|
|
396925
|
+
const local = kind === "component" ? model.components.map((c) => c.name) : model.assets.map((a) => unquote(a.id));
|
|
396926
|
+
return `unknown ${kind} "${refText}". Define it here, import a module that provides it and use \`${ns_hint(kind)}\`, or check the name` + (local.length ? ` (in scope: ${local.join(", ")}).` : ".");
|
|
396927
|
+
}
|
|
396928
|
+
var ns_hint = (kind) => kind === "component" ? "use ns.Comp" : 'item ns."id"';
|
|
396352
396929
|
function resolveItemAsset(it) {
|
|
396353
396930
|
if (it.asset) return asset(it.asset);
|
|
396354
396931
|
const ref = it.assetRef;
|
|
396355
396932
|
if (!ref) throw new Error("item has no asset (expected `asset { \u2026 }` or an asset id)");
|
|
396356
|
-
const
|
|
396357
|
-
if (ref
|
|
396358
|
-
const mod = NS_ASSET_INDEX.get(ref.ns);
|
|
396359
|
-
if (!mod) {
|
|
396360
|
-
const nss = [...NS_ASSET_INDEX.keys()];
|
|
396361
|
-
throw new Error(
|
|
396362
|
-
`item asset "${ref.ns}.${id}": no import is aliased "${ref.ns}". Add \`import "\u2026" as ${ref.ns}\`` + (nss.length ? ` (imported aliases: ${nss.join(", ")}).` : ".")
|
|
396363
|
-
);
|
|
396364
|
-
}
|
|
396365
|
-
const decl2 = mod.get(id);
|
|
396366
|
-
if (!decl2) {
|
|
396367
|
-
const avail = [...mod.keys()];
|
|
396368
|
-
throw new Error(
|
|
396369
|
-
`unknown asset "${ref.ns}.${id}" \u2014 module "${ref.ns}" declares no "${id}"` + (avail.length ? ` (it has: ${avail.join(", ")}).` : ".")
|
|
396370
|
-
);
|
|
396371
|
-
}
|
|
396372
|
-
return assetDeclToObj(decl2);
|
|
396373
|
-
}
|
|
396374
|
-
const decl = ASSET_INDEX.get(id);
|
|
396375
|
-
if (!decl) {
|
|
396376
|
-
const avail = [...ASSET_INDEX.keys()];
|
|
396377
|
-
throw new Error(
|
|
396378
|
-
`unknown asset "${id}". Declare it with a top-level \`asset "${id}" src \u2026 dims \u2026\`, bare-import a module that provides it, or use a namespaced \`item ns."${id}"\`` + (avail.length ? ` (in scope: ${avail.join(", ")}).` : ".")
|
|
396379
|
-
);
|
|
396380
|
-
}
|
|
396933
|
+
const decl = ref.ref;
|
|
396934
|
+
if (!decl) throw new Error(unresolvedRefMessage(ref.$refText, "asset", it));
|
|
396381
396935
|
return assetDeclToObj(decl);
|
|
396382
396936
|
}
|
|
396383
396937
|
function item(it) {
|
|
@@ -396402,30 +396956,17 @@ function item(it) {
|
|
|
396402
396956
|
applyCommon(o, formulas, it);
|
|
396403
396957
|
return done(o, formulas);
|
|
396404
396958
|
}
|
|
396405
|
-
var
|
|
396406
|
-
var
|
|
396959
|
+
var joinPrefix = (prefix, ns) => prefix ? `${prefix}.${ns}` : ns;
|
|
396960
|
+
var flatKey = (prefix, name) => prefix ? `${prefix}.${name}` : name;
|
|
396961
|
+
var DOC_PREFIX = /* @__PURE__ */ new Map();
|
|
396962
|
+
function componentKey(def) {
|
|
396963
|
+
const uri = ast_utils_exports.getDocument(def).uri.toString();
|
|
396964
|
+
return flatKey(DOC_PREFIX.get(uri) ?? "", def.name);
|
|
396965
|
+
}
|
|
396407
396966
|
function resolveComponentRef(c) {
|
|
396408
|
-
|
|
396409
|
-
|
|
396410
|
-
|
|
396411
|
-
const nss = [...NS_COMPONENT_INDEX.keys()];
|
|
396412
|
-
throw new Error(
|
|
396413
|
-
`use ${c.ns}.${c.ref}: no import is aliased "${c.ns}". Add \`import "\u2026" as ${c.ns}\`` + (nss.length ? ` (imported aliases: ${nss.join(", ")}).` : ".")
|
|
396414
|
-
);
|
|
396415
|
-
}
|
|
396416
|
-
if (!mod.has(c.ref)) {
|
|
396417
|
-
throw new Error(
|
|
396418
|
-
`unknown component "${c.ns}.${c.ref}" \u2014 module "${c.ns}" defines no "${c.ref}"` + (mod.size ? ` (it has: ${[...mod.keys()].join(", ")}).` : ".")
|
|
396419
|
-
);
|
|
396420
|
-
}
|
|
396421
|
-
return `${c.ns}.${c.ref}`;
|
|
396422
|
-
}
|
|
396423
|
-
if (COMPONENT_NAMES.size && !COMPONENT_NAMES.has(c.ref)) {
|
|
396424
|
-
throw new Error(
|
|
396425
|
-
`unknown component "${c.ref}". Define it with \`component ${c.ref} { \u2026 }\`, or import a module that provides it and use \`use ns.${c.ref}\` (in scope: ${[...COMPONENT_NAMES].join(", ")}).`
|
|
396426
|
-
);
|
|
396427
|
-
}
|
|
396428
|
-
return c.ref;
|
|
396967
|
+
const def = c.target.ref;
|
|
396968
|
+
if (!def) throw new Error(unresolvedRefMessage(c.target.$refText, "component", c));
|
|
396969
|
+
return componentKey(def);
|
|
396429
396970
|
}
|
|
396430
396971
|
function componentInstance(c) {
|
|
396431
396972
|
const { formulas, put } = geom();
|
|
@@ -396436,6 +396977,8 @@ function componentInstance(c) {
|
|
|
396436
396977
|
y: put("y", c.y, 0)
|
|
396437
396978
|
};
|
|
396438
396979
|
if (c.name) o.name = unquote(c.name);
|
|
396980
|
+
const rot = put("rotation", c.rotation);
|
|
396981
|
+
if (rot !== void 0) o.rotation = rot;
|
|
396439
396982
|
if (c.args.length) {
|
|
396440
396983
|
const params = {};
|
|
396441
396984
|
for (const a of c.args) params[a.name] = exprToValue(a.value);
|
|
@@ -396450,16 +396993,21 @@ function roof(r2) {
|
|
|
396450
396993
|
if (r2.name) o.name = unquote(r2.name);
|
|
396451
396994
|
if (r2.default_endpoint) o.default_endpoint = r2.default_endpoint;
|
|
396452
396995
|
if (r2.slope) {
|
|
396453
|
-
const
|
|
396454
|
-
|
|
396455
|
-
|
|
396456
|
-
|
|
396457
|
-
|
|
396458
|
-
|
|
396459
|
-
|
|
396460
|
-
|
|
396461
|
-
|
|
396462
|
-
|
|
396996
|
+
const s = r2.slope;
|
|
396997
|
+
if (s.angle_left !== void 0 && s.angle_right !== void 0) {
|
|
396998
|
+
const l = exprToValue(s.angle_left);
|
|
396999
|
+
const rr = exprToValue(s.angle_right);
|
|
397000
|
+
if (l === rr) {
|
|
397001
|
+
o.slope = { by: "angle", angle_deg: l };
|
|
397002
|
+
} else {
|
|
397003
|
+
o.slope_left = { by: "angle", angle_deg: l };
|
|
397004
|
+
o.slope_right = { by: "angle", angle_deg: rr };
|
|
397005
|
+
}
|
|
397006
|
+
} else if (s.angle_deg !== void 0) {
|
|
397007
|
+
o.slope = { by: "angle", angle_deg: exprToValue(s.angle_deg) };
|
|
397008
|
+
} else if (s.ridge_h !== void 0) {
|
|
397009
|
+
o.slope = { by: "height", ridge_h: exprToValue(s.ridge_h) };
|
|
397010
|
+
}
|
|
396463
397011
|
}
|
|
396464
397012
|
const mo = put("min_overhang", r2.min_overhang);
|
|
396465
397013
|
if (mo !== void 0) o.min_overhang = mo;
|
|
@@ -396471,6 +397019,7 @@ function roof(r2) {
|
|
|
396471
397019
|
}
|
|
396472
397020
|
const gwt = put("gable_wall_thickness", r2.gable_wall_thickness);
|
|
396473
397021
|
if (gwt !== void 0) o.gable_wall_thickness = gwt;
|
|
397022
|
+
if (r2.framing) o.framing = jsonObject(r2.framing);
|
|
396474
397023
|
if (r2.segments.length) o.segments = r2.segments.map(roofSegment);
|
|
396475
397024
|
if (r2.trusses.length) o.trusses = r2.trusses.map(roofTruss);
|
|
396476
397025
|
applyCommon(o, formulas, r2);
|
|
@@ -396577,18 +397126,59 @@ function componentDef(d) {
|
|
|
396577
397126
|
}
|
|
396578
397127
|
return def;
|
|
396579
397128
|
}
|
|
396580
|
-
var
|
|
396581
|
-
|
|
396582
|
-
|
|
397129
|
+
var ENTRY_URI = "memory:///__entry__.wdl";
|
|
397130
|
+
function linkProject(shared, text, resolveModule) {
|
|
397131
|
+
const docs = shared.workspace.LangiumDocuments;
|
|
397132
|
+
const factory = shared.workspace.LangiumDocumentFactory;
|
|
397133
|
+
for (const d of [...docs.all]) docs.deleteDocument(d.uri);
|
|
397134
|
+
const parse7 = (t, uri, what) => {
|
|
397135
|
+
const doc = factory.fromString(t, uri);
|
|
397136
|
+
const r2 = doc.parseResult;
|
|
397137
|
+
if (r2.lexerErrors.length || r2.parserErrors.length) {
|
|
397138
|
+
const msgs = [
|
|
397139
|
+
...r2.lexerErrors.map((e) => `lex: ${e.message}`),
|
|
397140
|
+
...r2.parserErrors.map((e) => `parse: ${e.message}`)
|
|
397141
|
+
];
|
|
397142
|
+
throw new Error(`${what} parse failed:
|
|
397143
|
+
${msgs.join("\n ")}`);
|
|
397144
|
+
}
|
|
397145
|
+
docs.addDocument(doc);
|
|
397146
|
+
return doc;
|
|
397147
|
+
};
|
|
397148
|
+
const hostDoc = parse7(text, URI2.parse(ENTRY_URI), "DSL");
|
|
397149
|
+
const modules = [];
|
|
397150
|
+
const prefixByUri = /* @__PURE__ */ new Map([[ENTRY_URI, ""]]);
|
|
397151
|
+
const parsedByRef = /* @__PURE__ */ new Map();
|
|
397152
|
+
const walk = (model, prefix, path) => {
|
|
397153
|
+
for (const imp of model.imports) {
|
|
397154
|
+
const ref = imp.ref;
|
|
397155
|
+
if (path.includes(ref)) throw new Error(`import cycle: ${[...path, ref].join(" \u2192 ")}`);
|
|
397156
|
+
const childPrefix = imp.ns ? joinPrefix(prefix, imp.ns) : prefix;
|
|
397157
|
+
const childUri = moduleUri(ref).toString();
|
|
397158
|
+
let doc = parsedByRef.get(ref);
|
|
397159
|
+
if (!doc) {
|
|
397160
|
+
if (!resolveModule) {
|
|
397161
|
+
throw new Error(
|
|
397162
|
+
`import "${ref}": imports need a module resolver, but none is available in this context.`
|
|
397163
|
+
);
|
|
397164
|
+
}
|
|
397165
|
+
const src = resolveModule(ref);
|
|
397166
|
+
if (src === void 0) throw new Error(`import "${ref}": module not found on the search path.`);
|
|
397167
|
+
doc = parse7(src, moduleUri(ref), `imported module "${ref}"`);
|
|
397168
|
+
parsedByRef.set(ref, doc);
|
|
397169
|
+
modules.push({ uri: childUri, prefix: childPrefix, model: doc.parseResult.value });
|
|
397170
|
+
}
|
|
397171
|
+
if (!prefixByUri.has(childUri)) prefixByUri.set(childUri, childPrefix);
|
|
397172
|
+
walk(doc.parseResult.value, childPrefix, [...path, ref]);
|
|
397173
|
+
}
|
|
397174
|
+
};
|
|
397175
|
+
walk(hostDoc.parseResult.value, "", []);
|
|
397176
|
+
for (const d of [...docs.all]) d.state = DocumentState.ComputedScopes;
|
|
397177
|
+
DOC_PREFIX = prefixByUri;
|
|
397178
|
+
return { host: hostDoc.parseResult.value, modules };
|
|
397179
|
+
}
|
|
397180
|
+
function modelToHouseConfig(model, project) {
|
|
396583
397181
|
const cfg = {};
|
|
396584
|
-
ASSET_INDEX = new Map(linked.assets.bare);
|
|
396585
|
-
for (const a of model.assets) ASSET_INDEX.set(unquote(a.id), a);
|
|
396586
|
-
NS_ASSET_INDEX = linked.assets.byNs;
|
|
396587
|
-
COMPONENT_NAMES = /* @__PURE__ */ new Set([
|
|
396588
|
-
...model.components.map((d) => d.name),
|
|
396589
|
-
...linked.components.bare.keys()
|
|
396590
|
-
]);
|
|
396591
|
-
NS_COMPONENT_INDEX = linked.components.byNs;
|
|
396592
397182
|
if (model.convention) cfg.coord_convention = model.convention;
|
|
396593
397183
|
if (model.units) {
|
|
396594
397184
|
const u = { system: model.units.system };
|
|
@@ -396648,8 +397238,36 @@ function modelToHouseConfig(model, linked = EMPTY_LINK) {
|
|
|
396648
397238
|
cfg.grids = grids;
|
|
396649
397239
|
}
|
|
396650
397240
|
if (model.configurators.length) {
|
|
396651
|
-
const
|
|
396652
|
-
|
|
397241
|
+
const c = model.configurators[0];
|
|
397242
|
+
const section = {};
|
|
397243
|
+
if (c.title) section.title = unquote(c.title);
|
|
397244
|
+
if (c.description) section.description = unquote(c.description);
|
|
397245
|
+
const groups = [];
|
|
397246
|
+
const inputs = [];
|
|
397247
|
+
const usedIds = /* @__PURE__ */ new Set();
|
|
397248
|
+
const groupId = (label) => {
|
|
397249
|
+
const base = label.toLowerCase().replace(/[^a-z0-9]+/g, "_").replace(/^_+|_+$/g, "") || "group";
|
|
397250
|
+
let id = /^[a-z_]/.test(base) ? base : `g_${base}`;
|
|
397251
|
+
for (let k = 2; usedIds.has(id); k++) id = `${base}_${k}`;
|
|
397252
|
+
usedIds.add(id);
|
|
397253
|
+
return id;
|
|
397254
|
+
};
|
|
397255
|
+
for (const item2 of c.items) {
|
|
397256
|
+
if (item2.$type === "ConfigGroup") {
|
|
397257
|
+
const g = item2;
|
|
397258
|
+
const label = unquote(g.label);
|
|
397259
|
+
const id = groupId(label);
|
|
397260
|
+
const gobj = { id, label };
|
|
397261
|
+
if (g.description) gobj.description = unquote(g.description);
|
|
397262
|
+
groups.push(gobj);
|
|
397263
|
+
for (const i2 of g.inputs) inputs.push({ ...configInput(i2), group: id });
|
|
397264
|
+
} else {
|
|
397265
|
+
inputs.push(configInput(item2));
|
|
397266
|
+
}
|
|
397267
|
+
}
|
|
397268
|
+
if (groups.length) section.groups = groups;
|
|
397269
|
+
section.inputs = inputs;
|
|
397270
|
+
cfg.configurator = section;
|
|
396653
397271
|
}
|
|
396654
397272
|
if (model.layers.length) {
|
|
396655
397273
|
cfg.layers = model.layers.map((l) => {
|
|
@@ -396661,11 +397279,12 @@ function modelToHouseConfig(model, linked = EMPTY_LINK) {
|
|
|
396661
397279
|
}
|
|
396662
397280
|
{
|
|
396663
397281
|
const comps = {};
|
|
396664
|
-
|
|
397282
|
+
const emit = (m) => {
|
|
397283
|
+
for (const d of m.model.components) comps[flatKey(m.prefix, d.name)] = componentDef(d);
|
|
397284
|
+
};
|
|
397285
|
+
for (const m of project.modules) if (m.prefix === "") emit(m);
|
|
396665
397286
|
for (const d of model.components) comps[d.name] = componentDef(d);
|
|
396666
|
-
for (const
|
|
396667
|
-
for (const [name, d] of mod) comps[`${ns}.${name}`] = componentDef(d);
|
|
396668
|
-
}
|
|
397287
|
+
for (const m of project.modules) if (m.prefix !== "") emit(m);
|
|
396669
397288
|
if (Object.keys(comps).length) cfg.components = comps;
|
|
396670
397289
|
}
|
|
396671
397290
|
cfg.floors = model.floors.map((f2) => {
|
|
@@ -396677,6 +397296,7 @@ function modelToHouseConfig(model, linked = EMPTY_LINK) {
|
|
|
396677
397296
|
if (f2.height !== void 0) floor2.height = f2.height;
|
|
396678
397297
|
if (f2.wall_height !== void 0) floor2.wall_height = f2.wall_height;
|
|
396679
397298
|
if (f2.slab_thickness !== void 0) floor2.slab_thickness = f2.slab_thickness;
|
|
397299
|
+
if (f2.enabled !== void 0) floor2.enabled = exprToValue(f2.enabled);
|
|
396680
397300
|
return floor2;
|
|
396681
397301
|
});
|
|
396682
397302
|
return cfg;
|
|
@@ -396694,26 +397314,33 @@ function configInput(i2) {
|
|
|
396694
397314
|
};
|
|
396695
397315
|
if (s.unit) o.unit = s.unit;
|
|
396696
397316
|
if (s.step !== void 0) o.step = s.step;
|
|
397317
|
+
if (s.description) o.description = unquote(s.description);
|
|
396697
397318
|
return o;
|
|
396698
397319
|
}
|
|
396699
397320
|
case "NumberInput": {
|
|
396700
397321
|
const n2 = i2;
|
|
396701
397322
|
const o = { target: n2.target, label: unquote(n2.label), control: "number" };
|
|
396702
397323
|
if (n2.unit) o.unit = n2.unit;
|
|
397324
|
+
if (n2.description) o.description = unquote(n2.description);
|
|
396703
397325
|
return o;
|
|
396704
397326
|
}
|
|
396705
397327
|
case "ToggleInput": {
|
|
396706
397328
|
const t = i2;
|
|
396707
|
-
|
|
397329
|
+
const o = { target: t.target, label: unquote(t.label), control: "toggle" };
|
|
397330
|
+
if (t.description) o.description = unquote(t.description);
|
|
397331
|
+
return o;
|
|
396708
397332
|
}
|
|
396709
397333
|
case "SelectInput": {
|
|
396710
397334
|
const s = i2;
|
|
396711
|
-
|
|
397335
|
+
const o = {
|
|
396712
397336
|
target: s.target,
|
|
396713
397337
|
label: unquote(s.label),
|
|
396714
397338
|
control: "select",
|
|
396715
|
-
|
|
397339
|
+
// Option label is an ID (kept as-is) or a quoted display string (unquoted).
|
|
397340
|
+
options: s.options.map((op) => ({ value: op.value, label: unquote(op.label) }))
|
|
396716
397341
|
};
|
|
397342
|
+
if (s.description) o.description = unquote(s.description);
|
|
397343
|
+
return o;
|
|
396717
397344
|
}
|
|
396718
397345
|
default:
|
|
396719
397346
|
throw new Error(`unhandled configurator input: ${i2.$type}`);
|
|
@@ -396731,38 +397358,10 @@ function parseModel(services, text, what = "DSL") {
|
|
|
396731
397358
|
}
|
|
396732
397359
|
return result.value;
|
|
396733
397360
|
}
|
|
396734
|
-
function linkModules(model, services, resolveModule) {
|
|
396735
|
-
const assets = emptyScope();
|
|
396736
|
-
const components = emptyScope();
|
|
396737
|
-
for (const imp of model.imports ?? []) {
|
|
396738
|
-
const ref = unquote(imp.ref);
|
|
396739
|
-
if (!resolveModule) {
|
|
396740
|
-
throw new Error(
|
|
396741
|
-
`import "${ref}": imports need a module resolver, but none is available in this context.`
|
|
396742
|
-
);
|
|
396743
|
-
}
|
|
396744
|
-
const src = resolveModule(ref);
|
|
396745
|
-
if (src === void 0) {
|
|
396746
|
-
throw new Error(`import "${ref}": module not found on the search path.`);
|
|
396747
|
-
}
|
|
396748
|
-
const sub = parseModel(services, src, `imported module "${ref}"`);
|
|
396749
|
-
const modAssets = new Map(sub.assets.map((a) => [unquote(a.id), a]));
|
|
396750
|
-
const modComponents = new Map(sub.components.map((d) => [d.name, d]));
|
|
396751
|
-
if (imp.ns) {
|
|
396752
|
-
assets.byNs.set(imp.ns, modAssets);
|
|
396753
|
-
components.byNs.set(imp.ns, modComponents);
|
|
396754
|
-
} else {
|
|
396755
|
-
for (const [id, a] of modAssets) assets.bare.set(id, a);
|
|
396756
|
-
for (const [name, d] of modComponents) components.bare.set(name, d);
|
|
396757
|
-
}
|
|
396758
|
-
}
|
|
396759
|
-
return { assets, components };
|
|
396760
|
-
}
|
|
396761
397361
|
function compileDsl(text, opts = {}) {
|
|
396762
|
-
const
|
|
396763
|
-
const
|
|
396764
|
-
|
|
396765
|
-
return modelToHouseConfig(model, linked);
|
|
397362
|
+
const { shared } = createWadiServices(EmptyFileSystem);
|
|
397363
|
+
const project = linkProject(shared, text, opts.resolveModule);
|
|
397364
|
+
return modelToHouseConfig(project.host, project);
|
|
396766
397365
|
}
|
|
396767
397366
|
function moduleExports3(text) {
|
|
396768
397367
|
const services = createWadiServices(EmptyFileSystem).Wadi;
|
|
@@ -411668,6 +412267,10 @@ var componentObject = external_exports2.object({
|
|
|
411668
412267
|
params: external_exports2.record(external_exports2.string(), external_exports2.union([external_exports2.number(), external_exports2.string()])).optional(),
|
|
411669
412268
|
x: external_exports2.number(),
|
|
411670
412269
|
y: external_exports2.number(),
|
|
412270
|
+
// Standard placement: yaw° about the instance origin (clockwise, same sense as
|
|
412271
|
+
// item rotation: 0=south, 90=east). Right angles (0/90/180/270) are exact for
|
|
412272
|
+
// any component; a non-right angle is allowed only for furniture-only ones.
|
|
412273
|
+
rotation: external_exports2.number().optional(),
|
|
411671
412274
|
z_offset: external_exports2.number().optional()
|
|
411672
412275
|
}).strict();
|
|
411673
412276
|
var itemObject = external_exports2.object({
|
|
@@ -412358,23 +412961,66 @@ function stripOpenings(obj) {
|
|
|
412358
412961
|
return obj;
|
|
412359
412962
|
}
|
|
412360
412963
|
var MAX_COMPONENT_DEPTH = 8;
|
|
412361
|
-
|
|
412964
|
+
var BOX_TYPES = /* @__PURE__ */ new Set(["room", "pillar", "beam", "floor_slab", "plinth", "ground"]);
|
|
412965
|
+
var ANY_ANGLE_TYPES = /* @__PURE__ */ new Set(["item", "wall"]);
|
|
412966
|
+
var SIDE_NORMAL = {
|
|
412967
|
+
north: [0, -1],
|
|
412968
|
+
south: [0, 1],
|
|
412969
|
+
east: [1, 0],
|
|
412970
|
+
west: [-1, 0]
|
|
412971
|
+
};
|
|
412972
|
+
function rotateSide(side2, cos, sin) {
|
|
412973
|
+
const [nx, ny] = SIDE_NORMAL[side2];
|
|
412974
|
+
const rx = nx * cos + ny * sin;
|
|
412975
|
+
const ry = -nx * sin + ny * cos;
|
|
412976
|
+
if (Math.abs(rx) >= Math.abs(ry)) return rx >= 0 ? "east" : "west";
|
|
412977
|
+
return ry >= 0 ? "south" : "north";
|
|
412978
|
+
}
|
|
412979
|
+
var isSide = (s) => typeof s === "string" && SIDES.includes(s);
|
|
412980
|
+
function placeComponent(objs, dx, dy, dz, deg, wallThickness) {
|
|
412981
|
+
const norm = (deg % 360 + 360) % 360;
|
|
412982
|
+
const rad = norm * Math.PI / 180;
|
|
412983
|
+
const clean = (v) => Math.round(v * 1e12) / 1e12;
|
|
412984
|
+
const cos = clean(Math.cos(rad));
|
|
412985
|
+
const sin = clean(Math.sin(rad));
|
|
412986
|
+
const swap = norm === 90 || norm === 270;
|
|
412987
|
+
const rp = (x, y) => [x * cos + y * sin, -x * sin + y * cos];
|
|
412362
412988
|
return objs.map((o) => {
|
|
412363
412989
|
const n2 = { ...o };
|
|
412364
|
-
if (
|
|
412365
|
-
|
|
412366
|
-
|
|
412367
|
-
|
|
412368
|
-
|
|
412369
|
-
|
|
412370
|
-
|
|
412371
|
-
|
|
412372
|
-
|
|
412373
|
-
|
|
412374
|
-
|
|
412375
|
-
|
|
412376
|
-
|
|
412377
|
-
|
|
412990
|
+
if (norm !== 0) {
|
|
412991
|
+
if (BOX_TYPES.has(n2.type)) {
|
|
412992
|
+
const w = typeof n2.width === "number" ? n2.width : wallThickness;
|
|
412993
|
+
const l = typeof n2.length === "number" ? n2.length : wallThickness;
|
|
412994
|
+
const [rcx, rcy] = rp(n2.x + w / 2, n2.y + l / 2);
|
|
412995
|
+
const w2 = swap ? l : w, l2 = swap ? w : l;
|
|
412996
|
+
n2.x = rcx - w2 / 2;
|
|
412997
|
+
n2.y = rcy - l2 / 2;
|
|
412998
|
+
n2.width = w2;
|
|
412999
|
+
n2.length = l2;
|
|
413000
|
+
} else if (typeof n2.x === "number" && typeof n2.y === "number") {
|
|
413001
|
+
[n2.x, n2.y] = rp(n2.x, n2.y);
|
|
413002
|
+
}
|
|
413003
|
+
if (typeof n2.start_x === "number" && typeof n2.start_y === "number") [n2.start_x, n2.start_y] = rp(n2.start_x, n2.start_y);
|
|
413004
|
+
if (typeof n2.end_x === "number" && typeof n2.end_y === "number") [n2.end_x, n2.end_y] = rp(n2.end_x, n2.end_y);
|
|
413005
|
+
if (Array.isArray(n2.path)) n2.path = n2.path.map((pt) => Array.isArray(pt) && pt.length >= 2 ? rp(pt[0], pt[1]) : pt);
|
|
413006
|
+
if (isSide(n2.direction)) n2.direction = rotateSide(n2.direction, cos, sin);
|
|
413007
|
+
if (isSide(n2.facing)) n2.facing = rotateSide(n2.facing, cos, sin);
|
|
413008
|
+
if (Array.isArray(n2.walls)) n2.walls = n2.walls.map((s) => isSide(s) ? rotateSide(s, cos, sin) : s);
|
|
413009
|
+
if (n2.wall_heights && typeof n2.wall_heights === "object") {
|
|
413010
|
+
const wh = {};
|
|
413011
|
+
for (const [k, v] of Object.entries(n2.wall_heights)) wh[isSide(k) ? rotateSide(k, cos, sin) : k] = v;
|
|
413012
|
+
n2.wall_heights = wh;
|
|
413013
|
+
}
|
|
413014
|
+
if (n2.type === "item") n2.rotation = (((typeof n2.rotation === "number" ? n2.rotation : 0) + norm) % 360 + 360) % 360;
|
|
413015
|
+
}
|
|
413016
|
+
if (typeof n2.x === "number") n2.x += dx;
|
|
413017
|
+
if (typeof n2.y === "number") n2.y += dy;
|
|
413018
|
+
if (typeof n2.start_x === "number") n2.start_x += dx;
|
|
413019
|
+
if (typeof n2.end_x === "number") n2.end_x += dx;
|
|
413020
|
+
if (typeof n2.start_y === "number") n2.start_y += dy;
|
|
413021
|
+
if (typeof n2.end_y === "number") n2.end_y += dy;
|
|
413022
|
+
if (Array.isArray(n2.path)) n2.path = n2.path.map((pt) => Array.isArray(pt) && pt.length >= 2 ? [pt[0] + dx, pt[1] + dy] : pt);
|
|
413023
|
+
if (dz !== 0) n2.z_offset = (typeof n2.z_offset === "number" ? n2.z_offset : 0) + dz;
|
|
412378
413024
|
if ("formulas" in n2) delete n2.formulas;
|
|
412379
413025
|
return n2;
|
|
412380
413026
|
});
|
|
@@ -412417,7 +413063,16 @@ function expandComponent(inst, hostConfig, wallThickness, opts, depth) {
|
|
|
412417
413063
|
const dx = typeof inst.x === "number" ? inst.x : 0;
|
|
412418
413064
|
const dy = typeof inst.y === "number" ? inst.y : 0;
|
|
412419
413065
|
const dz = typeof inst.z_offset === "number" ? inst.z_offset : 0;
|
|
412420
|
-
|
|
413066
|
+
const deg = typeof inst.rotation === "number" ? inst.rotation : 0;
|
|
413067
|
+
if ((deg % 90 + 90) % 90 !== 0) {
|
|
413068
|
+
const bad = bodyObjs.find((b) => !ANY_ANGLE_TYPES.has(String(b.type)));
|
|
413069
|
+
if (bad) {
|
|
413070
|
+
throw new Error(
|
|
413071
|
+
`component '${ref}' rotation ${deg}\xB0 is not a right angle \u2014 its ${String(bad.type)}${bad.name ? ` '${String(bad.name)}'` : ""} can't rotate to a non-right angle. Use 0/90/180/270 for structural components; free angles are for furniture-only components.`
|
|
413072
|
+
);
|
|
413073
|
+
}
|
|
413074
|
+
}
|
|
413075
|
+
return placeComponent(bodyObjs, dx, dy, dz, deg, wallThickness);
|
|
412421
413076
|
}
|
|
412422
413077
|
function expandObject(obj, wallThickness) {
|
|
412423
413078
|
if (obj.type === "room") return expandRoom(obj, wallThickness);
|
|
@@ -413724,11 +414379,18 @@ function shedZAt(cfg, seg, pt, opts) {
|
|
|
413724
414379
|
return opts.wallTopZ + frac * rise;
|
|
413725
414380
|
}
|
|
413726
414381
|
function ridgeZFromConfig(cfg, wallTopZ) {
|
|
413727
|
-
if (!cfg.slope) throw new Error("ridgeZFromConfig: cfg.slope required");
|
|
413728
|
-
if (cfg.slope.by === "height") return wallTopZ + cfg.slope.ridge_h;
|
|
413729
414382
|
const widths = cfg.segments.map((s) => s.width);
|
|
413730
|
-
const meanHalf = widths.reduce((a, b) => a + b, 0) / widths.length / 2;
|
|
413731
|
-
|
|
414383
|
+
const meanHalf = widths.length ? widths.reduce((a, b) => a + b, 0) / widths.length / 2 : 0;
|
|
414384
|
+
const tanOf = (s) => s.by === "height" ? (s.ridge_h ?? 0) / (meanHalf || 1) : Math.tan((s.angle_deg ?? 0) * Math.PI / 180);
|
|
414385
|
+
if (cfg.slope) {
|
|
414386
|
+
if (cfg.slope.by === "height") return wallTopZ + cfg.slope.ridge_h;
|
|
414387
|
+
return wallTopZ + meanHalf * Math.tan(cfg.slope.angle_deg * Math.PI / 180);
|
|
414388
|
+
}
|
|
414389
|
+
if (cfg.slope_left && cfg.slope_right && meanHalf > 0) {
|
|
414390
|
+
const tL = tanOf(cfg.slope_left), tR = tanOf(cfg.slope_right);
|
|
414391
|
+
if (tL > 0 && tR > 0) return wallTopZ + 2 * meanHalf * tL * tR / (tL + tR);
|
|
414392
|
+
}
|
|
414393
|
+
throw new Error("ridgeZFromConfig: cfg.slope (or slope_left + slope_right) required");
|
|
413732
414394
|
}
|
|
413733
414395
|
|
|
413734
414396
|
// ../editor/src/svg2d/roof/v2/truss.ts
|
|
@@ -418337,7 +418999,7 @@ var DOCS = {
|
|
|
418337
418999
|
},
|
|
418338
419000
|
"dsl": {
|
|
418339
419001
|
"title": "The Wadi DSL (.wdl) \u2014 syntax reference",
|
|
418340
|
-
"body": '# The Wadi DSL (`.wdl`) \u2014 authoring reference\n\nYou author houses in the **Wadi DSL** \u2014 a small, formal language (`.wdl`) that\ncompiles to a resolved `.wadi` (`house_config.json`). The DSL is **complete**:\nevery object type in the model has first-class syntax, so you rarely need the\n`raw` escape. Authoring the DSL is more direct and less error-prone than writing\nJSON \u2014 the grammar enforces structure, and `check.sh` reports parse errors with\nline:col.\n\n**This file is the SYNTAX reference.** The *semantics* live in the other\nreferences and apply unchanged \u2014 read them:\n\n- `coordinate-system.md` \u2014 X\u2192right, **Y\u2192DOWN**, Z\u2192up; **10 units = 1 ft**;\n the **centreline** convention. The #1 source of mistakes.\n- `conventions.md` \u2014 the **structural coding conventions** (`check.sh` enforces\n them): plinth-floor height must match the plinth block, rooms must wall every\n exterior side, a no-slab floor must set `slab_thickness 0`.\n- `parametric-conventions.md` \u2014 the grid-first recipe for reusable templates.\n- `roof-v2-guide.md` \u2014 roof segments, hip vs gable, trusses, joints.\n- `data-model.md` \u2014 the underlying `.wadi` schema (what the DSL compiles to; also\n the field reference for the `raw` escape).\n\n## The loop\n\n1. Write / edit `house.wdl` \u2014 the **single shared source** (you and the human\n co-edit it; the app\'s DSL previewer renders it live). You never produce a `.wadi`.\n2. `wadi-skill/architect/scripts/check.sh house.wdl` \u2014 runs the DSL compiler +\n validator (schema + wall/roof geometry) against a **throwaway temp** just for\n feedback; fix any reported error and re-run.\n3. `preview.sh house.wdl` \u2192 read the PNGs (plans / elevations / roof) to check your\n work. (It also compiles to a throwaway temp \u2014 no persistent `.wadi`.)\n\n## Skeleton\n\n```wdl\nhouse MyHouse {\n convention center // ALWAYS use center (wall-centreline coords)\n units feet_inches per_unit 10 // 10 project units = 1 ft\n site { plot (WIDTH, LENGTH) ref (0, 0) }\n defaults { floor_height 120 wall_height 108 slab_thickness 8 wall_thickness 8 }\n\n // parametric core (optional): var, point, grid, configurator\n // component / layer declarations (optional)\n floor 0 "Plinth" { \u2026 } // floors stack in source order (0 = plinth)\n floor 1 "Ground Floor" { \u2026 }\n floor 2 "Loft" { roof \u2026 } // roof lives ALONE on its own top floor\n}\n```\n\nNumbers are **project units** (feet \xD7 10 by default). Names after `house`,\n`room`, `pillar`, `var`, `point`, `grid`, and `use`/`component` are bare\nidentifiers (no spaces); names introduced with the `name` keyword are quoted\nstrings.\n\n## Parametric core (domain-neutral)\n\n```wdl\nvar wallT = 8 // a knob; may reference other vars\nvar pilInset = (pillarW - wallT) / 2\n\npoint House { x = 420, y = 470 } // reference as House.x / House.W / House.L\n // (.W = x, .L = y \u2014 a point doubles as a size)\n\ngrid main { // named wall centrelines; publishes main.x1 / main.yA\n x: 1 @ wallT / 2, 2 @ House.W / 2, 3 @ House.W - wallT / 2\n y: A @ wallT / 2, B @ House.L / 2, C @ House.L - wallT / 2\n}\n// each line may add: \u2026 @ <expr> thick <expr> role structural|planning\n\nconfigurator { // the knobs a downstream user turns\n slider pillarW "Column size" ft [8 .. 14 step 1]\n number ceiling "Ceiling height" ft\n toggle has_loft "Add a loft"\n select roof_style "Roof style" { Flat = 0, Shed = 1, Gable = 2, Hip = 3 }\n}\n```\n\n**Formulas are automatic.** Any geometry number can be a formula \u2014 just write the\nexpression instead of a literal (`at (main.x1, main.yA)`, `size (House.W/2, 200)`).\nOperators: `+ - * /`, unary `-`, parentheses, and the functions\n`min max clamp round floor ceil abs`. References: a `var`, a `point`\n(`House.W`), or a grid line (`main.x3 - main.x1`). No comparison operators \u2014 gate\nthings with the `min/abs` idiom (see `enabled` below).\n\n## Common attribute tail (every object)\n\nAfter an object\'s geometry, in THIS order, any of:\n\n```\n\u2026 z_offset <expr> enabled <expr> layer "id" [material "id"]\n```\n\n- `enabled <expr>` \u2014 the on/off switch. A `0`/`false` value hides the object. To\n gate on a configurator variable, use a 0/1 formula:\n `enabled 1 - min(1, abs(roof_style - 3))` renders the object only when\n `roof_style == 3`. (This is how one template carries several roofs and shows\n only the chosen one.)\n- `z_offset <expr>` \u2014 lift above the floor base (split levels).\n- `material "id"` \u2014 only on plinth / ground / room / wall / staircase / kitchen /\n roof.\n\n## Objects \u2014 structure & envelope\n\n```wdl\nslab [name "N"] at (x,y) size (w,l) [thickness <t>] // floor_slab\nbeam [name "N"] at (x,y) size (w,l) [height <h>]\nplinth [name "N"] at (x,y) size (w,l) height <h> // raised base (Plinth floor)\nground [name "N"] at (x,y) size (w,l) [height <h>] // terrain plane\npillar Name at (x,y) size (w,l) [height <h>] // (x,y) = TOP-LEFT corner\n```\n\n`at (x,y)` is the **TOP-LEFT CORNER** \u2014 **not the centre** \u2014 for every one of these\n(same as rooms/slabs/beams); `size (w,l)` is width \xD7 length. All accept the common tail.\n\n**Pillars catch people out here.** A column reads as "placed at a point," but `at` is\nstill its corner. To **centre a column on a point** `(cx, cy)` \u2014 a grid node, a room\ncorner \u2014 place it at **`at (cx - w/2, cy - l/2)`**, never at `(cx, cy)`. On a grid, the\n`pilInset` idiom (see `parametric-conventions.md`) does exactly this so columns sit flush.\n\n## Objects \u2014 rooms, walls & openings\n\nA room shows exactly the walls you declare. A **bare room (no `wall` lines) is\nenclosed on all four sides.** List plain walls compactly; give a wall its own line\nonly when it carries a door/window; omit a side to leave it open (verandah).\n\n```wdl\nroom Name at (x,y) size (w,l) [height <h>] [material "\u2026"] {\n wall east west north // plain walls \u2014 several in one statement\n wall south { door Main at <offset> size (w,h) [open] } // wall WITH openings: one side\n wall west { window W at <offset> size (w,h) [sill <s>] [open] }\n item asset { \u2026 } anchor center [gap (gx,gy)] // furniture anchored inside the room\n}\n```\n\n- `wall <side>\u2026` sides are `north|south|east|west`. A `wall <side>` line may also\n add `height <h>` / `height_end <h>` (sloped).\n- `door`/`window` `at <offset>` is measured along the wall from its start;\n `size (width, height)`; `window \u2026 sill <s>` sets the sill height; `open` = a bare\n hole (no leaf/glazing).\n\nA **free-standing wall** (not a room side):\n\n```wdl\nwall Name from (x1,y1) to (x2,y2) [height <h>] [height_end <h>] [facing north|\u2026] {\n \u2026 door/window openings \u2026\n}\n```\n\n- `from`/`to` are the wall\'s **centreline** endpoints; the wall is drawn as a rectangle\n `wall_thickness` wide, centred on that line.\n- **Overlap walls at corners \u2014 they do NOT auto-mitre.** Two free-standing walls that\n merely *touch* at a shared endpoint leave an unfilled square notch (\xBD\xB7`wall_thickness`)\n at the corner, because each is just a rectangle capped at its endpoint. To fill the\n corner, **extend the endpoints so the wall bodies OVERLAP** \u2014 run at least one wall\'s\n end **half the wall thickness past** the shared point (overlapping by the full thickness\n is fine and simplest). For an L of thickness 8 meeting at `(160,40)`:\n\n ```wdl\n wall H from (40, 40) to (164, 40) height 108 // ends 4 (\xBD\xB78) PAST the corner\n wall V from (160, 40) to (160, 160) height 108 // butts into H\'s overlapped body\n ```\n\n (Room walls handle their own corners; this only applies to `wall \u2026 from \u2026 to \u2026`.)\n\n## Objects \u2014 circulation & fittings\n\n```wdl\nstaircase [name "N"] at (start_x, start_y) step (rise, tread, width)\n direction north|south|east|west\n [total_height <h>] [max_run <r>] [landing_depth <d>]\n [landing_thickness <t>] [turn clockwise|anticlockwise] [flight_gap <g>]\n\nkitchen [name "N"] path ((x,y), (x,y), \u2026) side left|right\n depth <d> height <h> [base_z <z>] // path points are literal numbers\n```\n\n**Staircases are TOP-anchored \u2014 this is the #1 mistake.** You put a staircase on the\n**UPPER** floor and it **DESCENDS** to the floor below:\n\n- `at (x,y)` is the **TOP** of the stair (where it meets the floor it\'s declared on).\n- `direction` is the **descent** direction (the way it travels going *down*).\n- `total_height` is the **drop** to the floor below (omit \u2192 the floor-below\'s height).\n- `max_run` caps a flight\'s run; exceed it and the stair auto-splits into switchback\n flights with turn landings (`landing_depth`/`turn`/`flight_gap` tune the switchback).\n\nSo a stair connecting the ground floor **up** to the first floor lives on the **First\nFloor**, descending to the ground:\n\n```wdl\nfloor 2 "First Floor" height 116 {\n slab at (\u2026) size (\u2026)\n staircase name "Stair" at (212, 64) step (7, 11, 44) // top = this floor, at the landing\n direction south total_height 116 // descends south to the floor below\n}\n```\n\nPut it on the *lower* floor (thinking of it as "climbing up") and it descends the wrong way\n\u2014 **below ground** \u2014 where it draws in 2D plans but is buried/invisible in 3D. `check.sh`\ncatches that (convention **C5**), but author it top-anchored from the start.\n\n// three ways to name the GLB, in order of preference:\nitem [name "N"] f."sofa" // 1. from an imported module (see Imports)\nitem [name "N"] "sofa" // 2. a same-file / bare-imported `asset` id\nitem [name "N"] asset { id "sofa" src "\u2026/sofa.glb" dims (w,h,d) [category "\u2026"] } // 3. inline one-off\n at (x,y) [rotation <deg>] [scale <s>]\n [anchor_to "RoomName" anchor center gap (gx,gy)]\n```\n\nPrefer the module form (`item f."bed_double"`) \u2014 `import "std-furniture" as f`\nonce and every piece is a short id, no URLs. The bare form (`item "sofa"`) needs\na matching top-level `asset "sofa" \u2026` in the file (or a bare `import`). The inline\n`asset { \u2026 }` block is only for a one-off GLB not in any pack. All three produce\nthe identical `{id,src,dims}` downstream. Furniture `dims` are the real-world size\nin **metres** `(width, height, depth)`; `src` is a GLB URL (an unreachable GLB\nshows a placeholder box, never a blank). `anchor` is one of `top-left top-center\ntop-right center-left center center-right bottom-left bottom-center bottom-right`.\n\n**Orientation \u2014 this is how you point furniture the right way.** A piece\'s FRONT\n(the side you sit at / the doors / the open side) faces a known compass direction\nper its `rotation` (degrees):\n\n| `rotation` | front faces |\n|---|---|\n| `0` | **South** (the plot front / entrance side, +Y) |\n| `90` | East |\n| `180` | North |\n| `270` | West |\n\nSo a sofa against the NORTH wall (facing into the room, i.e. south) is `rotation\n0`; against the SOUTH wall (facing north) it\'s `rotation 180`; against the WEST\nwall (facing east) `rotation 90`. The floor plan (`wadi_preview plans`) draws a\nsmall triangle on each piece\'s front edge so you can verify the way it points;\nfor a definitive 3D check use `wadi_capture_3d({ room: "\u2026" })` (first-person from\ninside the room).\n\n**Anchoring auto-orients.** When you `anchor` a piece to a wall and DON\'T give a\n`rotation`, it automatically faces away from that wall, into the room \u2014 `anchor\ntop-center` \u2192 faces south, `bottom-center` \u2192 north, `center-left` \u2192 east,\n`center-right` \u2192 west (a corner uses its north/south edge). So `item f."bed_double"\nanchor top-center` needs no rotation. An explicit `rotation` always overrides,\nand the derived value is written into the resolved model, so the plan notch and\nthe 3D view show it \u2014 anchoring never changes facing silently.\n\n## Imports & modules (reusable `.wdl` libraries)\n\nA `.wdl` file can be a **module** \u2014 top-level declarations (no `house` needed) \u2014\nthat another file `import`s. Two bundled ones: `std-furniture` (asset pack \u2192\n`item ns."id"`) and `konkan/base` (goal-tagged component pack \u2192 `use ns.Comp`;\nStairwell, Verandah, Otla, Bathroom, Kitchen, TulsiVrindavan, Parapet). The\n`konkan_cottage` example (`wadi_examples`) assembles a whole house from both.\n\n```wdl\nhouse Home {\n import "std-furniture" as f // aliased: refer to its assets as f."<id>"\n // import "std-furniture" // bare: its ids drop into scope for item "<id>"\n floor 1 "G" slab_thickness 0 {\n room Bed at (20,20) size (160,200) { wall north east south west\n item f."bed_double" anchor center }\n }\n}\n```\n\nA module file itself is just top-level `asset` (later: `component`) decls:\n\n```wdl\n// my-furniture.wdl \u2014 a house-less module (a reusable library)\nasset "daybed" src "https://\u2026/daybed.glb" dims (1.8, 0.4, 0.9) name "Daybed" category "Living"\n```\n\nOver MCP, `wadi_modules` lists importable modules and `wadi_module "<name>"`\nshows a module\'s asset ids + dimensions (filter with a `query`). Import refs\nresolve by name against the bundled `std-*` packs (a local `modules/` search\npath and git refs come later).\n\n## Objects \u2014 roof (one object; flat / shed / gable / hip)\n\nThe roof lives ALONE on its own top floor and you never set its Z (see\n`roof-v2-guide.md`). `endpoint`: `closed` = hip triangle, `open` = gable end-wall.\n\n```wdl\nroof [name "N"] pitched|shed|flat\n [endpoint open|closed]\n [slope angle <deg> | slope height <ridge_h>] // symmetric pitch\n [slope_left angle <deg>] [slope_right angle <deg>] // asymmetric gable (set BOTH)\n [overhang <o>] [slab_thickness <t>] [parapet <h> x <t>] [gable_wall_thickness <t>] {\n segment "id" from (x,y) to (x,y) width <w>\n [high_side left|right] // shed only\n [start_endpoint open|closed] [end_endpoint open|closed]\n [hip_setback (a,b)] [gable_overhang (a,b)] [hip_ridge_extension (a,b)]\n [overhang <o>] // uniform eave, all four sides\n [overhang_start <o>] [overhang_end <o>] // per-side along the axis (shed;\n // on a gable end = gable_overhang)\n [overhang_low <o>] [overhang_high <o>] // SHED eaves (down-slope / up-slope)\n [overhang_left <o>] [overhang_right <o>] // PITCHED eaves (left / right of ridge)\n [tie_beams N]\n truss "segId" fink|mono_pitch at (pos, pos, \u2026)\n }\n```\n\nSegment `from`/`to`/`width` and the `hip_setback`/\u2026 values accept formulas, so a\nroof scales with the plot (e.g. `width House.W`, `hip_setback (Verandah.L, Padvi.L)`).\n\n**Per-side overhang (cantilever one edge).** `overhang <o>` sets a uniform eave on\nall four sides. Any sloping roof can override a side independently \u2014 each defaults to\n`overhang`. **Along the axis:** `overhang_start` / `overhang_end` (on a shed, or a\ngable open end \u2014 there they\'re the same as `gable_overhang`; a hip end is geometric,\ntuned via `hip_setback`). **Eaves:** `overhang_low` / `overhang_high` on a **shed**\n(down-slope / up-slope); `overhang_left` / `overhang_right` on a **pitched** roof\n(the two eaves either side of the ridge). A bigger eave overhang also drops that\neave\'s edge along the same pitch, so the slope stays planar. (Per-eave on a *pitched*\nroof is single-segment only \u2014 on a multi-segment roof the eaves share one height so\njoints line up.)\n\n**Asymmetric gable (saltbox) \u2014 two independent slope angles.** A pitched roof\'s\n`slope` gives both faces the same pitch (a symmetric gable). To make the two sides\ndifferent, set **both** `slope_left` and `slope_right` (angles) \u2014 they override\n`slope`. The two eaves stay put (footprint unchanged) and the ridge shifts across the\nwidth so each face takes its angle; the gable-end triangle and trusses follow. `left`/\n`right` are by the segment\'s left normal \u2014 the **same sides as** `overhang_left`/\n`overhang_right`. Angles are measured to the wall-top eave line. Setting only one side\nis ignored (falls back to symmetric). Intended for a single-segment gable (`endpoint\nopen`); on a hip end the ridge shift skews the hip, so keep it to gables.\n\n```wdl\nroof pitched endpoint open slope_left angle 45 slope_right angle 25 {\n segment "s0" from (House.W/2, 0) to (House.W/2, House.L) width House.W\n}\n```\nIdiom: keep the roof FOOTPRINT (its supported edges) on the main room, then cantilever\none eave to cover an entry landing / stair \u2014 end the axis on the room wall and set a big\n`overhang_end`:\n```wdl\n// footprint ends on the main room\'s east wall (x204 centreline \u2192 x208 outer);\n// the east eave reaches 258, covering a landing that sticks out to x256.\nsegment "seg0" from (4,124) to (204,124) width 240 high_side right overhang 25 overhang_end 50\n```\n\n**Roof coordinates are wall centrelines (under `convention center`), same as\nrooms.** `from`/`to` is the segment\'s ridge/axis and `width` its span *centred on\nthat axis*. Author them on the **same centreline grid as the walls** \u2014 a segment\nwhose axis + width match the rooms\' centrelines auto-grows to the **outer wall\nface** on every side (the compiler extends the axis by \xBD\xB7wall_thickness at each end\nand widens by wall_thickness, exactly the grow a room gets). `overhang` then\nextends *beyond* the outer face. So to cover a footprint spanning wall centrelines\n`x1..x2` (E\u2013W) and `yA..yB` (N\u2013S), write `from (x1, (yA+yB)/2) to (x2, (yA+yB)/2)\nwidth (yB - yA)` \u2014 do **not** add \xBD-wall fudge factors; the convention handles it.\n(Before this, a roof drawn on the grid sat half a wall-thickness *inside* the walls.)\n\n## Components & layers\n\n```wdl\ncomponent Bench { // a reusable mini-house in LOCAL coords (origin 0,0)\n param blen = 60 label "Bench length"\n beam name "Top" at (0,0) size (blen, 18) height 6\n}\nuse Bench as "B1" at (x,y) with { blen = 80 } // stamp it onto a floor\n\nlayer "structure" "Structure" [color "#rrggbb"] [group "Frame"] // per-house layer registry\n```\n\nA component may carry a **`goal`** \u2014 a short description of what it accomplishes,\nthe discovery key for module lookup (`wadi_module` / a `wadi_modules` query):\n\n```wdl\ncomponent Stairwell goal "climb to the next floor" {\n param rise = 116\n staircase name "Stair" at (0,0) step (7,11,44) direction south total_height rise\n}\n```\n\nComponents can also come from an **imported module** (see *Imports & modules*),\nstamped with a namespaced `use ns.Comp`:\n\n```wdl\nhouse Home {\n import "konkan/base" as kb // Stairwell, Verandah, Otla (goal-tagged)\n floor 1 "G" slab_thickness 0 {\n room Hall at (20,20) size (200,200) { wall north east south west }\n use kb.Stairwell at (60,60) with { rise = 116 } // param args use `=`, not `:`\n }\n}\n```\n\n`use ns.Comp` expands byte-identical to an inline `component`; keep module\ncomponents flat (they don\'t `use` other components). Un-overridden `param`s fall\nback to their declared defaults.\n\n## The `raw` escape (rarely needed)\n\nAnything the first-class syntax doesn\'t cover can be written as literal JSON per\nthe `.wadi` schema (`data-model.md`):\n\n```wdl\nraw "type" { "field": 1, "formulas": { "field": "= expr" } }\n```\n\n## DSL-specific pitfalls\n\n- **`convention center` and `units \u2026 per_unit 10`** belong at the top of every\n `house` \u2014 same as the JSON path. All the `coordinate-system.md` rules (Y-down,\n units, centreline abutment) apply identically; the DSL just writes them shorter.\n- **Formulas are bare expressions**, not `"= \u2026"` strings \u2014 the compiler emits the\n `= \u2026` form for you. Write `at (main.x1, main.yA)`, not `at ("= main.x1", \u2026)`.\n- **`name "\u2026"` is quoted; `room`/`pillar`/`var`/grid-line names are bare** ids\n (no spaces, and not a reserved word like `width`, `height`, `size`, `at`).\n- **Roof alone on the top floor**; segment widths/positions come from the walls\n they sit on. See `roof-v2-guide.md`.\n- **A pillar\'s `at` is its TOP-LEFT corner, not its centre.** To centre a column on\n `(cx,cy)`, author `at (cx - w/2, cy - l/2)`.\n- **Free-standing walls don\'t auto-mitre at corners** \u2014 extend endpoints so the wall\n bodies overlap (\u2265 \xBD\xB7`wall_thickness` past the shared point), or the corner is left\n as a gap.\n- **Staircases are top-anchored** \u2014 put them on the UPPER floor; they descend to the\n floor below (`check.sh` C5 flags one that lands below ground). See the staircase note.\n- **Structural conventions are enforced** \u2014 `check.sh` fails on floating floors\n (plinth-floor `height` \u2260 plinth block height; a no-slab floor with nonzero\n `slab_thickness`) and warns on exterior room sides left open. See\n `conventions.md`; the DSL editor shows the same findings in its status pill.\n- Compile after **every** edit; a parse error means the `.wadi` wasn\'t updated, so\n the live model just won\'t change \u2014 never silently wrong.\n'
|
|
419002
|
+
"body": '# The Wadi DSL (`.wdl`) \u2014 authoring reference\n\nYou author houses in the **Wadi DSL** \u2014 a small, formal language (`.wdl`) that\ncompiles to a resolved `.wadi` (`house_config.json`). The DSL is **complete**:\nevery object type in the model has first-class syntax, so you rarely need the\n`raw` escape. Authoring the DSL is more direct and less error-prone than writing\nJSON \u2014 the grammar enforces structure, and `check.sh` reports parse errors with\nline:col.\n\n**This file is the SYNTAX reference.** The *semantics* live in the other\nreferences and apply unchanged \u2014 read them:\n\n- `coordinate-system.md` \u2014 X\u2192right, **Y\u2192DOWN**, Z\u2192up; **10 units = 1 ft**;\n the **centreline** convention. The #1 source of mistakes.\n- `conventions.md` \u2014 the **structural coding conventions** (`check.sh` enforces\n them): plinth-floor height must match the plinth block, rooms must wall every\n exterior side, a no-slab floor must set `slab_thickness 0`.\n- `parametric-conventions.md` \u2014 the grid-first recipe for reusable templates.\n- `roof-v2-guide.md` \u2014 roof segments, hip vs gable, trusses, joints.\n- `data-model.md` \u2014 the underlying `.wadi` schema (what the DSL compiles to; also\n the field reference for the `raw` escape).\n\n## The loop\n\n1. Write / edit `house.wdl` \u2014 the **single shared source** (you and the human\n co-edit it; the app\'s DSL previewer renders it live). You never produce a `.wadi`.\n2. `wadi-skill/architect/scripts/check.sh house.wdl` \u2014 runs the DSL compiler +\n validator (schema + wall/roof geometry) against a **throwaway temp** just for\n feedback; fix any reported error and re-run.\n3. `preview.sh house.wdl` \u2192 read the PNGs (plans / elevations / roof) to check your\n work. (It also compiles to a throwaway temp \u2014 no persistent `.wadi`.)\n\n## Skeleton\n\n```wdl\nhouse MyHouse {\n convention center // ALWAYS use center (wall-centreline coords)\n units feet_inches per_unit 10 // 10 project units = 1 ft\n site { plot (WIDTH, LENGTH) ref (0, 0) }\n defaults { floor_height 120 wall_height 108 slab_thickness 8 wall_thickness 8 }\n\n // parametric core (optional): var, point, grid, configurator\n // component / layer declarations (optional)\n floor 0 "Plinth" { \u2026 } // floors stack in source order (0 = plinth)\n floor 1 "Ground Floor" { \u2026 }\n floor 2 "Loft" { roof \u2026 } // roof lives ALONE on its own top floor\n}\n```\n\nNumbers are **project units** (feet \xD7 10 by default). Names after `house`,\n`room`, `pillar`, `var`, `point`, `grid`, and `use`/`component` are bare\nidentifiers (no spaces); names introduced with the `name` keyword are quoted\nstrings.\n\n## Parametric core (domain-neutral)\n\n```wdl\nvar wallT = 8 // a knob; may reference other vars\nvar pilInset = (pillarW - wallT) / 2\n\npoint House { x = 420, y = 470 } // reference as House.x / House.W / House.L\n // (.W = x, .L = y \u2014 a point doubles as a size)\n\ngrid main { // named wall centrelines; publishes main.x1 / main.yA\n x: 1 @ wallT / 2, 2 @ House.W / 2, 3 @ House.W - wallT / 2\n y: A @ wallT / 2, B @ House.L / 2, C @ House.L - wallT / 2\n}\n// each line may add: \u2026 @ <expr> thick <expr> role structural|planning\n\nconfigurator { // the owner-facing template you author\n title "Configure your home" // panel heading (optional)\n note "Everything re-flows to fit." // panel subtitle (optional)\n\n slider pillarW "Column size" ft [8 .. 14 step 1] note "help text" // trailing note optional\n number ceiling "Ceiling height" ft\n toggle has_loft "Add a loft"\n select roof_style "Roof style" { Flat = 0, Shed = 1, Gable = 2, Hip = 3 }\n select floorH "Ceiling height" { "9 ft" = 90, "10 ft (std)" = 100 } // labels can be quoted strings\n\n group "Plot" note "about this section" { // sections the panel; label only\n slider W "Plot width" ft [340 .. 520 step 10]\n }\n}\n```\n\nEvery knob binds to a `var` by name (`target`). To expose a plot dimension, model\nit as a `var` and reference it from the point (`point House { x = W }`), then bind\nthe knob to `W` \u2014 knobs target vars, never a point field like `House.W`.\n\n**Formulas are automatic.** Any geometry number can be a formula \u2014 just write the\nexpression instead of a literal (`at (main.x1, main.yA)`, `size (House.W/2, 200)`).\nOperators: `+ - * /`, unary `-`, parentheses, and the functions\n`min max clamp round floor ceil abs`. References: a `var`, a `point`\n(`House.W`), or a grid line (`main.x3 - main.x1`). No comparison operators \u2014 gate\nthings with the `min/abs` idiom (see `enabled` below).\n\n## Common attribute tail (every object)\n\nAfter an object\'s geometry, in THIS order, any of:\n\n```\n\u2026 z_offset <expr> enabled <expr> layer "id" [material "id"]\n```\n\n- `enabled <expr>` \u2014 the on/off switch. A `0`/`false` value hides the object. To\n gate on a configurator variable, use a 0/1 formula:\n `enabled 1 - min(1, abs(roof_style - 3))` renders the object only when\n `roof_style == 3`. (This is how one template carries several roofs and shows\n only the chosen one.)\n- `z_offset <expr>` \u2014 lift above the floor base (split levels).\n- `material "id"` \u2014 only on plinth / ground / room / wall / staircase / kitchen /\n roof.\n\n## Objects \u2014 structure & envelope\n\n```wdl\nslab [name "N"] at (x,y) size (w,l) [thickness <t>] // floor_slab\nbeam [name "N"] at (x,y) size (w,l) [height <h>]\nplinth [name "N"] at (x,y) size (w,l) height <h> // raised base (Plinth floor)\nground [name "N"] at (x,y) size (w,l) [height <h>] // terrain plane\npillar Name at (x,y) size (w,l) [height <h>] // (x,y) = TOP-LEFT corner\n```\n\n`at (x,y)` is the **TOP-LEFT CORNER** \u2014 **not the centre** \u2014 for every one of these\n(same as rooms/slabs/beams); `size (w,l)` is width \xD7 length. All accept the common tail.\n\n**Pillars catch people out here.** A column reads as "placed at a point," but `at` is\nstill its corner. To **centre a column on a point** `(cx, cy)` \u2014 a grid node, a room\ncorner \u2014 place it at **`at (cx - w/2, cy - l/2)`**, never at `(cx, cy)`. On a grid, the\n`pilInset` idiom (see `parametric-conventions.md`) does exactly this so columns sit flush.\n\n## Objects \u2014 rooms, walls & openings\n\nA room shows exactly the walls you declare. A **bare room (no `wall` lines) is\nenclosed on all four sides.** List plain walls compactly; give a wall its own line\nonly when it carries a door/window; omit a side to leave it open (verandah).\n\n```wdl\nroom Name at (x,y) size (w,l) [height <h>] [material "\u2026"] {\n wall east west north // plain walls \u2014 several in one statement\n wall south { door Main at <offset> size (w,h) [open] } // wall WITH openings: one side\n wall west { window W at <offset> size (w,h) [sill <s>] [open] }\n item asset { \u2026 } anchor center [gap (gx,gy)] // furniture anchored inside the room\n}\n```\n\n- `wall <side>\u2026` sides are `north|south|east|west`. A `wall <side>` line may also\n add `height <h>` / `height_end <h>` (sloped).\n- `door`/`window` `at <offset>` is measured along the wall from its start;\n `size (width, height)`; `window \u2026 sill <s>` sets the sill height; `open` = a bare\n hole (no leaf/glazing).\n\nA **free-standing wall** (not a room side):\n\n```wdl\nwall Name from (x1,y1) to (x2,y2) [height <h>] [height_end <h>] [facing north|\u2026] {\n \u2026 door/window openings \u2026\n}\n```\n\n- `from`/`to` are the wall\'s **centreline** endpoints; the wall is drawn as a rectangle\n `wall_thickness` wide, centred on that line.\n- **Overlap walls at corners \u2014 they do NOT auto-mitre.** Two free-standing walls that\n merely *touch* at a shared endpoint leave an unfilled square notch (\xBD\xB7`wall_thickness`)\n at the corner, because each is just a rectangle capped at its endpoint. To fill the\n corner, **extend the endpoints so the wall bodies OVERLAP** \u2014 run at least one wall\'s\n end **half the wall thickness past** the shared point (overlapping by the full thickness\n is fine and simplest). For an L of thickness 8 meeting at `(160,40)`:\n\n ```wdl\n wall H from (40, 40) to (164, 40) height 108 // ends 4 (\xBD\xB78) PAST the corner\n wall V from (160, 40) to (160, 160) height 108 // butts into H\'s overlapped body\n ```\n\n (Room walls handle their own corners; this only applies to `wall \u2026 from \u2026 to \u2026`.)\n\n## Objects \u2014 circulation & fittings\n\n```wdl\nstaircase [name "N"] at (start_x, start_y) step (rise, tread, width)\n direction north|south|east|west\n [total_height <h>] [max_run <r>] [landing_depth <d>]\n [landing_thickness <t>] [turn clockwise|anticlockwise] [flight_gap <g>]\n\nkitchen [name "N"] path ((x,y), (x,y), \u2026) side left|right\n depth <d> height <h> [base_z <z>] // path points are literal numbers\n```\n\n**Staircases are TOP-anchored \u2014 this is the #1 mistake.** You put a staircase on the\n**UPPER** floor and it **DESCENDS** to the floor below:\n\n- `at (x,y)` is the **TOP** of the stair (where it meets the floor it\'s declared on).\n- `direction` is the **descent** direction (the way it travels going *down*).\n- `total_height` is the **drop** to the floor below (omit \u2192 the floor-below\'s height).\n- `max_run` caps a flight\'s run; exceed it and the stair auto-splits into switchback\n flights with turn landings (`landing_depth`/`turn`/`flight_gap` tune the switchback).\n\nSo a stair connecting the ground floor **up** to the first floor lives on the **First\nFloor**, descending to the ground:\n\n```wdl\nfloor 2 "First Floor" height 116 {\n slab at (\u2026) size (\u2026)\n staircase name "Stair" at (212, 64) step (7, 11, 44) // top = this floor, at the landing\n direction south total_height 116 // descends south to the floor below\n}\n```\n\nPut it on the *lower* floor (thinking of it as "climbing up") and it descends the wrong way\n\u2014 **below ground** \u2014 where it draws in 2D plans but is buried/invisible in 3D. `check.sh`\ncatches that (convention **C5**), but author it top-anchored from the start.\n\n// three ways to name the GLB, in order of preference:\nitem [name "N"] f."sofa" // 1. from an imported module (see Imports)\nitem [name "N"] "sofa" // 2. a same-file / bare-imported `asset` id\nitem [name "N"] asset { id "sofa" src "\u2026/sofa.glb" dims (w,h,d) [category "\u2026"] } // 3. inline one-off\n at (x,y) [rotation <deg>] [scale <s>]\n [anchor_to "RoomName" anchor center gap (gx,gy)]\n```\n\nPrefer the module form (`item f."bed_double"`) \u2014 `import "std-furniture" as f`\nonce and every piece is a short id, no URLs. The bare form (`item "sofa"`) needs\na matching top-level `asset "sofa" \u2026` in the file (or a bare `import`). The inline\n`asset { \u2026 }` block is only for a one-off GLB not in any pack. All three produce\nthe identical `{id,src,dims}` downstream. Furniture `dims` are the real-world size\nin **metres** `(width, height, depth)`; `src` is a GLB URL (an unreachable GLB\nshows a placeholder box, never a blank). `anchor` is one of `top-left top-center\ntop-right center-left center center-right bottom-left bottom-center bottom-right`.\n\n**Orientation \u2014 this is how you point furniture the right way.** A piece\'s FRONT\n(the side you sit at / the doors / the open side) faces a known compass direction\nper its `rotation` (degrees):\n\n| `rotation` | front faces |\n|---|---|\n| `0` | **South** (the plot front / entrance side, +Y) |\n| `90` | East |\n| `180` | North |\n| `270` | West |\n\nSo a sofa against the NORTH wall (facing into the room, i.e. south) is `rotation\n0`; against the SOUTH wall (facing north) it\'s `rotation 180`; against the WEST\nwall (facing east) `rotation 90`. The floor plan (`wadi_preview plans`) draws a\nsmall triangle on each piece\'s front edge so you can verify the way it points;\nfor a definitive 3D check use `wadi_capture_3d({ room: "\u2026" })` (first-person from\ninside the room).\n\n**Anchoring auto-orients.** When you `anchor` a piece to a wall and DON\'T give a\n`rotation`, it automatically faces away from that wall, into the room \u2014 `anchor\ntop-center` \u2192 faces south, `bottom-center` \u2192 north, `center-left` \u2192 east,\n`center-right` \u2192 west (a corner uses its north/south edge). So `item f."bed_double"\nanchor top-center` needs no rotation. An explicit `rotation` always overrides,\nand the derived value is written into the resolved model, so the plan notch and\nthe 3D view show it \u2014 anchoring never changes facing silently.\n\n## Imports & modules (reusable `.wdl` libraries)\n\nA `.wdl` file can be a **module** \u2014 top-level declarations (no `house` needed) \u2014\nthat another file `import`s. Two bundled ones: `std-furniture` (asset pack \u2192\n`item ns."id"`) and `konkan/base` (goal-tagged component pack \u2192 `use ns.Comp`;\nStairwell, Verandah, Otla, Bathroom, Kitchen, TulsiVrindavan, Parapet). The\n`konkan_cottage` example (`wadi_examples`) assembles a whole house from both.\n\n```wdl\nhouse Home {\n import "std-furniture" as f // aliased: refer to its assets as f."<id>"\n // import "std-furniture" // bare: its ids drop into scope for item "<id>"\n floor 1 "G" slab_thickness 0 {\n room Bed at (20,20) size (160,200) { wall north east south west\n item f."bed_double" anchor center }\n }\n}\n```\n\nA module file itself is just top-level `asset` (later: `component`) decls:\n\n```wdl\n// my-furniture.wdl \u2014 a house-less module (a reusable library)\nasset "daybed" src "https://\u2026/daybed.glb" dims (1.8, 0.4, 0.9) name "Daybed" category "Living"\n```\n\nOver MCP, `wadi_modules` lists importable modules and `wadi_module "<name>"`\nshows a module\'s asset ids + dimensions (filter with a `query`). Import refs\nresolve by name against the bundled `std-*` packs (a local `modules/` search\npath and git refs come later).\n\n## Objects \u2014 roof (one object; flat / shed / gable / hip)\n\nThe roof lives ALONE on its own top floor and you never set its Z (see\n`roof-v2-guide.md`). `endpoint`: `closed` = hip triangle, `open` = gable end-wall.\n\n```wdl\nroof [name "N"] pitched|shed|flat\n [endpoint open|closed]\n [slope angle <deg> | slope height <ridge_h>] // symmetric pitch (one value)\n [slope angle (<left>, <right>)] // asymmetric (saltbox) gable \u2014 angle pair\n [overhang <o>] [slab_thickness <t>] [parapet <h> x <t>] [gable_wall_thickness <t>] {\n segment "id" from (x,y) to (x,y) width <w>\n [high_side left|right] // shed only\n [start_endpoint open|closed] [end_endpoint open|closed]\n [hip_setback (a,b)] [gable_overhang (a,b)] [hip_ridge_extension (a,b)]\n [overhang <o>] // uniform eave, all four sides\n [overhang_start <o>] [overhang_end <o>] // per-side along the axis (shed;\n // on a gable end = gable_overhang)\n [overhang_low <o>] [overhang_high <o>] // SHED eaves (down-slope / up-slope)\n [overhang_left <o>] [overhang_right <o>] // PITCHED eaves (left / right of ridge)\n [tie_beams N]\n truss "segId" fink|mono_pitch at (pos, pos, \u2026)\n }\n```\n\nSegment `from`/`to`/`width` and the `hip_setback`/\u2026 values accept formulas, so a\nroof scales with the plot (e.g. `width House.W`, `hip_setback (Verandah.L, Padvi.L)`).\n\n**Per-side overhang (cantilever one edge).** `overhang <o>` sets a uniform eave on\nall four sides. Any sloping roof can override a side independently \u2014 each defaults to\n`overhang`. **Along the axis:** `overhang_start` / `overhang_end` (on a shed, or a\ngable open end \u2014 there they\'re the same as `gable_overhang`; a hip end is geometric,\ntuned via `hip_setback`). **Eaves:** `overhang_low` / `overhang_high` on a **shed**\n(down-slope / up-slope); `overhang_left` / `overhang_right` on a **pitched** roof\n(the two eaves either side of the ridge). A bigger eave overhang also drops that\neave\'s edge along the same pitch, so the slope stays planar. (Per-eave on a *pitched*\nroof is single-segment only \u2014 on a multi-segment roof the eaves share one height so\njoints line up.)\n\n**Asymmetric gable (saltbox) \u2014 an angle pair.** A pitched roof\'s `slope` gives both\nfaces the same pitch (a symmetric gable). To make the two sides different, give\n`slope angle` a **pair** instead of one value \u2014 `slope angle (45, 25)`. A single value\nis symmetric; a pair is asymmetric, and that\'s the whole distinction (no separate\nkeywords, nothing half-settable). The two eaves stay put (footprint unchanged) and the\nridge shifts across the width so each face takes its angle; the gable-end triangle and\ntrusses follow. The pair is `(left, right)` by the segment\'s left normal \u2014 the **same\nsides as** `overhang_left`/`overhang_right`. Angles are measured to the wall-top eave\nline. `height` is single-value only (both faces share one ridge line). Intended for a\nsingle-segment gable (`endpoint open`); on a hip end the ridge shift skews the hip.\n\n```wdl\nroof pitched endpoint open slope angle (45, 25) {\n segment "s0" from (House.W/2, 0) to (House.W/2, House.L) width House.W\n}\n```\nIdiom: keep the roof FOOTPRINT (its supported edges) on the main room, then cantilever\none eave to cover an entry landing / stair \u2014 end the axis on the room wall and set a big\n`overhang_end`:\n```wdl\n// footprint ends on the main room\'s east wall (x204 centreline \u2192 x208 outer);\n// the east eave reaches 258, covering a landing that sticks out to x256.\nsegment "seg0" from (4,124) to (204,124) width 240 high_side right overhang 25 overhang_end 50\n```\n\n**Roof coordinates are wall centrelines (under `convention center`), same as\nrooms.** `from`/`to` is the segment\'s ridge/axis and `width` its span *centred on\nthat axis*. Author them on the **same centreline grid as the walls** \u2014 a segment\nwhose axis + width match the rooms\' centrelines auto-grows to the **outer wall\nface** on every side (the compiler extends the axis by \xBD\xB7wall_thickness at each end\nand widens by wall_thickness, exactly the grow a room gets). `overhang` then\nextends *beyond* the outer face. So to cover a footprint spanning wall centrelines\n`x1..x2` (E\u2013W) and `yA..yB` (N\u2013S), write `from (x1, (yA+yB)/2) to (x2, (yA+yB)/2)\nwidth (yB - yA)` \u2014 do **not** add \xBD-wall fudge factors; the convention handles it.\n(Before this, a roof drawn on the grid sat half a wall-thickness *inside* the walls.)\n\n## Components & layers\n\n```wdl\ncomponent Bench { // a reusable mini-house in LOCAL coords (origin 0,0)\n param blen = 60 label "Bench length"\n beam name "Top" at (0,0) size (blen, 18) height 6\n}\nuse Bench as "B1" at (x,y) [rotation <deg>] with { blen = 80 } // stamp onto a floor\n\nlayer "structure" "Structure" [color "#rrggbb"] [group "Frame"] // per-house layer registry\n```\n\nA component may carry a **`goal`** \u2014 a short description of what it accomplishes,\nthe discovery key for module lookup (`wadi_module` / a `wadi_modules` query):\n\n```wdl\ncomponent Stairwell goal "climb to the next floor" {\n param rise = 116\n staircase name "Stair" at (0,0) step (7,11,44) direction south total_height rise\n}\n```\n\nComponents can also come from an **imported module** (see *Imports & modules*),\nstamped with a namespaced `use ns.Comp`:\n\n```wdl\nhouse Home {\n import "konkan/base" as kb // Stairwell, Verandah, Otla (goal-tagged)\n floor 1 "G" slab_thickness 0 {\n room Hall at (20,20) size (200,200) { wall north east south west }\n use kb.Stairwell at (60,60) with { rise = 116 } // param args use `=`, not `:`\n }\n}\n```\n\n`use ns.Comp` expands byte-identical to an inline `component`. Components **nest\nfreely**: a library component may `use` a sibling, `use` a component from a\nlibrary it itself `import`s, and place `item ns."id"` furniture from its own\nimports \u2014 imports resolve **transitively** (cycles are a compile error).\nUn-overridden `param`s fall back to their declared defaults.\n\n`rotation <deg>` (optional, yaw\xB0: 0=south, 90=east) turns the whole stamped\nassembly about its origin. **Right angles (0/90/180/270) are exact for any\ncomponent** (rooms/pillars/beams/slabs swap dims + remap wall sides; furniture\nturns with them). A **non-right angle** is allowed **only for a furniture-only\ncomponent** (items/free walls rotate to any angle); a free angle on a component\nthat contains a room/pillar/beam/slab/staircase is a compile error (arbitrary\nstructural rotation is a future feature).\n\n## The `raw` escape (rarely needed)\n\nAnything the first-class syntax doesn\'t cover can be written as literal JSON per\nthe `.wadi` schema (`data-model.md`):\n\n```wdl\nraw "type" { "field": 1, "formulas": { "field": "= expr" } }\n```\n\n## DSL-specific pitfalls\n\n- **`convention center` and `units \u2026 per_unit 10`** belong at the top of every\n `house` \u2014 same as the JSON path. All the `coordinate-system.md` rules (Y-down,\n units, centreline abutment) apply identically; the DSL just writes them shorter.\n- **Formulas are bare expressions**, not `"= \u2026"` strings \u2014 the compiler emits the\n `= \u2026` form for you. Write `at (main.x1, main.yA)`, not `at ("= main.x1", \u2026)`.\n- **`name "\u2026"` is quoted; `room`/`pillar`/`var`/grid-line names are bare** ids\n (no spaces, and not a reserved word like `width`, `height`, `size`, `at`).\n- **Roof alone on the top floor**; segment widths/positions come from the walls\n they sit on. See `roof-v2-guide.md`.\n- **A pillar\'s `at` is its TOP-LEFT corner, not its centre.** To centre a column on\n `(cx,cy)`, author `at (cx - w/2, cy - l/2)`.\n- **Free-standing walls don\'t auto-mitre at corners** \u2014 extend endpoints so the wall\n bodies overlap (\u2265 \xBD\xB7`wall_thickness` past the shared point), or the corner is left\n as a gap.\n- **Staircases are top-anchored** \u2014 put them on the UPPER floor; they descend to the\n floor below (`check.sh` C5 flags one that lands below ground). See the staircase note.\n- **Structural conventions are enforced** \u2014 `check.sh` fails on floating floors\n (plinth-floor `height` \u2260 plinth block height; a no-slab floor with nonzero\n `slab_thickness`) and warns on exterior room sides left open. See\n `conventions.md`; the DSL editor shows the same findings in its status pill.\n- Compile after **every** edit; a parse error means the `.wadi` wasn\'t updated, so\n the live model just won\'t change \u2014 never silently wrong.\n'
|
|
418341
419003
|
},
|
|
418342
419004
|
"conventions": {
|
|
418343
419005
|
"title": "Structural coding conventions (C1/C2/C3\u2026)",
|
|
@@ -418367,7 +419029,7 @@ var MODULES = {
|
|
|
418367
419029
|
},
|
|
418368
419030
|
"konkan/base": {
|
|
418369
419031
|
"summary": "Goal-tagged Konkan house parts (Stairwell, Verandah, Otla) \u2014 components for `use`.",
|
|
418370
|
-
"source": '// konkan/base.wdl \u2014 a starter pack of reusable, goal-tagged Konkan house parts.\n//\n// A MODULE (no `house` body): import it and stamp its components onto a floor \u2014\n// import "konkan/base" as kb\n// floor 1 "Ground" { use kb.Stairwell at (208, 64) with { rise
|
|
419032
|
+
"source": '// konkan/base.wdl \u2014 a starter pack of reusable, goal-tagged Konkan house parts.\n//\n// A MODULE (no `house` body): import it and stamp its components onto a floor \u2014\n// import "konkan/base" as kb\n// floor 1 "Ground" { use kb.Stairwell at (208, 64) with { rise = 116 } }\n//\n// Each component is authored in LOCAL coordinates (origin 0,0) and is flat\n// (it does not `use` other components), so it stamps cleanly into any host.\n// The `goal` line is the discovery key \u2014 `wadi_module "konkan/base"` (or a\n// `wadi_modules` query) surfaces the component whose goal matches the intent.\n\n// Climb one floor. A single straight run for a short rise; give `run` and the\n// staircase auto-folds into switchback flights (max_run) when the rise is tall.\ncomponent Stairwell goal "climb to the next floor" {\n param rise = 116 // total height to the floor above (= floor_height)\n param run = 200 // max horizontal run before a switchback landing\n staircase name "Stair" at (0, 0) step (7, 11, 44) direction south total_height rise max_run run\n}\n\n// A shaded sit-out running along the front of the house \u2014 the room is open to\n// the south (front) and enclosed on the other three sides. Add a roof + pillars\n// in the host if you want it covered.\ncomponent Verandah goal "a shaded sit-out along the house front" {\n param across = 200 // span across the front\n param deep = 70 // how far it projects\n room Verandah at (0, 0) size (across, deep) {\n wall north east west // open to the south\n }\n}\n\n// An otla \u2014 the traditional Konkan raised platform at the entrance where people\n// sit. A low slab you place at the doorway (its thickness is the platform rise).\ncomponent Otla goal "a raised entrance platform to sit on (Konkan otla)" {\n param wide = 90\n param deep = 55\n param rise = 12 // platform height above grade\n slab name "Otla" at (0, 0) size (wide, deep) thickness rise\n}\n\n// A compact enclosed wet area (bathroom / WC): a small fully-walled room with a\n// door on the front (south). Size it to the fixture you need.\ncomponent Bathroom goal "a compact enclosed wet area (bathroom / WC)" {\n param wide = 70\n param deep = 60\n room Bath at (0, 0) size (wide, deep) {\n wall north east west\n wall south { door BathDoor at 20 size (30, 78) }\n }\n}\n\n// A cooking area with an L-shaped masonry counter in the corner. Fixed size (the\n// counter path can\'t be parametric), so the room exactly fits its counter.\ncomponent Kitchen goal "a cooking area with an L-shaped counter platform" {\n room Kitchen at (0, 0) size (150, 120) {\n wall north east south west\n }\n kitchen name "Counter" path ((8, 8), (130, 8), (130, 100)) side right depth 22 height 36\n}\n\n// A tulsi vrindavan \u2014 the raised masonry planter for the sacred basil that stands\n// in a Konkan courtyard. A small square raised block; place it in the aangan.\ncomponent TulsiVrindavan goal "a raised courtyard planter for tulsi (sacred basil)" {\n param wide = 24 // square side\n param rise = 30 // planter height\n slab name "Tulsi" at (0, 0) size (wide, wide) thickness rise\n}\n\n// A parapet \u2014 a low wall enclosing a terrace edge (open at the top, no roof).\n// Stamp it around a flat roof / terrace slab. (Per-side wall height is a fixed\n// literal here \u2014 parametric per-side wall heights aren\'t supported yet.)\ncomponent Parapet goal "a low wall enclosing a terrace edge" {\n param wide = 200\n param deep = 200\n room Terrace at (0, 0) size (wide, deep) {\n wall north east south west height 36\n }\n}\n'
|
|
418371
419033
|
}
|
|
418372
419034
|
};
|
|
418373
419035
|
|