User Story Statement:
As a airplane designer, I want to be able to simulate varying environments so that I can observe how different environments may affect how an airplane flies.
Background:
This function will help make the simulation more applicable to a wide range of audiences. There is no way for us to determine what type of environment a user may want to be testing, so by allowing them to configure their own environment any user should be able to create a scenario that fits whatever they are testing.
Functional Requirements:
The simulation will allow changes to the environment, including wind, gravity, air resistance, etc.
The simulation will allow changes to the aircraft being flown, including mass, thrust, center of mass, etc.
Non-Functional Requirements;
Changes made are applied quickly and efficiently.
Changes made do not reduce the performance of the program significantly.
Design Resources:
The only resources that we will need to implement this functionality other than Bevy and Rust is a knowledge of what aspects of the environment and airplane will affect flight. With this knowledge we will know which environmental factors should be customizable and how we can implement them.
Dependencies:
Before any work on this issue can be made, we will need the basic simulated flight movement to be implemented already. From then we can begin adding variables to the environment code which can be customized and will affect how the flight movement acts. No other stories are dependent on this issue (so far).
Tasks:
Create a user interface that allows inputs to change certain aspects of the environment or airplane the next time the simulation is run.
Ensure that the variables that can be changed by the user are able to be modified safely without impacting other areas of the code unintentionally.
If a variable does not exist for a certain aspect of the environment or airplane, one should be created and integrated with the rest of the code accordingly.
Implement functions that take user input from the interface and apply the changes directly to the simulation environment during the next run.
Estimate:
This issue will likely take 1-2 weeks to complete, depending on how we design our environment from the beginning. Since we plan on adding this functionality, we can design the environment in such a way that makes it easier to add customizability to it in the future. This should help lower the production time for this issue.
Acceptance Criteria:
Before running a simulation, the user should be able to input values into several environmental variables. These changes will be reflected once the simulation is run by changing how the environment and airplane interact accordingly.
Definition of Done:
Code is bug free and well documented
Passes all functionality tests
Passes all performance tests
Code has been reviewed by other group members
Code is merged with main and functions as expected
User Story Statement: As a airplane designer, I want to be able to simulate varying environments so that I can observe how different environments may affect how an airplane flies.
Background: This function will help make the simulation more applicable to a wide range of audiences. There is no way for us to determine what type of environment a user may want to be testing, so by allowing them to configure their own environment any user should be able to create a scenario that fits whatever they are testing.
Functional Requirements:
Non-Functional Requirements;
Design Resources: The only resources that we will need to implement this functionality other than Bevy and Rust is a knowledge of what aspects of the environment and airplane will affect flight. With this knowledge we will know which environmental factors should be customizable and how we can implement them.
Dependencies: Before any work on this issue can be made, we will need the basic simulated flight movement to be implemented already. From then we can begin adding variables to the environment code which can be customized and will affect how the flight movement acts. No other stories are dependent on this issue (so far).
Tasks:
Estimate: This issue will likely take 1-2 weeks to complete, depending on how we design our environment from the beginning. Since we plan on adding this functionality, we can design the environment in such a way that makes it easier to add customizability to it in the future. This should help lower the production time for this issue.
Acceptance Criteria: Before running a simulation, the user should be able to input values into several environmental variables. These changes will be reflected once the simulation is run by changing how the environment and airplane interact accordingly.
Definition of Done: