diff --git a/IGP/Pages/BuildCalculator/BuildCalculatorPage.razor b/IGP/Pages/BuildCalculator/BuildCalculatorPage.razor index 3f29f86..03d8dbb 100644 --- a/IGP/Pages/BuildCalculator/BuildCalculatorPage.razor +++ b/IGP/Pages/BuildCalculator/BuildCalculatorPage.razor @@ -23,6 +23,12 @@
+ + + + + + Clear Build Order @@ -30,11 +36,6 @@ - - - - - diff --git a/docs/.obsidian/types.json b/docs/.obsidian/types.json index be22578..231daa7 100644 --- a/docs/.obsidian/types.json +++ b/docs/.obsidian/types.json @@ -3,6 +3,7 @@ "aliases": "aliases", "cssclasses": "multitext", "tags": "tags", - "test": "checkbox" + "test": "checkbox", + "category": "multitext" } } \ No newline at end of file diff --git a/docs/.obsidian/workspace.json b/docs/.obsidian/workspace.json index 36eb666..22ef2b1 100644 --- a/docs/.obsidian/workspace.json +++ b/docs/.obsidian/workspace.json @@ -4,11 +4,11 @@ "type": "split", "children": [ { - "id": "0e5588b193ba3ee1", + "id": "8bfa66b8743b2800", "type": "tabs", "children": [ { - "id": "57c7753ac9b7e484", + "id": "deb0b2b5f5388749", "type": "leaf", "pinned": true, "state": { @@ -23,63 +23,133 @@ } }, { - "id": "35f91346f6b29f75", + "id": "2389ff9bfbc7c06e", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "WebAssembly back to Azure.md", + "file": "Untitled.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "WebAssembly back to Azure" + "title": "Untitled" } }, { - "id": "bc1064252754f309", + "id": "516344d92af043d3", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "Fully Test the Build Calculator.md", + "file": "Entity Click View Tests.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "Fully Test the Build Calculator" + "title": "Entity Click View Tests" } }, { - "id": "91e064bf6d50d3fb", + "id": "e080f009e5533348", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "Nice looking map refrence.md", + "file": "Hotkey Tests.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "Nice looking map refrence" + "title": "Hotkey Tests" } }, { - "id": "19394d1656ec83b7", + "id": "8c62a38928399310", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "AI Gen Docs/test-blazor-hydration-timing.md", + "file": "Army Calc UI.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "test-blazor-hydration-timing" + "title": "Army Calc UI" + } + }, + { + "id": "63052cace03ac2f7", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Timeline Tests.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "Timeline Tests" + } + }, + { + "id": "b468ed9d43376232", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Army Display Split.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "Army Display Split" + } + }, + { + "id": "2c63d9663088f304", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Highest Alloy and Ether Tests.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "Highest Alloy and Ether Tests" + } + }, + { + "id": "461430f8c29407ab", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Helper Tutorial Info Improvements.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "Helper Tutorial Info Improvements" + } + }, + { + "id": "094e8bbc34e4a833", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "Top Borders in Calculator should change based on Selected Faction and Immortal.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "Top Borders in Calculator should change based on Selected Faction and Immortal" } } ], - "currentTab": 4 + "currentTab": 9 } ], "direction": "vertical" @@ -136,7 +206,8 @@ } ], "direction": "horizontal", - "width": 200 + "width": 200, + "collapsed": true }, "right": { "id": "dd7c1dc4bd54d927", @@ -251,35 +322,45 @@ "bases:Create new base": false } }, - "active": "19394d1656ec83b7", + "active": "094e8bbc34e4a833", "lastOpenFiles": [ "_Tasks Kanban.base", - "AI Gen Docs/test-blazor-hydration-timing.md", - "AI Gen Docs/test-toast-timing-interactions.md", - "AI Gen Docs/test-accessibility-keyboard-nav.md", - "AI Gen Docs/test-multi-context-entity-comparison.md", - "AI Gen Docs/test-mobile-responsive.md", + "Helper Tutorial Info Improvements.md", + "Make a Plan to Fully Test the Calculator.md", + "Highest Alloy and Ether Tests.md", + "Army Display Split.md", + "Timeline Tests.md", + "Army Calc UI.md", + "Untitled 1.md", + "Hotkey Tests.md", + "Add a Timeline Editor.md", + "Worker Income UI and Tests.md", + "Entity Click View Tests.md", + "Untitled.md", + "More Wait Tests.md", + "Build Clear should clear out more stuff.md", + "Changing Factions and Immortal should clear out build.md", + "Input building delay should have an effect on when a building is built. Tests against 0, 2, 4, 60.md", + "Ensure build order gets greyed out past the attack time. Clicking the cancel button will wipe the entire greyed out timeline..md", + "Top Borders in Calculator should change based on Selected Faction and Immortal.md", + "Pasted image 20260601093510.png", + "Pasted image 20260601093506.png", + "Pasted image 20260601083333.png", + "Pasted image 20260601083206.png", + "Pasted image 20260601083147.png", + "Pasted image 20260601083127.png", + "Pasted image 20260601083113.png", + "Pasted image 20260601083101.png", + "Pasted image 20260601083046.png", + "Pasted image 20260601083030.png", + "Jenkins CI.md", "AI Gen Docs/test-network-resilience.md", - "Get AI to Add easy Test Tasks.md", - "AI Gen Docs/test-visual-regression.md", - "AI Gen Docs/test-storage-persistence.md", - "AI Gen Tasks", - "Nice looking map refrence.md", "Add some cooldown reference.md", - "Language Support.md", - "Improve your SEO.md", "Add Co-op objective reference.md", - "Auto Build consideration in Calculator.md", - "Fully Test the Build Calculator.md", - "WebAssembly back to Azure.md", - "Change Ctrl + K Hotkey to something that doesn't conflict with Edge or other browsers.md", - "Make Tests for the Build Calculator.md", - "Make Examples be based on Database Information.md", - "Fix Entity Recursion Error - Parent.md", - "Create Automated Tests.md", - "Basic Build Order Sheet.md", "Add an Ability to Favourite Data.md", - "AI Gen Docs/architecture.md", - "AI Gen Docs" + "AI Gen Docs/test-toast-timing-interactions.md", + "AI Gen Docs/test-visual-regression.md", + "AI Gen Docs", + "AI Gen Tasks" ] } \ No newline at end of file diff --git a/docs/Add a Timeline Editor.md b/docs/Add a Timeline Editor.md new file mode 100644 index 0000000..9d4a5e4 --- /dev/null +++ b/docs/Add a Timeline Editor.md @@ -0,0 +1,7 @@ +--- +type: Task +status: Backlog +category: +--- +I should be able to add a Legion Hall earlier in the timeline, like if I change my mind, and decided I wanted 2 instead of 1 before making a Soul Foundry + diff --git a/docs/Army Calc UI.md b/docs/Army Calc UI.md new file mode 100644 index 0000000..eceed36 --- /dev/null +++ b/docs/Army Calc UI.md @@ -0,0 +1,9 @@ +--- +type: Task +status: TODO +category: +--- +![[Pasted image 20260601083127.png]] + +- Attacking Time should be Travel time plus Completed At time. +- Built units should show in the Army units built component \ No newline at end of file diff --git a/docs/Army Display Split.md b/docs/Army Display Split.md new file mode 100644 index 0000000..a77c69c --- /dev/null +++ b/docs/Army Display Split.md @@ -0,0 +1,8 @@ +--- +type: Task +status: TODO +category: +--- +![[Pasted image 20260601093510.png]] + +- Split to be Total Alloy and Ether spent on raw Army Units \ No newline at end of file diff --git a/docs/Build Clear should clear out more stuff.md b/docs/Build Clear should clear out more stuff.md new file mode 100644 index 0000000..efb9a62 --- /dev/null +++ b/docs/Build Clear should clear out more stuff.md @@ -0,0 +1,10 @@ +--- +type: Task +status: TODO +category: + - Bug + - QA +--- +![[Pasted image 20260601083005.png]] + +Fix bug where Entity View is not being cleared on clicking the Clear Build Order button \ No newline at end of file diff --git a/docs/Changing Factions and Immortal should clear out build.md b/docs/Changing Factions and Immortal should clear out build.md new file mode 100644 index 0000000..c004aa3 --- /dev/null +++ b/docs/Changing Factions and Immortal should clear out build.md @@ -0,0 +1,10 @@ +--- +type: Task +status: Working On +category: + - Feature + - Bug + - QA +--- +- Should clear out current build. Should show a warning dialog if your going to clear out your current build +- Shouldn't show an error dialog if your not clearing out a build. Add a unit, then clear it out, before testing to ensure this works \ No newline at end of file diff --git a/docs/Ensure build order gets greyed out past the attack time. Clicking the cancel button will wipe the entire greyed out timeline..md b/docs/Ensure build order gets greyed out past the attack time. Clicking the cancel button will wipe the entire greyed out timeline..md new file mode 100644 index 0000000..844c242 --- /dev/null +++ b/docs/Ensure build order gets greyed out past the attack time. Clicking the cancel button will wipe the entire greyed out timeline..md @@ -0,0 +1,9 @@ +--- +type: Task +status: TODO +category: +--- + +![[Pasted image 20260601082954.png]] + +- Ensure build order gets greyed out past the attack time. Clicking the cancel button will wipe the entire greyed out timeline. diff --git a/docs/Entity Click View Tests.md b/docs/Entity Click View Tests.md new file mode 100644 index 0000000..969f5de --- /dev/null +++ b/docs/Entity Click View Tests.md @@ -0,0 +1,9 @@ +--- +type: Task +status: TODO +category: +--- +![[Pasted image 20260601083046.png]] + +- Make sure the dialogs and sub dialogs work +- Ensure the displayed unit changes when clicking on a different unit \ No newline at end of file diff --git a/docs/Helper Tutorial Info Improvements.md b/docs/Helper Tutorial Info Improvements.md new file mode 100644 index 0000000..d18b783 --- /dev/null +++ b/docs/Helper Tutorial Info Improvements.md @@ -0,0 +1,12 @@ +--- +type: Task +status: Working On +category: + - QA + - Feature +--- + +![[Pasted image 20260601083333.png]] + +- Ensure referenced data is taken from the database. Unit names and costs are currently hard coded. +- Would be cute to dynamically change the information based on the calculator filter. i.e. when making a build for Aru, we should use the Aru unit names in the help information instead of Q'Rath diff --git a/docs/Highest Alloy and Ether Tests.md b/docs/Highest Alloy and Ether Tests.md new file mode 100644 index 0000000..21ea2d8 --- /dev/null +++ b/docs/Highest Alloy and Ether Tests.md @@ -0,0 +1,10 @@ +--- +type: Task +status: Working On +category: +--- +![[Pasted image 20260601083206.png]] + + +- Highest Ether should remain zero if ether is never built +- Highest Alloy should be expected value \ No newline at end of file diff --git a/docs/Hotkey Tests.md b/docs/Hotkey Tests.md new file mode 100644 index 0000000..dbcda78 --- /dev/null +++ b/docs/Hotkey Tests.md @@ -0,0 +1,10 @@ +--- +type: Task +status: TODO +category: + - QA +--- +![[Pasted image 20260601083101.png]] + +- Make sure each upgrade can only be researched once +- Remove abilities from the Build Calculator, instead have a helper UI that shows researched upgrades and unlocked abilities \ No newline at end of file diff --git a/docs/Input building delay should have an effect on when a building is built. Tests against 0, 2, 4, 60.md b/docs/Input building delay should have an effect on when a building is built. Tests against 0, 2, 4, 60.md new file mode 100644 index 0000000..30f1eca --- /dev/null +++ b/docs/Input building delay should have an effect on when a building is built. Tests against 0, 2, 4, 60.md @@ -0,0 +1,11 @@ +--- +type: Task +status: TODO +category: + - QA +--- + +![[Pasted image 20260601083030.png]] + + +Input building delay should have an effect on when a building is built. Tests against 0, 2, 4, 60 \ No newline at end of file diff --git a/docs/Jenkins CI.md b/docs/Jenkins CI.md new file mode 100644 index 0000000..48e43e1 --- /dev/null +++ b/docs/Jenkins CI.md @@ -0,0 +1,5 @@ +--- +type: Task +status: TODO +category: +--- diff --git a/docs/Make a Plan to Fully Test the Calculator.md b/docs/Make a Plan to Fully Test the Calculator.md new file mode 100644 index 0000000..3f1fe17 --- /dev/null +++ b/docs/Make a Plan to Fully Test the Calculator.md @@ -0,0 +1,103 @@ +--- +type: Task +status: Done +category: +--- + +![[Pasted image 20260601083019.png]] + +- Top border on the Options component changes based on the selected Faction. Light-gray-blue for Q'Rath, Red for Aru. +- Top border on Entity Click View component changes based on the selected Immortal. Ex. Grey-ish-Green for Xol, Green-red for Mala, Brown for Atzlan. Dark-grey-ish-blue for Orzum, Light-ish-blue for Ajari. +- Should clear out current build. Should show a warning dialog if your going to clear out your current build +- Shouldn't show an error dialog if your not clearing out a build. Add a unit, then clear it out, before testing to ensure this works +- + + +![[Pasted image 20260601083005.png]] + +- Fix bug where Entity View is not being cleared on clicking the Clear Build Order button + + +![[Pasted image 20260601082954.png]] + +- Ensure build order gets greyed out past the attack time. Clicking the cancel button will wipe the entire greyed out timeline. + + +![[Pasted image 20260601083030.png]] + +- Input building delay should have an effect on when a building is built. Tests against 0, 2, 4, 60 +- Ensure negative values cannot be used. Ensure an error toast appears telling you values cannot be negative. +- Ensure Wait To time waits to the established time. +- Ensure Wait To shows an error toast when waiting to an elapsed time. +- Ensure Wait Time adds the waited time. +- Ensure Wait Time cannot be negative. +- Waits need to be shown in the Timeline Component + + +![[Pasted image 20260601083046.png]] + + + +- Make sure the dialogs and sub dialogs work +- Ensure the displayed unit changes when clicking on a different unit + +![[Pasted image 20260601083101.png]] + +- Make sure each upgrade can only be researched once +- Remove abilities from the Build Calculator, instead have a helper UI that shows researched upgrades and unlocked abilities + + +???? + +- Add a timeline editor UI + + + +![[Pasted image 20260601083113.png]] + +Workers, update UI to + +- Mining +- Building +- Creating +- Idle +- Total + +Have the Alloy tooltip and Ether tooltip, show you where the ether is coming from. Also show greyed out items that are no longer producing resources. Same for supply. And Pyre. + + +- Alloy Income should increase and decrease based on bases being built and mining out +- A worker should show as busy when one becomes busy +- A work should show as being created when one becomes created +- Supply should increase when building buildings that provide supply. +- Supply should decrease when canceling buildings that provide supply. +- Should show static Pyre income +- Pyre should increase at expected rate +- + + +![[Pasted image 20260601083127.png]] + + +- Attacking Time should be Travel time plus Completed At time. +- Built units should show in the Army units built component + +![[Pasted image 20260601083147.png]] + +- Ensure starting text changes to match the filtered faction +- Need to be able to clear items out from the timeline. This retriggers calculations. Show a warning dialog when you would delete a prerequisite and cause further items to be deleted. ie. Soul Foundry depends on Legion Hall, are you sure you want to remove Legion Hall and all required content. + +![[Pasted image 20260601083206.png]] + + +- Highest Ether should remain zero if ether is never built +- Highest Alloy should be expected value + +![[Pasted image 20260601093510.png]] + +- Split to be Total Alloy and Ether spent on raw Army Units + +![[Pasted image 20260601083333.png]] + +- Ensure referenced data is taken from the database. Unit names and costs are currently hard coded. +- Would be cute to dynamically change the information based on the calculator filter. i.e. when making a build for Aru, we should use the Aru unit names in the help information instead of Q'Rath diff --git a/docs/More Wait Tests.md b/docs/More Wait Tests.md new file mode 100644 index 0000000..04aa7d7 --- /dev/null +++ b/docs/More Wait Tests.md @@ -0,0 +1,15 @@ +--- +type: Task +status: TODO +category: + - QA +--- +![[Pasted image 20260601083030.png]] + + +- Ensure negative values cannot be used. Ensure an error toast appears telling you values cannot be negative. +- Ensure Wait To time waits to the established time. +- Ensure Wait To shows an error toast when waiting to an elapsed time. +- Ensure Wait Time adds the waited time. +- Ensure Wait Time cannot be negative. +- Waits need to be shown in the Timeline Component \ No newline at end of file diff --git a/docs/Pasted image 20260601082954.png b/docs/Pasted image 20260601082954.png new file mode 100644 index 0000000..4b9c345 Binary files /dev/null and b/docs/Pasted image 20260601082954.png differ diff --git a/docs/Pasted image 20260601083005.png b/docs/Pasted image 20260601083005.png new file mode 100644 index 0000000..9abda85 Binary files /dev/null and b/docs/Pasted image 20260601083005.png differ diff --git a/docs/Pasted image 20260601083019.png b/docs/Pasted image 20260601083019.png new file mode 100644 index 0000000..028e2f9 Binary files /dev/null and b/docs/Pasted image 20260601083019.png differ diff --git a/docs/Pasted image 20260601083030.png b/docs/Pasted image 20260601083030.png new file mode 100644 index 0000000..1f3d8b0 Binary files /dev/null and b/docs/Pasted image 20260601083030.png differ diff --git a/docs/Pasted image 20260601083046.png b/docs/Pasted image 20260601083046.png new file mode 100644 index 0000000..18c34bf Binary files /dev/null and b/docs/Pasted image 20260601083046.png differ diff --git a/docs/Pasted image 20260601083101.png b/docs/Pasted image 20260601083101.png new file mode 100644 index 0000000..e38ff0b Binary files /dev/null and b/docs/Pasted image 20260601083101.png differ diff --git a/docs/Pasted image 20260601083113.png b/docs/Pasted image 20260601083113.png new file mode 100644 index 0000000..b2be7c4 Binary files /dev/null and b/docs/Pasted image 20260601083113.png differ diff --git a/docs/Pasted image 20260601083127.png b/docs/Pasted image 20260601083127.png new file mode 100644 index 0000000..750bc60 Binary files /dev/null and b/docs/Pasted image 20260601083127.png differ diff --git a/docs/Pasted image 20260601083147.png b/docs/Pasted image 20260601083147.png new file mode 100644 index 0000000..9e0325d Binary files /dev/null and b/docs/Pasted image 20260601083147.png differ diff --git a/docs/Pasted image 20260601083206.png b/docs/Pasted image 20260601083206.png new file mode 100644 index 0000000..df9f0cb Binary files /dev/null and b/docs/Pasted image 20260601083206.png differ diff --git a/docs/Pasted image 20260601083333.png b/docs/Pasted image 20260601083333.png new file mode 100644 index 0000000..d2db183 Binary files /dev/null and b/docs/Pasted image 20260601083333.png differ diff --git a/docs/Pasted image 20260601093506.png b/docs/Pasted image 20260601093506.png new file mode 100644 index 0000000..1bd3fa1 Binary files /dev/null and b/docs/Pasted image 20260601093506.png differ diff --git a/docs/Pasted image 20260601093510.png b/docs/Pasted image 20260601093510.png new file mode 100644 index 0000000..1bd3fa1 Binary files /dev/null and b/docs/Pasted image 20260601093510.png differ diff --git a/docs/Timeline Tests.md b/docs/Timeline Tests.md new file mode 100644 index 0000000..de43849 --- /dev/null +++ b/docs/Timeline Tests.md @@ -0,0 +1,9 @@ +--- +type: Task +status: TODO +category: +--- +![[Pasted image 20260601083147.png]] + +- Ensure starting text changes to match the filtered faction +- Need to be able to clear items out from the timeline. This retriggers calculations. Show a warning dialog when you would delete a prerequisite and cause further items to be deleted. ie. Soul Foundry depends on Legion Hall, are you sure you want to remove Legion Hall and all required content. \ No newline at end of file diff --git a/docs/Top Borders in Calculator should change based on Selected Faction and Immortal.md b/docs/Top Borders in Calculator should change based on Selected Faction and Immortal.md new file mode 100644 index 0000000..aa0b168 --- /dev/null +++ b/docs/Top Borders in Calculator should change based on Selected Faction and Immortal.md @@ -0,0 +1,13 @@ +--- +type: Task +status: Working On +category: + - Feature + - QA +--- +![[Pasted image 20260601083019.png]] + +- Top border on the Options component changes based on the selected Faction. Light-gray-blue for Q'Rath, Red for Aru. +- Top border on Entity Click View component changes based on the selected Immortal. Ex. Grey-ish-Green for Xol, Green-red for Mala, Brown for Atzlan. Dark-grey-ish-blue for Orzum, Light-ish-blue for Ajari. + + diff --git a/docs/Untitled 1.md b/docs/Untitled 1.md new file mode 100644 index 0000000..cac4e10 --- /dev/null +++ b/docs/Untitled 1.md @@ -0,0 +1,5 @@ +--- +type: Task +status: +category: +--- diff --git a/docs/Untitled.md b/docs/Untitled.md new file mode 100644 index 0000000..cac4e10 --- /dev/null +++ b/docs/Untitled.md @@ -0,0 +1,5 @@ +--- +type: Task +status: +category: +--- diff --git a/docs/Worker Income UI and Tests.md b/docs/Worker Income UI and Tests.md new file mode 100644 index 0000000..26abb81 --- /dev/null +++ b/docs/Worker Income UI and Tests.md @@ -0,0 +1,26 @@ +--- +type: Task +status: TODO +category: +--- +![[Pasted image 20260601083113.png]] + + +Workers, update UI to + +- Mining +- Building +- Creating +- Idle +- Total + +Have the Alloy tooltip and Ether tooltip, show you where the ether is coming from. Also show greyed out items that are no longer producing resources. Same for supply. And Pyre. + + +- Alloy Income should increase and decrease based on bases being built and mining out +- A worker should show as busy when one becomes busy +- A work should show as being created when one becomes created +- Supply should increase when building buildings that provide supply. +- Supply should decrease when canceling buildings that provide supply. +- Should show static Pyre income +- Pyre should increase at expected rate diff --git a/docs/_Tasks Kanban.base b/docs/_Tasks Kanban.base index d6bb5f3..b47150c 100644 --- a/docs/_Tasks Kanban.base +++ b/docs/_Tasks Kanban.base @@ -18,11 +18,12 @@ views: note.status: - Blocked Backlog - Backlog - - AI Gen TODO - TODO - Working On - - AI Agent Work - Done + - AI Agent Work + - AI Gen TODO + - Uncategorized cardOrders: file.file: Untitled.base: [] @@ -32,13 +33,30 @@ views: - Untitled.canvas - Untitled.base note.status: - Uncategorized: [] + Uncategorized: + - Untitled.md + - Untitled 1.md Done: - Create Automated Tests.md - Make page object pattern structure for the Build Calculator and all it's components.md + - Fix Entity Recursion Error - Parent.md + - Make a Plan to Fully Test the Calculator.md TODO: - - Create Mobile Calculator UI.md + - Jenkins CI.md - Improve your SEO.md + - Create Mobile Calculator UI.md + - Top Borders in Calculator should change based on Selected Faction and Immortal.md + - Army Display Split.md + - Entity Click View Tests.md + - Worker Income UI and Tests.md + - Changing Factions and Immortal should clear out build.md + - Ensure build order gets greyed out past the attack time. Clicking the cancel button will wipe the entire greyed out timeline..md + - Build Clear should clear out more stuff.md + - Army Calc UI.md + - Hotkey Tests.md + - Input building delay should have an effect on when a building is built. Tests against 0, 2, 4, 60.md + - More Wait Tests.md + - Timeline Tests.md Working On: [] Backlog: - Fully Test the Build Calculator.md