mirror of
https://github.com/ArchipelagoMW/Archipelago.git
synced 2026-03-22 07:35:37 -07:00
Create a new class that handles conversion worlds+embedded -> context data. Create a derived class that uses static_server_data+pony instead. There is also a not very efficient feature to deduplicate strings (may need perf testing). By moving code around, we can simplify a lot of the world loading. Where code lines were touched, some typing and some reformatting was added. The back compat for GetDataPackage without games was finally dropped. This was done as a cleanup because the refactoring touched those lines anyway. Also reworked the per-context dicts and the RoomInfo to hopefully be more efficient by ignoring unused games. (Generating the list of used games was required for the new code anyway.) Side effect of the MultiServer cache: we now load worlds lazily (but still all at once) and don't modify the games package in place. If needed we create copies. This almost gets us to the point where MultiServer doesn't need worlds - it still needs them for the forbidden items. There is a bonus optimization that deduplicates strings in name_groups that may have bad performance and may need some perf testing if we run into issues.
WebHost
Asset License
The image files used in the page design were specifically designed for archipelago.gg and are not covered by the top
level LICENSE.
See individual LICENSE files in ./static/static/**.
You are only allowed to use them for personal use, testing and development.
If the site is reachable over the internet, have a robots.txt in place (see ASSET_RIGHTS in config.yaml)
and do not promote it publicly. Alternatively replace or remove the assets.
Contribution Guidelines
Pages should preferably be rendered on the server side with Jinja. Features should work with noscript if feasible. Design changes have to fit the overall design.
Introduction of JS dependencies should first be discussed on Discord or in a draft PR.
See also docs/style.md for the style guide.