diff --git a/docs/FILE_LIST.md b/docs/FILE_LIST.md
index 0a5336902..ff5b8bd90 100644
--- a/docs/FILE_LIST.md
+++ b/docs/FILE_LIST.md
@@ -1,3 +1,4 @@
+
- [X] [FlyByWire Documentation TODOs](TODO_README.md)
- [X] [FlyByWire Aircraft Overview](aircraft/index.md)
- [X] [FlyByWire A32NX Overview](aircraft/a32nx/index.md)
@@ -52,29 +53,34 @@
- [X] [Performance Tips](aircraft/support/performance-tips.md)
- [X] [Thrustmaster T.Flight Rudder Pedal Settings](aircraft/support/detail-pages/rudder.md)
- [X] [Reported Known Issues](aircraft/support/known-issues/index.md)
+
- [X] [Development Corner Overview](dev-corner/index.md)
- - [X] [Quality Assurance Process](dev-corner/qa-process.md)
- - [X] [Tips for Scenery Developers](dev-corner/scenery-developers.md)
- - [X] [A32NX Texture Map Changes](dev-corner/texture-changes.md)
- [X] [Contribution Guidelines](dev-corner/dev-guide/contribute.md)
- [X] [FlyByWire Development Guide](dev-corner/dev-guide/index.md)
+ - [X] [Quality Assurance Process](dev-corner/dev-guide/qa-process.md)
+ - [X] [Repository Structure](dev-corner/dev-guide/repository-structure.md)
- [X] [Resources](dev-corner/dev-guide/resources.md)
- [X] [Development Environment](dev-corner/dev-guide/setup-environment.md)
- [X] [Best Practices](dev-corner/dev-guide/specific/bestpractices.md)
- - [X] [flyPad Development Guide](dev-corner/dev-guide/specific/flypad-dev.md)
- - [X] [flyPadOS 3 Localization Process](dev-corner/dev-guide/specific/flypad-translations.md)
+ - [X] [flyPad Development Guide](dev-corner/dev-guide/specific/flypad-dev-guide.md)
+ - [X] [flyPadOS 3 Localization Process](dev-corner/dev-guide/specific/flypad-localization.md)
- [X] [Overview](dev-corner/dev-guide/specific/index.md)
- - [X] [Instruments Build Guide](dev-corner/dev-guide/specific/instruments.md)
- - [X] [Javascript](dev-corner/dev-guide/specific/javascript.md)
+ - [X] [Instruments Build Guide](dev-corner/dev-guide/specific/instruments-build-guide.md)
+ - [X] [Javascript](dev-corner/dev-guide/specific/javascript-dev-guide.md)
- [X] [Code Structure](dev-corner/dev-guide/specific/structure.md)
- - [X] [Advanced Cockpit Emulator](dev-corner/development-projects/ace.md)
- - [X] [Sticky Discord Bot](dev-corner/development-projects/discord-bot-sticky.md)
- - [X] [Discord Bot Version 3](dev-corner/development-projects/discord-bot-utils.md)
- - [X] [Discord Bot Overview](dev-corner/development-projects/discord-bot.md)
- - [X] [Overview](dev-corner/development-projects/index.md)
- - [X] [Website Development](dev-corner/development-projects/website.md)
- - [X] [FlyByWire Documentation Project](dev-corner/development-projects/documentation-project/documentation.md)
- - [X] [Writing Documentation](dev-corner/development-projects/documentation-project/writing-documentation.md)
+ - [X] [FlyByWire Documentation Guide](dev-corner/documentation-guide/index.md)
+ - [X] [Writing Documentation](dev-corner/documentation-guide/writing-documentation.md)
+ - [X] [Advanced Cockpit Emulator](dev-corner/flybywire-projects/ace.md)
+ - [X] [Sticky Discord Bot](dev-corner/flybywire-projects/discord-bot-sticky.md)
+ - [X] [Discord Bot Version 3](dev-corner/flybywire-projects/discord-bot-utils.md)
+ - [X] [Discord Bot Overview](dev-corner/flybywire-projects/discord-bot.md)
+ - [X] [Overview](dev-corner/flybywire-projects/index.md)
+ - [X] [Website Development](dev-corner/flybywire-projects/website.md)
+ - [X] [A32NX Texture Map Changes](dev-corner/livery-creators/a32nx-texture-changes.md)
+ - [X] [A380X Paintkit](dev-corner/livery-creators/a380x-paintkit.md)
+ - [X] [Overview](dev-corner/localization-guide/index.md)
+ - [X] [Overview](dev-corner/other/index.md)
+ - [X] [Tips for Scenery Developers](dev-corner/other/scenery-developers.md)
- [X] [Pilot's Corner Overview](pilots-corner/index.md)
- [X] [Standard Operating Procedures](pilots-corner/a32nx/a32nx-sop.md)
- [X] [Pilot's Corner A32NX Overview](pilots-corner/a32nx/index.md)
@@ -320,14 +326,13 @@
- [X] [Overview](pilots-corner/airliner/airliner-flying-guide/overview.md)
- [X] [Runway Conditions](pilots-corner/airliner/airliner-flying-guide/runway-conditions.md)
- [X] [Reading METARs/TAFs/ATIS](pilots-corner/airliner/airliner-flying-guide/weather.md)
-
-
- [X] [Release Notes - Overview](release-notes/index.md)
- [X] [A32NX Stable Release v0.10.0](release-notes/a32nx/v0100.md)
- [X] [A32NX Stable Release v0.10.1](release-notes/a32nx/v0101.md)
- [X] [A32NX Stable Release v0.11.0](release-notes/a32nx/v0110.md)
- [X] [A32NX Stable Release v0.11.1](release-notes/a32nx/v0111.md)
- [X] [A32NX Stable Release v0.12.0](release-notes/a32nx/v0120.md)
+ - [X] [A32NX Stable Release v0.12.1](release-notes/a32nx/v0121.md)
- [X] [A32NX Stable Release v0.7.0](release-notes/a32nx/v070.md)
- [X] [A32NX Stable Release v0.7.1](release-notes/a32nx/v071.md)
- [X] [A32NX Stable Release v0.7.2](release-notes/a32nx/v072.md)
@@ -340,9 +345,8 @@
- [X] [A32NX Stable Release v0.9.0](release-notes/a32nx/v090.md)
- [X] [A32NX Stable Release v0.9.1](release-notes/a32nx/v091.md)
- [X] [A380X Alpha Release v0.12.0](release-notes/a380x/v0120.md)
+ - [X] [A380X Alpha Release v0.12.1](release-notes/a380x/v0121.md)
- [X] [Installer Release v3.3.0](release-notes/installer/v330.md)
-
-
- [X] [FlyByWire Tools Documentation](tools/index.md)
- [X] [Installer Guide](tools/installer/index.md)
- [X] [SimBridge](tools/simbridge/index.md)
diff --git a/docs/TODO_README.md b/docs/TODO_README.md
index c0f39aa63..cc1dbd646 100644
--- a/docs/TODO_README.md
+++ b/docs/TODO_README.md
@@ -127,30 +127,30 @@ is good enough for now but might be improved in the future.
- [X] [Developer Guide](dev-corner/dev-guide/index.md)
- [X] [Overview](dev-corner/dev-guide/index.md)
- [X] [Resources](dev-corner/dev-guide/resources.md)
+ - [X] [Repository Structure](dev-corner/dev-guide/repository-structure.md)
- [X] [Setup Dev Environment](dev-corner/dev-guide/setup-environment.md)
- - [ ] Repository Structure TODO
- [X] [Contribution Guidelines](dev-corner/dev-guide/contribute.md)
- [ ] Best Practices TODO
- [ ] Systems Development TODO
- [ ] Instrument Development TODO
- - [ ] flyPad Development TODO
+ - [ ] flyPad Development TODO - page exists but needs update
- [X] [Specific](dev-corner/dev-guide/specific/index.md)
- [X] [Overview](dev-corner/dev-guide/specific/index.md)
- - [X] [Instruments Build Guide](dev-corner/dev-guide/specific/instruments.md)
- - [X] [flyPadOS 3 Localization Process](dev-corner/dev-guide/specific/flypad-translations.md) TODO: Move to Localization Guide
- - [X] [Javascript](dev-corner/dev-guide/specific/javascript.md)
+ - [X] [Instruments Build Guide](dev-corner/dev-guide/specific/instruments-build-guide)
+ - [X] [flyPadOS 3 Localization Process](dev-corner/dev-guide/specific/flypad-localization) TODO: Move to Localization Guide
+ - [X] [Javascript](dev-corner/dev-guide/specific/javascript-dev-guide)
- [ ] Localization Guide TODO
- [ ] flyPad TODO
- [ ] locPak for MSFS TODO
- - [ ] Documentation Guide TODO
- - [ ] Livery Creators Guide TODO
- - [ ] A380X PaintKit TODO
- - [ ] Other TODO
- - [X] [FlyByWire Projects](dev-corner/development-projects/index.md)
- - [X] [Overview](dev-corner/development-projects/index.md)
- - [X] [Documentation Project](dev-corner/development-projects/documentation-project/documentation.md) TODO: Move up to Documentation GUIDE
- - [X] [Website Project](dev-corner/development-projects/website.md)
- - [X] [Discord Bot Project](dev-corner/development-projects/discord-bot.md)
+ - [X] [Livery Creators Guide](dev-corner/livery-creators/index.md)
+ - [X] [A380X PaintKit](dev-corner/livery-creators/a380x-paintkit.md)
+ - [X] [Documentation Guide](dev-corner/documentation-guide/index.md)
+ - [X] [Additional Resources](dev-corner/other/index.md)
+ - [X] [Scenery Developer Tips](dev-corner/other/scenery-developers.md)
+ - [X] [FlyByWire Projects](dev-corner/flybywire-projects/index.md)
+ - [X] [Overview](dev-corner/flybywire-projects/index.md)
+ - [X] [Website Project](dev-corner/flybywire-projects/website.md)
+ - [X] [Discord Bot Project](dev-corner/flybywire-projects/discord-bot.md)
- [X] [**FlyByWire Tools**](tools/index.md)
- [X] [SimBridge](tools/simbridge/index.md)
diff --git a/docs/dev-corner/.pages b/docs/dev-corner/.pages
index 2b603894d..3d3dc0147 100644
--- a/docs/dev-corner/.pages
+++ b/docs/dev-corner/.pages
@@ -6,6 +6,9 @@
title: Development Corner
nav:
- Overview: index.md
- - A32NX Texture Changes: texture-changes.md
- - Scenery Developers: scenery-developers.md
- - ...
+ - Developer Guide: dev-guide
+ #- Localization Guide: localization-guide
+ - Livery Creators: livery-creators
+ - Documentation Guide: documentation-guide
+ - Other Guides: other
+ - FlyByWire Projects: flybywire-projects
diff --git a/docs/dev-corner/dev-guide/.pages b/docs/dev-corner/dev-guide/.pages
index 20afbdf65..7ed82e9f5 100644
--- a/docs/dev-corner/dev-guide/.pages
+++ b/docs/dev-corner/dev-guide/.pages
@@ -2,6 +2,8 @@ title: Development Guide
nav:
- Overview: index.md
- Resources: resources.md
+ - Repository Structure: repository-structure.md
- Setup Dev Environment: setup-environment.md
- Contribution Guidelines: contribute.md
+ - QA Process: qa-process.md
- Specific Topics: specific
diff --git a/docs/dev-corner/dev-guide/contribute.md b/docs/dev-corner/dev-guide/contribute.md
index b1fbdb080..e07d56c45 100644
--- a/docs/dev-corner/dev-guide/contribute.md
+++ b/docs/dev-corner/dev-guide/contribute.md
@@ -1,12 +1,21 @@
+---
+title: Contribution Guidelines
+description: Overview of the FlyByWire Contribution Guidelines
+---
+
# Contribution Guidelines
-Welcome to the A32NX project repository. Thank you for your interest in contributing to the project. Full details and guidelines on how to ensure this project is managed well are included below.
+Welcome to the FlyByWire Aircraft project repository. Thank you for your interest in contributing to the project. Full
+details and guidelines on how to ensure this project is managed well are included below.
As this is an open-source project, anyone is free to contribute as much or as little as they like.
-If you're just getting started with GitHub or project contributions, then we suggest you take a look at issues on the repository. These issues will vary in complexity depending on the issue itself, but will give you a good insight into the different topics you could contribute to.
+If you're just getting started with GitHub or project contributions, then we suggest you take a look at issues on the
+repository. These issues will vary in complexity depending on the issue itself, but will give you a good insight into
+the different topics you could contribute to.
-If you're comfortable contributing to Open-Source projects on GitHub, please ensure you read our expectations for issue tracking, feature proposals and pull requests.
+If you're comfortable contributing to Open-Source projects on GitHub, please ensure you read our expectations for issue
+tracking, feature proposals and pull requests.
If you're looking for tools and tips to help you develop, see [Development Resources](resources.md).
@@ -14,9 +23,11 @@ If you're looking for tools and tips to help you develop, see [Development Resou
## Expectations
-As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
+As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues
+, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
-Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, issues and other contributions that are not aligned to this Code of Conduct.
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, issues and
+other contributions that are not aligned to this Code of Conduct.
Make sure to read our [Code of Conduct](https://github.com/flybywiresim/aircraft/blob/master/CODE_OF_CONDUCT.md)
@@ -24,9 +35,11 @@ Make sure to read our [Code of Conduct](https://github.com/flybywiresim/aircraft
We welcome pull requests with fixes and improvements to the project.
-If you wish to add a new feature or you spot a bug that you wish to fix, **please open an issue for it first** on the [FBW Aircraft issue tracker](https://github.com/flybywiresim/aircraft/issues).
+If you wish to add a new feature or you spot a bug that you wish to fix, **please open an issue for it first** on the
+[FBW Aircraft issue tracker](https://github.com/flybywiresim/aircraft/issues).
-The work-flow for submitting a new pull request is designed to be simple, but also to ensure consistency from **all** contributors:
+The work-flow for submitting a new pull request is designed to be simple, but also to ensure consistency from **all**
+contributors:
- Fork the project into your personal space on GitHub.com.
- Create a new branch (with a clear name of what is being changed).
@@ -36,31 +49,41 @@ The work-flow for submitting a new pull request is designed to be simple, but al
- Push the commit(s) to your fork.
- Submit a pull request (PR) to the master branch.
- The PR title should describe the change that has been made.
-- Follow the PR template and write as much detail as necessary for your changes, and include documents/screenshots if needed.
+- Follow the PR template and write as much detail as necessary for your changes, and include documents/screenshots if
+ needed.
- Be prepared to answer any questions about your PR when it is reviewed for acceptance.
-**Please** keep your changes in a single PR as small as possible (relating to one issue) as this makes it easier to review and accept. Large PRs with a small error will prevent the entire PR from being accepted.
+**Please** keep your changes in a single PR as small as possible (relating to one issue) as this makes it easier to
+review and accept. Large PRs with a small error will prevent the entire PR from being accepted.
**Ensure** that you include a CHANGELOG with your PR.
## Helping others
-Please help other contributors to the project wherever you can, as people all start somewhere. If you require assistance or wish to provide assistance, you can ask/answer questions on the [#dev-support](https://discord.gg/v3jAxJpwZm){target=new} channel on discord.
+Please help other contributors to the project wherever you can, as people all start somewhere. If you require assistance
+or wish to provide assistance, you can ask/answer questions on the
+[#dev-support](https://discord.gg/v3jAxJpwZm){target=new} channel on discord.
## Finding tasks
-The best place to look for possible things where you could contribute is the FBW Aircraft GitHub repository's [Issues List](https://github.com/flybywiresim/aircraft/issues){target=new}.
-There you can find open bug reports or feature requests from users or other developers.
+The best place to look for possible things where you could contribute is the FBW Aircraft GitHub repository's
+[Issues List](https://github.com/flybywiresim/aircraft/issues){target=new}. There you can find open bug reports or
+feature requests from users or other developers.
## Issues
-If you require **support** with the A32NX, please utilize the channels on our official [Discord](https://discord.gg/flybywire). Issues regarding the features or bugs will not be handled on Discord. Please use GitHub issues to track new features or bugs.
+If you require **support** with the A32NX, please utilize the channels on our official
+[Discord](https://discord.gg/flybywire). Issues regarding the features or bugs will not be handled on Discord. Please
+use GitHub issues to track new features or bugs.
-When submitting an issue, there are a few guidelines we'd ask you to respect to make it easier to manage and for others to understand:
+When submitting an issue, there are a few guidelines we'd ask you to respect to make it easier to manage and for others
+to understand:
- **Search the issue tracker** before you submit your issue - it may already be present.
-- When opening an issue, a template is provided for you. Please provide as much information as requested to ensure others are able to act upon the requests or bug reports.
-- Please ensure you add screenshots or documentation references for bugs/changes, so we can quickly ascertain if the request is suitable.
+- When opening an issue, a template is provided for you. Please provide as much information as requested to ensure
+ others are able to act upon the requests or bug reports.
+- Please ensure you add screenshots or documentation references for bugs/changes, so we can quickly ascertain if the
+ request is suitable.
**To be 'assigned' an issue**, please comment on the issue itself, letting others know you are working on it.
@@ -76,13 +99,16 @@ A few guidelines apply:
- However, do not hesitate to write comments when complex logic is used
- Use language-specific docstring tools (JSDoc, rustdoc)
- Maintain separation of concerns
-- Do not be afraid to separate code into logical blocks, even if resulting sub-functions are only used locally (while maintaining a reasonable limit)
-- (aircraft development specific) Avoid polling - prefer reactive APIs (but remain sure of not introducing state that cannot be externally read)
+- Do not be afraid to separate code into logical blocks, even if resulting sub-functions are only used locally (while
+ maintaining a reasonable limit)
+- (aircraft development specific) Avoid polling - prefer reactive APIs (but remain sure of not introducing state that
+ cannot be externally read)
- Avoid introducing new technologies/languages without talking to the development team
Additionally, a few practices are straight up forbidden:
-- Do not use `async/await` without a good reason (it does not make code run faster, unless you are calling threaded APIs like `fetch`)
+- Do not use `async/await` without a good reason (it does not make code run faster, unless you are calling threaded APIs
+ like `fetch`)
- Do not use hungarian notation (b, m, g identifier prefixes)
- Do not perform business logic calculations in presentation code
@@ -90,23 +116,34 @@ Additionally, a few practices are straight up forbidden:
Our version control approach maintains the following guidelines:
-- Commit messages should be short and to the point. The [Angular commit message convention](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-format){target=new} is often used and recommended but not enforced at the moment.
+- Commit messages should be short and to the point. The
+ [Angular commit message convention](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-format){target=new}
+ is often used and recommended but not enforced at the moment.
- Merge commits are discouraged in commit histories and disallowed when merging pull requests
- Squash commits are exclusively used for pull request merges
- One approving review from a maintainer is required to merge a pull request
-- Positive reports from a number of QA testers (varies depending on the PR scope and size) are required before merging, unless a maintainer judges appropriate to bypass this rule
-- Creation of draft pull requests is required when a developer wishes to get working on a project, to avoid duplicate PR situations
+- Positive reports from a number of QA testers (varies depending on the PR scope and size) are required before merging,
+ unless a maintainer judges appropriate to bypass this rule
+- Creation of draft pull requests is required when a developer wishes to get working on a project, to avoid duplicate PR
+ situations
## Testing
-If changes are made, they should always be tested to make sure they work as intended and don't conflict with other systems. If you see a pull request open, it's recommended that you test the features that were implemented to check for errors, or whether it works as intended.
+If changes are made, they should always be tested to make sure they work as intended and don't conflict with other
+systems. If you see a pull request open, it's recommended that you test the features that were implemented to check for
+errors, or whether it works as intended.
## References Material (real life aircraft)
-Creating a high-fidelity aircraft is a serious task that requires focus and dedication. But more importantly, it's striving for accuracy and realism. Therefore, any change that affects the appearance or behavior of a plane needs to reference real documentation.
+Creating a high-fidelity aircraft is a serious task that requires focus and dedication. But more importantly, it's
+striving for accuracy and realism. Therefore, any change that affects the appearance or behavior of a plane needs to
+reference real documentation.
-The maintainer team has the role of deciding if references are suitable for a change. It is understandable that new developers do not have access to in-depth resource material.
+The maintainer team has the role of deciding if references are suitable for a change. It is understandable that new
+developers do not have access to in-depth resource material.
-While material like that is generally not in the possession of new contributors, the development team is always available to confirm your changes or provide you with necessary info.
+While material like that is generally not in the possession of new contributors, the development team is always
+available to confirm your changes or provide you with necessary info.
-Our extensive pool of IRL A320/A380 pilots and aircraft maintenance engineers are also able to answer your questions whenever needed.
+Our extensive pool of IRL A320/A380 pilots and aircraft maintenance engineers are also able to answer your questions
+whenever needed.
diff --git a/docs/dev-corner/dev-guide/index.md b/docs/dev-corner/dev-guide/index.md
index 47c707cc4..32f27f484 100644
--- a/docs/dev-corner/dev-guide/index.md
+++ b/docs/dev-corner/dev-guide/index.md
@@ -1,9 +1,10 @@
---
-title: FlyByWire Development Guide - Overview
-description: The Development Guide is dedicated to providing information to efficiently contribute to the A32NX project.
+title: Development Guide - Overview
+description: The Development Guide is dedicated to providing information to efficiently contribute to the FlyByWire
+ projects.
---
-
+
# FlyByWire Development Guide
@@ -23,11 +24,6 @@ assurance process.
This documentation describes the FlyByWire Development Process and tools in detail to help you set up your
development environment to be able to efficiently contribute to our projects.
-!!! info "Structure"
- Currently these sections are specific to the A32NX. It details with the necessary software and tools, downloading and compiling the A32NX successfully, as well as guidelines on how to contribute within the project.
-
- We will adapt our documentation to cover A380X development requirements in the future as well.
-
## Topics
| Quick Links | Description |
@@ -35,5 +31,6 @@ development environment to be able to efficiently contribute to our projects.
| [Resources](resources.md) | General information and documentation resources |
| [Setting up the Development Environment](setup-environment.md) | From software to troubleshooting - everything you need to successfully change and compile the code. |
| [Contribution Guidelines](contribute.md) | From General Development Process and Practices to Pull Requests - everything you need to know to collaborate and contribute to the project. |
+| [QA Process](qa-process.md) | Information on how to test your changes and how to run the tests. |
| [Specific Development Areas](specific/index.md) | Information for specific parts of the project like the flyPad or avionics. |
diff --git a/docs/dev-corner/qa-process.md b/docs/dev-corner/dev-guide/qa-process.md
similarity index 55%
rename from docs/dev-corner/qa-process.md
rename to docs/dev-corner/dev-guide/qa-process.md
index dbbd23f29..687c7ecab 100644
--- a/docs/dev-corner/qa-process.md
+++ b/docs/dev-corner/dev-guide/qa-process.md
@@ -1,14 +1,23 @@
+---
+title: QA Process
+description: The QA Process is a detailed guide on how to test and report on the A32NX and A380X projects.
+---
+
# Quality Assurance Process
## QA at FlyByWire
-FlyByWire Simulations aims to maintain professional standards as well as industry-wide best practices to maximize developer productivity and deliver high-quality, tested products.
+FlyByWire Simulations aims to maintain professional standards as well as industry-wide best practices to maximize
+developer productivity and deliver high-quality, tested products.
-This is why we adopt a set of rules and practices that create a strong framework, not only around the usage of git, but also surrounding code quality.
+This is why we adopt a set of rules and practices that create a strong framework, not only around the usage of git, but
+also surrounding code quality.
-Therefore, every change or addition to the code of our aircraft goes through a multistep development and quality assurance process.
+Therefore, every change or addition to the code of our aircraft goes through a multistep development and quality
+assurance process.
-This documentation describes the FlyByWire QA Process and tools in detail to make sure we can efficiently and effectively deliver the highest quality in our products.
+This documentation describes the FlyByWire QA Process and tools in detail to make sure we can efficiently and
+effectively deliver the highest quality in our products.
## What you need
@@ -22,74 +31,89 @@ To QA test for FlyByWire, you need the following prerequisites:
## Becoming a QA Tester
-We try to keep the number of QA testers at a reasonable and manageable level to ensure quality and sufficient PRs to test for each QA team member.
+We try to keep the number of QA testers at a reasonable and manageable level to ensure quality and sufficient PRs to
+test for each QA team member.
If you'd like to apply for the QA Trainee role, we recommend to actually
conduct a few tests as described below without submitting any reports to GitHub!
-Send an application message and your test reports to the [contact(s)](#contacts) at the bottom of this page via DM, and the QA leaders will decide if you are eligible for a QA Trainee role (provided there are open positions).
+Send an application message and your test reports to the [contact(s)](#contacts) at the bottom of this page via DM, and
+the QA leaders will decide if you are eligible for a QA Trainee role (provided there are open positions).
!!! warning ""
**Please do not submit reports to GitHub without having a QA Discord role.**
## What to Test
-The FlyByWire development process provides a constant stream of new Pull Requests to be tested as every single code change goes through this workflow. All commits to the master branch (Development Version) are therefore code-reviewed and QA-tested.
+The FlyByWire development process provides a constant stream of new Pull Requests to be tested as every single code
+change goes through this workflow. All commits to the master branch (Development Version) are therefore code-reviewed
+and QA-tested.
To manage this process, we use the GitHub Project feature.
-This is a simple Kanban board where items move from the left to the right. For QA tests, the third column is relevant ("QA Team Review: Ready to Test")
+This is a simple Kanban board where items move from the left to the right. For QA tests, the third column is relevant
+("QA Team Review: Ready to Test")
-![QA Project Board on GitHub](assets/qa-process/qa-board.png "QA Project Board on GitHub"){loading=lazy} [QA Project Board on GitHub](https://github.com/orgs/flybywiresim/projects/7){target=new}
+![QA Project Board on GitHub](../assets/qa-process/qa-board.png "QA Project Board on GitHub"){loading=lazy}
+[QA Project Board on GitHub](https://github.com/orgs/flybywiresim/projects/7){target=new}
If you have gotten a grasp on the above instructions, pick a PR to test from the list.
-Read the description and testing instructions of the PR carefully and make sure you have the required skills and the necessary time available to conduct the test in a high-quality fashion.
+Read the description and testing instructions of the PR carefully and make sure you have the required skills and the
+necessary time available to conduct the test in a high-quality fashion.
!!! tip "Tip: Labels"
You will notice that some PRs will have labels specific to the QA team:
- - PRs that have the "QA Passed", have been tested, typically you will not have to perform another test unless requested to do so in the QA channel. Additional tests in Tier 2 reports are welcome!
+ - PRs that have the "QA Passed", have been tested, typically you will not have to perform another test unless
+ requested to do so in the QA channel. Additional tests in Tier 2 reports are welcome!
- PRs that have the "QA Failed" do not require further testing, unless requested to do so.
- PRs with the label "QA Ready to Test" should be prioritized over PRs that already have successful tests.
- PRs with "QA Not Required" should not be tested.
!!! tip "Tip: Projects"
- You may take notice of the section for "Awaiting Actions", this section typically means the PR has been approved and is waiting to be merged. You do not have to test these PRs, as they will find their way to the development version of the aircraft shortly.
+ You may take notice of the section for "Awaiting Actions", this section typically means the PR has been approved and
+ is waiting to be merged. You do not have to test these PRs, as they will find their way to the development version
+ of the aircraft shortly.
## How to get PR Builds
-Every pull request to the master branch triggers a build of the add-on with the changes made by that PR. This build can be downloaded and manually installed to your Community folder.
+Every pull request to the master branch triggers a build of the add-on with the changes made by that PR. This build can
+be downloaded and manually installed to your Community folder.
How to download the PR for QA
1. Open the PR in a browser window (press ++ctrl+lbutton++ on PR link).
2. Go to the "Checks" tab in the PR.
- ![GitHub PR Checks tab](assets/qa-process/pr-checks-tab.png "GitHub PR Checks tab")
+ ![GitHub PR Checks tab](../assets/qa-process/pr-checks-tab.png "GitHub PR Checks tab")
3. On the left side, click on the PR label saying `on: pull_request`.
- ![GitHub PR Check PR](assets/qa-process/pr-check-pr.png "GitHub PR Check PR")
+ ![GitHub PR Check PR](../assets/qa-process/pr-check-pr.png "GitHub PR Check PR")
4. Download the zipped Artifact at the bottom.
- ![GitHub PR Artifact](assets/qa-process/pr-checks-artifact.png "GitHub PR Artifact")
+ ![GitHub PR Artifact](../assets/qa-process/pr-checks-artifact.png "GitHub PR Artifact")
5. Unzip the file and place the "flybywire-aircraft-a320-neo" folder into your Community Folder.
!!! info "PR Builds only for FlyByWire QA Team"
- The PR builds are only meant for QA testing and not for daily use. Outside of the FlyByWire QA Team, we do not provide any support or answer any questions regarding these builds.
+ The PR builds are only meant for QA testing and not for daily use. Outside of the FlyByWire QA Team, we do not
+ provide any support or answer any questions regarding these builds.
## How to Test
### QA Tiers for PRs
-The FlyByWire developers are required to categorize their PRs into two test tiers to indicate the complexity or importance of the PR.
+The FlyByWire developers are required to categorize their PRs into two test tiers to indicate the complexity or
+importance of the PR.
-More complex features or features vital for the stability of the add-on will need considerably more testing than a simple change of a button text.
+More complex features or features vital for the stability of the add-on will need considerably more testing than a
+simple change of a button text.
-The developer, developer leader and QA leader determine the tier of testing required and how many successful tests must be reported before a PR can be accepted and merged into the master branch.
+The developer, developer leader and QA leader determine the tier of testing required and how many successful tests must
+be reported before a PR can be accepted and merged into the master branch.
#### Tier 1
@@ -105,43 +129,58 @@ The developer, developer leader and QA leader determine the tier of testing requ
### Clean Community Folder
-It is important that the QA tests are done on a clean system with no other add-ons or liveries installed. These could create false issues and render the whole test meaningless.
+It is important that the QA tests are done on a clean system with no other add-ons or liveries installed. These could
+create false issues and render the whole test meaningless.
Remove everything from your Community folder apart from the "flybywire-aircraft-a320-neo".
-Typically, it is ok to keep your Navigraph data installed, though some PRs may require you to test using both the default simulator navdata and the Navigraph ones. Please check the description and instructions of each PR for such remarks.
+Typically, it is ok to keep your Navigraph data installed, though some PRs may require you to test using both the
+default simulator navdata and the Navigraph ones. Please check the description and instructions of each PR for such
+remarks.
!!! tip "Tip: Use MSFS Addons Linker"
- An easy way to manage add-ons in the Community folder is the [MSFS Addons Linker](https://flightsim.to/file/1572/msfs-addons-linker){target=new} tool from [flightsim.to](https://flightsim.to/).
+ An easy way to manage add-ons in the Community folder is the
+ [MSFS Addons Linker](https://flightsim.to/file/1572/msfs-addons-linker){target=new} tool from
+ [flightsim.to](https://flightsim.to/).
- It allows you to create presets to easily switch between different sets of installed add-ons. You can create a preset with only the "flybywire-aircraft-a320-neo" folder left in the Community folder.
+ It allows you to create presets to easily switch between different sets of installed add-ons. You can create a
+ preset with only the "flybywire-aircraft-a320-neo" folder left in the Community folder.
### Focus on the PR Test Instructions
-Read the test instructions of the PR carefully. Focus only on what is requested and part of this PR. Do not bloat your reports with many additional observations or information that is expected to be the same through each QA test (such as how you installed the PR or if you emptied your community folder).
+Read the test instructions of the PR carefully. Focus only on what is requested and part of this PR. Do not bloat your
+reports with many additional observations or information that is expected to be the same through each QA test (such as
+how you installed the PR or if you emptied your community folder).
-If you find additional issues which are not part of the PR, reproduce and test them with the latest Development version and then create a [GitHub Issue](https://github.com/flybywiresim/aircraft/issues) for them.
+If you find additional issues which are not part of the PR, reproduce and test them with the latest Development version
+and then create a [GitHub Issue](https://github.com/flybywiresim/aircraft/issues) for them.
### Ask on Discord
-If the test instructions are unclear or any questions come up regarding the test or the outcome, please ask on the Discord "quality-assurance" channel for support.
+If the test instructions are unclear or any questions come up regarding the test or the outcome, please ask on the
+Discord "quality-assurance" channel for support.
-Look in "quality-assurance" if a discussion thread already exists for this issue (thread title starting with PR#), and if it does, ask your questions directly there.
+Look in "quality-assurance" if a discussion thread already exists for this issue (thread title starting with PR#), and
+if it does, ask your questions directly there.
!!! block ""
Example:
- ![Discord Thread Example](assets/qa-process/discord-thread.png "Discord Thread Example")
+ ![Discord Thread Example](../assets/qa-process/discord-thread.png "Discord Thread Example")
-If no dedicated thread exists for the PR, please provide the #PR number and title in the "quality-assurance" channel and ask your question or describe your issue.
+If no dedicated thread exists for the PR, please provide the #PR number and title in the "quality-assurance" channel and
+ask your question or describe your issue.
-Additionally, the "quality-assurance" channel contains some helpful pinned messages, so make sure you check those occasionally.
+Additionally, the "quality-assurance" channel contains some helpful pinned messages, so make sure you check those
+occasionally.
### Communication
-Multiple tests in PRs are always welcome. It is still good practice to announce it on the Discord "quality-assurance" channel, if you are starting a test on a certain PR, so that the QA team is aware of progress in testing.
+Multiple tests in PRs are always welcome. It is still good practice to announce it on the Discord "quality-assurance"
+channel if you are starting a test on a certain PR, so that the QA team is aware of progress in testing.
(Example: `Starting test on PR #1234 `)
-Also reporting the PR# and test result after completing a report is strongly recommended as it helps both developers & QA members to see which PR have been tested and if there were issues in quick time.
+Also reporting the PR# and test result after completing a report is strongly recommended as it helps both developers &
+QA members to see which PR have been tested and if there were issues in quick time.
(Example: `Tested PR #1234 : passed.`)
## Reporting on Tests
@@ -178,18 +217,23 @@ Media:
```
!!! tip ""
- Text wrapped with `` (a.k.a. html comments) in the template will not be visible on your report. You may remove these comments except for the required one at the top of the report.
+ Text wrapped with `` (a.k.a. html comments) in the template will not be visible on your report. You may
+ remove these comments except for the required one at the top of the report.
### "Report Details" Section
-This section should be filled with details about your report. Please ensure this section is unaltered as our GitHub action read this area. This section is required.
+This section should be filled with details about your report. Please ensure this section is unaltered as our GitHub
+action read this area. This section is required.
!!! warning ""
For consistency purposes, please use the DD/MM/YYYY format for the report date.
### "Testing Process" Section
-Fill this section with details about the testing process. Though there isn't a specific format to use, it's recommended to include a list of each task (as described in the PR testing instructions) and a note of any part that failed to pass. Common information, such as how you downloaded the PR or if your community folder was empty, should not be included in this section.
+Fill this section with details about the testing process. Though there isn't a specific format to use, it's recommended
+to include a list of each task (as described in the PR testing instructions) and a note of any part that failed to pass.
+Common information, such as how you downloaded the PR or if your community folder was empty, should not be included in
+this section.
!!! danger ""
This section is required.
@@ -209,7 +253,8 @@ Used to indicate if the test was a success or a failure.
### "Negatives" Section
-List any issues or negatives with this PR test. It is best you also include your expectation (if different from the testing instructions).
+List any issues or negatives with this PR test. It is best you also include your expectation (if different from the
+testing instructions).
!!! info ""
You can omit this section if no negatives are found.
@@ -223,21 +268,26 @@ Any notes you may have, the positives in the PR, and anything extra you would li
### "Media" Section
-If you have any media to be included in the report, make sure to include them in this section. Images, videos, YouTube links or Streamable links are welcome. Please ensure externally linked media is unlisted/public and available for at least 4 weeks from the date you post the report.
+If you have any media to be included in the report, make sure to include them in this section. Images, videos, YouTube
+links or Streamable links are welcome. Please ensure externally linked media is unlisted/public and available for at
+least 4 weeks from the date you post the report.
!!! info ""
You can omit this section there is no media to include.
!!! tip "Tip: Label Your Media"
- We recommend you label your images (e.g. A-B-C) especially if you have linked them to a specific item in the negatives section, though for one or two images this is not necessary!
+ We recommend you label your images (e.g. A-B-C) especially if you have linked them to a specific item in the
+ negatives section, though for one or two images this is not necessary!
!!! tip "Tip: Using Collapsible Sections"
- If you need to include multiple images, you can take advantage of the Collapsed Sections feature GitHub offers. Learn more [here](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-collapsed-sections){target=new}
+ If you need to include multiple images, you can take advantage of the Collapsed Sections feature GitHub offers.
+ Learn more [here](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/organizing-information-with-collapsed-sections){target=new}
### Tips
!!! tip "Tip: Look at Closed PRs"
- To better understand what a report should look like, you can look at closed PRs on GitHub to see how others approach this.
+ To better understand what a report should look like, you can look at closed PRs on GitHub to see how others approach
+ this.
Link to Closed PR list: [Closed PRs](https://github.com/flybywiresim/aircraft/pulls?q=is%3Apr+is%3Aclosed){target=new}
@@ -248,35 +298,45 @@ If you have any media to be included in the report, make sure to include them in
2. Click on Saved replies.
3. Give your saved reply a name and paste the QA template.
- Then, when writing a QA report, click on the arrow in the top-right corner of the comment field. Select your saved reply and insert the necessary data.
+ Then, when writing a QA report, click on the arrow in the top-right corner of the comment field. Select your saved
+ reply and insert the necessary data.
- Alternatively, you can use the keyboard shortcut CTRL+. CTRL+1 -> note that the number represents your saved replies, so if you have multiple and your QA template is the third one, you would have to use CTRL+3.
+ Alternatively, you can use the keyboard shortcut CTRL+. CTRL+1 -> note that the number represents your saved
+ replies, so if you have multiple and your QA template is the third one, you would have to use CTRL+3.
!!! tip "Tip: GitHub Text Customization"
- GitHub offers a suite of markdown and HTML style tools to format and customize the text in your reports. Learn more [here](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github){target=new}
+ GitHub offers a suite of markdown and HTML style tools to format and customize the text in your reports. Learn more
+ [here](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/quickstart-for-writing-on-github){target=new}
## Discord Roles
-To manage the QA team and focus on quality, the FlyByWire QA Team currently has two levels of QA testers: **QA Trainee** and **QA Testers**.
+To manage the QA team and focus on quality, the FlyByWire QA Team currently has two levels of QA testers: **QA Trainee**
+and **QA Testers**.
-After being accepted as a QA tester (see [Becoming a QA Tester](#becoming-a-qa-tester)) you will get the QA Trainee role.
+After being accepted as a QA tester (see [Becoming a QA Tester](#becoming-a-qa-tester)) you will get the QA Trainee
+role.
!!! info "QA Roles"
**QA Trainees**
Should focus on Tier 1 tests at the beginning until the quality of tests and test reports has been established.
- Moving from QA Trainee to QA Tester will be based on a combination of report numbers, quality of reports and handling of more in-depth/Tier 2 reports.
+ Moving from QA Trainee to QA Tester will be based on a combination of report numbers, quality of reports and
+ handling of more in-depth/Tier 2 reports.
---
**QA Testers**
- Free to test all available Pull Requests ready to test. The high standard they have proven as a QA Trainee will continue to be expected from them.
+ Free to test all available Pull Requests ready to test. The high standard they have proven as a QA Trainee will
+ continue to be expected from them.
-In general, to maintain your QA Team status, a minimum of one test every few weeks is required. You can message a QA Team lead on Discord if you need to take a break from testing to retain your status, if you are not able to submit any test reports for an extended period of time.
+In general, to maintain your QA Team status, a minimum of one test every few weeks is required. You can message a QA
+Team lead on Discord if you need to take a break from testing to retain your status, if you are not able to submit any
+test reports for an extended period of time.
-Special QA requests to IRL pilots will be made in the #pilot-feedback channel. If you are a pilot and wish to contribute to the project with your knowledge, please contact an online moderator or an administrator on our Discord server.
+Special QA requests to IRL pilots will be made in the #pilot-feedback channel. If you are a pilot and wish to contribute
+to the project with your knowledge, please contact an online moderator or an administrator on our Discord server.
## Contacts
diff --git a/docs/dev-corner/dev-guide/repository-structure.md b/docs/dev-corner/dev-guide/repository-structure.md
new file mode 100644
index 000000000..65eb657d6
--- /dev/null
+++ b/docs/dev-corner/dev-guide/repository-structure.md
@@ -0,0 +1,10 @@
+---
+hide:
+ - toc
+title: Repository Structure
+description: The repository structure of the FlyByWire aircraft repository.
+---
+
+# Repository Structure
+
+{{ external_markdown('https://raw.githubusercontent.com/flybywiresim/aircraft/refs/heads/master/docs/README.md', '## Repo Structure') }}
\ No newline at end of file
diff --git a/docs/dev-corner/dev-guide/resources.md b/docs/dev-corner/dev-guide/resources.md
index 8ce128649..07051e02b 100644
--- a/docs/dev-corner/dev-guide/resources.md
+++ b/docs/dev-corner/dev-guide/resources.md
@@ -1,62 +1,63 @@
+---
+title: Resources
+description: Resources for working with and on the A32NX and A380X code.
+---
+
# Resources
-On this page, you will find all the necessary resources, links, and documentation you might need to work with and on the A32NX code.
+On this page, you will find all the necessary resources, links, and documentation you might need to work with and on the
+A32NX and A380X code.
## GitHub Repositories
-The main GitHub repository for the A32NX aircraft is:
+The main GitHub repository for the FlyByWire aircraft is:
**[https://github.com/flybywiresim/aircraft](https://github.com/flybywiresim/aircraft){target=new}**
-The Development version of the FlyByWire A32NX is done in the master branch. Whenever something is merged into the master branch, an automatic build process builds the newest
-Development version and uploads it to our CDN, so users can download the latest Development version via the FlyByWire Installer. We have a very strict development, review and
-QA process for this version.
+The Development versions of the FlyByWire A32NX and A380X are done in the master branch. Whenever something is merged
+into the master branch, an automatic build process builds the newest Development version and uploads it to our CDN, so
+users can download the latest Development version via the FlyByWire Installer. We have a very strict development, review
+and QA process for this version.
-The Stable version is a snapshot (in git terms, a [Tag](https://github.com/flybywiresim/aircraft/tags){target=new}) of the development branch.
+The Stable version is a snapshot (in git terms, a [Tag](https://github.com/flybywiresim/aircraft/tags){target=new}) of
+the development branch.
-The FlyByWire project has other repositories for subprojects like api, msfs-rs, installer, website, docs, etc. Find them [here](https://github.com/orgs/flybywiresim/repositories){target=new}.
+The FlyByWire project has other repositories for subprojects like api, msfs-rs, installer, website, docs, etc. Find them
+[here](https://github.com/orgs/flybywiresim/repositories){target=new}.
## Support from the FlyByWire Team on Discord
-To get additional information and support, please make sure you join our Discord. There are various channels dedicated to supporting developers (in fact, most channels).
+To get additional information and support, please make sure you join our Discord. There are various channels dedicated
+to supporting developers (in fact, most channels).
[:fontawesome-brands-discord:{: .discord } - **Discord Link**](https://discord.gg/flybywire){target=new}
-First get yourself the "programmer" role in [#roles](https://discord.com/channels/738864299392630914/751780817772216401/816730253543604224){target=new}.
+First, get yourself the "programmer" role in
+[#roles](https://discord.com/channels/738864299392630914/751780817772216401/816730253543604224){target=new}.
The most general channel for getting help for development is [#dev-support](https://discord.gg/v3jAxJpwZm){target=new}.
-There are many other channels for specific systems or subprojects. If you are working on the flyPad EFB for example, the #efb channel would be an important channel for collaborating and support.
+There are several other channels for specific systems or subprojects.
## Tech Stack
-Our tech stack includes the following:
-
-!!! info "Tech Stack / Language Summary"
- Below you can find a table summary of the languages and technologies used in the A32NX project.
+Below you can find a table summary of the languages and technologies used in the FylByWire aircraft project.
- | Category | Language / Technology |
- |:------------------------------|-----------------------------------------------------------|
- | General | React |
- | flyPadOS | Tailwind CSS, Redux |
- | Autopilot / Flight Controls | MATLAB / C++ |
- | Systems / Physics Simulations | Rust |
- | Displays / Avionics | Typescript / React (deprecated) / MSFS Avionics Framework |
+| Category | Language / Technology |
+|:---------------------------------------------|-----------------------------------------------------------|
+| General | React |
+| flyPadOS | Tailwind CSS, Redux |
+| Autopilot / Flight Controls / Extra Backends | MATLAB / C++ |
+| Systems / Physics Simulations | Rust |
+| Displays / Avionics | Typescript / React (deprecated) / MSFS Avionics Framework |
- Systems development for aircraft uses Rust and the `msfs-rs` library.
-- Avionics programming is done using JavaScript or TypeScript (depending on the project), with the `React.js` rendering library.
+- Avionics programming is done using JavaScript or TypeScript (depending on the project), with the `React.js` rendering
+ library or the newer
+ [MSFS Avionics Framework](https://microsoft.github.io/msfs-avionics-mirror/docs/intro/){target=new}.
- Front-end web or desktop app development uses the same technologies outlined above.
- Server-side development uses `nest.js` for the API and `MySQL` for the database backend.
-Knowledge of all items on this list is obviously not necessary, but this can hopefully give you a better insight into what your skills can fit into.
-
-## Tools
-
-A number of tools make development in Microsoft Flight Simulator easier.
-
-- [WebUI-DevKit](https://github.com/dga711/msfs-webui-devkit){target=new} - In-game development overlay for html-ui content. Provides fast reload, console output, and more!
-- [devtools-backend-refurb](https://github.com/dga711/devtools-backend-refurb){target=new} - Chrome DevTools server targeting Coherent GT. Gives you DevTools for html-ui content. WARNING: This is still a work in progress, and tends to be very finicky.
-
-## Additional resources
+Knowledge of all items on this list is obviously not necessary, but this can hopefully give you a better insight into
+what your skills can fit into.
-- [P3D XML Gauge Reference](http://www.prepar3d.com/SDK/SimObject%20Creation%20Kit/Panels%20and%20Gauges%20SDK/creating%20xml%20gauges.html) - still applies to FS2020.
\ No newline at end of file
diff --git a/docs/dev-corner/dev-guide/setup-environment.md b/docs/dev-corner/dev-guide/setup-environment.md
index 7cc4afffd..9b4ac30fb 100644
--- a/docs/dev-corner/dev-guide/setup-environment.md
+++ b/docs/dev-corner/dev-guide/setup-environment.md
@@ -1,3 +1,8 @@
+---
+title: Development Environment
+description: Setting up the development environment for the FlyByWire A32NX and A380X project.
+---
+
# Development Environment
## Required Software, Tools, and libraries
@@ -10,11 +15,13 @@ Also, some git client is necessary to interact with the GitHub repository.
Either use a standalone git client (terminal or UI based) or one integrated into your editor.
-Make sure you are familiar with the basics of working with git/GitHub. The GitHub [Quickstart](https://docs.github.com/en/get-started/quickstart){target=new} documentation is a great help.
+Make sure you are familiar with the basics of working with git/GitHub. The GitHub
+[Quickstart](https://docs.github.com/en/get-started/quickstart){target=new} documentation is a great help.
### Docker
-FlyByWire provides a preconfigured docker container that has all necessary tools included and preconfigured to compile the aircraft.
+FlyByWire provides a preconfigured docker container that has all necessary tools included and preconfigured to compile
+the aircraft.
To use this, you need to download and install [Docker](https://docs.docker.com/get-docker/){target=new} here.
@@ -22,59 +29,80 @@ Use either WSL2 or HyperV backend work, but the latter is faster.
### Editor or IDE
-Most of our team works with either Visual Studio Code or IntelliJ IDEA-based IDEs for development. Obviously, your choice is yours as long as the resulting code conforms to our standards.
+Most of our team works with either Visual Studio Code or IntelliJ IDEA-based IDEs for development. Obviously, your
+choice is yours as long as the resulting code conforms to our standards.
+
+For Visual Studio Code, we recommend installing the following extensions:
+[vscode eslint extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint)
+
+It's recommended to set gitbash as your default shell in vscode
## Getting the source code
-To work on the A32NX project, you need to create a fork ( [GitHub fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo){target=new)}) of the [aircraft repository](https://github.com/flybywiresim/aircraft).
+To work on the A32NX project, you need to create a fork (
+[GitHub fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo){target=new)}) of the
+[aircraft repository](https://github.com/flybywiresim/aircraft).
-Clone this fork to your local environment. You can use the command line git or a UI-based git to do this. On the command line, go to your projects folder and clone it into that folder.
+Clone this fork to your local environment. You can use the command line git or a UI-based git to do this. On the command
+line, go to your projects folder and clone it into that folder.
```
git clone https://github.com/flybywiresim/aircraft.git
+cd aircraft
+git submodule update --init
+.\scripts\dev-env\run.cmd ./scripts/setup.sh
```
-You now have a copy of the aircraft repository on your local machine to review and change the source code. The subfolder `./fbw-a320nx` contains the A32NX source code.
+You now have a copy of the aircraft repository on your local machine to review and change the source code.
-## Compiling the source
+The setup.sh is configuring the build process and is sometimes necessary when you changed branches which for example use
+a different Nodes configuration.
-To compile the source code into a package you can install into the Microsoft Flight Simulator Community folder, we have prepared a few scripts you need to run, which in turn use the Docker container mentioned above to compile the aircraft add-on.
+## Compiling the source
+To compile the source code into a package you can install into the Microsoft Flight Simulator Community folder, we have
+prepared a few scripts you need to run. These use the Docker container mentioned above to compile the aircraft
+add-on.
```powershell title="PowerShell or Cmd Prompt"
cd aircraft
-.\scripts\dev-env\run.cmd ./scripts/setup.sh
.\scripts\dev-env\run.cmd ./scripts/build.sh
```
+To build only the A32NX or the A380X, change build.sh to build_a32nx.sh or build_a380x.sh. To build the A380X with 4K
+textures instead of maximum quality (8K), add the -4k flag at the end of the command.
-```bash title="git bash or other *nix shells on Windows"
-cd aircraft
-./scripts/dev-env/run.cmd ./scripts/setup.sh
-./scripts/dev-env/run.cmd ./scripts/build.sh
-```
-
-The setup.sh is configuring the build process and is sometimes necessary when you changed branches which for example use a different Nodes configuration.
+If you are using WSL, ensure that the Vmmem process is not memory-limited. At least 10GB of memory is the recommended
+setting. This can be configured in C:\\.wslconfig.
-The build.sh is actually using the docker container to compile and build the add-on into the folder `flybywire-aircraft-a320-neo`.
+The build.sh is actually using the docker container to compile and build the add-on(a) into the folder
+`fbw-a32nx/out/flybywire-aircraft-a320-neo` or `fbw-a380x/out/flybywire-aircraft-a380` respectively.
!!! note "Compiling on Linux (incl. WSL)"
You should use run.sh instead of run.cmd if you are on Linux/WSL.
- If you are using WSL, ensure that the Vmmem process is not memory limited. At least 10 GB of memory is the recommended setting. This can be configured in C:\\.wslconfig.
+ If you are using WSL, ensure that the Vmmem process is not memory limited. At least 10 GB of memory is the
+ recommended setting. This can be configured in C:\\.wslconfig.
!!! tip "Create working branches"
- We recommend when making changes on your fork, you create a new branch, titled with the change you're looking to make or something similar.
+ We recommend when making changes on your fork, you create a new branch, titled with the change you're looking to
+ make or something similar.
-After a successful build, it is possible to copy the `flybywire-aircraft-a320-neo` folder into your Community folder and use the compiled A32NX in your simulator. See next chapter for a more convenient way to update the add-on after a compile.
+After a successful build, it is possible to copy the `fbw-a32nx/out/flybywire-aircraft-a320-neo` or
+`fbw-a380x/out/flybywire-aircraft-a380` folders into your Community folder and use the compiled A32NX in your simulator.
+See the next chapter for a more convenient way to update the add-on after a compilation.
!!! warning "Important step!"
Make sure you remove any existing copy of the aircraft from your community folder before doing this.
## Linking Dev folder to Community folder
-To avoid having to copy the `flybywire-aircraft-a320-neo` folder after every compile, it is possible to use a so called symlink from your Community folder to your compiled `flybywire-aircraft-a320-neo` folder.
+To avoid having to copy the `flybywire-aircraft-a320-neo`/`fbw-a380x/out/flybywire-aircraft-a380` folders after every
+compile, it is possible to use a so-called symlink from your Community folder to your compiled
+`flybywire-aircraft-a320-neo`/`fbw-a380x/out/flybywire-aircraft-a380` folder.
-To create your symlink, open your command terminal and run the below command, substituting the correct file paths with your community folder, and the 'flybywire-aircraft-a320' folder from your new project.
+To create your symlink, open your command terminal and run the below command, substituting the correct file paths with
+your community folder, and the `flybywire-aircraft-a320`/`fbw-a380x/out/flybywire-aircraft-a380` folder from your new
+project.
!!! warning "Important step!"
Make sure you remove any existing copy of the aircraft from your community folder before doing this.
@@ -90,9 +118,10 @@ mklink /J C:\Users\USERNAME\AppData\Local\Packages\Microsoft.FlightSimulator_8we
If this works, you'll receive the response:
-"Junction created for \[Community folder] \[Project Folder]" from the terminal.
+`Junction created for \[Community folder] \[Project Folder]` from the terminal.
-Now you've compiled and symlinked your GitHub fork to your community folder, you should be able to load into the aircraft as normal.
+Now you've compiled and symlinked your GitHub fork to your community folder, you should be able to load into the
+aircraft as normal.
!!! info ""
Open MSFS and check everything is working with your compiled branch before progressing.
diff --git a/docs/dev-corner/dev-guide/specific/.pages b/docs/dev-corner/dev-guide/specific/.pages
index 35a664c20..00295aa16 100644
--- a/docs/dev-corner/dev-guide/specific/.pages
+++ b/docs/dev-corner/dev-guide/specific/.pages
@@ -1,7 +1,7 @@
title: Specific
nav:
- index.md
-# - flypad-dev.md
- - instruments.md
- - flypad-translations.md
- - javascript.md
+ - instruments-build-guide.md
+ #- flypad-dev-guide.md
+ - flypad-localization.md
+ - javascript-dev-guide.md
diff --git a/docs/dev-corner/dev-guide/specific/flypad-dev.md b/docs/dev-corner/dev-guide/specific/flypad-dev-guide.md
similarity index 97%
rename from docs/dev-corner/dev-guide/specific/flypad-dev.md
rename to docs/dev-corner/dev-guide/specific/flypad-dev-guide.md
index 50074a96a..9e958ef6f 100644
--- a/docs/dev-corner/dev-guide/specific/flypad-dev.md
+++ b/docs/dev-corner/dev-guide/specific/flypad-dev-guide.md
@@ -5,6 +5,8 @@ search:
# flyPad Development Guide
+
This guide needs to be updated.
+
## Quick Reloading the flyPad
As the aircraft in your project folder is now connected to your MSFS community folder via the Symlink you created in the previous step, each time you load in to the A32NX on MSFS, any changes you've made since the sim was last opened should be updated.
diff --git a/docs/dev-corner/dev-guide/specific/flypad-translations.md b/docs/dev-corner/dev-guide/specific/flypad-localization.md
similarity index 74%
rename from docs/dev-corner/dev-guide/specific/flypad-translations.md
rename to docs/dev-corner/dev-guide/specific/flypad-localization.md
index fd2cb7f15..491a6cde5 100644
--- a/docs/dev-corner/dev-guide/specific/flypad-translations.md
+++ b/docs/dev-corner/dev-guide/specific/flypad-localization.md
@@ -1,8 +1,10 @@
# flyPadOS 3 Localization Process
-This page is pulled externally from the FBW Aircraft repository and describes the processes involved with adding features to the EFB and sourcing translations.
+This page is pulled externally from the FBW Aircraft repository and describes the processes involved with adding
+features to the EFB and sourcing translations.
-We have partnered with Localazy, who offer top-notch software localization services, bringing multi-language support to our EFB, enhancing the user experience.
+We have partnered with Localazy, who offer top-notch software localization services, bringing multi-language support to
+our EFB, enhancing the user experience.