Open Zachary-Ronayne opened 4 years ago
Week of September 14, 2020 • Worked on creating UML diagram and revising it, I created the UML diagram while, as a group, we discussed what would be added • Set up the initial files for displaying graphics for the simulation • Created the base files for the system of abstraction for experiment objects
Week of September 21, 2020 • Set up unit testing for Javascript code • Created test cases for all existing Javascript code • Added mouse input for moving objects around in the simulation
Week of September 28, 2020 • Created system for mixing chemicals in beakers • Chemicals can be transferred between beakers, combine colors, and leave residue https://github.com/jgross11/CS481-Project/issues/7 • Create system to automatically run instructions for the simulation • Added and refined unit tests for all code • Chemicals accurately display their contents graphically • Commits: c438e26078853f91a649400432bd2442e91c72b4 e4726816a987b71e58cac67c42c3cea5fe85dc23 4f224b7cd1e1bc22bcc9247d99d9bcb4df38ac5a fbd63a9779e2e8c681e66da6cc574dabcd21bd8d aaa187bb54bc3d6bf10649b93c9f8c98d9d3c511 e154a5bfe4fe3ac989fca3f7c6beb2d72f1a781b 9f40b96b80ae7bcf1428d0c0734186226a829a6d 845c4ea6b206a332a717820c837d67af58ed6e21 b04bacbfc78a39c4575940a7ae1f8f6bd0940ae5 34b8d54b088800d528da24fcebcd5e94553647c5 d9e199d398b9c70de9f889896e1c877d34e585f7 2463015af82c54acdce0190cbf7b75f278b77d3f 7cd3bd125deea36a997d1d135ba535c886598adb 8a176ff35487e74c8fa1d085e9825fb5f152c74a 99ccec225d7c6ac4dd98a583182beb6469d8a3ad 24d5ec6888c0c291e85d5a44a1980161dd47ae83 63e021769f3c2d10c4ab8c1d2ce828be184a18a2 836a667e7bbc69eacac3311778ed3dddfcd1b08a a7eb6a5acd00da52545b1ead7f1dc347bb257667 943647927880b09a2b11d2b9cdb5ffd49e80e053 eb6dff57e935bec162cef177c1c0e0b115d2c3d6 299e601baeca255984d30c548aa5b8a6662aed02 479bbc08519fa78c6e247df4b8d81f67428f6ab6 75e41bf00075f7ec23ee785cb0a105f9a8d3c13f 366c1ba7a77df492b0d70a8d5fef9ad07d36a0e2 0ba9dbf723131241169e6d684b58055dcc58a6af bd240790cc6612b716908cc2789c044c6aaf05c7 8c26f7ca6cb629ab9c3b2e72ad14865395ebbfd6 6fe204e7865da8805369be20d92b1fe36e770136
Week of October 5, 2020 • Planned out formatting for backend sending data to front end to create objects for the experiment simulator • Set up simulator for general interaction, rather than just a beaker demo https://github.com/jgross11/CS481-Project/issues/25#issue-695420974 https://github.com/jgross11/CS481-Project/issues/19#issue-695263547 • Equipment is now listed at the bottom of the simulator, and can be clicked and dragged into the simulator, as well as clicked and dragged around while in the simulator • Created test cases for all new and modified code • Commits: 86d4ec07986e8efc0e3ba9f284793edba760e4ef d8a4eb87f3fee8190088290a59e19f27108429cc b8ef0a9d527134c5c11fe2cdd7df712e6a95069e e8a578afe3d699e042dbda05f32710cc89732b3b 580371258605a18c172e303299b36049e12bf215 6f9f8faa1bbf2efae518dc615413bb5965518e77 48d75643004e71a0362f49a9e7d0d9f49c1d412b 275af4b65232cc7c3cec38956a745fb763dd0608 d2018dad96902aac5a02e520fa6b0f71e5d8fff9 f2e41475080fab598384ba8c079a4ceeec07f7d0 efada870571d5ed2e702c70a20e1688f2ecca719 9ba564dff3d9712e2e5233d6de6a13acaeb4c6f6 0208f8b6fc6db1fb75ca2a93e083c738196b2d06 32496db559c7bb779f30c5ee172b9bd72d1b4df3
Week of October 12, 2020 • Linked simulator to the home page, and home page to simulator • Allowed custom Experiments to be loaded into the simulator through JSON files, rather than only having one hard coded simulation • Created parser to convert Experiments into JSON files, allowing the front end to send files to the backend which could be parsed and saved to the database • Improved abstraction of simulator objects, instanceID is now handled automatically • Reworked test cases to use a beforeAll method, allowing for more efficient testing • Commits: f2834b118da7fcf32df6bd6f946c33490e24c2c0 52a15ca9263d4022236e6bf1036a16cecbd79674 f2f98fd4e72579c8a0766933018d285d5ec78906 cd2d4a6804505b3126eb2864374de55b7f649713 15d46b53cda53496b54b1b3704e5648779cd0c34 1a18dd5856d434970bf4306042793bbbe1d31b9f 734f17eae4e3a9f701ec166edcda2585a06dce48 288aa170f6e8737b6a5ce4e22f50b01fbe707c07 ac0c47135cedadee15410e33e9256e9dac6a9cda 46b50f88416d53a62b0e89d73719e8a8546b6a24 de1df0a7819ac039734082a6c8958d8613d016a2 a803cfda5fd3975f0969766197ac5aa16eb2b867 e53f6b22cb95db5289a2eebc42d93246d36a7194 95c7bae6eb59a8fc43dfc65fe4d52f8ce542998e 455ca6f066c4b2652efda3622a4b95143eaffdab 7e97b1b69604e4f7463184a4c290097d410cd4cb 61fdd55e55798b64ab5e54c52eada971dba41fab f6c346eb8ed0ce32e807b01e7632c3d05edd71f1 2ea090fb220c785bb988a2308120dc0dac5806b3
Week of October 19, 2020 • Added chemicals which can be displayed and selected to be added to beakers 6ae11dc5abb1981950d15331d3b506f4745bd05f 2f7be1bbde3eb4675f01555039d785e071bacecd ef6e74e69ea25a7030812842e002928d54c92202 • Added multiple sizes of beakers, and made them more practical to create 3b19cfdc63ae552f61e0f1cc2a417f3e57237534 • Added camera panning c3ed1d683c8f4bbeb1898e95b3a421de7550c131 a776a16135d99edbda1ff4fd1bc2110049860978 a9be4ebd4e668e868017a5f4abda769f45bfdad9 f370f86a57a8ce0956498c79d5a7a7898ed02fcd • Equipment now can be updated each frame 4156afd86dc308077fb53ee3bb49b8412c55d16e • Refined mouse and key input methods f1924c0db275364804a1cf2427b1dd08b1875a12 2ab7b426aa682a32cd7f3329aefbe412852da4a1
Week of October 26, 2020 • Reworked containers so that they can hold a variable amount of chemicals 1d29718cb55e29cc584e01e87f1da586abc814a0 • Added trashcan which can dispose of chemicals 54d12a77705239d046bed31b6ed64c148a554932 87f0b98fd1462cf5b1e26ad1a2ca69f4c5997efb e63a7416ddb555f8a155cfff2e43f5a51092b9c5 • Reworked actors acting on receivers, allowing any object to perform any interaction with any object. If the interaction cannot take place, nothing happens. 180d6ef3a3dd3600122ed3acb4fedf1ac472e9c8 91f5a06c117b9057a0e1fd2d1c84de865a2e6b6a fe0caa80139728034b3b8c396238a499b8468b47 593754448ae5bb231a5297dbd044b6eed53e5395 92adfad9570739bb228c3b0b20c848d7e384a151 • Fixed scale class to add to the simulation correctly, and display the mass of a container placed on the scale 094a18adffefa74a4202d91190f1111337bd3d60 19c0c43606b667e38c1ea7e735ede4c22de8ae46 3a0488991a3cb2261d5b8365f3d957066d2a201e • Fixed Erlenmeyer flask and graduated cylinder classes, making them work with the simulation 812c771f13f39341a7cecbc736be3dc5d4355765 • Fixed rendering images to work with variable sizes, and added proper graphics for each new piece of equipment c1ed51af9a78c9ed53720b645387ae1ef7bfb8d9 8decc4d5cf75dba7ae1db5a8da8e06664d076ce7 f159eb287bb091c35a3a4102957ab699a968d539 62f17a5a49f7cb5085a9ca81bfbfdb151a82a8e2 • Added base code for system to handle chemical interactions bb383708126a170647fc6b759cad2e864ed4178d 8084d08aae2279ccc69f5b131ccbfe0aa37e4353 3b7ff26fc3a183e699f085bf84a4717ae255b80b
Week of November 1, 2020 • Made chemicals use the new system for handling chemical interactions 1c902040a5c7101b913106d0f3dbf80aa11e7d9b 24a1be8e808dfa9c41a5f40151e70686590c4590 9c31689e87cb6edc446b11cccf436898a4daec31 7379e0dc5c445c68879ae4b166417245bf991d0c • Added various elements and compounds to the simulation f51b25330d4387159f623d34a040da23a8ab6ee2 49ff02b0b009edabac8ed535cdd053b6437ea58e • Updated graphics, enabling multiple chemicals for display bcfb5203eb36d18ae3bab9e70604e3efdb6a9ff1 b4e3682cea462e4862bd2ee781a3a4ee0d67988b bb7cd8f2f04ed290c5cef08fb268cdcc33da6843 • Fixed functionality and rendering of Erlenmeyer flask graduated cylinder 57da16d35028ae4735a673be91e27ee702b215e2 cc47148e7642e49b2c6d4e8cb047d6894c0af12d 5e5571527fc4ad33d848441cbec4f65a39a09d46 • Added stir rod 483ad67568e73a2e2005e6da42070551fbaa13a5 fbd0efd317738921652023cbe54af877e12d5dda 52a70a130dfa6767add1af8747b55cd2a009c6bc • Added proper scale functionality, zeroing out, removing equipment from scale bb7893038ba5f1472f6ca9732d3e4c1e1e870010 dab4f4469f700d9a8cb00d2ae26d5d79b8ff99c3 • Created lab 3A from the gen chem book 27dbc93763b9a71c2a526f6c72cf4a00fd816ba9 • When equipment is needed via an instruction, it is now automatically added to the simulation af8935841d805825420d37d92f8cd9f49ea0543b • Forced equipment to stay inside experiment bounds 25b1292c58a6d71bc366fb638e3d74ca7987e820 • Allowed equipment to function without a receiver 9be5cebf620a067da30cf35667b439da0c33a19e • Added percent error to adding chemicals to containers ce36c6a596c0f9e3ab35802be6f59922c88f67fd
Week of November 8, 2020 • Improved chemical properties storage for setting them up for use in the database e70ffe11c8fc979a6d96549a2a52a91d93c8d1ff • Created chemical equations simulating actual chemistry actions 3982f88a88b1b86d67fc1329546ded1c7cc4b7eb a02ac14a65148d840012689f7683eeff1e0e906b d3ffd52c52b4f8eea7248eadb76a33f5f5ce2c71 14eb6ff5456d702311bb26599a911c203524ca7b de8aec13c660197391e3c32565b409615d5ad87d • Containers now correctly use volume 1d4a49f779b2eec3ddaf3530cfc5c4dc37a7daae • Added missing test cases 9af6f2a455be396a549e989e340fe1444bac24b3
Week of November 15 • Updated containers to fully use volume b28d6dcfe86f0edbfe4c9227d99c8745c2929094 23e55181ad9434887cb8c2dcab1e14765d19c2f2 • Chemicals can be removed in small increments, equipment now has variance in its mass 647a6a88eaa3ff54fca37096f944e67892c14f31 • Added temperature system 3ee8e354d91a33e2d59cd1c5de20871e183ff541 79c8746121430b9cb50fea92ad2a54c2cf72371c • Updated chemical properties to work with database formatting ea7d94348d46b77e0799942c4c147c5c4952c5bd • Added eyedropper 5ab6438908224065f49019906c2d3f8b19975fcc 2b0052d0331c87b22af7915c77eb103819fe53df • Added refractometer 7fca781d8adeb129df16b122f1d11f98d91c72a3 b8894d4d7e5b713c663a919a796e71341c78e1b4
Week of November 22 • Added chemical solutions, i.e. salt water db0cc3202fc9cb8b756d90a23642bae146b416c9 3980705e776a7bad6ae58941b677b73486171ca7 01fc0aa411a2971b7412f042cec23e86310ed558 adeb20e955ef12019a2f90611781501712ec5faa 7a6db1797e92fdb40994288ef98075ba3fe47f9f 7c3726d3f300257401c954959d0ad2421f25a799 4f0251b615264d72d5de99d193700dc124add12d b11b71e2a834ecccfe19fd7aa7b5c4810f018076 • Fixed issues with eye dropper and containers filling up each other eda6202731b08e5a9eb5aa3052f79a112400abfe 3985eabe5044154acc0abd670d7e3365465567f4 • Created a test file for new data sent to the database 5361afca81338f67c93d18d8948aae2754a294f6
Week of November 29 • Scale objects can now be removed by clicking and dragging it off of the scale, same goes for refractometer lenses e6012f2e7509be236efc0c88e9d45e44e62e6607 01b84927805cff06872b183c2aebce636d0e0d50 • Created lab 3 part B 9e9b8f7a4e7bd813c31006137225fa685ecf9a29 • Fixed bugs with containers d9c099cb3d924f81924b3793c07399386185a6a0 • Minor changes to rendering 4c768b7f7616746afaec557100b3a36c171f5f09 • Game option to remove equipment placed in experiment ee3876ab01a7ab66760fcfdff17df3e08fafe6e5 • Added a loading screen 9cf797bea086b0ed880e29d28ba870c1b58b8b94 • The selected actor and receiver can be swapped 7417094ea3aafb2421a55de84df05b4969d118da
Week of September 7, 2020 • Made use cases for interacting with the simulation • Looked into, and experimented with Two.js and using .svg images for the graphics component of the simulation • In a similar vain as Two.js, looked into P5.js, and decided it would work better for our purposes • Created a demo in P5.js, which was two beakers of differing sizes, loaded from an image file, which could be clicked and dragged around the screen Issues: • https://github.com/jgross11/CS481-Project/issues/36 • https://github.com/jgross11/CS481-Project/issues/34 • https://github.com/jgross11/CS481-Project/issues/31 • https://github.com/jgross11/CS481-Project/issues/29 • https://github.com/jgross11/CS481-Project/issues/25 • https://github.com/jgross11/CS481-Project/issues/22 • https://github.com/jgross11/CS481-Project/issues/21 • https://github.com/jgross11/CS481-Project/issues/19 • https://github.com/jgross11/CS481-Project/issues/7 • https://github.com/jgross11/CS481-Project/issues/6