Commit Graph

123 Commits

Author SHA1 Message Date
Marty Oehme a92b864dfa Extract EngineService into separate service 2018-08-27 20:50:12 +02:00
Marty Oehme 04d61bfa02 Error out on bad gridsize input 2018-08-27 20:18:19 +02:00
Marty Oehme 873bd9c881 Allow Optional Injection of grid size into engine on creation 2018-08-27 20:13:19 +02:00
Marty Oehme 9886f13d69 Add grid changing function 2018-08-27 19:55:30 +02:00
Marty Oehme 5e8f83cf8a Refactor EngineService to be able to inject custom Engine
fixes #38
2018-08-27 19:37:35 +02:00
Marty Oehme dd18fc3bc7 Make Engine Gridsize configurable 2018-08-25 17:23:06 +02:00
Marty Oehme 774e9e3782 Add Simple Documentation 2018-08-25 16:41:11 +02:00
Marty Oehme c3f0881454 Wire up Speed slider to Engine Configuration 2018-08-25 15:51:32 +02:00
Marty Oehme 905af769f6 Add Configurable stepsPerSecond for engine logic 2018-08-25 15:51:17 +02:00
Marty Oehme 588a3ad2a0 Add explicit getter and setter for Simulation Speed
In preparation for adding additional logic as a quasi-callback to execute whenever the simSpeed changes (i.e. the slider is changed)
2018-08-25 15:26:44 +02:00
Marty Oehme 3c27f5ef38 Re-Add Canvas to Simulation component 2018-08-25 15:01:00 +02:00
Marty Oehme 71023de49a Make canvas virtual variable on EngineService 2018-08-25 15:00:46 +02:00
Marty Oehme cc33628e5f Enable cached engine returns for EngineService 2018-08-25 14:51:28 +02:00
Marty Oehme 66bf87d9d8 Allow setting a canvas for an engine at any point 2018-08-25 14:36:50 +02:00
Marty Oehme 4c6dff35c3 Add Canvas nullcheck to render function 2018-08-25 14:10:56 +02:00
Marty Oehme 572406b963 Fix undefined running access 2018-08-25 14:10:19 +02:00
Marty Oehme 976ec8097d Separate Engine Service Functionality from Component 2018-08-25 09:36:27 +02:00
Marty Oehme 842cbeca1f make canvas argument optional on instantiating engine 2018-08-25 09:36:27 +02:00
Marty Oehme bf0d136d8b Add Configuration Sidebar with ConfigurationService 2018-08-23 14:12:22 +02:00
Marty Oehme 6ba0ca55cb dartfmt 2018-08-23 12:38:34 +02:00
Marty Oehme abd2c3ac23 Add Speed Slider Tooltip 2018-08-23 12:07:54 +02:00
Marty Oehme c3368524f9 Change Step Forward Icon 2018-08-23 12:07:43 +02:00
Marty Oehme 4906bbe54c Switch Control Interface Icons to MaterialIcons 2018-08-23 11:34:08 +02:00
Marty Oehme bd7990991e Connect Speed Slider to internal Variable 2018-08-23 09:33:15 +02:00
Marty Oehme c86d8d8b59 Split Simulation & Controls into Components 2018-08-22 20:16:31 +02:00
Marty Oehme 917d1c3fab Split App Header into Component 2018-08-22 13:00:41 +02:00
Marty Oehme b541353091 Fix Material directives import statement 2018-07-10 14:28:41 +02:00
Marty Oehme c5cd600cfc Add Sample Material Styling 2018-07-10 12:52:56 +02:00
Marty Oehme 4b7051a5e1 Fix implicit Overwrite of Dart Pattern Class 2018-07-09 17:45:11 +02:00
Marty Oehme 49803e7a6a Fix Remnants of EdgeRendering toggle compile Error 2018-07-09 17:33:48 +02:00
Marty Oehme 2d0e24bdf8 Move Reset Grid Implementation to Engine 2018-07-09 17:32:59 +02:00
Marty Oehme 4c1c805f24 Add addPattern Functionality to Engine 2018-07-09 17:32:35 +02:00
Marty Oehme 6745f9c9d6 Make grid Private to Engine 2018-07-09 17:31:46 +02:00
Marty Oehme dfcd55fe71 Remove App Grid Access 2018-07-09 17:29:09 +02:00
Marty Oehme ac9a7c7591 Implement Engine Step Method 2018-07-09 17:27:56 +02:00
Marty Oehme 9030d31e97 Hide Implementation of edge rendering in grid 2018-07-09 17:27:11 +02:00
Marty Oehme 7c49531d0e Expose Getter and Setter for Engine Running Variable 2018-07-09 17:00:53 +02:00
Marty Oehme e18de1d84c Rename App to Engine 2018-07-09 15:16:28 +02:00
Marty Oehme 1c756bbda4 Add Functionality to Clear Board Button 2018-07-08 19:45:47 +02:00
Marty Oehme 1a43be14fa Add Clear Board Button to Interface 2018-07-08 19:45:35 +02:00
Marty Oehme 016b166d50 Add Clear Board Function to Engine 2018-07-08 19:45:04 +02:00
Marty Oehme 1146c7d265 Add Check for State Changes During Grid Update 2018-07-08 19:32:43 +02:00
Marty Oehme 9fb67d0194 Add return of new cell state to advanceState Function 2018-07-08 19:08:40 +02:00
Marty Oehme 3676264444 dartfmt 2018-07-08 19:05:11 +02:00
Marty Oehme 4074f49228 Fix Missing return statement 2018-07-08 19:03:48 +02:00
Marty Oehme fb014ce5ac Shorten Heading 2018-07-08 19:01:46 +02:00
Marty Oehme 8fc3f35321 Add Edge Rendering with Toggle Button 2018-07-08 19:01:14 +02:00
Marty Oehme c5ed18f0ad Add Random Button Functionality
Adds random pattern toward the center of the canvas. Does not delete anything.
2018-07-07 22:02:04 +02:00
Marty Oehme c5b62e6c9f Fix Reset & Step not working on first click
Rendering dirty flags were not updated accordingly, so the updates happened but were not pushed to be rendered. Added and moved additional dirty flag setters.
2018-07-07 21:43:24 +02:00
Marty Oehme 2d2365e606 Fix Simulation Reset not Replicating the Starting Pattern
Now keeps the original parameters for the first pattern of a grid stored and can replicate them reliably.
2018-07-07 21:42:07 +02:00
Marty Oehme bdc5dc1af1 Add Message for App Failure 2018-07-07 21:07:42 +02:00
Marty Oehme 34bdd1ae81 Apply dartfmt 2018-07-07 20:49:02 +02:00
Marty Oehme 4b35dbe5fc Add Parameters for Dispersal and Amount of Cells 2018-07-07 20:47:23 +02:00
Marty Oehme 9816778d4b Allow Defining x and y for Patterns 2018-07-07 20:35:04 +02:00
Marty Oehme 964ba69c2e Add Grid Starting Patterns
can be common forms and random
2018-07-07 20:04:35 +02:00
Marty Oehme a19aac6a6e Add Buttons Step & Reset
Wired up into engine
2018-07-07 19:08:49 +02:00
Marty Oehme 70e33fe135 Fix Rendering when no Changes occured
Rendering checks a dirty flag which gets set whenever a cell updates by changing their state.
2018-07-07 19:08:26 +02:00
Marty Oehme 5a10c0e1f7 Prepare Engine for Button responses 2018-07-07 19:07:30 +02:00
Marty Oehme 020bb6b918 Remove Local isRunning Variable in Component 2018-07-07 19:07:07 +02:00
Marty Oehme 69b680e554 Add FontAwesome Icons to Buttons 2018-07-07 19:06:25 +02:00
Marty Oehme 96a5bd0cec Connect Start Button through Angular 2018-07-07 17:47:37 +02:00
Marty Oehme 843dad6cbb Move App HTML into Separate Template 2018-07-07 17:47:21 +02:00
Marty Oehme 3780e61453 Implement Canvas as Angular Component 2018-07-07 16:44:48 +02:00
Marty Oehme 827ab83b88 Refactor Directories
Move Engine Files to /src Directory
2018-07-07 16:44:06 +02:00
Marty Oehme f3dfc3b368 Set up Basic AngularDart Structure 2018-07-07 15:46:40 +02:00
Marty Oehme f5e528dceb Refactor Rendering into Grid Class 2018-07-06 16:47:20 +02:00
Marty Oehme 6b7e8edb28 Fix Cell Propagation through intermediate Step
the next targeted state is first propagated to all Cells, then they all adopt their new states at once.
2018-07-06 16:46:30 +02:00
Marty Oehme c2d46c6e38 Fix Cell Population 2018-07-06 15:00:45 +02:00
Marty Oehme b16d108e70 Finally fix TimeStep 2018-07-06 15:00:01 +02:00
Marty Oehme 12792a7897 Remove Debug Spam 2018-07-06 14:27:54 +02:00
Marty Oehme e14e8fe505 Fix Neighbor Search 2018-07-06 14:27:25 +02:00
Marty Oehme 4c40dd2baa Fix Timestep observing 2018-07-06 14:27:17 +02:00
Marty Oehme 0277e5ddc7 Initial Commit 2018-07-05 17:59:11 +02:00