@openfairygui/cli 0.2.3 → 0.2.5
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/cli.mjs +83 -7
- package/package.json +4 -4
package/dist/cli.mjs
CHANGED
|
@@ -864,7 +864,7 @@ var ExtensibleProperty = class extends Property {
|
|
|
864
864
|
};
|
|
865
865
|
//#endregion
|
|
866
866
|
//#region ../core/src/constants.ts
|
|
867
|
-
const VERSION = `v0.2.
|
|
867
|
+
const VERSION = `v0.2.5`;
|
|
868
868
|
/** Binary package file magic number: "FGUI" as uint32. */
|
|
869
869
|
const FGUI_MAGIC = 1179080009;
|
|
870
870
|
/** Null string index in the binary string table. */
|
|
@@ -6526,6 +6526,10 @@ var Controller = class extends ExtensibleProperty {
|
|
|
6526
6526
|
return Object.assign(super.getDefaults(), {
|
|
6527
6527
|
selectedIndex: 0,
|
|
6528
6528
|
autoRadioGroupDepth: false,
|
|
6529
|
+
alias: "",
|
|
6530
|
+
exported: false,
|
|
6531
|
+
homePageType: "default",
|
|
6532
|
+
homePage: "",
|
|
6529
6533
|
pages: new RefList(),
|
|
6530
6534
|
actions: new RefList()
|
|
6531
6535
|
});
|
|
@@ -6542,6 +6546,30 @@ var Controller = class extends ExtensibleProperty {
|
|
|
6542
6546
|
setAutoRadioGroupDepth(v) {
|
|
6543
6547
|
return this.set("autoRadioGroupDepth", v);
|
|
6544
6548
|
}
|
|
6549
|
+
getAlias() {
|
|
6550
|
+
return this.get("alias");
|
|
6551
|
+
}
|
|
6552
|
+
setAlias(v) {
|
|
6553
|
+
return this.set("alias", v);
|
|
6554
|
+
}
|
|
6555
|
+
getExported() {
|
|
6556
|
+
return this.get("exported");
|
|
6557
|
+
}
|
|
6558
|
+
setExported(v) {
|
|
6559
|
+
return this.set("exported", v);
|
|
6560
|
+
}
|
|
6561
|
+
getHomePageType() {
|
|
6562
|
+
return this.get("homePageType");
|
|
6563
|
+
}
|
|
6564
|
+
setHomePageType(v) {
|
|
6565
|
+
return this.set("homePageType", v);
|
|
6566
|
+
}
|
|
6567
|
+
getHomePage() {
|
|
6568
|
+
return this.get("homePage");
|
|
6569
|
+
}
|
|
6570
|
+
setHomePage(v) {
|
|
6571
|
+
return this.set("homePage", v);
|
|
6572
|
+
}
|
|
6545
6573
|
addPage(page) {
|
|
6546
6574
|
return this.addRef("pages", page);
|
|
6547
6575
|
}
|
|
@@ -16687,7 +16715,12 @@ const GEAR_ATTRS = {
|
|
|
16687
16715
|
const CONTROLLER_ATTRS = {
|
|
16688
16716
|
name: { canonical: "name" },
|
|
16689
16717
|
pages: { canonical: "pages" },
|
|
16690
|
-
selected: { canonical: "selected" }
|
|
16718
|
+
selected: { canonical: "selected" },
|
|
16719
|
+
alias: { canonical: "alias" },
|
|
16720
|
+
autoRadioGroupDepth: { canonical: "autoRadioGroupDepth" },
|
|
16721
|
+
exported: { canonical: "exported" },
|
|
16722
|
+
homePageType: { canonical: "homePageType" },
|
|
16723
|
+
homePage: { canonical: "homePage" }
|
|
16691
16724
|
};
|
|
16692
16725
|
const CONTROLLER_ACTION_ATTRS = {
|
|
16693
16726
|
type: { canonical: "type" },
|
|
@@ -18355,6 +18388,12 @@ const EXTENSION_TYPE_MAP = {
|
|
|
18355
18388
|
Slider: "GSlider",
|
|
18356
18389
|
ScrollBar: "GScrollBar"
|
|
18357
18390
|
};
|
|
18391
|
+
const CONTROLLER_HOME_PAGE_TYPES = new Set([
|
|
18392
|
+
"default",
|
|
18393
|
+
"specific",
|
|
18394
|
+
"branch",
|
|
18395
|
+
"variable"
|
|
18396
|
+
]);
|
|
18358
18397
|
const EXTENSION_PROTOCOL_MAP$1 = {
|
|
18359
18398
|
Button: PROJECT_XML_PROTOCOL.buttonExtension,
|
|
18360
18399
|
Label: PROJECT_XML_PROTOCOL.labelExtension,
|
|
@@ -18679,7 +18718,9 @@ function readComponentXml(ctx, comp, xmlContent) {
|
|
|
18679
18718
|
const ctrlName = readXmlAttr(ctrlDef, PROJECT_XML_PROTOCOL.controller.attrs.name) ?? "";
|
|
18680
18719
|
const ctrl = doc.createController(ctrlName);
|
|
18681
18720
|
const selected = readXmlAttr(ctrlDef, PROJECT_XML_PROTOCOL.controller.attrs.selected);
|
|
18682
|
-
|
|
18721
|
+
const homePageType = readXmlAttr(ctrlDef, PROJECT_XML_PROTOCOL.controller.attrs.homePageType) ?? "default";
|
|
18722
|
+
if (!CONTROLLER_HOME_PAGE_TYPES.has(homePageType)) throw new Error(`Controller "${ctrlName}" has unsupported homePageType "${homePageType}".`);
|
|
18723
|
+
ctrl.setSelectedIndex(parseInt2(selected)).setAlias(readXmlAttr(ctrlDef, PROJECT_XML_PROTOCOL.controller.attrs.alias) ?? "").setAutoRadioGroupDepth(parseBool(readXmlAttr(ctrlDef, PROJECT_XML_PROTOCOL.controller.attrs.autoRadioGroupDepth))).setExported(parseBool(readXmlAttr(ctrlDef, PROJECT_XML_PROTOCOL.controller.attrs.exported))).setHomePageType(homePageType).setHomePage(readXmlAttr(ctrlDef, PROJECT_XML_PROTOCOL.controller.attrs.homePage) ?? "");
|
|
18683
18724
|
const pages = parseControllerPages(readXmlAttr(ctrlDef, PROJECT_XML_PROTOCOL.controller.attrs.pages) ?? "");
|
|
18684
18725
|
for (const page of pages) {
|
|
18685
18726
|
const p = doc.createControllerPage(page.name);
|
|
@@ -20661,6 +20702,11 @@ function serializeController(ctrl) {
|
|
|
20661
20702
|
writeXmlAttr(attrs, PROJECT_XML_PROTOCOL.controller.attrs.name, ctrl.getName());
|
|
20662
20703
|
writeXmlAttr(attrs, PROJECT_XML_PROTOCOL.controller.attrs.pages, pagesStr);
|
|
20663
20704
|
writeXmlAttr(attrs, PROJECT_XML_PROTOCOL.controller.attrs.selected, String(ctrl.getSelectedIndex()));
|
|
20705
|
+
if (ctrl.getAlias()) writeXmlAttr(attrs, PROJECT_XML_PROTOCOL.controller.attrs.alias, ctrl.getAlias());
|
|
20706
|
+
if (ctrl.getAutoRadioGroupDepth()) writeXmlAttr(attrs, PROJECT_XML_PROTOCOL.controller.attrs.autoRadioGroupDepth, "true");
|
|
20707
|
+
if (ctrl.getExported()) writeXmlAttr(attrs, PROJECT_XML_PROTOCOL.controller.attrs.exported, "true");
|
|
20708
|
+
if (ctrl.getHomePageType() !== "default") writeXmlAttr(attrs, PROJECT_XML_PROTOCOL.controller.attrs.homePageType, ctrl.getHomePageType());
|
|
20709
|
+
if (ctrl.getHomePageType() === "specific" || ctrl.getHomePageType() === "variable") writeXmlAttr(attrs, PROJECT_XML_PROTOCOL.controller.attrs.homePage, ctrl.getHomePage());
|
|
20664
20710
|
const actions = ctrl.listActions().map((action) => serializeControllerAction(action));
|
|
20665
20711
|
const actionChildName = getProtocolChildName(PROJECT_XML_PROTOCOL.controller, "action");
|
|
20666
20712
|
if (actions.length > 0 && actionChildName) attrs[actionChildName] = actions;
|
|
@@ -21451,21 +21497,31 @@ function decodeComponentControllers(doc, resource, buf) {
|
|
|
21451
21497
|
controller.addPage(page);
|
|
21452
21498
|
}
|
|
21453
21499
|
let homePageIndex = 0;
|
|
21500
|
+
let homePageType = controller.getHomePageType();
|
|
21501
|
+
let homePage = "";
|
|
21454
21502
|
if (controllerBuf.version >= 2 && remainingBytes(controllerBuf) >= 1) switch (controllerBuf.getUint8()) {
|
|
21455
21503
|
case 1:
|
|
21456
|
-
|
|
21504
|
+
homePageType = "specific";
|
|
21505
|
+
if (remainingBytes(controllerBuf) >= 2) {
|
|
21506
|
+
homePageIndex = controllerBuf.getInt16();
|
|
21507
|
+
homePage = controller.listPages()[homePageIndex]?.getId() ?? "";
|
|
21508
|
+
}
|
|
21457
21509
|
break;
|
|
21458
21510
|
case 2:
|
|
21511
|
+
homePageType = "branch";
|
|
21459
21512
|
homePageIndex = 0;
|
|
21460
21513
|
break;
|
|
21461
21514
|
case 3:
|
|
21462
|
-
|
|
21515
|
+
homePageType = "variable";
|
|
21516
|
+
if (remainingBytes(controllerBuf) >= 2) homePage = controllerBuf.readS() ?? "";
|
|
21463
21517
|
homePageIndex = 0;
|
|
21464
21518
|
break;
|
|
21465
21519
|
default:
|
|
21520
|
+
homePageType = "default";
|
|
21466
21521
|
homePageIndex = 0;
|
|
21467
21522
|
break;
|
|
21468
21523
|
}
|
|
21524
|
+
controller.setHomePageType(homePageType).setHomePage(homePage);
|
|
21469
21525
|
if (controller.listPages().length > 0) {
|
|
21470
21526
|
const maxIndex = controller.listPages().length - 1;
|
|
21471
21527
|
controller.setSelectedIndex(Math.min(Math.max(homePageIndex, 0), maxIndex));
|
|
@@ -23093,7 +23149,27 @@ function _writeControllers(buf, comp) {
|
|
|
23093
23149
|
buf.writeSEx(page.getId?.() ?? "", false, false);
|
|
23094
23150
|
buf.writeSEx(page.getName?.() ?? "", false, false);
|
|
23095
23151
|
}
|
|
23096
|
-
|
|
23152
|
+
switch (ctrl.getHomePageType()) {
|
|
23153
|
+
case "default":
|
|
23154
|
+
buf.writeUint8(0);
|
|
23155
|
+
break;
|
|
23156
|
+
case "specific": {
|
|
23157
|
+
const homePageIndex = pages.findIndex((page) => page.getId() === ctrl.getHomePage());
|
|
23158
|
+
if (homePageIndex < 0) throw new Error(`Controller "${ctrl.getName()}" references unknown home page id "${ctrl.getHomePage()}".`);
|
|
23159
|
+
buf.writeUint8(1);
|
|
23160
|
+
buf.writeInt16(homePageIndex);
|
|
23161
|
+
break;
|
|
23162
|
+
}
|
|
23163
|
+
case "branch":
|
|
23164
|
+
buf.writeUint8(2);
|
|
23165
|
+
break;
|
|
23166
|
+
case "variable":
|
|
23167
|
+
if (!ctrl.getHomePage()) throw new Error(`Controller "${ctrl.getName()}" requires a custom property key.`);
|
|
23168
|
+
buf.writeUint8(3);
|
|
23169
|
+
buf.writeS(ctrl.getHomePage());
|
|
23170
|
+
break;
|
|
23171
|
+
default: throw new Error(`Controller "${ctrl.getName()}" has unsupported home page type.`);
|
|
23172
|
+
}
|
|
23097
23173
|
const cb2 = buf.pos - ctrlIndexPos;
|
|
23098
23174
|
const actions = ctrl.listActions?.() ?? [];
|
|
23099
23175
|
buf.writeInt16(actions.length);
|
|
@@ -29550,7 +29626,7 @@ function registerRestoreCommand(program) {
|
|
|
29550
29626
|
//#region src/utils/package-version.ts
|
|
29551
29627
|
const require$1 = createRequire(import.meta.url);
|
|
29552
29628
|
function getInjectedPackageVersion() {
|
|
29553
|
-
const version = "0.2.
|
|
29629
|
+
const version = "0.2.5";
|
|
29554
29630
|
return typeof version === "string" && true ? version : null;
|
|
29555
29631
|
}
|
|
29556
29632
|
function readPackageVersion() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openfairygui/cli",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "FairyGUI Headless Authoring SDK — command-line interface.",
|
|
5
5
|
"author": "OpenFairyGUI Contributors",
|
|
6
6
|
"license": "MIT",
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"restore"
|
|
34
34
|
],
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@openfairygui/functions": "0.2.
|
|
37
|
-
"@openfairygui/core": "0.2.
|
|
36
|
+
"@openfairygui/functions": "0.2.5",
|
|
37
|
+
"@openfairygui/core": "0.2.5"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"commander": "^14.0.2",
|
|
41
41
|
"jiti": "^2.7.0",
|
|
42
|
-
"@openfairygui/backend": "0.2.
|
|
42
|
+
"@openfairygui/backend": "0.2.5"
|
|
43
43
|
},
|
|
44
44
|
"optionalDependencies": {
|
|
45
45
|
"sharp": ">=0.33.0"
|