forked from exponential-developers/sim-3.0
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
247 lines (243 loc) · 12.1 KB
/
index.html
File metadata and controls
247 lines (243 loc) · 12.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Theory Simulator</title>
<link rel="stylesheet" href="./Styles/fonts/Computer Modern Bright Semibold/cmun-bright-semibold.css" />
<link rel="stylesheet" href="./Styles/fonts/Computer Modern Concrete/Concrete/cmun-concrete.css" />
<link rel="stylesheet" href="./Styles/main.css" />
<link rel="stylesheet" href="./Styles/navbar.css" />
<link rel="stylesheet" href="./Styles/controls.css" />
<link rel="stylesheet" href="./Styles/output.css" />
<link rel="stylesheet" href="./Styles/narrow.css" />
<link rel="stylesheet" href="./Styles/themes.css" />
<script>
const defaultTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? "dark" : "classic";
const state = JSON.parse(localStorage.getItem("simState") ?? `{}`);
const theme = (state && state.settings && state.settings.theme) ? state.settings.theme : defaultTheme
document.documentElement.setAttribute("theme", theme);
</script>
<script defer type="module" src="./build/bundle.js"></script>
</head>
<body>
<div class="nav">
<div style="margin-top: auto; margin-bottom: 0.2rem">
<span style="font-size: 0.9rem">v3.0.0 (Alpha)</span>
<button style="margin-left: 1rem; cursor: pointer" class="settingsButtons">Changelog</button>
<button style="margin-left: 1rem; cursor: pointer" class="settingsButtons instructionsBtn">Instructions</button>
<button style="margin-left: 0.8rem" class="settingsBtn"></button>
</div>
<h1 class="nav-title" style="font-family: Computer Modern Concrete; font-weight: 600">e<sup>x</sup> Theory simulator</h1>
</div>
<div class="content-wrapper">
<div class="controls">
<div>
<span class="description">Theory: </span>
<select class="theory"></select>
</div>
<div>
<span class="description">Strat: </span>
<select class="strat">
<option value="Best Overall">Best Overall</option>
<option value="Best Active">Best Active</option>
<option value="Best Semi-Idle">Best Semi-Idle</option>
<option value="Best Idle">Best Idle</option>
</select>
</div>
<div>
<span class="description">Sigma: </span>
<input type="text" class="sigma" style="width: 3.5rem" placeholder="<number>" spellcheck="false" />
</div>
<div>
<span class="description">Input: </span>
<input type="text" class="input" style="width: 5rem" placeholder="<rho>[r/t/m]>" spellcheck="false" />
</div>
<div class="capWrapper">
<span class="description">Cap: </span>
<input type="text" class="cap" style="width: 5rem" placeholder="<rho>[r/t/m]>" spellcheck="false" />
</div>
</div>
<div class="controls">
<div>
<span class="description">Mode: </span>
<select class="mode"></select>
</div>
<div class="hardCapWrapper" style="display: none">
<span class="description">Hard cap? </span>
<input style="position: relative; width: min(1rem, 5vw); outline: none" type="checkbox" class="hardCap" />
</div>
<div class="extraInputs">
<span class="extraInputDescription" style="margin-right: 0.8rem">mode inputs</span>
<div class="simAllInputs">
<button class="saveDist">Save distribution</button>
<span style="font-size: 0.75rem">Semi-Idle: </span>
<input type="checkbox" class="semi-idle" style="position: relative" checked="true" />
<button class="getDist">Get distribution</button>
<span style="font-size: 0.75rem">Hard Active: </span>
<input type="checkbox" class="hard-active" style="position: relative" />
<button class="loadSave">Load save</button>
</div>
<textarea class="simAllInputArea" cols="30" spellcheck="false"></textarea>
<textarea class="modeInput" cols="30" spellcheck="false"></textarea>
</div>
<div class="timeDiffWrapper" style="display: none">
<input type="text" class="timeDiffInput" />
<input type="text" class="timeDiffInput" />
<input type="text" class="timeDiffInput" />
<table class="timeDiffTable"></table>
</div>
</div>
<div class="button-wrapper">
<button class="imageC">Copy Image</button>
<button class="imageD">Download Image</button>
<button class="csvD">Download CSV</button>
<button class="clear">Clear all results</button>
<button class="clearInput">Clear all inputs</button>
<button class="simulate">Simulate</button>
</div>
<span class="output" style="display: block"></span>
<table class="simTable">
<thead><tr></tr></thead>
<tbody></tbody>
</table>
</div>
<dialog class="settings">
<h1 style="margin-bottom: 1.5rem">Sim settings</h1>
<button class="settingsCloseBtn">X</button>
<div class="sliderContainer" style="margin-bottom: 2rem">
<label for="dtSlider">dt:</label><br />
<input type="range" class="dt" step="0.1" max="10" min="0" value="8.1943" id="dtSlider" />
<span class="sliderOtp dtOtp">1.5</span> <br />
<label for="ddtSlider">Δdt:</label><br />
<input type="range" class="ddt" step="0.1" max="10" min="0" value="2.71233" id="ddtSlider" />
<span class="sliderOtp ddtOtp">1.0001</span><br />
<label for="mfDepthSlider">MF reset depth:</label><br />
<input type="range" class="mfDepth" step="1" max="5" min="0" value="0" id="mfDepthSlider" />
<span class="sliderOtp mfDepthOtp">0</span><br />
<label for="boughtVarsDeltaSlider">Show bought vars in recovery:</label><br />
<input type="range" class="boughtVarsDelta" step="1" min="5" max="30" value="5" id="boughtVarsDeltaSlider" />
<span class="sliderOtp boughtVarsDeltaOtp">e5ρ</span><br />
<button class="resetSettings settingsButtons">Reset</button>
</div>
<span>Theme: </span> <select class="themeSelector"></select><br /><br />
<span>Strats simmed in "all" mode: </span>
<select class="simallstrats">
<option value="all">Active and Idle</option>
<option value="active">Active only</option>
<option value="idle">Idle only</option>
</select><br /><br />
<span>Simulate completed CTs in all mode: </span>
<select class="completedcts">
<option value="in">Alongside other CTs</option>
<option value="end">After other CTs</option>
<option value="no">Don't sim</option>
</select><br /><br />
<!--span>Skip completed CTs in "all" mode: </span> <input type="checkbox" class="skipcompletedcts" /><br /><br /-->
<span>Show a2 and a3 lvl in EFAI strat output: </span> <input type="checkbox" class="a23" /><br /><br />
<span>Show unofficial CTs: </span> <input type="checkbox" class="unofficials" /><br /><br />
<span>Generate a total purchase list: </span> <input type="checkbox" class="total_purchase_list" /><br /><br />
</dialog>
<dialog class="boughtVars">
<button class="boughtVarsCloseBtn">X</button>
<div style="overflow: auto; max-height: 55vh; position: relative; padding-right: 1rem">
<table style="margin: 0">
<thead style="position: sticky; top: 0%; background-color: var(--dialog-bg)">
<td>Variable</td>
<td>Lvl</td>
<td>Cost</td>
<td>Timestamp</td>
</thead>
<tbody class="boughtVarsOtp">
<tr>
<td>c2</td>
<td>100</td>
<td>1e2000</td>
<td>1d1h1m</td>
</tr>
<tr>
<td>c2</td>
<td>100</td>
<td>1e2000</td>
<td>1d1h1m</td>
</tr>
</tbody>
</table>
</div>
</dialog>
<dialog class="instructions">
<h1 style="margin-bottom: 1.5rem">Instructions</h1>
<button class="instructionsCloseBtn">X</button>
<h2>About the sim:</h2>
<br>
<ul>
<li>
<strong>Mode:</strong> You can select from different modes allowing you to do more varied inputs. Each mode is described below:
<ul>
<li>
<strong>All:</strong> This will give you an input field where you can enter all of the values of your theories. The input order for your values will be : <br>
Sigma T1 T2 ... T7 T8 WSP SL ... BaP.<br>
If you don't want to sim a theory, enter 0. <br /><br />
You also have the option to put an "r" or "m" at the end of each value. "r" means that it is a rho value, and will not be affected by rho/tau conversion. "m" means that the value is the total
multiplier (make sure to have maximum possible levels of r9 bought, because this will affect the result), and it will be automatically converted to rho. By default, all values are expected as tau.
<br />
<br /> Example: 95 230 50m 250 300 300 70m 250 200 7e100r
<br>
</li>
<li>
<strong>Single:</strong> You will sim one publish for a single theory using a single (or let it automatically find the best) strategy.
<br>
</li>
<li>
<strong>Chain:</strong> For Chain Sims, you are required to enter a value for "Cap." This sims every publish until it gets to your desired tau/rho. <br /> Hard Cap?: This button hard caps the
tau/rho to the cap you placed instead of simming the entire publication.
<br>
</li>
<li>
<strong>Step:</strong> A Variant of Chain that will sim in steps of n x tau/rho where n is any number.
<br>
</li>
</ul>
</li>
<li>
<strong>Changelog:</strong> See all the versions, changes, and updates to the sim.
</li>
<li>
<strong>Copy Image: </strong>This button will copy the output of the sim to your Clipboard
</li>
<li>
<strong>Download Image:</strong> This button will download a .png to your device, mobile or pc.
</li>
<li>
<strong>Clear Results: </strong>This will clear your last Sims results.
</li>
<li>
<strong>Simulate:</strong> "Execute order 66" aka, start simulating.
</li>
<li>
Below are explanations for what the different input fields do that are visible if you are not in "All" or "Time diff." mode:
<ul>
<li>
<strong>Theory:</strong> You can select a theory for you to simulate in this dropdown. This will allow you to sim only 1 theory at a time.
</li>
<li>
<strong>Strat:</strong> When simulating 1 sim at a time, you can select a strategy that you would like to use for the sim. This drop-down will have all known strategies that are effective.
</li>
<li>
<strong>Sigma:</strong> Generally, you would want to put your total students in here, but you can put any value in here. This is adaptive for R9, so if you enter students < 65 you
will not have R9, or if you enter 65<sigma<75, you will have 1R9, etc.
</li>
<li>
<strong>Input:</strong> This is where you will enter your theory's rho/tau/multiplier. Accepted inputs are x.xxexxxx, xxxx or the value in log10. You can optionally put an r/t/m after the value,
to indicate whether it's a rho, tau or total multiplier value. Default is rho.
</li>
<li>
<strong>Cap:</strong> This is only used when you use chain or steps mode. This is a value for how far it will simulate. Same formats apply here as for Input.
</li>
</ul>
</li>
</ul>
</dialog>
</body>
</html>