Archipelago/docs
BadMagic100 218f28912e
Core: Generic Entrance Rando (#2883)
* Initial implementation of Generic ER

* Move ERType to Entrance.Type, fix typing imports

* updates based on testing (read: flailing)

* Updates from feedback

* Various bug fixes in ERCollectionState

* Use deque instead of queue.Queue

* Allow partial entrances in collection state earlier, doc improvements

* Prevent early loops in region graph, improve reusability of ER stage code

* Typos, grammar, PEP8, and style "fixes"

* use RuntimeError instead of bare Exceptions

* return tuples from connect since it's slightly faster for our purposes

* move the shuffle to the beginning of find_pairing

* do er_state placements within pairing lookups to remove code duplication

* requested adjustments

* Add some temporary performance logging

* Use CollectionState to track available exits and placed regions

* Add a method to automatically disconnect entrances in a coupled-compliant way

 Update docs and cleanup todos

* Make find_placeable_exits deterministic by sorting blocked_connections set

* Move EntranceType out of Entrance

* Handle minimal accessibility, autodetect regions, and improvements to disconnect

* Add on_connect callback to react to succeeded entrance placements

* Relax island-prevention constraints after a successful run on minimal accessibility; better error message on failure

* First set of unit tests for generic ER

* Change on_connect to send lists, add unit tests for EntranceLookup

* Fix duplicated location names in tests

* Update tests after merge

* Address review feedback, start docs with diagrams

* Fix rendering of hidden nodes in ER doc

* Move most docstring content into a docs article

* Clarify when randomize_entrances can be called safely

* Address review feedback

* Apply suggestions from code review

Co-authored-by: Aaron Wagener <mmmcheese158@gmail.com>

* Docs on ERPlacementState, add coupled/uncoupled handling to deadend detection

* Documentation clarifications

* Update groups to allow any hashable

* Restrict groups from hashable to int

* Implement speculative sweeping in stage 1, address misc review comments

* Clean unused imports in BaseClasses.py

* Restrictive region/speculative sweep test

* sweep_for_events->advancement

* Remove redundant __str__

Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>

* Allow partial entrances in auto indirect condition sweep

* Treat regions needed for logic as non-dead-end regardless of if they have exits, flip order of stage 3 and 4 to ensure there are enough exits for the dead ends

* Typing fixes suggested by mypy

* Remove erroneous newline 

Not sure why the merge conflict editor is different and worse than the normal editor. Crazy

* Use modern typing for ER

* Enforce the use of explicit indirect conditions

* Improve doc on required indirect conditions

---------

Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: alwaysintreble <mmmcheese158@gmail.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
2024-12-27 21:04:02 +01:00
..
img Docs: adding games rework (#2892) 2024-03-29 01:31:59 +01:00
network diagram Docs: Revise all docs mentioning Lua in EmuHawk (which are in English), and other misc. corrections (#1782) 2023-06-26 08:53:44 +02:00
CODEOWNERS Inscryption: Implement new game (#3621) 2024-12-21 23:12:35 +01:00
adding games.md Docs: adding games rework (#2892) 2024-03-29 01:31:59 +01:00
apworld specification.md Docs: minor updates to recommend modern PEP8 (#2384) 2023-11-15 17:07:42 +01:00
apworld_dev_faq.md Docs: add description of Indirect Condition problem (#4295) 2024-12-12 21:24:38 +01:00
code_of_conduct.md Docs: code_of_conduct.md (#1350) 2023-01-07 10:24:41 +01:00
contributing.md Core: purge py3.8 and py3.9 (#3973) 2024-11-27 03:28:00 +01:00
entrance randomization.md Core: Generic Entrance Rando (#2883) 2024-12-27 21:04:02 +01:00
network protocol.md Core: Reword item classification definitions to allow for progression + useful (#3925) 2024-12-25 21:47:51 +01:00
options api.md DOCS: Option Visibility and removing SpecialRange (#3889) 2024-09-05 21:18:58 +02:00
running from source.md Docs: Use ModuleUpdate.py #3785 2024-12-12 20:30:49 +01:00
settings api.md Core, Webhost, Docs: Replace all usages of player settings (#3067) 2024-04-06 19:25:26 -04:00
style.md Docs: style: multiline brackets (#3143) 2024-04-20 19:42:27 -05:00
tests.md Docs: Update Information about Running Unittests (#4093) 2024-10-28 19:47:08 +01:00
triage role expectations.md Docs: Triage role expectations documentation. (#2325) 2023-10-18 15:11:25 -05:00
webhost configuration sample.yaml WebHost: Set Generator memory limit to 4GiB (#4319) 2024-12-10 02:44:41 +01:00
world api.md Core: Reword item classification definitions to allow for progression + useful (#3925) 2024-12-25 21:47:51 +01:00
world maintainer.md Docs: Removing #archipelago-dev from places (#3876) 2024-09-05 22:55:19 +02:00