From 6ce5aac6b4bd63f135cb5b3889ba7fda1a9d4def Mon Sep 17 00:00:00 2001 From: scronge <144865853+scronge@users.noreply.github.com> Date: Sat, 26 Oct 2024 14:19:03 -0500 Subject: [PATCH] Update README.md fixed markdown formatting . consider adding screenshot --- README.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 74 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c7e4b35..0247c2c 100644 --- a/README.md +++ b/README.md @@ -56,86 +56,124 @@ Main Menu ### 1.4 Menu Functions 1.4.1 File Menu 1.4.1.1 New + This menu option opens the editor so you may begin making a new system. 1.4.1.2 Load + This menu option will prompt the user for a file and then attempt to open it. The application will only load XML files. 1.4.1.3 Save As . . . + This menu option will prompt the user for a file name and location to log the information to. It will overwrite a file if it already exists. 1.4.1.4 Save History + This menu option saves where the assembly is currently at to a JSON file. + This menu option saves the current assembly to a JSON file. + Since some assemblies can get quite large, you have the ability to save multiple versions of the assembly at different points in time. + When prompted, enter the name of the JSON file, then enter how many steps inbetween each version of the assembly you want. If you would like only + the current assembly and no multiple versions, enter 0. 1.4.1.5 Load History + This menu option takes a JSON file and loads a system, assembly, and all steps to a certain point. 1.4.2 Tools Menu 1.4.2.1 Edit + When clicked, opens the editor with the current system loaded. 1.4.2.2 Rotate + Rotates the current system 90 degrees clockwise. Ex. a assembly where the final shape is " |" will now be "__" 1.4.2.3 Combine + Prompts the user to select a valid file and attempts to combine the system in the file with the current loaded system. 1.4.2.4 X-Reflect + "Reflects" the system across the x-axis. 1.4.2.5 Y-Reflect + "Reflects" the system across the y-axis. 1.4.2.4 Slow Mode + This is a radio button that, when selected, adds a brief delay in between steps while the play option is selected. 1.4.2.5 Time Elapsed + This is just text that shows the user how many "time steps" have occured at the current step. 1.4.3 Available Moves + This section allows a particular attachment or transition to be selected rather than a move being picked at random. + 1.4.3.1 Next + When there are more moves than can be shown, you can page through the moves with 'Next'. + 1.4.3.2 Prev + Similar to 'Next', you can page through the moves with 'Prev'. 1.4.4 Example 1.4.4.1 Shape - Here you will see a combo box with three options "strings," "Thin Rectangle," and "Square." Select your desired shape to begin loading an example system + + Here you will see a combo box with three options "strings," "Thin Rectangle," and "Square." Select your desired shape to begin loading an example system 1.4.4.2 Model - Here you will see a combo box with three options "Deterministic," "Non-Deterministic," and "One-Sided." Select your desired model of computation for the example to follow. + + Here you will see a combo box with three options "Deterministic," "Non-Deterministic," and "One-Sided." Select your desired model of computation for the example to follow. 1.4.4.3 Input - Above the input box is text saying valid input types for the chosen options. Type your input in here then press the button below to load an example system. + + Above the input box is text saying valid input types for the chosen options. Type your input in here then press the button below to load an example system. ## 1.5 Simulator Screen + Windows users, we are aware of a bug that does not let you interact with the simulator when you press play on some systems and are looking into it. 1.5.1 Simulator Area + This is where the simulation occurs. When a system with a seed is loaded, the chosen seed tile will appear here. + Tiles are displayed here with their respective label and color. It should be noted that only up to 4 characters of the label will be displayed, so it is recommended to color code should you have labels with similar beginnings. 1.5.2 Toolbar + The toolbar has five buttons which include: + -First: returns you to the first step of the assembly + -Previous: shows you the previous step of the assembly + -Play/Pause: pressing play simulates what a system would do step by step. Pause will appear when a user presses play so you may stop the simulation on a certain step. If you would like the play sequence to be slower, be sure to press the "slow mode" radio button. + -Next: shows you the next step of the assembly + -Last: takes you to the last step of the function + It should be noted that these only work if a system is loaded 1.5.3 Simulator Controls + Once a system is loaded: + -WASD will move the assembly. Holding shift with any of the WASD keys will move the assembly faster, this functions speed relates to the size of the assembly + -The mouse scroll wheel can zoom in and out, additionally + and - keys also zoom in and out + -C will "recenter" the seed of the assembly. These hotkeys correspond to the tool bar at the top of the screen and are mapped to follow the layout respectively. @@ -148,45 +186,74 @@ Windows users, we are aware of a bug that does not let you interact with the sim ### 1.6 Editor Menu 1.6.1 General Settings 1.6.1.1 System Temperature -Set the system temperature here. + + Set the system temperature here. 1.6.1.2 Freezing Check -click this button to check if your current system is a freezing system. Output is on the GUI and a .svg file called freezingcheck shows a graph with the states. + + click this button to check if your current system is a freezing system. Output is on the GUI and a .svg file called freezingcheck shows a graph with the states. 1.6.2 Add State 1.6.2.1 Color + Input a colors hexadecimal value here to set the states color + 1.6.2.2 Label + Input a string here to be your states label. Note: on screen only the first 4 letters will appear from the states label + 1.6.2.3 Seed + Check this box if this state can be a seed + 1.6.2.4 Initial + Check this box if this state is an inital state or a state that can be used freely. 1.6.3 Add Affinity Rule + 1.6.3.1 State1 + The left state if its h or the top state if its v + 1.6.3.2 State2 + The right state if its h or the bottom state if its v + 1.6.3.3 Direction + Input the direction of the affinity rule here, use h for a horizontal rule and v for a vertical rule + 1.6.3.4 Glue Strength + Set the glue strength of this bond 1.6.4 Add Transition Rule + 1.6.4.1 State 1 + The left state if its h or the top state if its v + 1.6.4.2 State 2 + The right state if its h or the bottom state if its v + 1.6.4.3 State 1 Final + What the left/top state transitions to if State1 and State2 are next to each other + 1.6.4.4 State 2 Final + What the right/bottom state transitions to if State1 and State2 are next to each other + 1.6.4.5 Direction + Input the direction of the transition rule here, use h for a horizontal rule and v for a vertical rule + ############################# Section 2 - Models Overview 2.1 Tile Automata + A Tile Automata system is a marriage between cellular automata and 2-handed self-assembly. Systems consist of a set of monomer tile states, along with local affinities between states denoting the strength of attraction between adjacent monomer tiles in those states. A set @@ -197,6 +264,7 @@ function. Further, existing assemblies may change states of internal monomer til to any applicable state change rules. 2.1.1 Freezing + Consider a tile automata system and a directed graph G constructed as follows: Each state type is a vertex for any two state types, a and b, an edge from a to b exists if and only if there exists a @@ -210,6 +278,7 @@ number of state transitions. Section 3 - File I/O 3.1 XML format + The editor can create an XML file for you, but should you desire to check or build your own XML file an example simple system XML file is shown below. EXAMPLE: