forked from Monsoonjr99/cyclone-sim
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
746 lines (745 loc) · 46.2 KB
/
changelog.txt
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
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
About: A p5.js tropical cyclone simulation game
v0.4.12 (2023-08-06):
* Improved the "yellow dots" track prediction by making it an actual cone
> Still fairly rudimentary
v0.4.11 (2023-07-09):
* Scale color schemes changed to use a global setting rather than individually per sub-basin scale for more consistent color experience
> Hotkey: "c"
> Note: does not apply to basins saved before this update due to how scale saving works, thus their colors are locked
* "Wiki" scale color scheme again updated to new Wikipedia colors
> Old colors preserved as "Wiki (Pre-2023/HHW)" (includes some colors for hypothetical extended Saffir-Simpson categories)
* Happy fifth birthday to Cyclone Simulator!
v0.4.10 (2023-07-07):
+ Added more historic name lists for the Atlantic going back to 1950
+ Added historic name lists for the Eastern Pacific going back to 1960
v0.4.9 (2023-06-24):
+ Added setting for wind speed unit to display (kts, mph, or km/h)
> Hotkey: "u"
> Applies everywhere a wind speed value is displayed (top bar, side panel, etc.)
* Storm icon intensity indicator improved and now shows units
v0.4.8 (2023-04-01):
* Updated several name lists
* Fixed subtropical storms
> April Fools! They are still broken :(
v0.4.7 (2023-01-01):
* Fixed random gaps appearing in tracks when simulating in season track summary mode
v0.4.6 (2022-12-31):
+ Added faster simulation speed settings
> Simulation speeds now range from 1/32 to 32x
> Caution: faster simulation speeds may result in lag
* Technical changes to support faster speed settings
> Rendering of tracks and environmental map layers decoupled from simulation steps
v0.4.5 (2022-12-21):
* "Wiki" scale color schemes reverted to as they were before v0.3.15, following Wikipedia consensus (or lack thereof)
v0.4.4 (2022-12-20):
+ Added simulation speed control buttons
v0.4.3 (2022-08-20):
* Significantly improved the speed of land and fx drawing
v0.4.2 (2022-08-09):
* Another tweak to make land and fx drawing faster after v0.4 made it awfully slow again
v0.4.1 (2022-07-19):
* Fix some glitchy behavior with the designations editor
v0.4 (2022-07-15):
+ Added Mediterranean designations (currently using Italy's 2021-22 European windstorm names)
* Single Earth map image file now used for all real-world map types
* Sub-basin system for real-world map types redefined
> Single global set of sub-basins used for all Earth map types
> Out-basin for a given Earth map type now uses appropriate designations and scale (e.g. storms that form in Eastern Pacific out-basin in Atlantic map type use Eastern Pacific names)
* Fixed land below sea level rendering as sea
* Latitude/longitude coordinate system partially implemented
> Storm track data now saves as latitude/longitude coordinates instead of xy
* Several other tweaks including some related to compatibility when updating simulation modes
v0.3.17 (2022-07-08):
* Tweak to make land and fx drawing a bit faster
v0.3.16 (2022-06-06):
+ Added safeguard against loading basins in an older version which were saved in a newer version
* Loading a season in a newer version where it must be converted to a new format no longer immediately autosaves the converted season
v0.3.15 (2022-05-10):
* Updated "Wiki" scale color schemes to reflect new Wikipedia storm colors
> Old colors still available as "Wiki (Old)" color scheme
* JMA scale extended to include all typhoon classifications
v0.3.14 (2022-04-28):
* Replaced retired names for Atlantic, Western Pacific, and PAGASA name lists
v0.3.13 (2022-01-02):
* Designations editor improvements
> Main and auxiliary name lists listed for easier navigation
> Can now add and remove name lists
v0.3.12 (2021-12-31):
* Updates to several name lists
v0.3.11 (2021-08-06):
* Fix to storm icons to make arms truly flush with the body
v0.3.10 (2021-03-17):
* Update to Atlantic and Eastern Pacific name lists
> Dorian and Laura replaced with Dexter and Leah
> Greek Alphabet replaced with auxiliary lists for both basins
v0.3.9 (2021-03-05):
* Update to Western Pacific name list
* Rename "Land Shader" to "Land Shadows" (it is the exact opposite of a "shader" so that name was fake news)
v0.3.8 (2021-01-01):
* Converted some hardcoded values of the steering fields to modifiers for better flexibility
v0.3.7 (2020-12-31):
* Updates to Australian and Southwest Indian Ocean name lists
- Removed fake news (Hebrew Alphabet) from 1979-1984 Atlantic name lists
v0.3.6 (2020-12-26):
* Fixed bug where saving fails if a season lacks a most intense storm (any storms)
* Fixed bug where remnants crossing over into a new season count as that season's most intense storm
v0.3.5 (2020-12-25):
+ Added storm intensity graph to timeline
+ Added season stat for most intense storm
v0.3.4 (2020-12-23):
+ Added season button to side panel and timeline when displaying storm info, allowing for easier navigation
* Improved the timeline by making it wider and working more neatly with the side panel
* The previous/next buttons in the side panel and timeline now work for storms within a season
* Side panel info now displayed in a tabular format
* Updated South Pacific names to reflect recent replacements
- Removed Hebrew alphabet as second Atlantic/Eastern Pacific auxiliary list as it is fake news and the designations editor now exists
v0.3.3 (2020-08-19):
+ Added fullscreen button to bottom UI bar
* Fullscreen no longer activated by device turns on mobile devices
v0.3.2 (2020-07-25):
* Updated Western Pacific names with replacements for 2018
v0.3.1 (2020-06-26):
+ Added designations editor
> Accessible from side menu
> Can enable/disable numbering
> Can change numbering prefix/suffix
> Can add, remove, and edit names for all lists
v0.3 (2020-06-16):
* Environmental field map layers now have real display names and better unit formatting in the bottom bar
> "u/hr" is a crumby velocity unit based in coordinate units for now
* Shear map layer now features colored arrows
* Under-the-hood changes to storm algorithm and spawn rules so they're more flexibly-defined for different simulation modes
* Experimental Mode now experimenting with a weird new storm algorithm
v0.2.12 (b20200502a):
* Peaks for pressure and wind speed now kept track of separately
> Fixes issue with storms sometimes given the wrong classification name in the info panel
v0.2.11 (b20200424a):
+ Added new lists to North Indian Ocean designations preset
v0.2.10 (b20200324a):
+ Added web worker test
* Loading ring can now display descriptions for more than one task
v0.2.9 (b20200229a):
* Fixed bug where only loaded seasons, but not new seasons, unload when no longer needed
v0.2.8 (b20200219a):
+ Added South Atlantic and Mediterranean map types
v0.2.7 (b20200217a):
* Old name list presets converted to designation-system presets
v0.2.6 (b20200215a):
* Redone storm icon arms to make them nicer and flush with the icon body
* Scales can now specify any number of storm icon arms (besides 0 or 2) for a category
v0.2.5 (b20200214a):
+ Added India Meteorological Dept. and Southwest Indian Ocean scales
v0.2.4 (b20200212a):
* Background color made much darker and land colors tweaked
* Land colors are now smoothed with the height map
> Can be disabled in the settings menu
* Fixed snow rendering incorrectly
* Fixed moisture map layer coast outline rendering incorrectly
v0.2.3 (b20200211a):
+ Added Jakarta and Port Moresby sub-basins and naming to Australian region map mode
v0.2.2 (b20200209a):
+ Added support for scales with other measurements such as pressure in inHg, 10-minute wind speed, and mph and km/h wind
+ Added Australian and Typhoon scales
* Fixed 2020-21 South-West Indian Ocean name list preset
v0.2.1 (b20200208a):
* Some minor tweaks and code de-cluttering
v0.2 (b20200206a):
+ Added scale system
> replaces old hardcoded Saffir-Simpson scale with something more flexible and customizable
> sub-basin-specific and saved/loaded with basin
> allows for different color schemes and "flavors" of nomenclature
+ Added "Wiki" color scheme
> uses Wikipedia category colors for storm icons/tracks/timeline bars
> C6+ colors in Extended Saffir-Simpson scale sourced from Hypothetical Hurricanes Wiki
> can be accessed with the "Scale Color Scheme" option in New Basin Settings
* "Hypothetical Categories" option replaced with Extended Saffir-Simpson scale
* "Hurricane-Strength Term" option replaced with "Scale Flavor" option
v0.1.2 (b20200203a):
+ Added ARB and BOB sub-basins to the North Indian Ocean map mode with numbering included
* Corrected the boundaries of the NIO basin (including in Western Pacific map mode)
v0.1.1.1 (b20200202c):
* Fixed bug where storms that go off the edge of the map as an in-basin TC remain "currently active" and glitch the timeline after the season ends
v0.1.1 (b20200202b):
* Season timelines now pack better and take the width of the label into account
* Timeline bars can now be clicked to bring up that storm's info in the side panel
> Individual storm timelines not yet added
* The "Jump to" button for TCs now jumps to when the storm entered the basin or formed rather than when it initially spawned as a disturbance
v0.1 (b20200202a):
+ Added CPac and PAGASA designation-systems for newly-created EPac and WPac map type basins respectively
* Sub-basins and designation-systems now fully implemented for storm statistics and naming
> No UI yet to see statistics for sub-basins other than the main basin, but the stats are saved
* Tracks now include out-basin portions for in-basin storms
* Side-panel "Dates active" info for storms now notes if a storm has entered or left the basin
* First version with traditional version numbering
* Updated PAGASA name list preset with replacements for the 2019 typhoon season
v20200124a:
* Season stats now saved by sub-basin
> Another step towards full sub-basin implementation
> Includes sub-basin-specific counters for designations (numbers and annual names)
v20200122a:
* Updated PAGASA name list preset with replacements for the 2017 and 2018 typhoon seasons
* Fixed a single storm being named "Unnamed" after names are exhausted for certain preset naming lists
v20200119a:
* Partial implementation of SubBasin and DesignationSystem classes
* Old name list system replaced with DesignationSystem objects to allow more flexible numbering and naming
> Still WIP and doesn't yet have all the intended flexibility
* Basins now given a main SubBasin for the implementation of DesignationSystem
> Other sub-basins such as PAGASA are still planned for a future update
* Storms are no longer named "Unnamed" when names are exhausted, but just continue using their number
v20200101a:
* Slight code changes to set up upcoming scale system
v20191231a:
* Updated South-West Indian Ocean names for the 2021-22 list
* Some other under-the-hood changes
v20191109a:
* Fixed season summary track mode including:
> storms from previous years whose remnants lasted into the relevant year
> storms from following years whose precursors formed during the relevant year
* Fixed timelines not updating after the end of the year without having to view a different season's timeline first
* Fixed out-basin storms being included in damage, deaths, and landfall stats
v20191004a:
+ Added "designations" system for more flexible and robust storm numbering and naming
> Includes support for secondary (PAGASA-style) names (though currently not implemented)
> Includes support for designations prior to TC formation (Invests) (Also not yet implemented)
v20191003a:
+ Added "Experimental" simulation mode
> Currently a normal mode clone with very extreme SSTs
> Expect it to frequently change as it will be used for testing purposes
* env-defs.js is now sim-mode-defs.js to better encompass what it is for
* each simulation mode's wave/ET spawning function is defined in sim-mode-defs.js now instead of directly in the Basin.advanceSim method
* renamed simulation-mode-related constants
* out-basin now based on a "subBasin number" and a Basin.subBasins object (partial addition of upcoming sub-basins system)
v20190911a:
+ Added a landfall counter to storm and season stats
v20190827d:
* Limited "Starting year" selector to only allow years within the valid range of the Javascript Dates
v20190827c:
* Fixed bug where 0001 B.C.E. (or 0002-01 B.C.E.) in the "Starting year" selector doesn't work and the basin uses the default instead
v20190827b:
* Made the crash screen a little better
v20190827a:
* The "Starting year" selector in the New Basin Settings menu now uses a text input box to make selecting a year easier
> Accepts both valid NHem and SHem years (regardless of hemisphere selected with the button above)
> Can use "B.C.E.", "BCE", "BC", "b.c.", etc. for years prior to 1 C.E. ("A.D.", "ce", "C.E.", etc. also treated as valid)
> SHem years accept both two-digit and full year numbers after the "-" as valid as long as it represents the year following the one before the "-"
> A variant of "B.C.E." may be used before the "-" in a SHem year for the special case of 0001 B.C.E.-01 C.E. ("C.E." before "-" is invalid however)
> Any invalid year value may be used to return to the default "Current year"
* Dates before year 1 are now displayed with "B.C.E." instead of a negative number
* Fixed broken SHem years before "-1-00" (0002-01 B.C.E.)
v20190823a:
* NCMetadata class replaced with EnvNoiseChannel, which allows more efficient loading of environmental field data
* "Activity Modes" are now "Simulation Modes" (still referred to by the old name in much of the code)
* Environmental fields now defined in env-defs.js in a more flexible manner for future changes and simulation modes
> Field definitions among simulation modes are now laid out more neatly
> Console hacks to environmental fields are now a bit easier due to the removal of closures from the map functions and the addition of modifiers
> The new 'u' utility mini-class offers tools for use in map functions
> Modifiers allow the use of a single map function for multiple simulation modes without cluttering the function with conditionals
* Environmental fields are now versioned so that future algorithm changes may flag older basins' histories as inaccurate
* Saves upgraded to format 3, which more flexibly stores environmental field data along with versioning
v20190810a:
+ Added two "Periodic Table" name lists
> The regular one is a continuously looping list
> The "(Annual)" list resets at the beginning of each year
v20190809a:
* Attempted fix to land being low-res and pixelated in fullscreen after a basin is loaded while a mobile device is in portrait orientation
v20190808a:
* Land, snow, and shader now initially render at full display resolution upon basin loading, and no longer re-render upon fullscreen switches
> Is not hi-res in normal view since it is automatically resized down
> Switching in and out of fullscreen is now a lot faster
v20190807a:
* Fixed awful copy-paste fail in the PAGASA name list (won't fix existing basins)
v20190804b:
* Fixed tropical waves not spawning in megablobs mode
v20190804a:
+ Added new activity mode: Megablobs
> Similar to normal mode, but with SST anomaly blobs that can reach extremely high temperatures (more-so than wild mode)
> Jetstream displaced a little poleward similarly to hyper mode
+ Added the magnifying glass, which allows a more high-resolution view of environmental map layers around the pointer
> Can be enabled/disabled from the settings menu, or by pressing "m"
* Changed color scheme for the SST map layer
> Colors for temperatures up to 32C are now more similar to the color scheme of the graphics on Levi Cowan's tropicaltidbits.com website
> Colors for "hypothetical" temperatures beyond the above scale added particularly for megablobs mode
> Below 0 = white, 0-10 = white to blue, 10-20 = blue to cyan, 20-26 = cyan to green
> 26-29 = yellow to red, 29-34 = red to very light pink, 34-40 = very light pink to very light lime
> 40-50 = shades of lime ligher to darker, 50-75 = shades of creamsicle darker to lighter
> 75+ = rounds of grey darker to ligher resetting at each multiple of 150
v20190801a:
* Code improvements involving basin and environment initialization
* Global variables are now actually declared as they should be
* Stronger storms are now more deadly
v20190722b:
+ Added Northern Indian Ocean, Australian Region, South Pacific, and South-West Indian Ocean map modes
* Fixed some image-compression-related problems with the Eastern Pacific and Western Pacific maps
v20190722a:
+ Added Western Pacific and Eastern Pacific map modes
* Fixed misalligned topography and some missing islands in the Atlantic map
v20190721a:
+ Added Hebrew alphabet to Atlantic and Eastern Pacific name lists for use after the Greek alphabet
> Only applies to new basins
> Technically not an official part of those name lists in the real world, but useful for extreme hyperactivity in this simulator
* Land is now calculated at twice the normal resolution of the 540p canvas, thus rendering nicely in 1080p in fullscreen
v20190718b:
* Fixed graphical glitch where Atlantic out-basin coloration sticks after returning to main menu and loading another basin
v20190718a:
* Attempt at fixing a bug with the Atlantic map on HiDPI displays
v20190717a:
+ Added the long-awaited Atlantic map mode
+ Added the "out-basin" as a region where tropical cyclones may form but are not named nor included in stats
> The Eastern Pacific and Mediterranean portions of the Atlantic map are out-basin
* Fixed the environmental field indicator displaying "selected storm" even when a storm isn't selected
* Fixed newly-created normal activity mode basins not spawning tropical waves
v20190716a:
- Eliminated 'basin' as a global variable
- Eliminated 'Env' as a global variable
v20190714a:
* Renamed 'OP' activity mode back to 'Hyper' cuz it was sad
* ActiveSystem class no longer relies on 'basin' as a global variable
v20190713a:
+ Added a third activity mode: Wild
> Features a weird season climatology where SSTs are more random and steering is drunken for part of the season
> Storms can form in nearly any watery location on the map
> Season is generally longer and more active than normal
> July in NHem (January in SHem) is very dry with high SSTs
* 'Hyper' activity mode is now called 'OP'
v20190704b:
* Fixed non-integer seeds not working correctly
* advanceSim is now a method of Basin
v20190704a:
+ Added textbox to date navigator for directly entering a year to navigate to
+ Added ability to copy a basin's seed from a text box accessible from a side menu button
+ Added ability to enter a seed in new basin settings using a text box
* The loading ring on non-rendering waiting screens now looks like a TC
* Pressing enter on some text boxes now does the same thing as clicking their associated button
* Tropical waves now spawn more frequently during off-season in hyper mode
v20190702a:
+ Added hypothetical categories (C6-C10 and hypercanes)
> Optionally enabled upon basin creation
> C8+ and hypercanes kept track of in season stats
> Can be spawned in god mode
v20190630a:
+ Added ability to save basins with a custom name using a text box
* Finished the full switch from localStorage to indexedDB
> Basins and seasons are now stored in indexedDB
> Saving no longer limited by the localStorage 5 MB limit (Cyclone Sim can now theoretically save up to 10% of drive space)
* You can now save an unlimited number of basins
> Load menu UI updated with pages
* Saved basins and seasons upgraded to Format 2, which is more efficient and less hacky than the localStorage-limited Format 1
v20190622a:
* Mostly prepared the simulator for asynchronous saving/loading which will come later with the full transition to indexedDB
* Some tweaks to input UI
v20190617a:
* Mostly finished text input UI code for text boxes to be added in later updates
v20190615a:
* Cleaned up some of the repetative UI code, particularly in the case of buttons
v20190613a:
+ Added partial support for indexedDB saving/loading
> Currently only used to store settings, while localStorage is still used for basins and seasons
> Full transition coming in a later update
+ Added new waiting screen (with animated loading ring) for asynchronous tasks
> Not used for rendering as that is single-threaded
* Various code optimizations for the upcoming switch to storing basins and seasons in indexedDB
% Added Dexie.js for an easier indexedDB API
v20190606a:
+ Added NIO, SWIO, SPac, SAtl, Jakarta, and Port Moresby name lists
> Jakarta and Port Moresby lists are not included in Aus, but completely separate lists for now
+ Added "No Tracks" track mode
* Updated WPac list preset to reflect the retirement and replacement of 2017 storm names
> Only affects newly created basins
* Fixed a couple track updating bugs:
> New track segments getting drawn for non-selected storms while a storm is selected
> Tracks not getting refreshed when the track mode setting button is clicked
v20190531b:
* Season summary timelines now use Greek letters for storms with Greek letter names
v20190531a:
+ Added season summary timelines
> Accessible by clicking "Show Timeline" in the info panel
v20190526a:
+ Added spawning of subtropical depressions and storms in god mode
> Shift+D and click for subtropical depressions
> Shift+S and click for subtropical storms
> Pardon me mobile users; I'll add an alternative spawning method eventually
v20190525a:
* Changed how natural storm system spawning works
> Systems (both extratropical and tropical waves) can now spawn at any longitude
> Extratropical systems spawn along the jetstream
> Tropical waves still have a 20% tendency to spawn at the eastern edge
> Tropical waves no longer spawn nearly as often during off-season
> Systems in general spawn more frequently
* Rotating a mobile device between portrait and landscape now toggles fullscreen mode (?)
* Storms slightly less impacted by land interaction (still needs work)
v20190518a:
+ Added button in new basin settings menu to control if god mode (user able to spawn storms) is enabled/disabled
> Previously always enabled by default, but now the default setting for new basins is disabled
* Cleaned up Basin constructor code to better accomodate new options
v20190517a:
* Fixed major crash bug from v20190516a
v20190516a:
* Made some miscellaneous functions methods of Basin for cleaner code
v20190508a:
+ Added Central Inland Sea map type
v20190506a:
+ Added setting for number of annual snow layers (at most 50), including disabling snow altogether
* Fullscreen mode now matches your screen resolution, offering Cyclone Simulator in high-definition
> Warning: Snow can take a long time to render in fullscreen mode, so a low snow layer number or disabling snow is recommended
v20190424a:
* Pressing "F11" now toggles fullscreen mode
v20190423a:
+ Added Central Continent map type
v20190422c:
+ Added setting for the previously inaccessible shader added in v20181105a
v20190422b:
+ Added a "Map Type" option to the basin creation menu
+ Added three new map types: East Continent, West Continent, and Island Ocean
> The existing default map type from previous versions is called Two Continents
v20190422a:
* Fixed crash bug when selecting a newly-spawned (before first advisory) system while the info panel is open
* Fixed crash bug when loading a basin after exiting to the main menu from another basin with the info panel open
v20190420a:
+ Added partial under-the-hood support for text input UI elements
> includes commented-out input element on the main menu
v20190413a:
+ Added Atl 1979-1984 name list preset (original iteration of the current Atlantic naming system)
v20190412a:
* Most likely finally fixed the HiDPI graphical bug for real this time
% Upgraded p5.js dependency from 0.6.1 to 0.8.0
v20190411a:
+ Added settings menu
> Accessible from main menu and within a sim basin
> Currently only includes settings for intensity indicators, autosaving, and track mode
* Settings added to settings menu are now saved and preserved between reloads (e.g. intensity indicators no longer need to be enabled with every page load)
* Simulation is automatically paused when loading a saved basin, but still starts unpaused for newly created basins
* Main rendering and click actions (storm selection/spawning) for basins now tied to primaryWrapper UI element
* Another attempt to fix the high-density display graphical bug
v20190401a:
+ Added Atlantic basin map
* Fixed bug with tropical depressions not numbered in loaded basins
- April Fools! No Atlantic basin map. SAD!
v20190321a:
* Atlantic name list preset names "Florence" and "Michael" retired and replaced with "Francine" and "Milton"
> Does not affect old saved basins; only new basins
- Removed curSeason as a global variable
v20190315a:
* Storm damage/deaths is now calculated every tick instead of every advisory
v20190310a:
+ Added full saving/loading including active storms, analysis, and environmental data
+ Added safeguard in case one's localStorage quota is reached and they can no longer save
* Autosaving now happens at the beginning of the 1st and 15th days of a month, rather than every 10 days as before
* Saved seasons when not the current season nor currently viewed will eventually unload to be RAM-friendly (will automatically load when needed)
* Fixed a corruption bug with the numerical array compression function
v20190305a:
+ Added 5 additional save slots for saved basins (besides autosave slot 0)
+ Added a load basin menu accessible from the main menu
> includes the ability to delete saved basins
+ Added a save basin as... menu accessible from the in-sim side menu
+ Added an "Are you sure" dialog for certain actions
+ Added a button to the side menu to return to the main menu without saving
* Basin saving test now includes the current environmental field data as of the tick saved
v20190228a:
+ Added save/load methods for ActiveSystem and NCMetadata (current environmental field data) classes
v20190225a:
+ Added save/load methods for Storm and StormRef classes
* WIP (almost finished) season saving/loading algorithm now includes the storms (only TCs) in that season
* Small change to saved basin localStorage keys to accomodate future sim options
* As a test, seasons are "saved" to the global variable testSavedSeasons during basin autosaves
> They aren't actually saved to localStorage and loading the saved basin test is still the same as before
v20190217a:
+ Added track display modes, currently accessed by pressing the "T" key (mobile-friendly UI coming later)
> There are 3 modes as of this update, which the "T" key cycles through
> The first mode shows the tracks from first tropical formation to last tropical dissipation of systems active at the viewed tick
> The second mode shows the full tracks of all systems active at the viewed tick, including extratropical systems
> The third mode shows the tracks from first tropical formation to last tropical dissipation of all systems in the viewed season ("Season track display mode")
* Capped storm icon rotation speed for storms exceeding 270 kts
v20190216a:
+ Added saving/loading methods for the StormData class
* Storms no longer continue off the edge of the map, but are now killed as soon as the center reaches the edge
* Changed how new instances of Storm and ActiveSystem are created when a new storm is spawned (optimization for saving/loading)
* basin.activeSystems now contains ActiveSystem objects instead of Storm objects
* The category of a storm at each point in its life is now calculated on the fly rather than stored as a property
v20190210a:
+ Added crash screen in case this crashes
* Optimizations to Storm and ActiveSystem classes for saving/loading
v20190209a:
+ Added CPac and PAGASA name lists
+ Added selector for hurricane-strength term in basin creation menu
v20190207a:
+ Added EPac, WPac, and Aus name lists alongside the existing Atl list
> Use the name list selector in the basin creation menu to access
> Atl and EPac lists behave per year; WPac and Aus lists are sequential regardless of year (just as you'd expect)
* Hurricane-strength tropical cyclones now come in 3 flavors: Cyclone, Hurricane, and Typhoon
> Currently tied to the selected name list; to be made its own option later
v20190206b:
+ Added "Hyper Mode"
> A new option in the basin creation menu allows for a very hyperactive basin
* Damage over $1 trillion now displays as T instead of 1000s of B
* Storms are now named "Unnamed" after the Greek alphabet is exhausted instead of "Name #"
v20190206a:
+ Added some future-proofing for when saved environmental field analysis data is loaded in a version with an incompatible environmental field algorithm
> The old data will be deleted and map layers will display "Unavailable" in analysis prior to the tick the basin was loaded
* Optimized how season-crossing storms are stored for saving/loading purposes
v20190204a:
+ Added part of the season loading algorithm (still WIP)
* "minimal" damage is now below $50 M instead of $1 M
v20190203a:
+ Added part of the season saving algorithm (still WIP)
* Another change to how analysis environmental field data is stored to make saving/loading easier
v20190201a:
* Various optimizations to help with saving/loading
v20190131a:
+ Added some more data compression functions for aiding in saving/loading
* Environmental field data for analysis is now structured per-season to make loading more efficient
v20190129b:
* Fixed graphical glitch where generating a new basin after returning to the main menu rendered the new basin's land on top of the old basin's land
* Changed the "Back" button in the basin creation menu to a "Cancel" button in a more nice-looking position
v20190129a:
+ Added "Save* and Return to Main Menu" button in the in-sim menu
+ Added "Back" button in basin creation menu
v20190128a:
+ Added WIP menu in-sim for accessing various settings and features in upcoming updates
* Saving/loading now checks save format number for compatibility
v20190101a:
* Saving/loading test now autosaves partial basin data such as hemisphere and start year
v20181231a:
* Optimized data compression functions
* A few other preparations for adding saving/loading
v20181225a:
+ Added a couple functions for data compression purposes for saving/loading
v20181222a:
+ Added a basic test for basin saving/loading
> Saves just the seed of the latest basin generated
> The "'Load' From Seed (test)" button uses the saved seed to generate a new basin (does nothing if no seed is saved)
v20181218a:
+ Added a basin setting for the starting year of a simulation
> The default of "Current year" is the current Jan-Dec year for NHem and Jul-Jun year for SHem
v20181217a:
+ Added damage and deaths, including counters in storm and season stats
> The damage/deaths algorithm is rudimentary and may need change
v20181216a:
+ Added "Total ACE" counter to season stats
v20181215a:
+ Added "Jump to" button to side panel, which (while paused) "jumps" analysis to a specific point
> In season stats, jumps to the beginning of the targeted year
> In storm stats, jumps to when the targeted system first formed as a disturbance
v20181207a:
+ Added counter for category 5s in season stats
v20181203c:
+ Added arrow buttons to side panel for navigating through season stats
> Greyed out when viewing storm stats or if there is no season to navigate to
v20181203b:
+ Added viewing season stats in storm info side panel
> Click drop arrow button without storm selected to access
+ Added drop arrow button for toggling the side panel next to the pause button
> Replaces the side panel "X" for closing it
v20181203a:
* Cleaned up the code:
> Deleted defunct commented-out code
> Moved various functions from sketch.js to more appropriate files (including the newly-added misc.js)
v20181202a:
+ Added text wrapping for storm info panel
* constant-ified UI colors (plus some color tweaks)
* Storm info panel no longer directly tied to selected storm
> Now has its own "target" storm that changes in tandem upon clicking a storm icon
* Fixed glitch with mouse-hover over overlapping UI elements
v20181201a:
+ Added an "extended storm info" UI box accessible by clicking the info text in the upper right while a storm is selected
> Needs some work
v20181129a:
> Graduated /experiments!
* Renamed to "Cyclone Simulator"
* Appropriate adjustments to main menu
* Moved to new repository at a new URL
* Copied over required files from /experiments directly into this project's directory
v20181128a:
+ Added constants for title and version number
* Changed main menu title text to its final form for "Very Sad HHW Thing"/"Cyclone Simulator Classic"
v20181127a:
+ Added a help button (?) in the bottom-right which toggles a box containing keyboard controls
v20181125b:
* Adjusted jetstream and ULSteering fields slightly to make early and late-season a bit more active
v20181125a:
+ Added hemisphere selection button in new basin settings
* Made menu buttons shorter
- Removed stupid yellow text
v20181122a:
+ Added a main menu
> Currently only has a "New Basin" button and some silly text
* Some minor improvements to UI
v20181118a:
+ Added some now-commented-out bust attempt at improving the storm algorithm
* Tweaks to storm 'type' determination
* Normalized ranges for moisture field and storm organization to 0-1 rather than 0-100
v20181117a:
+ Added "depth" to storm algorithm to help with steering and recurve
* Fixed forecast track (the yellow dots) to follow upper-level steering
* Tweaks to storm algorithm
* Fixed jetstream misbehavior in SHem
v20181112a:
+ Added moisture/dry air environmental field
+ Added wind shear environmental field
+ Added new "coast outline" rendering for land for moisture field
* Large change to storm algorithm to make seasons less hyperactive and somewhat more realistic
> Looks to need to be ironed out quite a bit over the next few verisons
v20181111a:
* Big improvement to upper-level steering to make it less drunk and more realistic
v20181110a:
+ Added a currently-very-drunken upper-level steering field
* Storm steering algorithm changed to follow both upper and lower-level steering based on strength and if extratropical
> True "wind shear" not quite added yet as storms don't yet weaken
v20181109b:
+ Readded environmental wobble
* Optimized environmental fields for future saving & loading of basins
v20181109a:
* Changed snow-rendering algorithm for faster and more efficient rendering
v20181105a:
+ Added code for a graphical shader that gives land some shadows and visible depth
> Disabled until user settings are added since it increases render times
* Adjustments to SST anomalies to use a more logarithmic system, and have greater anomalies closer to the poles
* Definition SST values for equatorward and poleward edges at peak-season and peak-off-season moved to constants.js
v20181102a:
* Reworked land to work more efficiently with cleaner code
* SST map layers now render more nicely with the land and are now less laggy when the sim is running
* Clicking the map layer text/button in the bottom now rotates through the map layers
* The data displayed in the map layer button now shows that at the position of the selected storm if one is selected
> includes indicator for if the data is "@ mouse pointer / finger" or "@ selected storm"
> if the selected storm is not active at the time viewed in analysis, data for the mouse pointer / finger is displayed
v20181031a:
+ Added sea surface temperature
+ Added sea surface temperature anomaly
+ Added some UI at the bottom for environmental fields and map layers
* Fixed an accidental two "v"s in the version number
* Storm strength algorithm now takes SST into account
* Storms weaken faster upon landfall
* Steering tweaks
* "E" now rotates through 3 environmental fields: LLSteering, SSTAnomaly, and SST
v20181030a:
* Steering is now much less drunk
* Fujiwhara improvements
v20181028a:
+ Added a "Start" button when the sim loads, which will initialize the sim upon being clicked
> This is to help make things load faster, but is also for future user-customizable basin UI
+ Added graphical rendering for environmental fields
> Both plain-value and vector-based fields supported, rendering with colored tiles and arrows respectively
> Press "E" to rotate through the environmental fields, and back to "none"
> Currently, steering is the only environmental field, so "E" is more of a toggle for now
* Optimized the environmental field code for future environmental factors, including adding vector support for current steering
> Steering may have gotten yet more drunk for now
v20181026b:
* Fixed SHem steering behaving even more drunk than the NHem already is
> Both hemispheres still drunk; just SHem isn't as drunk
v20181026a:
+ Crikey mate! Added the southern hemisphere
> No whole-world added yet, so a basin is just one hemisphere or the other; 50/50 chance at generation
+ Added a 'basin' object and moved some variables there for future saving/loading and user management of basin settings
* Now displays "Land rendering..." while the land is rendering instead of holding the page in a loading cycle
v20181024b:
+ Added snow that changes with the time of year for aesthetics
> Snow depends on both elevation and latitude to give a realistic look
* Cleaned up code for colors so they're actually defined in constants.js, and made land colors less hardcoded
v20181024a:
* Changed land colors to make land look better
* Changed how selected storm outlines are drawn to make them look better
* Split the code into multiple files to begin some cleanup and refactoring
* Some attempt at fixing subtropical cyclones so they're less nonexistant
* Slightly lowered spawn rate
* Land generation is now seeded with the time, which is stored in a "seed" variable
v20181015a:
+ Added a makeshift "track forecast" to selected storms; yellow dots show where the storm might go (is often wrong!)
v20181014a:
* Fujiwhara tweaked to make stronger storms and extratropical systems more "dominant" in the interaction
* Simulation speed now works in powers of 2, with a 6th speed option added
> Full-Speed, Half-Speed, 1/4 Speed, 1/8 Speed, 1/16 Speed, and 1/32 Speed
* When a storm is selected, only the selected storm's track shows
v20181013a:
+ Readded subtropical storms, using different mechanics
+ Added fujiwhara interaction (Might need tweaking)
* Changed C4 and C5 colors
* Analysis now shows all systems, tropical and not, throughout a season
* Only TCs now show tracks, including precursors and remnants
v20181004a:
* Made steering completely drunk for the moment (will be fixed)
* Changed canvas dimensions to 960x540 as to fit a 16:9 aspect ratio
- Temporarily removed subtropical storms
> System behavior hasn't yet changed, but they're just classified as extratropical, thus expect E5s
v20180810a:
+ Added clickable UI elements/buttons, opening the door for more possibilities in this sim along with better mobile compatibility
+ Added a pause button, which works alongside the existing "space"
> The indicator text also functions as an extension of the pause button when a storm isn't selected
+ Added a date navigator UI, which can be accessed by clicking the time in the upper left
> Using the arrow buttons, you can jump through analysis by the year, month, day, or advisory increment (6 hours)
> The arrow keys still work alongside this new UI
+ Added rudimentary seasonal activity; storms should now be more common and stronger in September than in January
* Some tweaks to steering
v20180731a:
+ Added environmental steering; may need some work
* Some adjustments to storm strength algorithm
* Spawning frequency and ranges adjusted
v20180729a:
+ Storms now keep track of their peak intensity (by pressure), including all associated data at the point of peak intensity
+ Added ACE
* Inactive selected storms now display their full name as of peak intensity, plus ACE
* You can now hold down the arrow keys in analysis to quickly move backwards and forwards
v20180728b:
+ Added 5 different simulation speed levels: Full-Speed, Half-Speed, 1/3 Speed, 1/4 Speed, and 1/5 Speed
> Press "[" to slow the simulation down and "]" to speed the simulation up
+ Added indicator in the upper-right (when a storm is not selected) for simulation speed and if the sim is paused
v20180728a:
+ Added subtropical and extratropical storms
> Spawn extratropical systems with "x"; subtropical storms cannot yet be spawned
+ Added pressure; wind speed is now based on pressure
+ Added a temporary environmental gradient for determining extratropical vs. subtropical vs. tropical
+ Added clicking storms to select them; selected storms appear with a white outline and display info in the upper-right
+ Added all 6 name lists plus Greek alphabet, which should rotate appropriately through a 6-year cycle
* Big refactor to make more-efficient classes for future saving and loading basins
* "Lows" are now specifically "tropical waves" as opposed to extratropical lows
* Storms now spawn in one of two locations based on if they're extratropical or a tropical wave
* Strengthening/weakening algorithm changed significantly for handling new extratropical and subtropical systems
v20180721a:
+ Added analysis, allowing you to see history of the sim by pausing and pressing the left and right arrow keys to move forward and backward through time
> Unpause (or press "A" for single-tick advance) to return the time to the present without spamming the right arrow key
+ Added some code for "seasons" (quite unfinished)
+ Added lows, which are anything below 20 mph, which was where storms died before
> Storms now die when they drop below 0 mph
> Hold "L" and click to spawn a low
* Tracks now disappear as soon as a storm dies, but it can still be seen in analysis
* Storm icons are now rendered with a method of the StormSystem class to make analysis work more easily
v20180719a:
* Fixed mouse events blocking default browser actions when cursor is outside the canvas, which made it impossible to access the changelog using the link (sorry)
* Fixed first segment of tracks not rendering immediately
v20180718b:
* Storms are for now named with a continuously looping 2022 Atlantic hurricane name list (Will be changed)
* Tracks are no longer rendered every frame, but only when needed, making the sim run faster
- Removed tracks dissappearing when the framerate drops below 25 fps, as it's no longer needed thanks to the improvement above
v20180718a:
+ Added names:
> Depressions recieve a number with the suffix "H" for "Hypothetical"
> Named storms are all named "Unnamed", as this is incomplete
+ Added code for environment factors such as "shear" and "SSTAnomaly", but are not in use yet
* Changed each simulation tick from 30 minutes to an hour:
> Storms now move twice as fast as seen by the viewer, although they move at the same speed in simulation time
> Strengthening/weakening code is still the same per-tick, so behavior has changed somewhat
* The time in the upper left uses a slightly different format now
* Fixed keyboard events blocking default browser actions like "F5" for reload or "F12" for javascript console, except in cases involving keys used for the simulation ("space" doesn't scroll the page down)
v20180713a:
+ Added pausing using "space"
+ Added a date counter; currently serves no purpose
+ Added spawning using the keyboard and mouse:
> Hold "D" and click to spawn a tropical depression
> Hold "S" and click to spawn a tropical storm
> Hold "1" and click to spawn a category 1 hurricane
> So on for keys "2" through "5"
+ Added stepping one frame (30 sim-minutes) at a time while paused using "A"
+ Added a method to display storms' windspeeds underneath them, enabled using "W"
* Changed land rendering to better show height
* Fixed(?) issues involving higher-definition display devices
* Tracks of dead storms now disappear whenever the framerate drops below 25 fps, not just after their timeout
* Changed canvas dimensions to 1100x500
* Tweaked land generation
% Added moment.js for date and time calculations and display
v20180712a:
+ Added land, which weakens storms
* Made tracks thicker
* Actually added the CSS and version number to make this consistent with my other experiments
* Changed rendering so storm symbols always render above tracks
* Slight tweak to storm strength calculation besides land interaction
v20180709a:
+ Initially created a simple hurricane simulator without much regard to realism, nor any land
% Using p5.js for the first time for any of my experiments