Start Gauge

This commit is contained in:
Kilian Hofmann 2025-02-01 23:13:28 +01:00
parent 80b95d28f0
commit 80e657e55e
36 changed files with 3432 additions and 1746 deletions

3
.gitignore vendored
View File

@ -1,4 +1,5 @@
_PackageInt/
Packages/
PackagesMetadata/
node_modules/
node_modules/
PackageSources/html_ui/Pages/VCockpit/Instruments/FSS_B727/KH_FE_FPLAN/

9
.prettierrc.cjs Normal file
View File

@ -0,0 +1,9 @@
module.exports = {
printWidth: 120,
tabWidth: 2,
semi: true,
trailingComma: 'es5',
singleQuote: true,
arrowParens: 'always',
plugins: ['prettier-plugin-organize-imports'],
};

View File

@ -0,0 +1,7 @@
import { FSComponent, DisplayComponent } from "@microsoft/msfs-sdk";
export class Test extends DisplayComponent {
render() {
return FSComponent.buildComponent("div", { class: "test" }, "Hello World!");
}
}
//# sourceMappingURL=test.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../src/components/test/test.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAS,MAAM,qBAAqB,CAAC;AAE3E,MAAM,OAAO,IAAK,SAAQ,gBAAqB;IACtC,MAAM;QACX,OAAO,oCAAK,KAAK,EAAC,MAAM,mBAAmB,CAAC;IAC9C,CAAC;CACF","sourcesContent":["import { FSComponent, DisplayComponent, VNode } from \"@microsoft/msfs-sdk\";\r\n\r\nexport class Test extends DisplayComponent<any> {\r\n public render(): VNode {\r\n return <div class=\"test\">Hello World!</div>;\r\n }\r\n}\r\n"]}

View File

@ -0,0 +1,14 @@
/// <reference types="@microsoft/msfs-types/Pages/VCockpit/Core/VCockpit" />
import { FSComponent } from "@microsoft/msfs-sdk";
import { Test } from "./components/test/test";
class KH_FE_FPLAN extends BaseInstrument {
get templateID() {
return "KH_FE_FPLAN";
}
connectedCallback() {
super.connectedCallback();
FSComponent.render(FSComponent.buildComponent(Test, null), document.getElementById("InstrumentContent"));
}
}
registerInstrument("KH_FE_FPLAN", KH_FE_FPLAN);
//# sourceMappingURL=index.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,WAAY,SAAQ,cAAc;IACtC,IAAI,UAAU;QACZ,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,iBAAiB;QACtB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,WAAW,CAAC,MAAM,CAAC,2BAAC,IAAI,OAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7E,CAAC;CACF;AAED,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/// <reference types=\"@microsoft/msfs-types/Pages/VCockpit/Core/VCockpit\" />\r\n\r\nimport { FSComponent } from \"@microsoft/msfs-sdk\";\r\nimport { Test } from \"./components/test/test\";\r\n\r\nclass KH_FE_FPLAN extends BaseInstrument {\r\n get templateID(): string {\r\n return \"KH_FE_FPLAN\";\r\n }\r\n\r\n public connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n FSComponent.render(<Test />, document.getElementById(\"InstrumentContent\"));\r\n }\r\n}\r\n\r\nregisterInstrument(\"KH_FE_FPLAN\", KH_FE_FPLAN);\r\n"]}

View File

@ -0,0 +1,7 @@
import { FSComponent, DisplayComponent } from "@microsoft/msfs-sdk";
export class Test extends DisplayComponent {
render() {
return FSComponent.buildComponent("div", { class: "test" }, "Hello World!");
}
}
//# sourceMappingURL=test.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"test.js","sourceRoot":"","sources":["test.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAS,MAAM,qBAAqB,CAAC;AAE3E,MAAM,OAAO,IAAK,SAAQ,gBAAqB;IACtC,MAAM;QACX,OAAO,oCAAK,KAAK,EAAC,MAAM,mBAAmB,CAAC;IAC9C,CAAC;CACF","sourcesContent":["import { FSComponent, DisplayComponent, VNode } from \"@microsoft/msfs-sdk\";\r\n\r\nexport class Test extends DisplayComponent<any> {\r\n public render(): VNode {\r\n return <div class=\"test\">Hello World!</div>;\r\n }\r\n}\r\n"]}

View File

@ -0,0 +1,14 @@
/// <reference types="@microsoft/msfs-types/Pages/VCockpit/Core/VCockpit" />
import { FSComponent } from "@microsoft/msfs-sdk";
import { Test } from "./components/test/test";
class KH_FE_FPLAN extends BaseInstrument {
get templateID() {
return "KH_FE_FPLAN";
}
connectedCallback() {
super.connectedCallback();
FSComponent.render(FSComponent.buildComponent(Test, null), document.getElementById("InstrumentContent"));
}
}
registerInstrument("KH_FE_FPLAN", KH_FE_FPLAN);
//# sourceMappingURL=index.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,WAAY,SAAQ,cAAc;IACtC,IAAI,UAAU;QACZ,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,iBAAiB;QACtB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,WAAW,CAAC,MAAM,CAAC,2BAAC,IAAI,OAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7E,CAAC;CACF;AAED,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/// <reference types=\"@microsoft/msfs-types/Pages/VCockpit/Core/VCockpit\" />\r\n\r\nimport { FSComponent } from \"@microsoft/msfs-sdk\";\r\nimport { Test } from \"./components/test/test\";\r\n\r\nclass KH_FE_FPLAN extends BaseInstrument {\r\n get templateID(): string {\r\n return \"KH_FE_FPLAN\";\r\n }\r\n\r\n public connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n FSComponent.render(<Test />, document.getElementById(\"InstrumentContent\"));\r\n }\r\n}\r\n\r\nregisterInstrument(\"KH_FE_FPLAN\", KH_FE_FPLAN);\r\n"]}

View File

@ -0,0 +1,7 @@
import { FSComponent, DisplayComponent } from "@microsoft/msfs-sdk";
export class Test extends DisplayComponent {
render() {
return FSComponent.buildComponent("div", { class: "test" }, "Hello World!");
}
}
//# sourceMappingURL=test.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../Gauge/src/components/test/test.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAS,MAAM,qBAAqB,CAAC;AAE3E,MAAM,OAAO,IAAK,SAAQ,gBAAqB;IACtC,MAAM;QACX,OAAO,oCAAK,KAAK,EAAC,MAAM,mBAAmB,CAAC;IAC9C,CAAC;CACF","sourcesContent":["import { FSComponent, DisplayComponent, VNode } from \"@microsoft/msfs-sdk\";\r\n\r\nexport class Test extends DisplayComponent<any> {\r\n public render(): VNode {\r\n return <div class=\"test\">Hello World!</div>;\r\n }\r\n}\r\n"]}

View File

@ -0,0 +1,14 @@
/// <reference types="@microsoft/msfs-types/Pages/VCockpit/Core/VCockpit" />
import { FSComponent } from "@microsoft/msfs-sdk";
import { Test } from "./components/test/test";
class KH_FE_FPLAN extends BaseInstrument {
get templateID() {
return "KH_FE_FPLAN";
}
connectedCallback() {
super.connectedCallback();
FSComponent.render(FSComponent.buildComponent(Test, null), document.getElementById("InstrumentContent"));
}
}
registerInstrument("KH_FE_FPLAN", KH_FE_FPLAN);
//# sourceMappingURL=index.js.map

View File

@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../Gauge/src/index.tsx"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,MAAM,WAAY,SAAQ,cAAc;IACtC,IAAI,UAAU;QACZ,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,iBAAiB;QACtB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAE1B,WAAW,CAAC,MAAM,CAAC,2BAAC,IAAI,OAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7E,CAAC;CACF;AAED,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/// <reference types=\"@microsoft/msfs-types/Pages/VCockpit/Core/VCockpit\" />\r\n\r\nimport { FSComponent } from \"@microsoft/msfs-sdk\";\r\nimport { Test } from \"./components/test/test\";\r\n\r\nclass KH_FE_FPLAN extends BaseInstrument {\r\n get templateID(): string {\r\n return \"KH_FE_FPLAN\";\r\n }\r\n\r\n public connectedCallback(): void {\r\n super.connectedCallback();\r\n\r\n FSComponent.render(<Test />, document.getElementById(\"InstrumentContent\"));\r\n }\r\n}\r\n\r\nregisterInstrument(\"KH_FE_FPLAN\", KH_FE_FPLAN);\r\n"]}

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,7 @@
import { FSComponent, DisplayComponent, VNode } from "@microsoft/msfs-sdk";
export class Test extends DisplayComponent<any> {
public render(): VNode {
return <div class="test">Hello World!</div>;
}
}

6
Gauge/src/index.html Normal file
View File

@ -0,0 +1,6 @@
<script type="text/html" id="KH_FE_FPLAN">
<div id="InstrumentContent"></div>
</script>
<link rel="stylesheet" href="index.css" />
<script type="text/html" import-script="/Pages/VCockpit/Instruments/FSS_B727/KH_FE_FPLAN/index.js"></script>

18
Gauge/src/index.tsx Normal file
View File

@ -0,0 +1,18 @@
/// <reference types="@microsoft/msfs-types/Pages/VCockpit/Core/VCockpit" />
import { FSComponent } from "@microsoft/msfs-sdk";
import { Test } from "./components/test/test";
class KH_FE_FPLAN extends BaseInstrument {
get templateID(): string {
return "KH_FE_FPLAN";
}
public connectedCallback(): void {
super.connectedCallback();
FSComponent.render(<Test />, document.getElementById("InstrumentContent"));
}
}
registerInstrument("KH_FE_FPLAN", KH_FE_FPLAN);

View File

@ -1,779 +0,0 @@
[Window][DockSpace]
Pos=0,22
Size=1920,987
Collapsed=0
[Window][Debug##Default]
Pos=60,60
Size=400,400
Collapsed=0
[Window][Console]
Pos=0,757
Size=1920,252
Collapsed=0
DockId=0x00000007,0
[Window][Ruler]
Pos=67,29
Size=450,196
Collapsed=0
[Window][Teleport Window]
Pos=35,168
Size=443,442
Collapsed=0
[Window][ModelBehaviourDebug]
ViewportPos=0,0
ViewportId=0x680EA0C7
Size=600,1000
Collapsed=0
[Window][###Virtual File System]
ViewportPos=434,196
ViewportId=0x0E7087E1
Size=568,987
Collapsed=0
[Window][User Lights]
Pos=44,49
Size=962,864
Collapsed=0
[Window][Developer Camera Settings]
Pos=60,37
Size=159,77
Collapsed=0
[Window][Aircraft Selector]
Pos=0,734
Size=1920,252
Collapsed=0
DockId=0x00000004,1
[Window][###Project Editor:Inspector]
Pos=0,22
Size=700,624
Collapsed=0
DockId=0x00000001,1
[Window][Create New Project]
Pos=660,456
Size=600,104
Collapsed=0
[Window][###Project Editor]
Pos=0,22
Size=147,733
Collapsed=0
DockId=0x00000001,0
[Window][###Aircraft Editor]
Pos=1106,36
Size=696,800
Collapsed=0
[Window][Asset Selector]
Pos=769,135
Size=400,500
Collapsed=0
[Window][Add Package]
Pos=806,458
Size=312,100
Collapsed=0
[Window][###Aircraft Editor:Gizmo]
Pos=600,200
Size=300,210
Collapsed=0
[Window][Containers]
Pos=143,114
Size=1373,800
Collapsed=0
[Window][SDK Updates]
Pos=289,215
Size=1234,484
Collapsed=0
[Window][###Packages]
ViewportPos=6,136
ViewportId=0x6C0E2317
Size=1557,987
Collapsed=0
[Window][###Statistics Profiler]
Pos=0,547
Size=1920,439
Collapsed=0
DockId=0x00000005,1
[Window][FlightObjectsDisplay]
Pos=691,161
Size=408,86
Collapsed=0
[Window][InGamePOI]
ViewportPos=-48,73
ViewportId=0x6A5AB4F0
Size=338,1026
Collapsed=0
[Window][###Project Editor:Fill in the creator and company names]
Pos=670,409
Size=580,128
Collapsed=0
[Window][###Project Editor:Create new project]
Pos=680,356
Size=560,250
Collapsed=0
[Window][###Project Editor:Add package]
Pos=759,429
Size=401,150
Collapsed=0
[Window][###Project Editor:Wizard selection]
Pos=724,387
Size=472,364
Collapsed=0
[Window][###Project Editor:Add custom asset group]
Pos=337,398
Size=657,302
Collapsed=0
[Window][Debug Aircraft Sim Info]
ViewportPos=876,458
ViewportId=0x3DD03744
Size=942,648
Collapsed=0
DockId=0x00000002,2
[Window][Debug Aircraft Sim Curves]
Pos=131,151
Size=1286,825
Collapsed=0
[Window][Debug Aircraft Engines]
Pos=62,19
Size=1368,957
Collapsed=0
[Window][Debug Aircraft Sim Tuning]
ViewportPos=876,458
ViewportId=0x3DD03744
Size=942,648
Collapsed=0
DockId=0x00000002,3
[Window][Debug Aircraft Weight]
Pos=486,77
Size=871,871
Collapsed=0
[Window][SimObjects stats]
Pos=48,154
Size=600,800
Collapsed=0
[Window][###Aircraft Thumbnail Capture tool]
Pos=117,209
Size=400,800
Collapsed=0
[Window][BehaviourDebug]
Pos=58,59
Size=1026,595
Collapsed=0
[Window][Position##Net Bing position window]
Pos=477,240
Size=361,228
Collapsed=0
[Window][###Aircraft Capture Tool]
Pos=687,149
Size=1099,816
Collapsed=0
[Window][###Project Editor:Build finished]
Pos=623,418
Size=674,110
Collapsed=0
[Window][Wasm Debug]
Pos=292,76
Size=1292,814
Collapsed=0
[Window][###SDK launch alert]
Pos=669,183
Size=600,550
Collapsed=0
[Window][Confirm Forcing All LOD Loading]
Pos=544,406
Size=832,104
Collapsed=0
[Window][Scenery package order]
ViewportPos=362,-1
ViewportId=0x59B89DF7
Size=428,1026
Collapsed=0
[Window][Sim]
Pos=149,22
Size=1771,733
Collapsed=0
[Window][###Scenery Editor]
Pos=106,184
Size=642,749
Collapsed=0
[Window][###Scenery Editor:Objects]
ViewportPos=1480,532
ViewportId=0xC403EDBF
Size=569,466
Collapsed=0
[Window][###Material Editor]
Pos=57,85
Size=772,856
Collapsed=0
[Window][Debug Aircraft Ground Effect]
ViewportPos=13,206
ViewportId=0x4C654A26
Size=841,828
Collapsed=0
[Window][Debug Aircraft CFD]
Pos=527,38
Size=1006,387
Collapsed=0
[Window][Debug Aircraft Stall]
Pos=309,157
Size=1001,789
Collapsed=0
[Window][Debug Aircraft Drag]
ViewportPos=0,49
ViewportId=0xB5A9DF30
Size=1922,962
Collapsed=1
[Window][Debug Aircraft AP]
Pos=11,111
Size=708,897
Collapsed=0
[Window][Debug Aircraft Legacy]
Pos=3,16
Size=756,564
Collapsed=0
DockId=0x00000002,2
[Window][Debug Aircraft Sim Polar VhVs]
Pos=60,37
Size=966,850
Collapsed=0
[Window][Debug Aircraft Tracking]
ViewportPos=876,458
ViewportId=0x3DD03744
Size=942,648
Collapsed=0
DockId=0x00000002,0
[Window][Debug Aircraft Data]
ViewportPos=876,458
ViewportId=0x3DD03744
Size=942,648
Collapsed=0
DockId=0x00000002,1
[Window][Debug Aircraft Speed]
Pos=3,0
Size=756,564
Collapsed=0
DockId=0x00000002,1
[Window][Debug Aircraft Pitch]
Pos=869,135
Size=701,154
Collapsed=0
[Window][Debug Aircraft Polar ClCd]
Pos=609,191
Size=958,675
Collapsed=0
[Window][Debug Aircraft Sim Polar Power]
Pos=34,32
Size=1255,858
Collapsed=0
[Window][Debug Aircraft Wheels]
ViewportPos=6,1
ViewportId=0xAB43E6E2
Size=722,1026
Collapsed=0
[Window][Debug Weather Sim]
ViewportPos=148,657
ViewportId=0x64B31DB5
Size=1728,928
Collapsed=0
[Window][ElectricalSystemDebug]
Pos=558,263
Size=1229,437
Collapsed=0
[Window][SimConnect Inspector]
Pos=0,815
Size=1920,194
Collapsed=0
DockId=0x00000003,2
[Window][Exclusion debug]
Pos=60,60
Size=254,548
Collapsed=0
[Window][###Project Editor:Publishing Item selection]
Pos=685,374
Size=550,215
Collapsed=0
[Window][###Project Editor:Import Item]
Pos=729,412
Size=461,138
Collapsed=0
[Window][###Project Editor:Export items]
Pos=560,204
Size=800,600
Collapsed=0
[Window][###Project Editor:Export finished]
Pos=525,449
Size=870,110
Collapsed=0
[Window][###Scenery Editor:Properties]
Pos=1463,50
Size=439,400
Collapsed=0
[Window][###Project Editor:Removing options]
Pos=660,397
Size=600,215
Collapsed=0
[Window][###Project Editor:Bundle or Pack Creation]
Pos=710,354
Size=500,300
Collapsed=0
[Window][###Script Editor]
Pos=100,200
Size=400,800
Collapsed=0
[Window][###Script Editor:Inspector]
Pos=400,200
Size=400,800
Collapsed=0
[Window][###Script Editor:Node Graph]
Pos=1208,322
Size=400,400
Collapsed=0
[Window][###Project Editor:Undo History - Project Editor]
Pos=50,200
Size=200,400
Collapsed=0
[Window][###Project Editor:Error List]
Pos=1099,22
Size=821,987
Collapsed=0
DockId=0x00000008,0
[Window][###Visual Effects Editor]
Pos=100,154
Size=400,800
Collapsed=0
[Window][###Visual Effects Editor:Inspector]
Pos=400,177
Size=400,800
Collapsed=0
[Window][###Visual Effects Editor:Node List]
Pos=400,177
Size=400,800
Collapsed=0
[Window][###Visual Effects Editor:Node Graph]
Pos=301,396
Size=400,200
Collapsed=0
[Window][###Project Editor:Clean publishing item error]
ViewportPos=640,407
ViewportId=0x6781E3A3
Size=640,240
Collapsed=0
[Window][Debug Vegetation]
Pos=60,37
Size=548,300
Collapsed=0
[Window][Debug LODs]
Pos=54,68
Size=436,628
Collapsed=0
[Window][###Project Editor:Airport creation]
Pos=696,390
Size=528,182
Collapsed=0
[Window][###Material Editor:Material Inspector]
Pos=50,50
Size=400,800
Collapsed=0
[Window][###Scenery Editor:Gizmo]
Pos=600,200
Size=300,210
Collapsed=0
[Window][Select airport]
Pos=760,356
Size=400,250
Collapsed=0
[Window][###Project Editor:Paths to be renamed]
Pos=460,419
Size=1000,170
Collapsed=0
[Window][Action StateMachine]
Pos=112,185
Size=155,74
Collapsed=0
[Window][###Project Editor:Aircraft creation]
Pos=402,319
Size=562,248
Collapsed=0
[Table][0xD2BDBE04,5]
RefScale=16
Column 0 Width=30 Order=0
Column 1 Width=55 Order=1 Sort=0v
Column 2 Weight=1.0000 Order=3
Column 3 Width=179 Order=2
Column 4 Width=4 Order=4
[Table][0x283E85F3,10]
Column 0 Weight=0.5922 Visible=1
Column 1 Weight=4.3263 Visible=1
Column 2 Weight=0.9705 Visible=1
Column 3 Weight=5.0007 Visible=1
Column 4 Weight=5.0000 Visible=1
Column 5 Weight=0.7731 Visible=1
Column 6 Weight=4.7046 Visible=1 Sort=0v
Column 7 Weight=2.7142 Visible=1
Column 8 Weight=2.8951 Visible=1
Column 9 Weight=2.0233 Visible=1
[Table][0xC89A75DC,2]
RefScale=16
Column 0 Weight=1.0000
Column 1 Width=129
[Table][0x89FC986F,2]
RefScale=16
Column 0 Weight=1.0000
Column 1 Width=210
[Table][0x4E35ABC4,3]
RefScale=16
Column 0 Width=255
Column 1 Width=100
Column 2 Weight=1.0000
[Table][0xDAC489F2,3]
RefScale=16
Column 0 Width=100
Column 1 Width=100
Column 2 Weight=1.0000
[Table][0x3E2BBAAE,7]
RefScale=16
Column 0 Width=30
Column 1 Width=100
Column 2 Weight=1.0000
Column 3 Width=50
Column 4 Weight=1.0000
Column 5 Width=100
Column 6 Width=50
[Table][0x0F2CFBA7,2]
RefScale=16
Column 0 Width=150
Column 1 Weight=1.0000
[Table][0xE1FAD545,3]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Width=25
[Table][0x4E7C28D1,3]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Width=25
[Table][0x69E94729,2]
RefScale=16
Column 0 Width=150
Column 1 Weight=1.0000
[Table][0x4561AF10,8]
RefScale=16
Column 0 Width=22
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Weight=1.0000
Column 4 Weight=1.0000
Column 5 Weight=1.0000
Column 6 Weight=1.0000
Column 7 Weight=1.0000
[Table][0x1EC98EE8,2]
Column 0 Weight=1.0000
Column 1 Weight=1.0000
[Table][0x2164DEE5,2]
RefScale=16
Column 0 Weight=1.0000
Column 1 Width=51
[Table][0x140E1AEE,2]
Column 0 Weight=1.0000
Column 1 Weight=1.0000
[Table][0x0B5DD78E,2]
Column 0 Weight=1.0000
Column 1 Weight=1.0000
[Table][0x67EDF12A,5]
RefScale=16
Column 0 Width=16
Column 1 Width=190
Column 2 Width=132
Column 3 Weight=1.0000
Column 4 Weight=1.0000
[Table][0x4BEBB621,2]
RefScale=16
Column 0 Width=16
Column 1 Weight=1.0000
[Table][0x0E53EAE0,2]
RefScale=16
Column 0 Weight=1.0000
Column 1 Width=51
[Table][0x25949493,4]
RefScale=16
Column 0 Width=16
Column 1 Width=153
Column 2 Weight=1.0000
Column 3 Width=59
[Table][0x201B584F,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x5F489108,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0xC1AC8150,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x96962D95,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x4E209E0C,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x90AC7254,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x6AB977DE,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x32C34D14,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x3BD7D55D,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x1A6F6016,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0xFF6FD775,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x9D8B9076,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x5B92C5EA,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0xD97712A5,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x4E4A0E59,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x27A84CFE,4]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Width=25
[Table][0x24666411,2]
RefScale=16
Column 0 Width=150
Column 1 Weight=1.0000
[Table][0x6647F3C5,2]
RefScale=16
Column 0 Width=150
Column 1 Weight=1.0000
[Table][0xA714D239,2]
RefScale=16
Column 0 Width=150
Column 1 Weight=1.0000
[Table][0x8393FC15,7]
Column 0 Weight=1.0000
Column 1 Weight=1.0000
Column 2 Weight=1.0000
Column 3 Weight=1.0000
Column 4 Weight=0.6803
Column 5 Weight=1.3197
Column 6 Weight=1.0000
[Table][0x96772355,3]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Width=25
[Table][0x3C36B393,3]
RefScale=16
Column 0 Width=50
Column 1 Weight=1.0000
Column 2 Width=25
[Table][0x82DE5BE9,8]
Column 0 Weight=1.2483 Sort=0v
Column 1 Weight=0.7448
Column 2 Weight=0.9931
Column 3 Weight=1.0000
Column 4 Weight=1.0000
Column 5 Weight=1.0000
Column 6 Weight=1.0069
Column 7 Weight=1.0069
[Docking][Data]
DockSpace ID=0x8E673552 Window=0x9A404470 Pos=0,45 Size=1920,987 Split=Y Selected=0x0E7087E1
DockNode ID=0x00000006 Parent=0x8E673552 SizeRef=1920,733 Split=Y
DockNode ID=0x00000003 Parent=0x00000006 SizeRef=1920,733 Split=X
DockNode ID=0x00000001 Parent=0x00000003 SizeRef=147,987 Selected=0x4D53C840
DockNode ID=0x00000002 Parent=0x00000003 SizeRef=1771,987 Split=X
DockNode ID=0x00000005 Parent=0x00000002 SizeRef=0,0 CentralNode=1 Selected=0x49278EEE
DockNode ID=0x00000008 Parent=0x00000002 SizeRef=821,928 Selected=0xB2CC244E
DockNode ID=0x00000004 Parent=0x00000006 SizeRef=1920,252 Selected=0xD8501777
DockNode ID=0x00000007 Parent=0x8E673552 SizeRef=1920,252 Selected=0x49278EEE

View File

@ -497,7 +497,7 @@
<!-- KHOFMANN START -->
<Component ID="KH_FE_FPLAN" Node="KH_FE_FPLAN_BOARD_CLICK">
<Component ID="KH_FE_FPLAN">
<Component ID="KH_FE_FPLAN_BOARD_CLICK" Node="KH_FE_FPLAN_BOARD_CLICK">
<MouseRect>
<Cursor>Hand</Cursor>
@ -518,7 +518,7 @@
<ANIM_CODE>(L:KH_FE_FPLAN_BOARD) 30 *</ANIM_CODE>
</UseTemplate>
</Component>
<Component ID="KH_FE_FPLAN_P1" Node="KH_FE_FPLAN_P1">
<Component ID="KH_FE_FPLAN_P1_BACK" Node="KH_FE_FPLAN_P1_BACK">
<UseTemplate Name="ASOBO_GT_Anim">
<ANIM_NAME>KH_FE_FPLAN</ANIM_NAME>
<ANIM_LENGTH>30</ANIM_LENGTH>
@ -526,6 +526,11 @@
<ANIM_CODE>(L:KH_FE_FPLAN_P1) 30 *</ANIM_CODE>
</UseTemplate>
</Component>
<Component ID="KH_FE_FPLAN_P1" Node="KH_FE_FPLAN_P1">
<UseTemplate Name="ASOBO_GT_Visibility">
<VISIBILITY_CODE>(L:KH_FE_FPLAN_P1) 0 ==</VISIBILITY_CODE>
</UseTemplate>
</Component>
</Component>
<!-- KHOFMANN END -->

View File

@ -189,10 +189,20 @@ htmlgauge00= FSS_B727/RadioScreens/RadioScreens.html?index=2&type=adf, 0, 0, 378
; KHOFMANN START
[VCockpit29]
size_mm = 210, 297
pixel_size = 744, 1052
texture = KH_FE_FPLAN_P1
htmlgauge00= FSS_B727/KH_FE_FPLAN/FPLAN.html, 0, 0, 378, 320
background_color = 0,0,0
size_mm = 840, 1188
pixel_size = 840, 1188
texture = $KH_FE_FPLAN_P1
htmlgauge00= FSS_B727/KH_FE_FPLAN/index.html?type=ofp, 0, 0, 840, 1188
emissive = 0
[VCockpit30]
background_color = 0,0,0
size_mm = 840, 1188
pixel_size = 840, 1188
texture = $KH_FE_FPLAN_P2
htmlgauge00= FSS_B727/KH_FE_FPLAN/index.html?type=tlr, 0, 0, 840, 1188
emissive = 0
; KHOFMANN END
[VPainting01]

View File

@ -1,115 +0,0 @@
:root {
--bodyHeightScale: 1;
}
@keyframes TemporaryShow {
0%, 100% {
visibility: visible;
}
}
@keyframes TemporaryHide {
0%, 100% {
visibility: hidden;
}
}
html {
height: 100%;
width: 100%;
overflow: hidden;
}
html body {
-webkit-user-select: none;
font-family: var(--font);
font-size: calc(var(--viewportHeightRatio) * (36px / 21.6) * var(--currentPageHeight) / 100 );
color: white;
height: 100%;
width: 100%;
margin: 0;
padding: 0;
}
#highlight {
position: absolute;
height: 100%;
width: 100%;
z-index: 10;
pointer-events: none;
}
#Electricity {
width: 100%;
height: 100%;
}
#Electricity[state=off] {
display: none;
}
hour-meter-element {
background-color: #121212;
height: 100vh;
width: 100vw;
display: inline-block;
overflow: hidden;
}
hour-meter-element #Mainframe {
position: absolute;
height: 100vh;
width: 100vw;
background-color: #121212;
overflow: visible;
font-size: 75vh;
line-height: 100vh;
font-weight: bold;
}
hour-meter-element #Mainframe div {
background-color: #121212;
color: #a0a0a0;
position: absolute;
height: 100vh;
width: 16.6666666667vw;
vertical-align: central;
text-align: center;
border-left: 0.5vw solid black;
border-right: 0.5vw solid black;
}
hour-meter-element #Mainframe .bot {
bottom: -100vh;
}
hour-meter-element #Mainframe #d1, hour-meter-element #Mainframe #d1Bot {
left: 0vw;
}
hour-meter-element #Mainframe #d1[state=decimal], hour-meter-element #Mainframe #d1Bot[state=decimal] {
background-color: #a0a0a0;
color: black;
}
hour-meter-element #Mainframe #d2, hour-meter-element #Mainframe #d2Bot {
left: 16.6666666667vw;
}
hour-meter-element #Mainframe #d2[state=decimal], hour-meter-element #Mainframe #d2Bot[state=decimal] {
background-color: #a0a0a0;
color: black;
}
hour-meter-element #Mainframe #d3, hour-meter-element #Mainframe #d3Bot {
left: 33.3333333333vw;
}
hour-meter-element #Mainframe #d3[state=decimal], hour-meter-element #Mainframe #d3Bot[state=decimal] {
background-color: #a0a0a0;
color: black;
}
hour-meter-element #Mainframe #d4, hour-meter-element #Mainframe #d4Bot {
left: 50vw;
}
hour-meter-element #Mainframe #d4[state=decimal], hour-meter-element #Mainframe #d4Bot[state=decimal] {
background-color: #a0a0a0;
color: black;
}
hour-meter-element #Mainframe #d5, hour-meter-element #Mainframe #d5Bot {
left: 66.6666666667vw;
}
hour-meter-element #Mainframe #d5[state=decimal], hour-meter-element #Mainframe #d5Bot[state=decimal] {
background-color: #a0a0a0;
color: black;
}
hour-meter-element #Mainframe #d6, hour-meter-element #Mainframe #d6Bot {
left: 83.3333333333vw;
}
hour-meter-element #Mainframe #d6[state=decimal], hour-meter-element #Mainframe #d6Bot[state=decimal] {
background-color: #a0a0a0;
color: black;
}

View File

@ -1,21 +0,0 @@
<link rel="stylesheet" href="FPLAN.css" />
<script type="text/html" id="FPLAN">
<div id="Mainframe">
<div id="d1">0</div>
<div id="d1Bot" class="bot">1</div>
<div id="d2">0</div>
<div id="d2Bot" class="bot">1</div>
<div id="d3">0</div>
<div id="d3Bot" class="bot">1</div>
<div id="d4">0</div>
<div id="d4Bot" class="bot">1</div>
<div id="d5">0</div>
<div id="d5Bot" class="bot">1</div>
<div id="d6">0</div>
<div id="d6Bot" class="bot">1</div>
</div>
</script>
<script
type="text/html"
import-script="/Pages/VCockpit/Instruments/FSS_B272/KH_FE_FPLAN/FPLAN.js"
></script>

View File

@ -1,75 +0,0 @@
class HourMeter extends BaseInstrument {
constructor() {
super();
this.decimals = 1;
}
get templateID() {
return "HourMeter";
}
connectedCallback() {
super.connectedCallback();
this.digits = [];
this.digitsBot = [];
for (let i = 1; i <= 6; i++) {
this.digits.push(this.getChildById("d" + i));
this.digitsBot.push(this.getChildById("d" + i + "Bot"));
}
}
disconnectedCallback() {
super.disconnectedCallback();
}
parseXMLConfig() {
super.parseXMLConfig();
if (this.instrumentXmlConfig) {
let mode = this.instrumentXmlConfig.getElementsByTagName("Decimals");
if (mode.length > 0) {
this.decimals = parseInt(mode[0].textContent.toLowerCase());
}
}
for (
let i = this.digits.length - 1;
i >= this.digits.length - this.decimals;
i--
) {
diffAndSetAttribute(this.digits[i], "state", "decimal");
diffAndSetAttribute(this.digitsBot[i], "state", "decimal");
}
}
Update() {
super.Update();
let hour = SimVar.GetSimVarValue("GENERAL ENG ELAPSED TIME:1", "hour");
for (let i = this.digits.length - 1; i >= 0; i--) {
if (hour < 0) {
hour = 0;
}
let power = this.digits.length - i - 1 - this.decimals;
let digit = Math.floor(
(hour % Math.pow(10, power + 1)) / Math.pow(10, power)
);
if (this.digits[i].textContent != digit + "") {
diffAndSetText(this.digits[i], digit + "");
diffAndSetText(this.digitsBot[i], ((digit + 1) % 10) + "");
}
if (
Math.pow(10, power) * (digit + 1) <
(hour % Math.pow(10, power + 1)) + 0.001
) {
diffAndSetStyle(
this.digits[i],
StyleProperty.transform,
"translate(0vh,-" + ((100000 * hour) % 100) + "" + "vh)"
);
diffAndSetStyle(
this.digitsBot[i],
StyleProperty.transform,
"translate(0vh,-" + ((100000 * hour) % 100) + "" + "vh)"
);
} else {
diffAndSetStyle(this.digits[i], StyleProperty.transform, "");
diffAndSetStyle(this.digitsBot[i], StyleProperty.transform, "");
}
hour -= 0.0001;
}
}
}
registerInstrument("hour-meter-element", HourMeter);

View File

@ -1,3 +1,7 @@
# How to export a package
- If a new blender export was done, run `pnpm model`.
- Export from MSFS
- Export from MSFS
# TODO
- Gauge on page 1
- Gauge on page 2
- Modify EFB script to pull data into localStorage

View File

@ -4,11 +4,30 @@
"description": "Adds a new clipboard to view your imported SimBrief flightplan and takeoff/landing performance",
"main": "index.js",
"scripts": {
"test": "node scripts/postProcessModel.mjs"
"dev": "npx rollup -c",
"prod": "cross-env NODE_ENV=production npx rollup -c"
},
"type": "module",
"keywords": [],
"author": "khofmann",
"license": "",
"dependencies": {}
"devDependencies": {
"@microsoft/msfs-sdk": "^2.0.5",
"@microsoft/msfs-types": "^1.14.6",
"@rollup/plugin-node-resolve": "^16.0.0",
"@rollup/plugin-terser": "^0.4.4",
"@rollup/plugin-typescript": "^12.1.2",
"autoprefixer": "^10.4.20",
"cross-env": "^7.0.3",
"node-sass": "^9.0.0",
"postcss-import": "^16.1.0",
"prettier": "^3.4.2",
"prettier-plugin-organize-imports": "^4.1.0",
"rollup": "2",
"rollup-plugin-copy": "^3.5.0",
"rollup-plugin-import-css": "^3.5.8",
"rollup-plugin-postcss": "^4.0.2",
"tslib": "^2.8.1",
"typescript": "^5.7.3"
}
}

3164
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

34
rollup.config.js Normal file
View File

@ -0,0 +1,34 @@
import resolve from '@rollup/plugin-node-resolve';
import terser from '@rollup/plugin-terser';
import typescript from '@rollup/plugin-typescript';
import autoprefixer from 'autoprefixer';
import atImport from 'postcss-import';
import copy from 'rollup-plugin-copy';
import postcss from 'rollup-plugin-postcss';
const { NODE_ENV: targetEnv = 'development' } = process.env;
const inDirBase = 'Gauge/src';
const outDirBase = 'PackageSources/html_ui/Pages/VCockpit/Instruments/FSS_B727/KH_FE_FPLAN/';
export default {
input: `${inDirBase}/index.tsx`,
output: {
dir: outDirBase,
format: 'es',
sourcemap: targetEnv !== 'production',
},
plugins: [
postcss({
plugins: [autoprefixer(), atImport()],
extract: true,
use: ['sass'],
sourceMap: 'inline',
}),
resolve(),
typescript(),
targetEnv === 'production' && terser(),
copy({
targets: [{ src: [`${inDirBase}/index.html`], dest: outDirBase }],
}),
],
};

15
tsconfig.json Normal file
View File

@ -0,0 +1,15 @@
{
"compilerOptions": {
"incremental": true, /* Enables incremental builds */
"target": "es2017", /* Specifies the ES2017 target, compatible with Coherent GT */
"module": "es2015", /* Ensures that modules are at least es2015 */
"strict": true, /* Enables strict type checking, highly recommended but optional */
"esModuleInterop": true, /* Emits additional JS to work with CommonJS modules */
"skipLibCheck": true, /* Skip type checking on library .d.ts files */
"forceConsistentCasingInFileNames": true, /* Ensures correct import casing */
"moduleResolution": "node", /* Enables compatibility with MSFS SDK bare global imports */
"jsxFactory": "FSComponent.buildComponent", /* Required for FSComponent framework JSX */
"jsxFragmentFactory": "FSComponent.Fragment", /* Required for FSComponent framework JSX */
"jsx": "react" /* Required for FSComponent framework JSX */
}
}

1
tsconfig.tsbuildinfo Normal file

File diff suppressed because one or more lines are too long