From 76b539cf307008483b5daba171db7393e3e5a577 Mon Sep 17 00:00:00 2001 From: Vasilis Date: Fri, 29 Sep 2023 19:15:22 +0200 Subject: [PATCH 01/41] SS14.Watchdog setup: Remove partial clone sugestion (#68) --- src/en/server-hosting/setting-up-ss14-watchdog.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/en/server-hosting/setting-up-ss14-watchdog.md b/src/en/server-hosting/setting-up-ss14-watchdog.md index cce9cc001..892218ea0 100644 --- a/src/en/server-hosting/setting-up-ss14-watchdog.md +++ b/src/en/server-hosting/setting-up-ss14-watchdog.md @@ -31,8 +31,8 @@ Both of these can be found at the [.NET 6 download page](https://dotnet.microsof The following set of commands should build the Watchdog on a Linux system. You'll have to adjust it according to your actual system, of course. ``` -# Download the SS14.Watchdog repository and any submodules/etc (but not their history). -git clone --recursive --depth=1 https://github.com/space-wizards/SS14.Watchdog +# Download the SS14.Watchdog repository and any submodules/etc. +git clone --recursive https://github.com/space-wizards/SS14.Watchdog # Switch into the SS14.Watchdog directory. cd SS14.Watchdog From 3a2b95b8b1af61ad3a3fe26e296a05496c186e40 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Fri, 29 Sep 2023 11:30:31 -0700 Subject: [PATCH 02/41] Add progress report creation doc (#69) --- src/SUMMARY.md | 1 + src/en/community/progress-report-creation.md | 30 ++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 src/en/community/progress-report-creation.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 9c37e3f09..f15158daf 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -167,3 +167,4 @@ Community - [Admin Command Cookbook](en/community/admin/admin-tooling/admin-command-cookbook.md) - [Wizards Den Admin Policy](en/community/admin/wizards-den-admin-policy.md) - [Wizards Den Banning Policy](en/community/admin/wizards-den-banning-policy.md) +- [Progress Report Creation](en/community/progress-report-creation.md) diff --git a/src/en/community/progress-report-creation.md b/src/en/community/progress-report-creation.md new file mode 100644 index 000000000..dc518d316 --- /dev/null +++ b/src/en/community/progress-report-creation.md @@ -0,0 +1,30 @@ +# Progress Report Creation +*A short handbook about making a progress report.* + +### Checklist +- Set an explicit start- & end-date of contributions you want to outline. +- Create a Trello board based off of the Progress Report Trello Template. +- Run the [tool](https://github.com/space-wizards/github2trello) to generate Trello cards for every Content/Engine pull request. Note that Content PRs without changelogs will be skipped. +- Organize the cards into their columns as you see fit. +- Write descriptions for every card. +- Combine the card contents into a markdown file based off of the Progress Report Markdown Template, but be sure to update the PR number. +- Ask PJB for the Patrons list. +- Add the contributors list, see below. +- Replace/remove names as stated [here](https://github.com/space-wizards/space-station-14/blob/master/Tools/contribs_shared.ps1). +- Put the markdown file into `website-content/content/post`. Images go in a new `website-content/static/images/post/pr_[number]` directory and videos go in a new `website-content/static/video/pr_[number]` directory. +- Create PNGs and MP4s for every section that needs them. +- Run [this script](https://github.com/space-wizards/website-content/blob/master/Tools/pr-image-convert.ps1) in the directory with all of the PNGs. Requires [ImageMagick](https://imagemagick.org/index.php) and [optipng](http://optipng.sourceforge.net/). +- Make a thumbnail (800x450) PNG and put it in `website-content/assets/images/thumbnails`. +- Create a pull request on the [website repo](https://github.com/space-wizards/website-content). Give everyone a chance to review it for a couple days, then merge at the same time as you release it. + +### Datasources +- List of all contributors with the following command: `git shortlog -s -n --since= --until=`. +- Commit-count: `git rev-list --count master --since= --until=`. + +### Places to Release +- Website. Automatically published when the pull request to `website-content` is merged. +- Steam (bug PJB or Smug). +- Discord. +- Patreon (bug PJB). +- Reddit (r/ss13, r/ss14, & r/linux_gaming). +- Twitter (bug PJB or Smug). From af4cfff9dffb44556dbd756be0907a09eff8595a Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Fri, 29 Sep 2023 11:32:34 -0700 Subject: [PATCH 03/41] Add 2023-09-23 maintainer meeting notes (#59) --- .../maintainer-meeting-2023-09-23.md | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-09-23.md diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-09-23.md b/src/en/maintainer-meetings/maintainer-meeting-2023-09-23.md new file mode 100644 index 000000000..591976cb8 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-09-23.md @@ -0,0 +1,67 @@ +# Maintainer Meeting (23 Sep 2023) + +**Time:** 23 Sep 2023 18:00 UTC + +**Attendees:** +- EmoGarbage +- ElectroSR +- Visne +- DrSmugleaf +- notafet +- Lank +- Visne +- Julian +- Jezithyr +- Chief_Engineer +- PJB (hiiiiiiiiiiiiiiiiii) +- mirrorcult +- TheQuietOne +- miku +![miku](https://media.discordapp.net/attachments/813722892948733982/1155204273777422366/miku.png) +- moony +- Slava0135 +- ShadowCommander + +## Change ToString & Parse for EntityUid or NetEntity | ElectroSR +- Commands that take either are now ambiguous, how do we differentiate between them +- **All commands should take NetEntity** +- What do we do for command output + - **NetEntities should be the one getting presented to the user most of the time** + - **e for EntityUid** + - **n for NetEntity** + - **c for client-side** + +## Remove transparent / non-occluding containers for sprites | ElectroSR +- Right now they can not occlude lights and not occlude sprites. +- **Force containers to always occlude sprites.** +- **Wish we could put containers in content instead.** + +## DERAILMENT: Containers as entities, how do we do it? +- **Entities with ContainerComponent and ContainerSlotComponent.** + +## Entity categories | ElectroSR +- **they are good** + +## Early Access Roadmap +- **nothing on this roadmap matters except early access trailer.** +- A trailer for Steam + - Also the >>>>**screenshots**<<<< for steam and the website + - holy shit we have **replays** now +- gamemodes/antags + - dynamic [c#16548](https://github.com/space-wizards/space-station-14/pull/16548) + - revolutionaries [c#18477](https://github.com/space-wizards/space-station-14/pull/18477) + - wizard +- The game runs like shit how do people play this + - "I only played VRChat since last time and VRChat runs like shit so I don't know how people play this" | 23/09/2023 + + +Crashes / Critical bugs: (when are we moving these to GitHub) +- Crashes the server reliably. +- Something that bricks your client often (needs a client restart). + - Example: Blackscreens the client until you reconnect. +- If something ruins the round and is disabled because of it. + - Example: Communal lung bug. +=> till next time +like and subscribe +smash that button +~~did you know only 6% of contribs join this meeting?~~ According to YouTube's statistics, From a8ef6bcdc00a314758c18c2312c839915fccb83c Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Fri, 29 Sep 2023 11:32:42 -0700 Subject: [PATCH 04/41] Add instructions for publishing a new RobustToolbox version (#60) --- src/SUMMARY.md | 1 + .../publishing-robusttoolbox.md | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 src/en/robust-toolbox/publishing-robusttoolbox.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index f15158daf..964107986 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -91,6 +91,7 @@ Robust Toolbox - [Build Configurations](en/robust-toolbox/build-configurations.md) - [Preprocessor Defines](en/robust-toolbox/preprocessor-defines.md) - [MIDI](en/robust-toolbox/midi.md) +- [Publishing a new version](en/robust-toolbox/publishing-robusttoolbox.md) Space Station 14 ================ diff --git a/src/en/robust-toolbox/publishing-robusttoolbox.md b/src/en/robust-toolbox/publishing-robusttoolbox.md new file mode 100644 index 000000000..137703d2d --- /dev/null +++ b/src/en/robust-toolbox/publishing-robusttoolbox.md @@ -0,0 +1,24 @@ +# Publishing RobustToolbox + +```admonish info +These instructions are a step-by-step guide for engine maintainers to follow. +``` + +1. Open a terminal in the RobustToolbox directory (`cd RobustToolbox` if you are in the space-station-14 directory) +2. Fetch latest master (`git fetch https://github.com/space-wizards/RobustToolbox.git`) +3. Checkout the remote master branch (`git checkout -B master upstream/master`, WITH capital 'B' to overwrite master) + - This step will overwrite your local `master` branch with the remote one. +4. Run version.py (`python ./Tools/version.py 0.1.0`, where 0.1.0 is the version number you want, WITHOUT 'v') + - If you use `py` instead on Windows it might not work due to the python microsoft store alias. +5. Push your commit and tag to RobustToolbox (`git push` and `git push https://github.com/space-wizards/RobustToolbox.git v0.1.0`, WITH 'v') + - Do NOT run `git push --tags` as that will push every tag you have locally, even those that have been deleted. +6. Go back into the content directory (`cd ..`) +7. Checkout a new branch (`git checkout -b update/robust-0.1.0`) +8. Commit the engine change (`git commit RobustToolbox -m "Update RobustToolbox"`) +9. Push your branch (`git push`) +10. Open a PR to the content repository and merge it. + +```admonish warning +It is always a good idea to run the game with the new engine version before publishing it and merging the PR, to check that everything still works. +You can also run tests locally with "dotnet test" as that will be faster than waiting for them to run on the GitHub workflows. +``` From 1c28cecbb8415fe895f3ebbfbe0022f0dc37f6b0 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Fri, 29 Sep 2023 21:53:59 -0700 Subject: [PATCH 05/41] Add .idea/ to .gitignore I am allergic to using VSCode for anything --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7585238ef..d47934e47 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ book +.idea/ From 88797b6155cd99bc035e6a8c54464446b68b6447 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Fri, 29 Sep 2023 22:48:36 -0700 Subject: [PATCH 06/41] Add 2021 maintainer meeting notes --- .../maintainer-meeting-2021-09-19.md | 287 ++++++++++++++++++ .../maintainer-meeting-2021-10-02.md | 116 +++++++ .../maintainer-meeting-2021-10-16.md | 134 ++++++++ .../maintainer-meeting-2021-10-30.md | 206 +++++++++++++ .../maintainer-meeting-2021-11-13.md | 111 +++++++ .../maintainer-meeting-2021-11-27.md | 123 ++++++++ .../maintainer-meeting-2021-12-11.md | 232 ++++++++++++++ 7 files changed, 1209 insertions(+) create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2021-09-19.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2021-10-02.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2021-10-16.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2021-10-30.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2021-11-13.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2021-11-27.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2021-12-11.md diff --git a/src/en/maintainer-meetings/maintainer-meeting-2021-09-19.md b/src/en/maintainer-meetings/maintainer-meeting-2021-09-19.md new file mode 100644 index 000000000..92b37a125 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2021-09-19.md @@ -0,0 +1,287 @@ +# 2021-09-19 - Maintainer Meeting Notes +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +Attendees: +Paul +Smug +Silver +Vera +PJB +Shadow +Mirrorcult + +# Overall Summary + +Next Meeting Items: +- have a moderator +- buy pjb a MoMMI plushie for the meetings +- less ideaguying, more concrete topics + +Action Items: +- combat and disarm shouldn't be actions +- PJB fix UI (or anyone else) +- multi hotbar (switching with shift+num) should be optional, so it isn't used accidentally. +- add the ability to perform actions from the Action List Menu +- Resolve should assert UIDs match in debug only. +- Code wide-chat. +- add as an optional UI style. +- Code Shuttles first. Revisit this after. +- Fix Ui for lathes and research +- Investigate better research server sync mechanic +- Delete research code. Maybe from memory too +- Investigate KSP style point return +- Investigate Point Types +- Balance point receiving mechanics. +- Add Debug Only UI for errors. Make it on HUD and hard to miss on debug +- Enforce naming things OnX instead of HandleX. Use OnEntityEvent vs HandleEntityEvent etc +- Investigate how shuttles would be created. +- Shuttles should be able to fly and warp between z levels +- Investigate Shuttlebombing as a problem. +- admin tools and logging +- EU/US Biweekly playtests. +- split game admins to EU/US +- Three month limit on progress reports. +- Two month minimum for progress reports. +- Fix Slow Tests. Fix Test framework to be fast and cancer free +- Write Docs on how to write Tests +- what should have required tests: medium to large changes, systemchanges +- Write docs for ss13 dev transitioning like system xyz and you or byond to C# for byond refugees +- YAML Real time Linter. Language server +- GOTO YAML +- XAML Linter hot reloading, Previewing +- Fluent Linter +- Custom editor for yaml prototypes/constructiongraphs. +- worldline debugging +- save states +- test pooling + +# Individual Discussions + +## Action Bar +**Summary: Actions should be used for item actions & spells etc. Combat & Disarm just dont really belong there.** + +Discussed Items: +- using is a pain (especially combat & disarm action) +- combat is so specific it should just be a button +- alt click should be disarm in combat mode +- ui broken (pjs fault) +- Having to bind "scream" (for example) to the bar to use it is dumb. Specially if you're only gonna use it once or on special occasions. + +Action Items: +- combat and disarm shouldn't be actions +- PJB fix UI (or anyone else) +- multi hotbar (switching with shift+num) should be opt in so it isn't used accidentally. +- being able to perform actions from the Action List Menu + +(18:12 -- People distracted by SS14 in-game chess)(they lost btw) +(18:16 -- PJB can smell her dinner already. Oh no.) + +## Entity System Method Resolves +Summary: Everyone agreed that ES resolution works fine now. Resolve testing only in debug should assert matching UIDs between server and client. + +Discussion Items: +- Everyone seems to agree that this is the cleanest way to do it? +- resolve should assert that the entity UIDs match so components don't get mixed. (but only in debug!!) + +Action Items: +- Resolve asserting UIDs match in debug. + +## Wide-chat UI +Summary: code it as an option, leave it off by default, evaluate maybe making it default later. + +Action Items: +- Code wide-chat. +- add as an optional UI style. + +## Salvage Crew +Summary: Code Shuttles. Revisit afterwards. + +Discussion Items: +- do we really wanna focus on this right now? +- probably want shuttles & docking first + +Action Items: +- Code Shuttles first. Revisit this after. + +## Research +Summary: Code Shuttles. Revisit afterwards. + +Discussion Items: +- UI for lathes and research is bad +- the code and syncing with the server is bad +- ctrl+a backspace the code +- can I ctrl+a backspace it from my memory? +- KSP-style diminishing point returns? +- different types of points? +- avoid continuous points source or make sure they're not op + +Action Items: +- Fix Ui for lathes and research +- Investigate better research server sync mechanic +- Delete research code. Maybe from memory too +- Investigate KSP style point return +- Investigate Point Types +- Balance point receiving mechanics. + +(18:27 -- pjb announces there is a meteor swarm (AND CARP) on station)(now xenos) + +## Exception tolerance in debug +Summary: We need a debug ui that shows errors + +Discussion Items: +- a debug-only ui that shows the errors that occur (make it obvious) +- yes exception tolerance + +Action Items: +- Add Debug Only UI for errors. Make it on HUD and hard to miss on debug + +## Minor formatting naming like OnEntityEvent vs HandleEntityEvent. +Summary: Format Naming Discussion for OnX vs HandleX prefixes. Use OnX. + +Discussion Items: +- on- because it's shorter + +Action Items: +- Enforce naming things OnX instead of HandleX. Use OnEntityEvent vs HandleEntityEvent etc + +## Shuttle +Summary: Investigate Creation, Flying, Warping and Shuttlebombing. + +Discussion Items: +- how would players create a shuttle? +- cargo shuttle should be autonomous/untamperabler +- shuttles should be able to fly and "warp" (go between z levels) +- not sure how to handle remote shuttle control. Necessary for latejoin miners but abusable if shuttle not static (can get lost) +- shuttle bombing limited damage + +Action Items: +- Investigate how shuttles would be created. +- Shuttles should be able to fly and warp between z levels +- Investigate Shuttlebombing as a problem. + +## Scheduling Playtests +Summary: Playtest Scheduled for every two weeks. We will have US/EU seperated. + +Discussion Items: +- our current game admins are... slightly uncommited +- we desperately need admin tools & logs +- we're not building a community, but recruiting admin ties into this +- we should get a roadmap to see when we're ready for building a community? +- do one us & one eu time, biweekly +- split eu and us game admin + +Action Items: +- admin tools and logging +- EU/US Biweekly playtests. +- split game admins to EU/US + +## progress reports +Summary: Playtest Scheduled for every two weeks. We will have US/EU seperated. + +Discussion Items: +- PJB proposed smaller progress reports every now and then +- Having a "max amount of time between progress reports" was discussed +- Releasing a progress report before playtests was discussed +- need better way to keep track of stuff for progress reports +- robust film maker ??? + +Action Items: +- Three month limit on progress reports. +- Two month minimum for progress reports. + +(19:11 -- PJB mentioned how Unitystation gets more upvotes than us on Reddit. All hell broke loose.) + +(19:15 -- Vote is held for progress report time. using discord reactions :clap: :clap:) +result: six weeks won with 7 votes. +or not +ok +MORE wins 2months + +(19:20 -- PJB screwed up the voting reaction order, we just realized. Some people voted wrongly due to this. Laughs were had. curtains roll, exit stage left. ) + +(19:24 -- PJB: "Discord screwed up the order don't blame me") + +(19:25 -- PJB said "I'm hungry" and left. Just like that.) + +## CI/Testing +Summary: Playtest Scheduled for every two weeks. We will have US/EU seperated. + +Discussion Items: +- Speed is a concern with CI. Integration tests are very slow. + But why are they slow: because they we reuse the server + -> we need to have a possiblity to reset the server instead of making a new one + they are also not pooled/multithread. +- they are also ass to write, which means its alot of effort. + write docs on how to write tests +- make it not cancer + +Action Items: +- Fix Slow Tests. Fix Test framework to be fast and cancer free +- Write Docs on how to write Tests +- what should have required tests: medium to large changes, systemchanges + +## Reaching out to (ss13) devs +Summary: Playtest Scheduled for every two weeks. We will have US/EU seperated. + +Discussion Items: +- mirror wants to make docs specifically for ss13 devs: + here is what it looks like in byond, here is what it looks like in ss14. helping devs transitions +- passively attract devs by helping them transition, dont poach people +- more "system xyz & you" + +Action Items: +- Write docs for ss13 dev transitioning like system xyz and you or byond to C# for byond refugees + +## Tooling!!!! that doesnt suck ass +Summary: Playtest Scheduled for every two weeks. We will have US/EU seperated. + +Discussion Items: +- yaml goto, real time linter. language server +- xaml linter, (preview), hotreload, not make it ass for vs, automatically call robustxamlloader.load(this) +- ref events are ass to work with + have an analyzer/attribute? name it a specific way? +- ftl linter, markup +- editor for yaml, prototypes, constructiongraphs. in-engine? per command? +- worldline debugging (@pjb) +- save state of game to save ourselves from redoing testing enviroments all the time +- do a doc in ss14docs for this (tooling ideas) +- TEST POOLING (WIP) + + +Action Items: +- YAML Real time Linter. Language server +- GOTO YAML +- XAML Linter hot reloading, Previewing +- Fluent Linter +- Custom editor for yaml prototypes/constructiongraphs. +- worldline debugging +- save states +- test pooling + +## Roadmap +Summary: Playtest Scheduled for every two weeks. We will have US/EU seperated. + +Discussion Items: +- + +Action Items: +- Law !@#!$>. +- Admin tools and logging +- Test suite fix +- Debugging (Debug ui, exception tolerance in debug) +- Tooling suite +- medbay +- traitor + +## Conclusion +Summary: for the next meeting, maybe have a moderator and less ideaguying, more concrete topics + +Discussion Items: +- + +Action Items: +- for the next meeting, maybe have a moderator +- buy pjb a MoMMI plushie for the meetings +- less ideaguying, more concrete topics diff --git a/src/en/maintainer-meetings/maintainer-meeting-2021-10-02.md b/src/en/maintainer-meetings/maintainer-meeting-2021-10-02.md new file mode 100644 index 000000000..082600ff8 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2021-10-02.md @@ -0,0 +1,116 @@ +# 2021-10-02 Maintainer Meeting +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +Attendees: +PJB +Vera +Paul +Smüg +Silver +Shadowcommander +Mirrorcult + +First topic: when are we playing spelunky arena mode + +## Vera: Standard for missing components in new resolve standard +right now they just fail silently and return +- log errors in the resolve, make it optional to disable + +## Sloth: Refactoring collision masks to something like source +because everyone stuffs them up +- sounds good go for it + +## Vera: mobs probably need a base mob prototype +yes +pj notes current species impl is bad +3 different prototypes per species -> should be one honestly +pj notes "eausugeuguegebgeyehmeh" +SS13 does 2 too the problem is that all the data is duplicated in the mob entity prototype SS14, SS13's is fine. + +## Vera: can we stop naming things base.yml +- may the odds be ever in her favor +- base_xyz.yml format + +## Vera: future of async interactions +- do_after() etc +- actions/callbacks instead? +- events can be serialized unlike async, but using events is more painful +- T E C H D E B T -> makes issue 2&>1 /dev/null + +## Mirrorcult: wiki.js docs & bi-directional git support +- git support for wiki.js docs so non-maintainers can contribute easier +- talk about more docs in general, how do we get em? enforce it? when do we enforce it? + - enforce for large prs. make required + - +- vera still salty about ECS document being grieffed smh :pensive: at below +- silver grieffed ECS omegalul +- paul discovers autoscrolling based on where you type in hackmd + +## Sloth: PVS performance because people lifted up the carpet and saw the termites +- serialization slow +- acruid missing +- remove player specific states -> ???? -> pvs fixed +- custom path for player specific states? + - have two events, one for common state and one for player-specific states +- pjb.speech_speed=120% + +## Playtest review +- bugs, perf. etc +- the gang gets ratiod by vera +- vera is in (s)pain +- tickets + - persistent +- mom and dad are fighting + +## Literally everyone: We need logging +- how do we persist: + - positions -> entitycoordinates, but not the literal type + - entities -> euid, name, prototypeid +- db stuff needs doing and paul is too dumb +- silver will check out grafana/loki pains + +## SS14.Admin experience +- what stats to display +- have one place to view logs +- access to admin panel? + +## Progress Report +- opendream & shuttles in next pr +- look over contents +- deadline: soon:tm: + - yes pls soon I want tg walls and byondchat +- [PR link](https://github.com/space-wizards/website-content/pull/19) + +## Sloth: The big shuttle bonanza +#### How to thrust +- Should thrust be related to the position of the thruster, especially for angular velocity i.e. should it be perpendicular? + - Should thrusters be smoothed to make w i d e t h r u s t +- How should thrusters be obtainable +- What should the driving UI look like, radar like raft / baro? Controls? Access locked? +- Should it be possible to rotation-lock to make driving something like an escape pod easier +- Shuttle collisions, minimum velocity / mass / effects (I think last time we talked about it was a couple tiles destruction max) +- Speedcap? +- Which sprite set are we using (eris?) Should we support additional stuff like wings +- how should ship guns work +#### How to dock +- Do we actually want grid merging vs just attaching it via a joint. Gonna have the eventbus flooded with the grid change (parenting events) +- Somewhat related: Floyd mentioned having a salvage shuttle that tows stuff in rather than using something like a tractor beam +#### Balance questions +- How many thrusters to move an average size +- S H U T T L E BOMBING + +#### GitHub Projects, Discussions +- Discuss how bad they are. +- GitHub Discussions is where ideaguys go to die. + - Vera: YEET + - salvage, then yeet +- Why tf did Paul create https://github.com/orgs/space-wizards/projects/6hh + - i propose raising the debt ceiling. all in favor say aye + +## Meeting review +what could be done better in terms of moderating? +- make sure pjb eats dinner before meeting X3 +- play jackbox after next meeting +- play xonotic *during* meeting diff --git a/src/en/maintainer-meetings/maintainer-meeting-2021-10-16.md b/src/en/maintainer-meetings/maintainer-meeting-2021-10-16.md new file mode 100644 index 000000000..14ed17882 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2021-10-16.md @@ -0,0 +1,134 @@ +Maintainer Meeting Notes - Date: 16.10.2021 += +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +Attendees: +PJB +Paul +ShadowCommander +Vera +Zoldorf +DrSmokeleaf +RemieRichards +Mirrorcult (last 2) + +## A plan for release | Mirror +do we feature freeze, keep going as a standalone thing and let forks take over? +- will /veegee/ steal PJB back? idk +- pjb doesnt like trees +- we will continue to develop the official game + +18:07 -- My cookies are already gone. Oh no. WHATTAAMAGONNADO??? 🍪 + +## Game admins, we need em | Mirror +server population is picking up. we should probably look for more admins if we can. +- we really needs logs before we do this +- also other admin tools + - logging + - jobbans + - notes + - improve ahelps when we have logging & have them link to a private discord + - Teleport Here and Jump to Player but not ass + - click author name of a message to open a context menu, jump to them @PJB for the functionality for buttons in chat +- new admins are gonna ragequit because the lack of admintools +- all gameadmins are basically inactive, delete role + + +## Discord channel mosh pit +- we have info spread throughout #rules-info, #faq, #annoucements, #progress-reports + - team agrees its fine, but move faq to website & link to it from #rules-info +- internal channels. its mostly not even for development, more like a meta-gang of friends, so the "contributor" might be a bit misleading + - VIP: Assigned on discretion. Internal channels (secret-ss14, secret-offtopic, vidya-gamers) + - Contributor: ""Automatic"" role after 1 PR. Access to #actual-development #progress-reports #role-assign #important-info + - Move gamer role from role-assign to vidya-gamers + - Have patreons & contributors have access to patreons????????????? + - ~~maybe have a seperate discord for developing in the future~~ + + +## Rotation bug funnies | Sloth +Spawning the station rotated to better spot obvious rotation bugs +- sure +- this is terrible for map diff renderer + - you know the emoji disintegrating gif where it has the funny loading icon? that + ![](https://i.imgur.com/s3it1jC.gif) + - Deal with it + + +## Popup/Prompt standard | Shadow, Mirror +- which side confirm & cancel goes to + - confirm right + +Windows: +![](https://cdn.discordapp.com/attachments/811718327579443230/898977474027864154/unknown.png) +MacOS: +![](https://developer.apple.com/library/archive/documentation/LanguagesUtilities/Conceptual/MacAutomationScriptingGuide/Art/dialog_simple_2x.png) +Ubuntu: +![](https://i.stack.imgur.com/tj9Fm.png) +KDE: +![](https://develop.kde.org/deploy/kdialog/yesnowarning.png) +- have a simplified way to create them + - pjb hates em. "really does not like them" extreme hatred "input dialogs everywhere" + - pjb made a spooky sound... she scares me + - AaAAaaAAAaaaaaAAAAaAAA! + - mom pick me up im scared + - just saw a blue vera gradient in pjb's krita recent files, d'aw. + +- solution: have "popups" that expand out of stuff like the examine window or: + ![](https://i.imgur.com/iT2WuEo.png) + + +#### This is already in, woo +~~## Status effects framework & event handling | Vera~~ +~~- We might wanna code a general framework for status effects. Discuss what we need.~~ +~~- Certain status effects should probably be components so handling events with them isn't bad~~ + + +## Runtime? Variant? Strains? Seed prototypes :chart_with_downwards_trend: | Vera +some systems depend on getting roundstart prototypes and modifying those (by creating variants). this should be standardized to not become a massive mess +- a +- conversation has gone off-rails :focus: +- codebase ain't prepared for YAML hot-reload... +- open git issue for this system +- sacrifice vera by rewriting seeds and then get ideas +- you know the emoji disintegrating gif where it has the funny loading icon? that + + +## Ancient Hardware vs. Compute Shaders | Paul, hopefully PJB +do we keep supporting ancient hardware or do we save ourselves the trouble and get nicer libs & nice new features +- veldrid +- benefits: pjb dies less daily, compute shaders +- downsides: pjb rewrites renderer, needs to be rewritten anyways +- pjb: might be possible to keep opengl and rewrite renderer to be onpar +- ancient hardware wins again + + +## Wallmounts, how do | Mirror +*refuses to elaborate* +*leaves* + +very fast pjb transcription done by 3 people at once: +- visibility is dependent on the viewport (camera position, side of the wall) +- cant be global (e.g. cant be on the spritecomponent) +- collect list of spritecomponents & pass it to systems that want to look into it so they can switch the visibility (working on a copy of the data) + + + +## Logging stuff | Mirror +- log by each entity system, then group systems together? + - move entity system, logs are different + - OOC is not in an entity system + - manually assign groups instead (like ss13) +- how to store logs + - throw it on postgres (jsonb goes brrrr) for the time being + - if its a perf/(web) scaling problem we can change it later +- use loki to aggregate? @Silvertorch5 + - if we need perf we do it then, just postgres for now +- stay with grafana for all logs, or just server metrics? have our own prebuilt solution for logs? @Silvertorch5 + - grafana way too limited, we need our own solution for logs. keep for server metrics. +- ingame log viewer + - yes, obviously + - drag select an area when? +- API? + - check pauls branch diff --git a/src/en/maintainer-meetings/maintainer-meeting-2021-10-30.md b/src/en/maintainer-meetings/maintainer-meeting-2021-10-30.md new file mode 100644 index 000000000..10a756070 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2021-10-30.md @@ -0,0 +1,206 @@ +2021-10-30 - Maintainer Meeting Notes +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 30.10.2021 16:00 UTC + +**Attendees:** +PJB +DrSmugLeaf +Vera +Silver +Paul +metalgearsloth he arrived AUSTRALIA TIMEZONE counts casual 3am 100 space bucks sloth falls asleep during meeting excuse me I was here at 9am once ok sloth why did you have to go there the first meeting was not that long ok I was busy playing rain world, PJB approved ok understandable have a nice day +mirrorcult + +## Visibility of maintainer notes | Paul +- Can contributors read? +- Can everyone read? + +Proposal: Mirror whatever visibility the meeting has. +(#maintainers channel is separate does not apply) + +## Changing the release date on Steam from Fall 2021 | Vera +- Let's be honest, we won't be ready until we have a few more things... +- We should probably change it to something like Dwarf Fortress ("time is subjective") + - when mommi flys + - when we code it + +Discussion about when to open up the playtest: When we are fine with it being reviewed? + + +## Screenshots for Steam | Paul +Do screenshots really need to be 1080p? surely we could edit them to also allow for smaller ones(?) + +No. + +## Name letter restrictions | Vera +What kinda letters do we allow +yes: +- Alphanumerical +- Accents: ä, á, à... +- Numbers +- Symbols -> restrict to machines/sillycons + no: +- Kanji +- Zalgo --> s̸̡͆̕͠i̴̧̢̺̩̦͙̜͑͛͑͑̓̿̈͛̚ͅl̴̨̘͔̥̩͎̼̞͌̎̈́͂͜͠͠v̷̘̦̬̹̖͎͌̾e̶̩̻͔̦͗̅̀͂r̵̦̟̹̤͓̼͓̣̉̄̃̽̿̑̇͗̚ +- X Æ A-12 +- Spanish Ñ spanish Ñ is under no why live if ñ is not in I die this paul please save the spanish Ñ + ![](https://i.imgur.com/OC2eJiF.png) :thistbh: stolen from pjb's stream + ![](https://cdn.discordapp.com/emojis/833946663130759190.png?size=160) + `If you mean could someone legally name their child "Bobbysystem 14", that depends. Some countries have laws about what names you can give your child. I'm not aware of any law in the United States against giving your child a number for a name.` + Vera: "im not coding that" + + +## Fluent Text type | PJB +To allow different locales on the server at the same time + +- russian and us players play on the same server + +question: make loc fully clientside/user-dependent +how cbt will this be to do? *very*: send the loc ids & parameters instead of the strings + +vera: I'm so happy I accounted for this in contructionGL2 part 2: of guides and recipes +silver: brb deleting constructionGL2 branch +vera: :waltre: + +this wont be that useful for ss13/4, but definitely for some other rt-game + +tldr: its gonna be a (vera: maybe not, pj disagrees) massive refactor, but noone is opposed to the idea. + +verdict: WYCI +also a problem atm: you use the static method alot + +## PR GitHub bot | DrSmugleaf, Mirrorcult +Automatically tags PRs with: +- Conflicts +- Needs Review +- Awaiting Changes +- Approved +- Map Changes +- Sprite Changes + +What default GitHub looks like (ass) +![](https://i.imgur.com/uC4YUGA.png) + + +## YAML Prototype Editor | DrSmugleaf +- Do we do it + - If not, is autocompletion/validation on the IDE for prototypes a good idea instead + - Merely do all of the above gaming +- In-game, out of game or both +- Is Injazz alive so they can design it +- Would it integrate other tools into it like the construction graph editor + - if not, I die + +we do it +Which ui system? ROLL OUR OWN oh god ours, cba for avalonia. +editor in-engine. +- funny in-editor run would be possible +- F A S T +- semiblocker: hotreload game assemblies. +- solution: pjb codes it! +- if we don't do this, I die tbh + +pjb: OH NO *shows three lines of code* + + +## Do we localize command error messages | Vera +Do we *really* need to localize commands? +https://pickerwheel.com/ + +- What about admin stuff? + +Just go with it. (Don't localize command names) + +## Docking airlocks | ~~Vera~~ Sloth +Should the only way to dock two grids be via special docking airlocks? + +special docking airlock with joints +*PJB3005 set atmos preset to ZAS - Hellish* +we *WILL* have atmos presets mark my words +*PJB3005 set atmos preset to Plasma* + +## Visualizer refactor | Vera +Visualizers are a pain in the ass to work with. Let's come up with a better way to do 'em. +Pain points: +- touching five files for smth +- enum keys are bad for perf +- animations are janky + +handle visualizers over the entitysystem? +visualizer-data should just be a component +- serv3 killed my flyweighting + +pjb should write down her ideas +good luck with that +do we make a discord thread for this? +simply quickly type out pjb's words turbo fast +5 pings ought to do it +ECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECSECS + +Just make visualizer data a component seriously + +this has been promoted to threadstatus +this discussion has been terrible for the barotrauma timetable +man this speedruning split was terrible + + +## Timed entity system updates / master controller stuff | Mirrorcult + +See https://github.com/space-wizards/RobustToolbox/pull/2125 + +How do we want to handle timed updates since the boilerplate for it is really bad right now--reflection, virtual methods, etc, and do we want to do something like SS13's MC so we can smooth updates out over multiple ticks intelligently + +Do we want mc: yeah, definitely +prediction is gonna be funky for this -> make it use gametime? but then we cant do mastercontroller stuff. cross that bridge when we get there. + +## Impromptu topic: PVS and NaNs | Metalgearsloth +average pjb rant: compression streams are slow in pvs we need to dfcsiuzxfhvd rteu7yi54rhjirotpter +sloth: shut it +kill da NaN + +general agreement: destroy the NaN +fix: throw entity into the nullspace shadow realm +nullspace entities work differently between client and server +allegedly server cant refer to nullspace entity on the client + +## Engine Entity Tags in MetaData | Vera +Basically, tagging entities is something vital enough that it feels it should be supported by the engine, and not something content provides. + +yes fund it gaming +Move TagComponent to engine +When you source gen the flags + +## Merging IEntitySystemManager into IEntityManager | Vera +First it was IComponentManager, now it's gonna be IEntitySystemManager. +There's no reason not to merge EntitySystemManager into EntityManager. Hell, the former is initialized and shut down by the latter. Also screw mocking, tbh. + +Powerful Vera will take care of the entire refactor +"dw about it, i will code it" + +I expect vera to be done by the end of tonight +Unless she plays baro with us :focus: +expect the PR-- wait I'm hanging out with someone later + +## Identity System | Vera +So basically, `entity.Name` bad. + +Obscure name, voice, face etc. Chameleon traitor items. +This is terrible for component states not being player specific +Remove `entity.Name` +pipe entity through a system to get a string representation +entity.name is just kinda bad and should be removed + +## Maintainer meeting topics topic | Paul +Ideally i want to have a short description of each topic to order/group them before the meeting & to have a rough estimate of the time needed for each topic. How we wrote down topics this time was kinda bad in that regard :heck: + +Proposal: Maybe have a link next to each topic pointing to a discord-message explaining it a bit? Maybe have somewhat of a guide on how these messages should look: No open questions, etc. + +## Discuss Bodysystem Replacement | Silver +rip sub 2 hour speed run +quick distract paul ok +man +gaming diff --git a/src/en/maintainer-meetings/maintainer-meeting-2021-11-13.md b/src/en/maintainer-meetings/maintainer-meeting-2021-11-13.md new file mode 100644 index 000000000..96285d059 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2021-11-13.md @@ -0,0 +1,111 @@ +# Maintainer Meeting Notes - Date: 13 Nov 2021 += +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + + +DrSmugleaf +Paul +PJB +Electro +Remie +ShadowCommander +Vera +Visne +Silver + + +# Metadata ECS Design | Vera +- Do we make a MetaDataSystem with GetName, SetName, GetDescription, etc methods, or do we make them part of EntityManager? +- MetaData stores the same things as IEntity used to, now. Lots of things will query this info, so it should be part of EntityManager. +- Put the data in MetadataComponent. +- Can't get name directly, localization. + - GetName/SetName and SetDescription/SetDescription method in the system for localization. + +# The VV meets ECS problem | DrSmugleaf, Vera +- How performant does this need to be (for BQL for example) + - Slightly performant not super optimized +- How do we properly integrate VV-Setters with ECS + - Put attributes on system methods then make the property read only + - Show system methods on the component VV window + - map with attributes, maybe synergy with friendattribute funnies here? + - Put attributes on component fields that dont need any logic when changed +- How do we (and should we) allow method calls from VV + - How does VV handle arguments for methods +- How do we make compiling or tests properly tell us if something will screw up in advance + - Roslyn analyzer +- What to do when a resolve method has multiple entity uids + - Pass all the ids manually, stop checking arguments when finding the first nullable component parameter with default value + +Make it possible to raise events with VV +In the future merge VV with a generic inspector in the engine + +# Admin Logs | DrSmugleaf +Vibechecking smugs work :yay: +- PJB are you happy: + ![](https://i.imgur.com/SfyctsB.png) + ![](https://i.imgur.com/xvBvZeW.png) + +Make a log entry have multiple types +Filter by these types (be able to do and) +Grab the variable name with caller expression syntax from the method call + +# Visualizers | Vera +Visualizers should have been components & entity systems from the start, writing visualizers is a pain in the ass my god + +Visualizer data should be a component. +Have a way to make entity systems use visualizers ideally. +Components are heavy. +- Struct components? +- Flyweighting? + +# Async/Await | mirrorcult +tldr: sometimes async stuff leads to less cbt and sometimes events lead to less cbt +- Which async stuff do we have atm? should it still be async. + - Some leftover async doafters, port them over to new event doafter + - Tool interact? +- Which event stuff do we have that should be async? + - None +- What makes a certain usecase more suited towards async/events respectively. + - Async never if it needs to be serialized. + - Await wrapper for events? + - Needs to be compact. + - Not possible with serialization, would need to instantiate the task and you can't serialize the task. + - Events when it needs to be serialized. + +You can serialize the entire server state if you can serialize everything, good for testing. +EVERYTHING NEEDS TO BE SERIALIZABLE - Paul Paulson, 2021 +We failed mirror + +# Examining Tooltip | mirrorcult +Proposals: +- Hold shift to see name, click to see description + - Hold shift for name + short description, click for long description + - Short descriptions should make it obvious that a long description is available, i.e. having a "..." symbol/button etc. - Remie +- We gotta show characters equipment and stuff + - Show it on examine +- Show armor values and stuff + - How protective armor is + - Good idea, show it +- How do we do it? it'd be a bit ugly to put all in the tooltip, so how about.. buttons in the tooltip that open up a more close examination? + - Not bad + - Popup somewhere on shift click + - In the examine tooltip and hope it just looks good + +We need a vibe check on how examining works in SS13 +![](https://cdn.discordapp.com/attachments/903694002577113118/909137595638890497/unknown.png) +![](https://cdn.discordapp.com/attachments/903694002577113118/909137935683698708/unknown-10.png) + +# Revert .NET 6 | PJB +- It wasn't a joke... +- ![](https://i.imgur.com/bMBsRbV.png) +- This is terrible for admin logging. +- If PJB fixes ef core issue with memory leaking it's fine. + +# MEETING OVER +# MEETING OVER +# MEETING OVER +# MEETING OVER + +# paul sounds like he's dying diff --git a/src/en/maintainer-meetings/maintainer-meeting-2021-11-27.md b/src/en/maintainer-meetings/maintainer-meeting-2021-11-27.md new file mode 100644 index 000000000..4c0975aa4 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2021-11-27.md @@ -0,0 +1,123 @@ +# Maintainer Meeting Notes - Date: 27 Nov 2021 += +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +Paul +Vera +Smug +Visne +Acruid +PJB +Electro +ShadowCommander +Remie +Sloth + +# Recruiting new game admins | Vera, Paul +- Application form +- Staff application forums +- no irc +- perhaps recruit some ss13 admins? + +# How do we cope with the many PRs we've been getting | Paul, Sloth +- Having a "How to make your pr more reviewable"-guide + - Don't make a bunch of miscellaneous additional changes in a PR, e.g. changing the heat resistance of a pair of gloves alongside your PR adding a new gun + - Don't make a bunch of formatting changes in a file if you change 1 line. It makes the review significantly more difficult to parse what actually changed and can generate conflicts for other PRs. + - Once a review has started on your PR do not force push to it. + - prefer multiple small PRs over one large PR +- simply have 100% test coverage it reviews itself + +From https://docs.spacestation14.io/en/maintainer-meetups/secret/2021-10-30-meetup +(Also here now! https://github.com/space-wizards/space-station-14/issues/5542) +![](https://i.imgur.com/vPY8qhP.png) + +We need a knowledgebase, so contribs can find everything important at once. + +Engine code quality needs to go up. + +We need to: +- write more docs, especially super simple 14 + - most common things people are pr'ing + - how to use containers + - go through prs to see what people are doing + - if you are reading the code, write down what you are looking for + - playerfilters + - make subfolder in docs for drafts + - drafts can just be bullet points/a skeleton/outline + +# Making Transform not required for entities | Vera +- for serialization + ![](https://i.imgur.com/BY3W0oM.png) +- free VV, no extra work IT ALREADY WORKS!!!! +- whats +- simply support serializing entity systems instead + - make systems entities + - way too powerful +- how to handle saving non-transitive data used by entity systems + +# Chat filter | Shadowcommander +implement the chatfilter, because admins are doing it rn +remember to save it in base64 or something so we dont get bopped by github +to sum it up: dont allow to send, notify admins, give them a popups +- use unicode's "confusables" information to find chars that look like eachother, and use that to bad "variants" of no-no words + + +# Roadmap | Vera +"No" - Smug +"Why" - Vera +"It would be extremely painful" - Smug +"You're a big guy" - Vera +"For you" - Smug + +- New roadmap: + - Body system + - thats it + - dont forget photography + - TBF the last roadmap had ideaguys all over it + +- make the roadmap make the last topic of each meeting + - this way we all get input + - the roadmap is at worst 2 weeks out of date + +# ComponentProtoName attribute | Sloth +![](https://i.imgur.com/kzYoNoF.png) +https://docs.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/6.0/static-abstract-interface-methods + +# Stable/bleeding edge branches | Mirror +- where is mirror, wake her up!!!!! +- we are currently very volatile compared to ss13 +- pause fukken updates to the servers somehow PLEASE + - thistbh + +# Synthetic stress test of USWest | Mirror +PaulVS + USWest Hardware + .NET 6 + Atmos/Solar optimizations + +# Should we continue running biweekly playtests | Mirror +considering we get 20-40 pop pretty much constantly +- keep doing playtests +- they are good to remind people we exist +- better player stat tracking? like retention, etc + +# Roadmap content +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - nuke ops + - lings? + - blob? + - cult? +- EL BODY SYSTEM +- Salvage +- Teleporters (Beam me up (Scotty)) + - telescience +- body system but again +- body system (get smug to code it) +- __***ENGINE EDITOR***__ +- Tutorial + - In game guides + +# Post-meeting ~~jstris~~ tetr.io! | Visne, Tomeno +- when the hwehgneh the isss suss + - ![](https://cdn.discordapp.com/emojis/818484273995841547.png?size=32) diff --git a/src/en/maintainer-meetings/maintainer-meeting-2021-12-11.md b/src/en/maintainer-meetings/maintainer-meeting-2021-12-11.md new file mode 100644 index 000000000..f6eff7507 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2021-12-11.md @@ -0,0 +1,232 @@ +# Maintainer Meeting Notes - Date: 11 Dec 2021 += +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +DrSmugleaf +Vera +PJB +Acruid +ShadowCommander +ElectroSR +Silver + + +# Do we support grid overlap | metalgearsloth +- Sloth got ganked by ideaguys again +- For planets +- Imagine the effort +- Check if Tomeno is in the meeting +- Sloth: Ignoring planets and assuming they're just coded somehow, what level of grid interactivity do we support on a """planet""". i.e. +- do we support multiple shuttles overlapping +- are cars grids, +- do we support a grid shuttle flying over a car. - what if a mob leaves the shuttle? +- How do we handle collision between the planet and cars or the likes? +- If sloth codes it +- Acruid already coded it and clusterfack removed it why live +- Shuttle flying over car? No, driving a car over the planet is fine. + - No pseudo-z level + - No 3d with layering like that. +- Do we want tile based vehicles? + - CM does an entity tank, way easier +- How do we layer multiple grids on top of each other + - Any time you want to query for a grid in a point in space you are returning an IEnumerable of grids + - Way to get foreground/background grid? + - How do we get the grid, keep them separate and not mix them up + - Keep a z-index and sort the results to distinguish the grids + - NO default grids + - Acruid: Promote grids to entities so they float in space like Godot/Unity + - Make MapManager a system, collection of grids is entities. + - Grid ids are an alias to the entity that holds the grid data. + - Replace grid ids with entity ids. + - Removing grid ids can be done now "easily" tm. + - Do it like Rimworld which keeps track of the ground underneath the floor as separate grids on the same chunk. + - Do we want to support smaller grids (like space engineers)? We can but it scales with an integer and the default is 1 > can be fixed + - If someone really wants to support grid vehicles yes but it's a lot of work and effort, entities is easier, if anything should be a long term goal. +- Collision: Normal collision between vehicle and wall, really complicated box2d does not handle it. + - Use different collision groups maybe. + + +# Pulling tile sized entities through airlocks | ShadowCommander +- How should this be made easier +- For players we made the hitbox circular, what do we do for lockers or girders? +- Do we make entities trail behind you like in RPGs? +- Make them less than tile sized. +- Current pulling mechanics or something different? + - Either make all have hexagon/octagon hitboxes or change hitbox dynamically when pulling. +- Follow pulling? + - No +- Need a custom constraint in the physics engine to keep a box behind you and aligned to get it through the door. + - Do it like Zelda a Link to the Past (https://www.youtube.com/watch?v=A6r-625k-Bo) +- How to implement it: https://oraqia.wordpress.com/2014/07/05/tricks-for-2d-grid-based-character-collision-that-can-work-in-3d-too/ + + +# IEntity removal and feature/code freeze | Vera +- [GitHub Link](https://github.com/space-wizards/space-station-14/issues/5733) +- FIX THE CODEBASE +- When do we stop the current feature/code freeze + - What is exempt from this freeze: YAML, bugfixes, admin tools? +- What do we do with the stable branch after the freeze is over +- Pretty stable right now +- Feature Freeze: + - Keep feature freeze going + - Keep nullable entity uid, compile time checks + - Vera: Replace invalid entity uid checks with nullable null checks instead (if it makes sense) for the most part. + - Nullable entity uid does not hurt performance. + - Use nullable entity uid instead of invalid, invalid is if someone weird gets deserialized. +- Engine changes are fine as long as the public API does not change + + +# ViewVariables refactor (Impromptu) | Acruid +- Do a custom class for the editor, a view like Unity (custom editor for a component). +- https://www.youtube.com/watch?v=RInUu1_8aGw +- MVP/MVVM pattern, build a presenter that pulls the data from the component and the system (lives in the system as a function or separate class). +- Use reflection to autogenerate those classes at runtime. +- Generates the UI components inside the class (if feasible). + - Worse for performance. +- Component has data, system has functions, bind these together. + - How do you bind the getter/setter for the UI fields (current VV does this (poorly)). + - Example: get/set stack size, let VV know these are two separate functions with attributes or hardcode it into the view class. + - The view class can also be a function, register them through reflection by having the entity system implement a generic interface for a component. + - This interface specifies the functions required to view/set properties of components in methods. + + +# EntitySystem proxy methods vibe check | Vera +- [GitHub Link](https://github.com/space-wizards/RobustToolbox/blob/master/Robust.Shared/GameObjects/EntitySystem.Proxy.cs) +- Hide the aggressive inlining from PJB + - Do not use aggressive optimization, that means it runs faster first few runs, JIT does this anyway after a few runs. + - It can slow down your code long term. + - Compiler details etc. + - Use it in long-running methods that only get ran a few times. + - It makes it skip some optimizations it otherwise would make if you are not careful. + - The aggressive inlining is fine (but probably not necessary). Aggressive optimization though... +> The AggressiveOptimization option is meant for very specific cases and should only ever be used when sure that the method being annotated actually benefits from that (possibly running some benchmarks to confirm that). Despite what the name might suggest, this option will not "make your code faster", on the contrary it might very well make it slower in many situations. AggressiveOptimization means that the method will skip the tiered compilation and go directly to tier1. This can be beneficial for methods that are hot paths or long running, but only executed once, so that the tiered JIT wouldn't have time to kick in (for instance, for a complex app initialization method that is run at startup). But skipping the tier0 -> tier1 transition also means that a number of additional optimizations cannot be done by the JIT (eg. removing checks for the static constructor, or inlining static readonly fields). Because of this, in many cases applying this option might actually make your code slower. And regardless, the JIT will often skip tier0 anyway in many cases already (eg. in methods with a backwards branch), so it might very well be unnecessary anyway. Long story short: if you're not 100% sure, just don't use this option in your code. +- It surely has 100% test coverage +- Does it make sense for their names to be different than the ones on EntityManager + - Rename EntityManager functions??!! + + +# Engine design SOLID and OOP (Impromptu) | Acruid, Vera +- Keep the APIs simple as possible, the names should be the same +- SOLID principles +- but what about WARMED (Write/Argue/Rewrite/uhh I forgor the rest) this +- Acruid: 2 classes depending on each other bad +- PJB: but consider: + - Main loop needs to be able to shutdown + - Main loop depends on everything + - Multiple things (server shutdown command) need to be able to shutdown the main loop down + - Not allowed under this model +- Acruid: Use an event to decouple them + - Inject game manager to command, command calls shutdown on it. +- PJB: You only avoid the loop in abstract OOP terms, you still have a circular dependency linked by an intermediary class with a shutdown method and a shutdown event where the loop listens to the event and everything else calls the method. +- Constructor vs field reflection dependency injection. + - Acruid: Constructor is only bad in a minimal amount of cases, it makes more sense conceptually so you don't need an Initialize method. Field reflection makes understanding the order in which dependencies need to be instantiated more difficult, for example in tests. It is already done for EntityManager. + - PJB: It's unnecessary and constructor injection does not fix this, it's a general problem for testing. + + +# Documentation | Paul +- How do we organize it? + - Content docs: Brought back by pressure from Moony, fandom wiki is worse than setting it up ourselves. Mediawiki moony has access. + - Game guides + - Tutorials + - SS13 books open up an HTML window for in-game wiki: We aren't doing this. + - How do we do it? IDK lol moony figures it out + - EFR is working on book markup, pull wiki pages into the game, write it in markdown. + - LIGHT THEME OR DARK THEME: moony sorts thi out + - Content-dev docs + - Device networks + - YAML + - How to interact with entities, components, systems and ioc managersç + - Mapping docs + - Engine-dev docs + - Technical writeups to understand what's going on and the design behind it + - Do not split content and engine docs, distinguish them properly on the wiki, we don't need 2 separate wiki (wiki.js doesn't make this easy, easier than hackmd) +- Paul found something better than wiki.js for docs + - We don't know the name it's lost with time ask Paul. + - We can use outline to replace hackmd, free to self-host, not open-source +- Autogenerated content + - WikiJS seems to not support templates/macros + - Dump chemical reactions into the wiki for example, Paul could not figure it out + - We simply use mediawiki, use a script to parse the data and output the markdown (not possible in wiki.js) (may be possible in mediawiki) + - Once again ask Paul + - Moony: "autogen is possible on mediawiki p nicely" + - JSON upload +- GitHub integration to PR to the wiki when? + - Content wiki: Don't need it + - Wiki.js docs: Supported, do it + - Not compatible with secret docs, port that out and then do it + + +# Meme idea: UE4-like naming standard | PJB +- https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/DevelopmentSetup/CodingStandard/ +- https://www.tomlooman.com/unreal-engine-naming-convention-guide/ +- Instead of FooComponent, FooC +- Instead of FooSystem, FooS +- DO IT +- MY KEYBOARD??? +- LITERALLY DO IT NO BALL +- vera ain't writing the conventions for this, you people do it just type !conventions on discord and write there very easy very simple +- How far do we take it? + - FooS, FooC + - M for manager? MEntity +- Do it in content +- Maybe do(n't do) it in engine +- what about FooS and FooC +- Do suffixes instead so its sorted alphabetically +- One system can handle multiple components +- 1:1 component:system is ass + - vera was right about atmospheresystem handling every pipe device + +![](https://i.imgur.com/4Y2QbhU.gif) + + +# GitHub issues, feature requests (Mini Impromptu) | Acruid +- They are fine, keep them there unless we agree the feature is dumb then close it. +- Make them a discussion as features are not actionable, issues need to be actionable. +- This is a problem in the engine too. +- Make a bug template for engine issues. + + +# Admin Log Persisting (Impromptu) | Silver +- We haven't needed to look at old ones so far. +- With bans from years ago we need to look back. +- Keep them. +- At minimum keep every round of logs where someone was banned. + - Or properly document the (perma)ban. +- Make a schema for logs. + + +# Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2021-11-27-meetup) +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic + - nuke ops + - the nuke is done, nuke ops isn't yet + - does not work outside dynamic + - lings? + - blob? + - vera loves blob + - cult? + - make it as good as vg for pjb +- EL BODY SYSTEM + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage + - prototype done by 20kdc and it is good +- Teleporters (Beam me up (Scotty)) + - telescience +- Singularity needs to ACTUALLY WORK +- body system but again +- body system (get smug to code it) +- __***ENGINE EDITOR***__ +- Tutorial + - we implement a wiki, peptide wrote some stuff in-game + - In game guides + - Waiting on pretty labels + + +# Project Zomboid +after I eat From 1804a94a67138c383affb0143083879ec7308d94 Mon Sep 17 00:00:00 2001 From: faint <46868845+ficcialfaint@users.noreply.github.com> Date: Sat, 30 Sep 2023 08:54:55 +0300 Subject: [PATCH 07/41] Fix wrong Rider attach image --- .../setup/setting-up-a-development-environment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/en/general-development/setup/setting-up-a-development-environment.md b/src/en/general-development/setup/setting-up-a-development-environment.md index 1cbd11b36..b618c8bb4 100644 --- a/src/en/general-development/setup/setting-up-a-development-environment.md +++ b/src/en/general-development/setup/setting-up-a-development-environment.md @@ -104,7 +104,7 @@ In Rider you can create a "compound configuration" to run or debug both client a ## JetBrains Rider In Rider you can attach the resources directory to the solution so that you can more easily navigate to resource files like prototypes. -![](../../assets/images/setup-rider-configurations.png) +![](../../assets/images/setup-rider-attach-existing-folder.png) # Troubleshooting From af73a9267f31c7610aa5f9cada14bc596deafb79 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Fri, 29 Sep 2023 23:55:08 -0700 Subject: [PATCH 08/41] Add 2022 maintainer meeting notes --- .../maintainer-meeting-2022-01-08.md | 194 +++++++++ .../maintainer-meeting-2022-01-22.md | 205 ++++++++++ .../maintainer-meeting-2022-02-05.md | 170 ++++++++ .../maintainer-meeting-2022-03-05.md | 108 +++++ .../maintainer-meeting-2022-03-19.md | 201 +++++++++ .../maintainer-meeting-2022-04-02.md | 206 ++++++++++ .../maintainer-meeting-2022-04-16.md | 122 ++++++ .../maintainer-meeting-2022-04-30.md | 384 ++++++++++++++++++ .../maintainer-meeting-2022-05-14.md | 176 ++++++++ .../maintainer-meeting-2022-05-28.md | 274 +++++++++++++ .../maintainer-meeting-2022-06-11.md | 249 ++++++++++++ .../maintainer-meeting-2022-06-25.md | 189 +++++++++ .../maintainer-meeting-2022-07-16.md | 142 +++++++ .../maintainer-meeting-2022-07-30.md | 110 +++++ 14 files changed, 2730 insertions(+) create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-01-08.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-01-22.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-02-05.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-03-05.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-03-19.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-04-02.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-04-16.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-04-30.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-05-14.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-05-28.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-06-11.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-06-25.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-07-16.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2022-07-30.md diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-01-08.md b/src/en/maintainer-meetings/maintainer-meeting-2022-01-08.md new file mode 100644 index 000000000..86017ccf5 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-01-08.md @@ -0,0 +1,194 @@ +# Maintainer Meeting (8 Jan 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 8 Jan 2022 16:00 UTC + +**Attendees:** +DrSmugleaf +Vera +metalgearsloth +Paul +ElectroSR +PJB +Visne +ShadowCommander + +# Automatic component names | wrexbe, metalgearsloth +- [Current PR link](https://github.com/space-wizards/RobustToolbox/pull/2389) +- Previous PR got some objections which got addressed. +- RenderingTreeComponent gets RenderingTree as name automatically + +ok epin merge + +# Reduce movement speed | metalgearsloth +- Current movement speed: + - Walk = 4 + - Sprint = 7 +- Reduce it to 5 for sprint? +- Change it in code 5 sounds good + +# Comment and changelog typing conventions | ShadowCommander, metalgearsloth +- Capitalization +- Punctuation +- They are very inconsistent at the moment +- Code comment consistency does not matter +- Changelog consistency matters + +# Improving CODEOWNERS | Vera +- Maintainers should actually codeown stuff they're in charge of. +- Make it so nobody gets notified for absolutely everything (like me and PJB currently-) +- Doing this should help with reviews! +- Maybe don't merge PRs if the codeowners haven't approved it? +- Current CODEOWNERS: + - All: PJB, Vera + - Localization files: Remie +- Change it to: + - Atmos: Vera + - Body system: Mirror and Smug + - Clyde/ClydeAudio: PJB + - Construction: Vera + - Database: PJB and Smug + - Integration tests: Smug + - How about just everything except physics in engine: PJB + - thistbhn't, I'd rather not have anyone receive notifs for everything :blobsweat: + - Map renderer: Smug + - Networking/prediction (not pvs): PJB/Acruid? + - Pow3r: PJB + - PVS: Paul + - Resources: PJB + - Physics: Sloth + - Serialization: Paul and Smug + - UI: PJB + - YAML Linter: Paul and Smug + +# Audio attribution | Paul +- Do we enforce it +- Paul says we figured out how to do out but I can't find where + - audiofile.ogg -> audiofile.ogg.yml +- Which metadata should audiofiles have? + - license identifier like rsis, copyrightstring + +# Event naming | Paul +- Unified way to name them +- TWO EVENTS +- Equip attempt event has two viewpoints: + - Equipee (GotEquipped?) + - Equipment (IsBeingEquipped?) + - talk in text chat to decide the funny + - just @ Remie simple + +# Port, protocol and IANA | PJB +- IANA is the list of "which applications use which ports" +- Port 5514 is free. +- Current status: `ss14://` is HTTP port 1212/tcp, `ss14s://` is HTTPS port 443/tcp + - Problem: leaving out URI scheme can make address fail to work + - Most people used to playing on game servers are probably *not* used to URI schemes in their server address. + - Problem: 443 is HTTPS port. This means `ss14s://` servers need to put their stuff behind a subpath or subdomain, which is ugly. Or use a port I guess. +- Do we want an IANA port assignment? + - Yes + - Port: 5514 +- Only HTTP for connections +- Drop the code for connecting over HTTPs + - It makes the code simpler (Launcher, watchdog, hub) + - Figure out a fallback path for the other servers + +# Reverting policy for untested/unreviewed buggy PRs | ShadowCommander +- Should we revert them? + - We did so for rich text +- Revert if server is broken and we can't fix it in one line code change (quickly) +- Objective: For a round to be playable, we can do it case by case. +- If we revert we can reopen the original pr + +# YAML bloat prevention rules | Vera +- What to do about the many useless prototypes? + - Do we clean them? +- Only allow YAML additions that would be immediately useful to mappers, admins or straight up obtainable in-game + - New salvage wreck, new playable station, new chemical that can be mixed and has effects, new food item that can be cooked in-game or is obtainable in some other way, new fun badmin toy... +- Do we want to be a bit more strict with new machines having, for example, construct/deconstruct steps? +- every yaml addition should be either: + - for admins + - for mappers + - obtainable + - with cooking recipe & construction steps +- be more strict in general + +# Full server snapshot/reload | PJB +- The workflow: + - Press a button + - Restart server + - Enter server + - Same state +- What's the current status + - not good +- What can we do (conventions, best practices) to make this more doable + - event serialization + - new save format & logic: gamestatesave + - saves all maps + - entitysystem should get a way to read/write into that +- sidenote: this would be very beneficial for my persistence server fork plans + +# Species | Paul +- This is going to take 30 minutes to talk through +- Do we allow them at roundstart? + - Current stance: + - Q. Will the main SS14 servers have round-start playable races other than humans? + - A. No, but the functionality will be there for other servers. (Click spoiler to see the long answer to this question). + - Thoughts (from PJB) are that it would be too much effort to make them interesting enough. + - See [the FAQ for the full explanation](https://forum.spacestation14.io/index.php?/topic/48-information-faq/) + - Is PJB a furry? + - >looks at own avatar on discord + - ![](https://cdn.discordapp.com/emojis/913187937854832720.webp?size=96&quality=lossless) + - ![](https://c.tenor.com/hZSHM9mDoL4AAAAC/drake-morphin.gif) +- We support species. +- We support species at roundstart (when moony PRs it) +- Review species case by case, same as everything else. + +# Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2021-12-11-meetup) +AKA What do we want to move from playtest to early access + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic + - mirror pls write the doc for it I will code it I swear on my life + - nuke ops + - the nuke is done, nuke ops isn't yet + - does not work outside dynamic + - lings? + - blob? + - vera loves blob + - cult? + - make it as good as vg for pjb +- EL BODY SYSTEM + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage + - it is done + - upstream moony asteroid/wreck generator for procgen salvage + - https://www.youtube.com/watch?v=H0LPWuTt2o4 +- Teleporters (Beam me up (Scotty)) + - telescience + - its complicated we need to talk about it +- Singularity needs to ACTUALLY WORK +- body system but again +- body system (get smug to code it) + - Species???? +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- Tutorial + - In game guides + - Yes + - Or at least a link to the wiki ingame + - Link it RN JESUS + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + +# Bloons TD 6 | Vera, DrSmugleaf +- Bloons TD 6 gaming + - this diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-01-22.md b/src/en/maintainer-meetings/maintainer-meeting-2022-01-22.md new file mode 100644 index 000000000..43c6b8f40 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-01-22.md @@ -0,0 +1,205 @@ +# Maintainer Meeting (22 Jan 2022) += +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +DrSmugleaf +Vera +Visne +ShadowCommander +PJB +ElectroSR +metalgearsloth +moony +Remie +mirrorcult + +# Do we promote bigger over smaller maps | metalgearsloth +- We have a bunch of tiny maps but no large ones +- Small maps get played regularly +- Should we save mapvote stats? + - **Yes, also track votes against to not skew results.** +- **Don't promote bigger maps, just merge them on a case-by-case quality basis.** + + +# Moving BUI to content | metalgearsloth +- Is this something that would be reused by other games + - **No** +- **Move it** + + +# Proxy methods for is entity terminating / deleted / queued for deletion | metalgearsloth +- **Yes** +- Proxy methods in EntityManager and EntitySystem. + - Maybe have an interface to standardise these? + + +# Standardising EntityManager generic and non-generic methods | metalgearsloth +- Some use the array indexing and some don't so assume there's more of a speed difference now +- **Standardise them (on generics)** + + +# Discord role for musicians | metalgearsloth +- We have a pingable role for spriter already +- **Add the role** + + +# Not raising transform events during initialization | metalgearsloth +- Raising them leads to lifestage checks everywhere +- Ties into DetachParentToNull which would be nice to remove. +- **Sloth looks at it** +- Make events for transform initialize/shutdown? + - Current one can only be subscribed to once. + + +# Ergonomics of async code vs do_after events | metalgearsloth, mirrorcult +- Solution: [single event do-afters](https://github.com/space-wizards/space-station-14/issues/6132) + - Replace the two do after events with one DoAfterEndedEvent with the status on it, and a wrapper for custom data + - Also could put cancel tokens into the do_after system +- Events are more painful than async code to write + - So painful I would rather code in Unity +- It's a necessary evil for full map serialization +- If we don't use it, do we keep async in for forks? + - **No** +- Async do_after made interaction worse internally | metalgearsloth + - If you want to make your tool do after you have to make it all async +- We could serialize member methods with much difficulty, pass in the method to run into the do_after like verbs | Paul + - Needs to be a member method, not a lambda or anonymous +- **Async might be serializable, when PJB codes it** +- **Use single event do after meanwhile** + + +# Removing component start/shutdown events | PJB +- Instead have the few components that actually respect startup/shutdown implement it themselves. +- **Remove and replace it** +- We don't know how much legacy code require the OnAdd/Initialize/Startup functions. + - This won't be trivial. + - Probably nothing uses the Running property, which we can remove. + - The point is to **Remove Running** + + +# Protocol-require UDP and TCP port to be the same | PJB +- Extension from the port assignment topic +- What did PJB mean by this +- It is very complex otherwise +- Querying the server list would be easier +- **Require both ports be the same** + + +# Do we accept translation contributions | Paul +- Can the admins deal with non-english speaking people? + - Servers would still be English only, server hosts could change the locale with us as the upstream being the pool of translations for everyone. + - Paul how do we handle different servers having different content to be translated + - **We will only accept common content between the two repositories** + - Linter when +- Not purely game-translation, also launcher, website, etc. + - Launcher: **Yes** + - Website: **Yes** + - Game: If you can run a client with a different locale to the server **yes** + - **This requires the giant FText refactor** +- There are tools for this ([Discord link](https://discord.com/channels/310555209753690112/675078881425752124/931645419598000238)) +- [Weblate](https://github.com/WeblateOrg/weblate/) + + +# Wallmounts on the floor in front of the wall vs on/in the wall | ShadowCommander +- Interactability is easier if they're in front | PJB +- **They will go on the wall because otherwise you can't place wallmounts facing to space** +- Wall lights are complicated + - **Simply offset the point light** +- PJB implements occlusion and we win + + +# Text input popup design | ShadowCommander +- Should it be a BaseWindow/Eui or pop out of the control like the confirmation pop out for verbs like delete? +- Example: the set-transfer-amount verb should use it. Currently it creates a little popup +- **Multiline text: window** +- **Verbs (Rename, Transfers): input box, with sizes** +- **Commands: box if possible, window if too big** + + +# Why are integration tests slow | mirrorcult +- Because someone broke the ShouldPool method by changing the amount of default cvars on tests or smth + - Be my guest if you want to find a better way to do it + - Also tests are now broken if you enable pooling again + - I'm not fixing it | DrSmugleaf +- Next :clap: topic :clap: +- also 40% of tests is just reloading prototypes (last I profiledTM) + + +# Archive Python rsi.py and rsi-editor | mirrorcult +- **Decision: keep rsi.py because python scripts are convenient, archive rsi-editor** + Old repositories in Python: +- [RSI.py](https://github.com/space-wizards/RSI.py) +- [RSI-editor](https://github.com/space-wizards/RSI-editor) + +New repositories in C#: +- [RSIEdit](https://github.com/space-wizards/RSIEdit) +- [RSI.NET](https://github.com/space-wizards/RSI.NET) + + +# Mapping and adding escape pods | mirrorcult +- We now have multi-grid saving/loading and docking serialization +- **Decision: code it, map it** +- Mapping docking is really annoying right now +- **Add a console command/mapping utility to make this easier, while the map is paused** + + +# Upstreaming ship vs ship combat as a gamemode | moony, mirrorcult +- When mirrorcult upstreams it +- **Sounds good to everyone** + + +# Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-08-meetup) + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic + - mirror pls write the doc for it I will code it I swear on my life + - nuke ops + - the nuke is done, nuke ops isn't yet + - does not work outside dynamic + - lings? + - blob? + - vera loves blob + - Remie already coding it, but got lazy + - cult? + - make it as good as vg for pjb + - revs +- EL BODY SYSTEM + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage + - it is done + - upstream moony asteroid/wreck generator for procgen salvage!!!!!!!!! + - https://www.youtube.com/watch?v=H0LPWuTt2o4 +- Singularity + - radiation needs to work +- body system but again +- body system (get smug to code it) + - Species + - we need to do non human body parts +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- Client side movement? + - a smidgen +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - :death: + +Bugs: +- copy the Subnautica bug reporter for players to report bugs +- automatically log grafana exceptions +- being able to see inside containers + - Need to change PVS to not send all container contents + - Isn't this a separate issue anyway + - Seems like PVS queue bugs? + - Imagine if players could give steps to replicate, insanium +- hud disappearing diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-02-05.md b/src/en/maintainer-meetings/maintainer-meeting-2022-02-05.md new file mode 100644 index 000000000..bc86f0ecf --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-02-05.md @@ -0,0 +1,170 @@ +# Maintainer Meeting (5 Feb 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 5 Feb 2022 16:00 UTC + +**Attendees:** +DrSmugleaf +Vera +PJB +Paul +ElectroSR +ShadowCommander +moony +Silver + +## Improving the usability of animations in code | metalgearsloth +- For example, an easy way to play a state then go to another. +- Animations big suck + - Hard to play, keep track of and synchronize (need sync with animation timing) +- In most game engines (Godot/Unreal) you have a state machine with the animations, based on some state +- **Should be part of visualizers** +- Not having a GUI to define them kinda sucks. + + +## Guide for reporting bugs | metalgearsloth +- Subnautica button + - S 👏 u 👏 b 👏 n 👏 a 👏 u 👏 t 👏 i 👏 c 👏 a 👏 👏 b 👏 u 👏 t 👏 t 👏 o 👏 n + - [GDC talk](https://www.youtube.com/watch?v=Urx7WQE6NY0) +- **Have a /vg/-like button** to create issues on GitHub on a separate repo, so the main one is not spammed + - **In-game window** + - Make sure it has **feedback** so we dont get duplicate bug reports + - What do we grab: + - Round information + - Commit the server is at + - How do we fix it not leaking current-round information? + - Only send at end of round. + - **Cache the reports into local SQLite DB (game server) while the round is going on** in case the server crashes, then send them **through the server**, not the watchdog. + + +## Replacing prototype inheritance with composition | Paul +- **Fund it** +- Conflicts (multiple inheritance/diamond problem) + - based on imported order, like python +- Prototype load ordering + - Push composition on the mapping level, not on the created objects + - Gets rid of deserialization results + - Makes it possible to do it in order + - load all mappings at once, then serialize them in one method call + + +## Start using Bors for PR rollup | moony +[Discord message](https://discord.com/channels/310555209753690112/900426319433728030/934889142431653888) +[GitHub link](https://github.com/bors-ng/bors-ng) +Helps avoid this: +![](https://cdn.discordapp.com/attachments/900426319433728030/934889141789921401/unknown.png) +- Usage: you write bors r+ +- Gives more overhead to merging PRs +- We can use it when we are merging a lot of PRs at once, not for every PR +- [Bors can't squash merge](https://github.com/bors-ng/bors-ng/issues/1217) +- **No Bors**, try to find another alternative +- **We should not publish releases to servers if CI fails** + + +## Implementing a load balancer | moony +[Discord message](https://discord.com/channels/310555209753690112/900426319433728030/934951024500826142) +- Opt-in vs opt-out + - If its automatic instead of a prompt sloth dies + - **Opt-in** +- Doing it with batches of players (so it doesn't balance 1 at a time) + - **Yes** + - Have a threshold of players that need to have clicked yes for the autobalance to actually happen. + - Check the other server's pop, if it's over an amount transfer anyway. + - Needs inter-server communication. +- What about ping? + - **Show the ping to the person**, maybe a ping comparison between the current server and the other one? +- Popup midround? + - **If we do it, don't do it for alive players, only ghosts** +- Endround popup? + - **Yes** +- Need to have it be per group of servers +- **Control players counts with player caps**, tell players they can move +- **Prompt on the server full deny screen to connect to another server, indicate this with the launcher** +- **Have a queue** that shows you can join to other servers +- Servers having different versions? Paul issue + - They will usually be the same version + delta updates + ratio + + +## Policy on pushing to master vs PRs | moony +- PRs are better for downstreams specially when conflicts arise. Working directly with PRs is easier (bots that mirror upstream PRs). + - What is easier? Who knows? Where's moony? +- **Simple bug fixes can be committed to master** +- PJB vs Paul 2 hour discussion on whether to PR or not + + +## Put changes we are committed to in the roadmap | metalgearsloth +[Discord message](https://discord.com/channels/310555209753690112/900426319433728030/935176505993089085) +- For example the melee refactor + + +## Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-22-meetup) + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops + - the nuke is done, nuke ops isn't yet + - does not work outside dynamic + - lings? + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) +- Radiation refactor + - Singularity rebalance +- body system but again +- body system (get smug to code it) + - Species + - we need to do non human body parts +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - :death: +- oldchat + ui refactor +- explosion refactor | electrosr +- combat refactor +- pulling refactor +- role bans | ShadowCommander +- admin notes | drsmugleaf +- Admin traitor/role menu + - Assign people roles +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) +- change pvs to p/invoke zstd + +Bugs: (when are we moving these to GitHub) +- turn this section into crashes / critical bugs later +- automatically log exceptions shown on grafana +- being able to see inside containers + - Need to change PVS to not send all container contents + - Isn't this a separate issue anyway + - Seems like PVS queue bugs? + - Imagine if players could give steps to replicate, insanium +- hud disappearing + - cant reproduce yet, status icons keep disappearing + - might be food or thrist related + - Gets fixed when status gets and update (Like buckling or unbuckling) +- Singularity pops in. Needs a PVS override. +- when the station moves or rotates (rotation is reliable) everyone is unbuckled diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-03-05.md b/src/en/maintainer-meetings/maintainer-meeting-2022-03-05.md new file mode 100644 index 000000000..a41dd63fe --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-03-05.md @@ -0,0 +1,108 @@ +# Maintainer Meeting (5 March 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 5 March 2022 16:00 UTC + +**Attendees:** +Paul +PJB +ShadowCommander +ElectroSr +moony +Silver + +## should we stop storing entity uids inside entity systems to denote entities to update in favor of special components for this? | Vera +for example: basically instead of this field on a system +```csharp +HashSet ActiveWelders +``` +You'd just assign the `ActiveWelderComponent` and use an EntityQuery +- ye this is probably a good idea, but we'd have to take effort to make it efficiently. +- make binary components efficient + +## Deprecate EntitySystem.Get | Vera +it's a shitty static method that does an IoCManager resolve and its misused everywhere +- sgtm + +## benchmark metrics | paul +already decided on, just announcing: action piping data into db, grafana reading db +- YES +- gh actions will produce inconsistent results +- where to run benchmarks + +## docfx | paul +bugging pj or vera to set it up +- silver will do it + +## Soundsystem API revamp | Mirror +the current api leads to easy errors which cause sounds to be played globally, not uid-specific +example: https://github.com/space-wizards/space-station-14/pull/6982/files +- remove overloads + +## Rename Server Role Ban to Role Ban | ShadowCommander +sgtm + +## Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-22-meetup) + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops + - the nuke is done, nuke ops isn't yet + - does not work outside dynamic + - lings? + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) +- Radiation refactor + - Singularity rebalance +- body system but again +- body system (get smug to code it) + - Species + - we need to do non human body parts +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - :death: +- oldchat + ui refactor +- explosion refactor | electrosr +- combat refactor +- ghostrole bans +- pulling refactor +- admin notes | drsmugleaf +- Admin traitor/role menu + - Assign people roles +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) +- change pvs to p/invoke zstd +- Prototype composition | Paul +- Map poll at round end +- Round Statistics + - Log votes, which maps are played the most… + +Crashes / Critical bugs: (when are we moving these to GitHub) +- grid disappears on reconnect + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-03-19.md b/src/en/maintainer-meetings/maintainer-meeting-2022-03-19.md new file mode 100644 index 000000000..14eebab54 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-03-19.md @@ -0,0 +1,201 @@ +# Maintainer Meeting (19 March 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 19 March 2022 16:00 UTC + +**Attendees:** +DrSmugleaf +ShadowCommander +ElectroJR +Remie +Moony +Silver +Mirrorcult + +## Weekly bug-sheriff to triage issues that come up | Paul +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/952880631514288148) +- Maybe also include triaging PRs that should/could be included in the progress report + - **Use labels for project reports, is 3 too many?** + - 3 is good, use Major for things that should be added + - Minor for things that may be added/fine to miss +- We can shuffle maintainers around to this role depending on availability + - Have a bot or something that displays how many issues are untagged? + - **Whoever volunteers** + + +## Fixing/refactoring test pooling | DrSmugleaf +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/954006741568344084) +- Restarting the round is not a foolproof solution to reset the instance. +- Integration test client reconnection is faulty which is why pooling never applied for client instances. +- **We need functioning full state serialization, then reset the state.** + + +## How does one move the YAML Linter to engine | DrSmugleaf +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/954006885802049586) +- How do we have content have a way to specify IOC services to use if the YAML Linter is in the engine. + - **Nobody knows** +- Currently all the YAML Linter project does is start up two integration instances and call a prototype manager method. + - **Nobody knows an alternative** + - **PLS HELP PJB** + + +## Where to draw the line on references to non-SS13 media | PJB +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/953952903964549130) + +Examples of references to discuss: +* https://github.com/space-wizards/space-station-14/pull/6037/files many AI names from small names barely anybody knows to SHODAN to Siri. + * I fucking added X.A.N.A. to the AI name list on /vg/ you can damn well bet your ass I'm gonna try to keep it there + * Who added XANA I must know who here stans Code Lyoko + * HERE WE ARE, GOING FAR, TO SAVE ALL THAT WE LOVE +* Kamina glasses & other Gurren Lagann items + * Keep +* Hatsune Miku clothes + * Keep it's CC +* Alien franchise (aliens duh but also Ripley mechs?) + * No (we have replacements thank god) + * RIP smug +* Duck game items on /vg/ + * VG items are direct asset rips, fuck that +* Portal gun on /vg/ (Terraria has one too!) + * It's pixel should be fine. Valve allows a lot of usage from what I know. +* Red telephone + - **This is fine until valve releases their Red Phone AU** + - Yes this is fine + +(Writing out thoroughly since I won't be here) + +Some thoughts: +* Something like Siri or Windows might be ick since those are actively advertised trademarks and stuff. Something like SHODAN isn't as big of a deal? + * **Agree** +* A simple name drop like SHODAN isn't as big of a deal as complete content-take like Aliens. + * **Agree** +* Taking assets is never OK, obviously. + * **Agree** +* Miku clothes are fine only because they allow nonprofit use, prob wouldn't be otherwise? + * **Agree** + +**Case-by-case, check what each owning company has policy-wise** + +* **If the demand is very strict it may want us to remove the content from git hsitory, needing a rewrite, which is painful** + + +## Renaming/editing/hiding old rsi-editor | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/950509187073470509) +- People are still trying to use it over RSIEdit +- Already archived +- **We are waiting on GitHub to detach the fork** +- **Edit the rsi-editor Readme to lead to RSIEdit** + +RSIEdit +- It doesn't show up on the organization's project list because it's a fork + - Ticket to detach it already open with GitHub Support + + +## Commission lobby art | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/952756729295274034) +- We have lobby BG support now +- PJB's take: BG should take full screen at ~16:9 aspect ratio. Part will be covered up by lobby UI on the right frequently; art commissioned can put less important stuff there to avoid wasting effort. + - Please no inset image like SS13 lobby. The lobby goes on top of the art. +- **Find an artist, get the price, use Patreon money.** + - Artist for some of the stuff is aspev, steam art is waster of orange. +- **Try to add support for viewing a map through a viewport in the background.** +- **Make a transparent overlay to give to the artists to know what aspect ratio they have to work with** + - **Overcompensate for a long server name** + + +## What extra servers do we want | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/953039871587520512) +- We have EU West 1, EU West 2, US West and Oceania at the moment +- We can host more instances on our current hardware +- **Poll for MRP** + - Discord poll, but we should implement game polls too +- **US East pls** +- Kill EU West 1 make 2 new 1 + - add US East + + +## Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-22-meetup) + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops + - the nuke is done, but it doesnt explode + - large kaboom required + - does not work outside dynamic + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** +- Radiation refactor +- body system but again +- body system (get smug to code it) + - Species + - we need to do non human body parts + - needed to reenable lizard +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr + - we did it +- explosion refactor | ElectroJR + - under review +- combat rework + - hard to hit someone + - wide attacks might be broken + - prediction issue +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- pulling refactor | Sloth +- admin notes | DrSmugleaf +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) +- change pvs to p/invoke zstd + - compression too slow + - we're using (Q's) C# library for zstd +- Prototype composition | Paul +- Server polls + - Map poll at round end +- Round Statistics + - Log votes, which maps are played the most… +- suit storage + +Crashes / Critical bugs: (when are we moving these to GitHub) +- Round restart fails sometimes (may be a physics issue) + => till next time + + +## PJB isn't here so there's no Tetris after-meeting party diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-04-02.md b/src/en/maintainer-meetings/maintainer-meeting-2022-04-02.md new file mode 100644 index 000000000..adc079f25 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-04-02.md @@ -0,0 +1,206 @@ +# Maintainer Meeting (02 April 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 02 April 2022 18:00 UTC + +**Attendees:** +Smug +Silver +Shadow +Paul +moony +Jezithyr +ElectroSR +PJB +metalgearsloth + +## Not pushing to master to make it easier for downstreams | moony +- Using PRs it's easier for downstreams to selectively pick what they want from upstream. +- This would mean making master (and stable if it happens) a protected branch so people can't push to it. +- [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) +- We already don't push features to master +- Should we push hotfixes/submodule updates to master? + - We can commit hotfixes to master + - I'm still PRing them + - Push submodule updates directly if we can fix bots +- Current bots don't handle direct commits well, someone needs to fix/create a new bot that does + + +## Getting a CDN and setting up region serving | Silver +- Our resident Argentinian has been getting slow downloads. + - complaints from argentinian resident are through the roof +- silver spinning up free aws instances with s3 and cloudfront with na, sa and eu, maybe au + - we barely push 100gigs a month + - we can use the free plan + - if not, its not very expensive +- apparently we cant use S3, builds arent cached (nono) + + +## Migrating to a point-release model | moony +- To help avoid disrupting our active playerbase and help mitigate download times. + - Delta downloads when. + - Reconnecting automatically without going back to the launcher when. + - background download + - point release +- One update per day? +- Point release is the easiest to do fast + - **Do it** + - 10 am every day +- Delta downloads when PJB codes it + + +## Document and improve content/engine publish workflows and the watchdog | moony +- Open-source content and engine publish workflows. +- Server hosting is painful at the moment, has undocumented error messages. +- The system to publish builds like the main servers isn't public, you need to ask for the powershell scripts. +- **Improve the docs** and the tools god damn + - Specially the watchdog (proper error output) + + +## Engine changelog | ike709 +- Document engine changes so breaking changes are not a surprise. +- This has already been a problem multiple times for Opendream. +- also proper major/minor versions x.y -> major -> .z minor + - X Major Y Minor? +- **GitHub action for changelog**, similar to how content does it +- Show the changelog somewhere + + +## Removing drag and drop interactions | moony +- Uncommon interaction and unintuitive for new players. + - We can assign a keybind instead, like alt+click currently +- How do we do it for dragging others into disposals for example +- **We should write a design doc and decide how interactions work in general** + + +## Multi-Z | Vera +- How does one (sanely) do it +- what needs it + - movement + - atmos + - explosions + - rendering +- Special case maps +- needs more discussion. + + +## Improving dev UX for mappers, maintaining maps | moony +- We need to maintain our soon to be 7 playable maps and other salvage maps. +- Onboarding new mappers to help maintain them +- Automated map maintenance? + - Migrations + - Renaming, replacing and removing + - With YAML +- Seeing pipes through walls / Being able to hide walls + - filter/toggle by walls/floors/doors/windows/wire/pipe/tubes etc. +- Being able to see the color of floors +- Area copy and paste with preview +- Picker copy and paste (middle click to copy what's under your mouse) +- Improving mapping UI in general (spawn windows) +- Improving docking when mapping +- Teleporting to error messages +- Unreal engine retargets +- Placement ghost for salvage that shows where it will spawn, how big the maximum salvage size is + - To know if the salvage will spawn inside the map + + +## Splitting UI code from simulation code, UI hot reloading and framework | Jezithyr +- **Split UI code from simulation code** +- **Splitting into a separate assembly to be decided** +- Apply this to rendering and user input as well. +- This can be done at the engine level without breaking downstreams (Opendream) while we transition SS14. +- Removing UI dependencies from sim makes it possible to run the game without an UI. + - It also makes it possible to develop UI without getting cancer. +- Hot reloading UI + - **Yes when you code it** + - Visual editor? + - **No, visual preview yes** +- Using a established UI framework? + - [Avalonia](https://avaloniaui.net/) + - [qmlnet](https://github.com/qmlnet/qmlnet) + - **Not at the moment** + + +## Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-22-meetup) + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops + - the nuke is done + - does not work outside dynamic + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** +- Radiation refactor +- body system but again +- body system (get smug to code it) +- Grid splitting + - finish when sloth comes out as a furry +- Grid merging +- Diagonal tiles + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr + - we did it +- combat rework + - hard to hit someone + - wide attacks might be broken + - prediction issue +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- pulling refactor +- admin notes | DrSmugleaf +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr +- any% maintainer | Jezithyr +- change pvs to p/invoke zstd + - compression too slow + - we're using (Q's) C# library for zstd +- Prototype composition | Paul +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- suit storage + +Crashes / Critical bugs: (when are we moving these to GitHub) +- Round restart fails sometimes (may be a physics issue) + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-04-16.md b/src/en/maintainer-meetings/maintainer-meeting-2022-04-16.md new file mode 100644 index 000000000..abaac3485 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-04-16.md @@ -0,0 +1,122 @@ +# Maintainer Meeting (16 April 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 16 April 2022 18:00 UTC + +**Attendees:** +Acruid +metalgearsloth +DrSmugleaf +moony +Vera +ShadowCommander +Visne +Paul +ElectroSR +PJB + +## We hit 250 players in one server. What's next? | moony +- What is our goal for optimizations + - What can we do better + - What should we do now that the game is very performant +- Is this when we finally code content +- We need to fix stuttering, pvs pop-in, rubberband issues and make network smoothing default to 2 | mirrorcult +- **Server side performance is fine, need to fix client side performance and bugs** + + +## Diagonal tiles | metalgearsloth +- The engine technology is there +- What do about anchoring and stuff on content +- Atmos will just treat them as space, still have diagonal walls be airtight +- **Needs to be fleshed out more** + + +## Make VV read/write by default | mirrorcult +- Everyone forgets to make properties read/write +- We still have to refactor VV for ECS +- **Make all VV properties writable if you have +HOST** +- **The default should be read** +- **Attribute to make all properties on a class VV** + + +## Review and PR guidelines | mirrorcult +- https://docs.spacestation14.io/en/maintainer-info/review-guidelines +- https://docs.spacestation14.io/en/getting-started/pr-guideline +- **We are missing file name conventions on the conventions page** +- **We need better automated tooling** + + +## Early Access Roadmap +[Previous Roadmap](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-01-22-meetup) + +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops + - the nuke is done + - does not work outside dynamic + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** +- Radiation refactor +- body system but again +- body system +- Grid splitting + - finish when sloth comes out as a furry +- Grid merging +- Diagonal tiles + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr + - we did it +- combat rework +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- pulling refactor | bobda +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr +- any% maintainer | Jezithyr +- Prototype composition | Paul +- Server polls +- Round Statistics + - Log votes, which maps are played the most… + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-04-30.md b/src/en/maintainer-meetings/maintainer-meeting-2022-04-30.md new file mode 100644 index 000000000..dd844b04c --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-04-30.md @@ -0,0 +1,384 @@ +# Maintainer Meeting (30 April 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 30 April 2022 18:00 UTC + +**Attendees:** +Vera +Silver +ShadowCommander +PJB +Sloth +moony +mirrorcult +Acruid +DrSmugleaf + +## Removing RobustUnitTest or RobustServerSim | metalgearsloth +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966291335785095239) +- Actual unit tests shouldn't be inheriting, everything else should be an integration test +- If prototype loading was faster we could remove both +- Is Acruid in the meeting + +Answer: +- We have like four ways to start engine and run tests. +- We have NO CLUE what each of these do, we should probably gather some info and list it out so we can make a more informed decision? +- Come back to this after we actually know what each does +- Acruid came: + - Server simulation can spawn entities + - It's the bare minimum required for that, any extras such as prototypes, components and systems need to be added automatically. + + +## Long term map maintenance tools | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966528422933323866) +- Fixing the mapping merge driver + - Rewrite it atop the testing framework? +- Automated YAML and entity migrations + +Answer: +- when someone codes it +- BYOND is better than us + - BYOND's map editor asks you for new paths (like entity prototype IDs) for missing things + - tbh this goes for a lot of things about mapping rn +- Entity UID consistency system on map is broken right now, needs fixing + - 1 entity getting changed -> ![](https://i.imgur.com/7htfQil.png) ungabunga change go brr SO TRUE BESTEI +- Migrations are like scripts more than like prototypes. Does it make sense to keep them in the prototypes folder? + - For complex C# based ones it'd be necessary for them to remain compiled in? + +## Write down the main purpose of each interaction hotkey | ShadowCommander +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966591327494086706) +- For contributors to decide on which hotkey to use when implementing a feature. +- Remove overlap between left click/E | PJB + + +Answer: +- Tooltip show alt uses + - Somewhat unusual for 2D games? + - Starbound apparently has it though + - Show icons and +- Remove overlap between left click/E. Force people to learn E + - Give indication that you can use E to click on the thing. Otherwise people will not realize it exists. + - Candidate: https://youtu.be/d6GtGbI-now keyboard spritesheet + - Has no Cyrillic support + - Can add ourselves + - Other links: + - https://thoseawesomeguys.com/prompts/ + - https://www.gameuidatabase.com/index.php?&scrn=907 + - https://kenney.nl/assets/input-prompts-pixel-16 +- Forced Tutorial™ to teach interactions +- Show the thing you're looking at too, optionally. + +### Hotkeys: +- Use(Left click) + - Interaction involving hands +- ActivateItemInWorld(E) + - Open UI + - If there's a secondary activate, then put that in the UI +- AltActivateItemInWorld(Alt) + - Specify which interaction it should run instead of automatically picking the first verb +- ActivateItemInHand(Z) + + +## Guidelines for balance discussions and code of conduct | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966843069515329586) +- Emag nerf (18291 comments) +- ![](https://i.imgur.com/Vv4d6Ht.gif) + +Results +- GitHub discussions usually get bad. +- They spam the #github channel reee. +- Should we move those discussions to somewhere else? + - The official forums aren't great for that. + - Discord threads are an option, but they're not great for week-long discussions. + - discord community server forums someday + - Some people don't want to join the Discord for these discussions, they might be put off by that. + - Moderate GitHub better? + - Use GitHub discussions? (Although they suck) + + +## Planet maps, should maps be able to be grids | Vera +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966984856863113217) +- It would allow for tiles to be placed anywhere (needs refactors) +- This would be sane opt-in default grids +- Allows for planet maps if changes are made to: + - Parallax + - Default atmos empty tile behavior (being worked on) + - Adding a component for a map to handle gravity. +- Probably useful for other games, including OpenDream. + +Results +- When sloth codes it +- We are supposed to be able to have maps as grids already but it's broken +- Allows for global grids from Byond +- Causes some crashes if you mix map and grid component + + +## Deprecate GridId and MapId in favor of EntityUid | Vera +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/966986023689129994) + +Results: +- YES +- Ask Acruid, he has *a plan* :focus: + + +## Maps submodule | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/967544877506236437) +- Keep only 4-5 core maps in the main repo +- Lets us introduce new maps without assuming that they will be in forever +- We can give mappers like Emisse write access to the repo +- Allows easier rotation of maps and possibly encouraging people to try out bolder things with map design + +Results: +- Every submodule makes it harder for new people +- Requires keeping the main/map repo in sync with changes + - If an item is changed then the maps need to be changed +- If someone needs map write access give them write access to content +- **No submodule for maps** + + +## Icon for the launcher | mirrorcult +- [Discord message and thread](https://discord.com/channels/310555209753690112/900426319433728030/967667307142860800) +- Probably needs to be different than the SS14 one +- PJB had a think in the thread above + +Results: +- Maybe do it similar to the auth website + https://central.spacestation14.io/web/ + - How does this fit into the icon in the task bar + - Who knows +- When someone inkscapes it +- When one of us uses the Patreon money for it? +- Can be a modified SS14 logo +- YES BUT WE DO NOT KNOW THE DESIGN + + +## Making fake lag the default in local development | metalgearsloth +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/967779103023460352) +- Helps spot prediction issues +- Makes people other than just senior contributors consider it +- Prevents the game feeling like shit to play with high ping +- We can LARP as Australians or Argentinians during local development + +Results: +- Yes +- Make it 150ms + - With 20ms randomness, but the client might not handle it well yet + - 0.01% packet loss +- We need to be able to diff component states + + +## Quickstart script for repo setup | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/967988264818577488) +- Also attempts to open the repo in your IDE of choice +- Probably a Python script targeting only Windows users to allow people that have no interest in fully developing the game (mappers and spriters) to get the game up and running. + +Results: +- Make a script to build without Visual Studio (Saves a few GB of disk space and RAM for mappers) + - Script needs .NET 6 + - msbuild +- We need a tutorial on how to clone and build the project from command line for mappers + - We can provide a script for this, to have an up-to-date build to map with + + +## Species/roles whitelist | metalgearsloth +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/968123789768552468) +- Would we ever actually have it on an official server + - (no) | moony +- Generalize whitelists so it's easy to add new ones | moony + - Specify in YAML which whitelist to use + +Results: +- Implement it +- Generalize whitelists +- We won't have it on an official LRP server + + +## Issue templates and enforcing good issue writing | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/968126891926122547) + +Results: +- We need an issue template on engine +- Improve the content issue template +- Figure out a better template + - Description: + - Reproduction: + - Screenshots: + + +## The identity / entity LOC problem | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/968642553228460052) +- What did mirror mean by this +- Need to separate metadata name and display name + +Results: +- Don't have it in engine, add a layer in content that gets used +- We can have an analyzer for people to not use EntitySystem.Name(EntityUid) where necessary + + +## What's necessary for MRP | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/968872376370622495) +- [GitHub issue](https://github.com/space-wizards/space-station-14/issues/7809) + +Results: +- BE ABLE TO CHANGE THE RULES + + +## What do we want out of in-game species | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/969305610657087499) +- SS14 has made it a lot easier to add and maintain new playable species + - The biggest hurdle is sprites, but humanoid ones are fine +- What should we do when for example someone wants to add a sentient cloud of bees: + - What's acceptable for a round-start species? + - What's acceptable for a mid-round species? (Events, something you can turn yourself into with enough work) + - Situational/event species (skeletons on roundstart on Halloween) + +Results: +- **Round start:** have them be sufficiently different that you play different than a human + - The goal is to make it different enough that LRP players play them differently. + - Slimes should be made more interesting + - Lizards aren't there + - Make them cold-blooded + - More carnivorous + - Dwarves are a debug species, can be removed + - Vox are good but effort + - ok tbh vox would probably still need a bit more mechanically to set them apart imo + - Can it be too different? (Plasmemes) + - Pain in the ass + - If the rest of the game needs to be designed around it (the map has to change) it is too different +- **Mid-round:** SKELETONS, needs to be unique, well-designed, the bar is lower than for round-start +- **Situational/event species:** Lower bar than mid-round, needs to be funny + - Needs a way to prevent round start species after event + + +- Literally this entire answer has been "it has to be interesting" smh. + +## Should we implement map standard tests | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/969630546550489119) +- Examples: +- Enforcing a maximum light budget within an area. +- Making sure each job in the job list has a spawnpoint. +- Forbidding certain objects from being placed in a map (i.e. finally making sure nobody maps the cursed locker for a laugh) +- Ensuring that no spawnpoints will instantly kill you. +- Potentially abusing the pathfinder a bit to check that it's possible for each job to make it to their spawnpoint from arrivals? This might help avert "whoops you can't exit arrivals/your office" bugs. But I think the pathfinder's ability to understand access isn't functional atm. +- Duplicate structures (pipes, wires, and full-tile structures having more than one of themself on the same tile) +- Power continuity tests (mapper places test points and can either check in-game or have a test yell if there's a break) + +Results: +- We need a better way to review maps. + - Overlay to see wires and what's powered at round-start. + - Access overlay for doors, green for accessible red for not, able to be used as a ghost to audit access + - Or list access levels above doors + - Easy way to change access level for this so you don't need to go back to the lobby +- Yes: + - Enforcing a maximum light budget within an area. + - Making sure each job in the job list has a spawnpoint. + - Forbidding certain objects from being placed in a map (i.e. finally making sure nobody maps the cursed locker for a laugh) + - Don't error, warning for relevant things + - Duplicate structures (pipes, wires, and full-tile structures having more than one of themself on the same tile) + - Seeing how fast power runs out on a map + - Power continuity tests (mapper places test points and can either check in-game or have a test yell if there's a break) + - Makes sure there are no breaks in power lines +- No: + - Ensuring that no spawnpoints will instantly kill you. + - Not automatic, we need to go through spawn points for quality control anyway + - The arrivals shuttle fixes this. + - Draw spawn points over everything + - Potentially abusing the pathfinder a bit to check that it's possible for each job to make it to their spawnpoint from arrivals? This might help avert "whoops you can't exit arrivals/your office" bugs. But I think the pathfinder's ability to understand access isn't functional atm. + - For access + - Do it in manual review instead + +- When you code + +## Map quality control | PJB +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/969677010668507176) +- PJB says a bunch are bad + - tremble + - PJB ASMR (patreon exclusive) + +Results: +- Don't rely on there not being player collisions when mapping +- Porting 1:1 is fine on some maps (Delta) not on others (Atlas) +- Common problems: + - All staff halls were a mess, didn't have visibility into the department or no desks, almost all the offices had a bedroom crammed into the office (waste of space, we don't have enough for that on most maps). + - Medbay lobby (except Pillar, where it was fine) + - Too many lights (Pillar and Bagel specially) +- Make sure there are enough disposal chutes + + +## Do we keep asking question on maintainer meeting that end in "WYCI" | PJB +Results: +- Yes, when there's valuable input to be had, even if the result is WYCI we need to figure out if everyone wants it or if there are any downsides + + +## Early Access Roadmap +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops + - the nuke is done + - does not work outside dynamic + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** +- body system but again +- body system +- Grid merging +- Diagonal tiles | sloth + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr + - we did it +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr +- any% maintainer | Jezithyr +- Prototype composition | Paul + - https://github.com/space-wizards/space-station-14/pull/7403 +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches + - Please I have severe withdrawal symptoms + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-05-14.md b/src/en/maintainer-meetings/maintainer-meeting-2022-05-14.md new file mode 100644 index 000000000..20c2ce583 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-05-14.md @@ -0,0 +1,176 @@ +# Maintainer Meeting (14 May 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 14 May 2022 18:00 UTC + +**Attendees:** +DrSmugleaf +Remie +Visne +moony +ShadowCommander +PJB +ElectroSR +mirrorcult + +## Launcher server announcements | moony +- The launcher listens to an RSS feed if you opt-in **per server (or server group)**. + - Works for any server that has such a feed setup. + - **It can be transient (truncated)** +- For both automated and manual announcements. + - **Can be categorized.** +- Can announce a new round starting, or mandatory server restarts. +- Separate restart notifications from other notifications? + - **Needs high poll rate** + - **Don't have a websocket per server** + - **Run a news aggregator as part of the hub?** + - What happens to servers off the hub? + - Just keep it simple no websocket stuff for now just RSS all the way baby. + - **Push notifications for restarts** +- **Hook up changelog to RSS updates** + + +## Automerging PRs when approved and CI passes | metalgearsloth +- Refined GitHub supports this but it doesn't work properly. +- Allegedly exists in GitHub by default but the button doesn't exist. + - You can only enable it if you enable only being able to merge PRs when CI passes + - Simply disable push to master --moony +- What if the servers DIDN'T autoupdate to broken builds?? + - check em before we wreck em +- **Use a bot (when you code it)** + - **We can use the `workflow_run` workflow event to do this.** + + +## getFlatIcon() AKA handling capture of appearance data (photography, scoreboard, Remie bait) | PJB +- No BYOND-like server CPU rendering +- Send the visual information to the client (appearance components) + - Move complex stuff like item rendering on mobs to be 100% visualizer data +- Just take a screenshot on the client? (photography) (Remie vindicated) + - Easy to do +- How do we render multi-entity entities? + - e.g. eris walls + - **follow child entities and collect em all?** +- **Replace appearance visualizers with entity systems** + - Already agreed on this in another meeting + - Use component states to send the data? + + +## ABI vs API backwards compatibility on engine | PJB +- ABI: code keeps working dynamic linking against newer versions of the engine +- API: code keeps working if you recompile against newer versions of the engine +- **ABI stability** +- There might be GitHub analyzers to check this + - May or may not be worth setting up +- **Aim for ABI, when you have to break it, increase major version** +```cs +// What you have: +void Foo(int x) => ... + +// What you want: +void Foo(int x, int y = 0) => ... + +// What you need to do to preserve ABI compat: +void Foo(int x) => Foo(x, 0); //method NOT removed +void Foo(int x, int y) => ... +``` + + +## Private playtest/actual QA sessions | mirrorcult +- Making the maintainers, senior contributors and game admins play their game +- (Suspicion on Space Station) +- Whitelisted server on EUW2 or USW? + - Maybe USW for the Australians. + - **Put another server instance on USW ez clap** +- Schedule + - **After the maintainer meeting (afterparty)** +- **The whitelist needs to be per server** + + +## Auto-ignore unknown components on the client and remove client IgnoredComponents | mirrorcult +Cases: +- server side component spelled correctly--ignored by client, no error on server +- server side component spelled incorrectly--ignored by client, server errors +- client side component spelled correctly--no error on client, server needs it in the ignore list +- client side component spelled incorrectly--ignored by client, server errors since it's no longer in the ignore list +- shared component spelled correctly--no error on client, no error on server +- shared component spelled incorrectly--ignored by client, server errors +- **Fund it** + + +## Early Access Roadmap +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - nuke ops | Paul + - the nuke is done + - does not work outside dynamic + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so don't do that +- body system but again +- body system +- Grid merging +- Diagonal tiles | sloth + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr, DrSmugleaf + - we did it +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr +- any% maintainer | Jezithyr +- Prototype composition | Paul + - https://github.com/space-wizards/RobustToolbox/pull/2678 + - https://github.com/space-wizards/space-station-14/pull/7403 +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-05-28.md b/src/en/maintainer-meetings/maintainer-meeting-2022-05-28.md new file mode 100644 index 000000000..b709b3bcf --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-05-28.md @@ -0,0 +1,274 @@ +# Maintainer Meeting (28 May 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 28 May 2022 18:00 UTC + +**Attendees:** +- Visne +- Remie +- Wrexbe +- Electro +- ShadowCommander +- PJB +- Sloth +- Vera +- Moony +- Silver +- DrSmugleaf, in spirit, briefly + +## Smug left the meeting for Canada | DrSmugleaf +- a mimir + - Jezlag is no joke +- Jez sends her regards +- :pray: + +## Rethink flat folder structure | Sloth +- a: + 1. Engine still doesn't match + 2. There's no nice place to put sundry components + 3. I have to scroll for like 5 seconds to go from client to shared if I don't know the right term to ctrl-F +- Fuck the netherlands we're moving to belgium + +Result: Jeopardy Music +- **Previous system didn't work** +- **just... nest things more? Put all the engines together** + - Potential ones brought up: + - By department (Science, Engineering, etc.) + - Doesn't seem to work that well. + - By game mechanic (Power, Physics, etc.) + +## Remove maintainer ping | Sloth +- Discord permissions moment +- Do we even need to put this in here + +Results: +- **yes** +- Removed mention from maintainer, +- Gave maintainer @ everyone so they can keep pinging eachother + +## making events directed by default instead of broadcast | Sloth +- For `RaiseLocalEvent` +- (essentially, making broadcast default to false on directed `RaiseLocalEvent`) + +Results: +- **a lot of things would break** +- **Make everything explicitly true at call sites** +- **Make it default to false** + +## remove component reference | PJB +- How do we make it happen +- What about Shared components inherited by client/server ones? + +Result: +- We need to get rid of component inheritance/interfaces anyways. +- Only remaining use left is shared components +- Figure out an alternative for shared components: + - *Maybe* (not decided yet) make them more specific so they can be optimized better. + - Some problems: + - Shared component presence 1:1 tied to client/server component + - EnsureComponent spaghet + +## `EntityUid?` vs `EntityUid.Invalid` | Vera + +- Nullable EntityUid has convenient compile-time checks, and forces you to handle null cases. +- There's a clear distinction between EntityUid? and EntityUid, you can expect the latter to be valid in most cases. +- Nullable EntityUid, however, forces you to write a lot more boilerplate. +- Using EntityUid.Invalid is more convenient and allows you to write less boilerplate in most cases, but you lose compile-time checks and an explicit way to mark something as "possibly being invalid/not having a value". +- We need to decide this ASAP and stick with one. + +Results: + +- Problem with nullables: memory overhead (2x mem usage due to alignment) +- One option: `Option` + - Only difference is no orange squiggle when doing `.Value` instead of `!.Value`. + - No pattern matching: `if (foo is { } ent)` + - goodtbh + - Agreed +- **Use EntityUid? whereever possible. If memory usage is a concern, store as `EntityUid.Invalid` and convert on usage but try to avoid using it.** +- Content-facing APIs should use `EntityUid?`, convert if needed. +- Need to convert existing usages + +## Change XAML file naming scheme | PJB +- `Foo.xaml`/`Foo.xaml.cs` -> `Foo.cs.xaml`/`Foo.cs` +- ![](https://i.imgur.com/iCqMUdA.png) + +Results: +- it's fine as is, the UI aspect is "made more important" by this + +## Rename maintainer meetings to Round Table Meetings | PJB +- El Psy Kongroo +- Rename to Round Buckle Table Meetings + - High Round Buckle Table Meeting + +- smugleaf jumpscare + - holyshit smug is typing from air plane + - spanish airplanes have wifi confirmed + - better wifi than Spain + - how long before you land? + - the trick is i havent even left yet + - amongus or silver moment + - yoooo smug bsaed based based + - !!! + +- Rename maintainers to Labo Members + - tuturu~ +- rename maintainers to mini wizards + +Results: +- uhhhhh all shitposting aside +- alles gekheid op een stokje... +- **Nonissue, can be named whatever** + +## Simplify ResourcePath | PJB +- what do we remove from it + - paths :clown_face: +- PJB was an idiot at the time + - she apologises + - not good enough, a blood sacrifice must be made +- Current status: + - Bunch of filesystem semantics like `/` (rooted path), `.` (current dir), `..` (go up a dir) + - Customizable separators (WHO NEEDS THIS) + - Path stored as segmented array of strings +- It's a class because fuck me + - :face_with_one_eyebrow_raised: + +Results: +- PJB has started this already +- Wrapper struct around string + - Keep division operator combining paths P / P +- Remove `..` support +- Remove `.` support +- `null` path is same as `""` + +## Components: Properties or Fields | Wrexbe +- [Message link since we decided to bikeshed this 3 hours before the meeting](https://discord.com/channels/310555209753690112/900426319433728030/980127305894600704) + +Results: +- We settled this pre-meeting (see message link above) +- Use fields unless you need to debug it, but then turn it back into a field after + +## Require public functions/fields be documented | Moony +- Silver votes that this should be enforced now that we have docfx for content/engine. + +Results: +- **Write a convention page about writing good docs. Link it at people.** +- **Try to care more** +- **Maintainers can block PRs in review if deem more docs needed in med/big systems** +- Don't put an analyzer that enforces it too much (i.e. having to repeat yourself just to satisfy the analyzer) +- Don't assume the reader knows game mechanics/has ever played SS13 + +## Robust IDE Extension | Moony +- ![](https://i.imgur.com/fF3vlMQ.png) +- Examples: + - More complex templates for client/server component boilerplates + - YAML language server + - ez pz + - analyzer for sandbox violations + +Results: +- WYCI + +## The Renderer Sucks | Moony +- How do we make it not +- Specifically: byond beats us in some of the things it can do +- Revive RobustEngine + +Results: +- Make wishlist +- Let PJB do it +- Court mandated graphics programming lessons for all maintainers yes yes + +## ~~what should be done about BaseWindow? | Flipp~~ +~~- it seems to be that things that use BaseWindow in SS14 construct the layout in C# rather than XAML~~ +- Mistakes were made + +## what do about fwiend :relieved: PR funny enum | Vera +- where do I put the enum both the analyzer and robust.shared/content need it AAAAAAAAAA +- (do I just make this a completely separate project and put it on nuget or something it'd be useful for other projects, dunno anyway just some bikeshedding) +- Give the enum its own file: + - Link it in both projects SIMPLE + +## Early Access Roadmap +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - ~~!!nuke ops | Paul~~ + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs | Vera + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - limb damage..... +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so **don't do that** +- body system but again +- body system +- Grid merging +- Diagonal tiles | sloth + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr, DrSmugleaf + - we did it + - lost in the canadian wilds +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? + - "Science is still a piece of shit" - Vera 28/05/2022 +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr + - stuck in canada +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- Prototype composition | Paul + - https://github.com/space-wizards/RobustToolbox/pull/2678 + - https://github.com/space-wizards/space-station-14/pull/7403 + - paul still not done with his thesis +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-06-11.md b/src/en/maintainer-meetings/maintainer-meeting-2022-06-11.md new file mode 100644 index 000000000..d65bde562 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-06-11.md @@ -0,0 +1,249 @@ +# Maintainer Meeting (11 June 2022) +=== +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 11 June 2022 18:00 UTC + +**Attendees:** +- Electro +- Vera +- Remie +- Visne +- PJB +- Moony + +## I'm stuck in Quebec for 5 more hours | DrSmugleaf +- I'm about to baguettify +- The destination is even worse (Spain) +- Smug gets a Canadian gf character arc (multiple maintainer meetings long, episode 2: Attack of the Quebecoise) + - Jez isn't even awake to help me cope with the French please send help + +Agreement: +- Quebec bad +- "Discord leave lasting damage" - smugleaf + +## Click to wide attack was a mistake | Remie +- [link](https://discord.com/channels/310555209753690112/900426319433728030/980204271385604106) + +Agreement: +- Mirrorcult on break, move it to next meeting + + +## Lobby songs take up half the game download what the fuck | All of us, enranged +- seriously?? +- "enranged" means all of the maintainers are so distant from SS14 +- 16 lobby songs... 40mb total. The resources folder is 133mb total. +- This is probably fucking terrible for git clone, etc + +Agreement: +- Turn the PR icon red +- Should we do on-packaging compression? + - Probably yes but how + +## How do release packaging of assets | PJB monologues in the maintainer meeting +- Most engines work with raw high quality assets in repo, game finalized has compressed and lower qualtiy assets on publish. + - Probably a terrible fit for our development: Git + - Audio compression etc is gonna require dedicated heavy tools like ffmpeg and be slow + - Doing audio compression live means results potentially inconsistent across publishes = + - Too slow performance for ACZ, will require asset cache + - Goes against current engine model where resources have 0 importing/caching/etc... +- Still a good choice we should do this: + - Audio too large + - RSI packing + - more + +Conclusion: +- Generate a good idea +- Audio files too heavy, put sources in separate repo. Main repo contains pre-downsampled assets. +- RSI packing etc is a good idea and should be fine. + - Move packaging logic to C#, expose it to ACZ. + - FINALLY. Also please put it in engine thanks. +- Probably still gonna need an asset processing cache either way, :salute: + - SQLite it up + - Please refrain from fucking this up this could go really bad. + - No commitment only experiment for now + +## Asset Manifests | PJB monologues in the maintainer meeting +- Manifest files (not for delta updates) client can load to pre-load all lengths of audio files etc +- Potentially very useful and avoids expensive loading +- May not be necessary +- Annoying on development builds +- Ick for ACZ again, see above. +- Reasons like async loading probably not good enough? +- Vera just got me activated so sloth could show up, how nice of her. + +## Discord emote for all in-game plushies | Wrexbe +- uhhhh +- Only the good ones +- We already snivy what more do you need + - Slime plushie + - Slushie + - PJB throws BASED ACCUSSATIONS of me being a slime girl... lawsuit ensues + - SS14 in shambles + +## Optional tile movement in SS14 | Vera +- Make mob movement modular +- How much effort +- We have to sucker in SS13 codebases +- How to implement? + +Conclusion: +- Ship it, kind of half-ass it for SS14. +- Keep doing distance measurements for interactions, avoid + - Simpler physics for it? Only hard vs non-hard, no "proper" shapes. + - Have support for things such as windoors, etc. + - This logic is not trivial at all, will require in-depth understanding of how SS13 works. +- Forks can improve it further if they want. + - Perhaps upstream/merge good changes? + - as long as it doesn't diverge the code too much?? +- OpenDream needs more sophisticated implementation. + - Needs separate visual/simulation transform + - Wanted to pass this by sloth but rip + - I talked about this with Acruid once + - Gonna be kinks to work out + - Probably have shared transform system func that gets render position, returns sim pos during sim. +- Sorry, Sloth. (Listen I tried to delay this topic until you showed up ;_;) + +## No more new maps until better tools | Sloth +- [message there's a lot of details](https://discord.com/channels/310555209753690112/900426319433728030/980517246390644777) +- didn't we discuss this last meeting wtf +- drama + +Conclusion: +- Even if we had better tools, more maps isn't a good idea + - Still allow new maps but remove old ones. + - Don't increase the total map count +- Make maps unique + - Don't gimmick with a layout, gimmick with a story/theme + - Maps should have unique assets where possible (Sprites, Objects, Jobs) + - Yes this takes effort, git gud + - Who knew that making a good game requires effort +- Port the fucking map that's like 6 spaceships amalgamated together. + - I don't know what it's called (Ask in coderbus) + +## Update server every commit again | Mirror +- [message](https://discord.com/channels/310555209753690112/900426319433728030/982571963316863038) + - Damn 9 this tbh +- We have deltas + redial +- Moony mentioned still reduction in pop even through redial. + +Conclusion: +- PJB has anxiety, this will kill her +- Just don't shy away from manual publish when :eyes: +- Keep as is + +## can I get maintainer review of my design docs because you guys don't look at ideaguys | Mirror +- Well uhhhh + +Conclusion +- She is not here... +- Sorry mirror +- Easiest maintainer meeting topic of my life + +## RobustGenericAttribution Standard: yay or nay? | Vera +- https://github.com/space-wizards/RobustToolboxSpecifications/pull/3 +- don't bikeshed the name + - RobustGenericAttribution (Name Subject to chance) + - it's the choice of steins;gate + - based ref + +Conclusion +- Good idea + - Reviews left to be handled +- Not sure about the name! + - Hehehehehe + +## Matrix3 -> System.Numerics.Matrix3x2 | Electro +Conclusion: +- Probably wanna switch to System.Numerics in general + - Even if it's not great for hot loop SIMD, it's still a bit of savings. +- Differences in API needs to be evaluated, massive breaking change. + - Can we/should we use extension methods to help with this? + - Misses stuff like my tuple cast so sad + +## Early Access Roadmap +- emergency shuttle + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - ~~!!nuke ops | Paul~~ + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs | Vera + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so **don't do that** +- body system but again +- body system +- Grid merging +- Diagonal tiles | sloth + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak + - TILE MOVEMENT +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr, DrSmugleaf + - we did it + - lost in the canadian wilds +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans | ShadowCommander + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements | Veritius + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? + - "Science is still a piece of shit" - Vera 28/05/2022 +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr + - stuck in canada +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- Prototype composition | Paul + - https://github.com/space-wizards/RobustToolbox/pull/2678 + - https://github.com/space-wizards/space-station-14/pull/7403 + - paul still not done with his thesis +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-06-25.md b/src/en/maintainer-meetings/maintainer-meeting-2022-06-25.md new file mode 100644 index 000000000..fe36078ea --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-06-25.md @@ -0,0 +1,189 @@ +# Maintainer Meeting (25 June 2022) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 25 June 2022 18:00 UTC + +**Attendees:** +- DrSmugleaf +- PJB +- Wrexbe +- ElectroSR +- Vera +- metalgearsloth (just got nitro) +- Shadowcommander (late) + +## Making wide attack click-based was a mistake | Remie +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/980204271385604106) +- Too much friendly fire with Kudzu + - **Kudzu needs to be fixed separately** +- Most weapons shouldn't have broad-angle wide attacks + - **Spears should have spear-like attacks** +- Make it toggleable to let the user decide? + - Need to pick a sane default + - **Experiment with making it a hold attack, when you release left-mouse button** + - Windup? + - **Experiment with it too** + + +## Disbanding scheduled playtests for now | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/986359940400680980) +- Letting in a select amount of users at a time +- High pop has design and game administration problems +- We set the cap to 65 recently (raised to 130 during playtests) +- Some SS13 servers have such high pop counts +- **We need high pop maps for this** +- **They are important to get players invested and check out new things** +- Turn them into proper feature tests? + - No because features will be broken and it will look bad +- **Decision: Change playtests to be at the same time as progress reports** + + +## Tile damage kinds | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/986384961718353951) +- RobustToolbox's tiles are too limited and don't have enough space +- Do we make a SS14-specific wrapper around tiles? +- Tile controllers? + - **A separate system from normal ECS is not convenient** +- Make them use normal components and ECS? + - **We need to make our ECS not shit and implement transformless entities** + + +## ECS refactor | Jezithyr +- Two-layer ECS, archetypical for perf and sparse for entity glut, similar to the concept of worlds in some ECS +- In archetypical ECS, the problem is that adding more components to an entity at runtime is slow + - **We do this sometimes** + - Iterating and filtering entities is very fast +- With worlds we can have replays with their own world and entities + - Multithreading +- C# binds for FLECS exist + - **Decision: Experiment with it** +- Rewrite our own ECS with the important parts in C# instead? + - NIH my beloved + - Less performance overhead with marshalling + - More work to maintain +- Do we need to cut down on remo +- Flecs fixed my marriage + - Me irl + - Good for containers with child entities +- Is this the next engine rewrite +- Back to Godot +- Try to not cause an API breakage +- A - Vera + + +## Right-click for both entity menu and verb menu on entities is unintuitive | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/988966819018707004) +- It's unintuitive because you have to right click twice +- There's no indication it's possible to open the verb menu +- How do we solve this + - **Decision: Trigger on hover** + - Properly handle moving diagonally onto submenu (don't make the submenu close instantly on hover leave) + + +## Expanding who can merge PRs | moony +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/988983179262189639) +- Junior maints / trusted reviewers? +- We need more people to get content PRs through +- Expanding triage perms? +- **Need more people to review** +- **Decision: Make review guidelines** + - Add big/breaking code changes to the codebase changes channel + + +## Protect master branch | mirrorcult +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/989048858216636446) +- We are getting 500 PRs a month anyway help +- We need it to make downstreams have an easier time merging changes +- Prevents cringe pushes to master +- Too many commands to update the submodule + - **Solution: make a script, you can make PRs from the CLI too** +- **Decision: protect master branch** + + +## Early Access Roadmap +- emergency shuttle | sloth + - auto shuttle movement +- gamemodes/antags + - dynamic | mirror + - ~~!!nuke ops | Paul~~ + - lings? + - needs DNA + - blob | Remie + - cult? + - make it as good as vg for pjb + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so **don't do that** +- body system but again +- body system +- Grid merging +- Diagonal tiles + - we have diagonal walls, tiles are harder +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak + - TILE MOVEMENT [c#5551](https://github.com/space-wizards/space-station-14/issues/5551) +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr, DrSmugleaf + - we did it + - lost in the canadian wilds +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements | Veritius + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? + - "Science is still a piece of shit" - Vera 28/05/2022 +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr + - stuck in canada +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- Prototype composition | Paul + - https://github.com/space-wizards/RobustToolbox/pull/2678 + - https://github.com/space-wizards/space-station-14/pull/7403 + - paul still not done with his thesis +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + +Crashes / Critical bugs: (when are we moving these to GitHub) + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-07-16.md b/src/en/maintainer-meetings/maintainer-meeting-2022-07-16.md new file mode 100644 index 000000000..d7219643f --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-07-16.md @@ -0,0 +1,142 @@ +# Maintainer Meeting (16 July 2022) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 16 July 2022 18:00 UTC + +**Attendees:** +- DrSmugleaf +- ElectroSR +- Silver +- Vera +- Ike709 +- ShadowCommander +- PJB + +## Replace EffectSystem with client-side entities | Metalgearsloth +- Effects don't have animations +- Can't have layered effects nor do fancy animations +- At the moment we mix the two +- They do the same thing and are legacy +- **Conclusion: Yes** + + +## Labelling EntityUids as "should have a component" | PJB +- Such as EntityUid\ +- Wouldn't really mean anything short of just being implicit cast to/from EntityUid when relevant, just a type hint kinda thing +- Vast majority would expect TransformComponent, would make more sense to explicitly say it doesn't require it +- ![](https://i.imgur.com/KqbK5vi.png) + - ship it +- Generic struct that contains the entity uid and component, keeps it in a field +- **Conclusion: Ship it (When PJB Codes It)** + + +## Engine changelogs | Ike709 +- Do we want them: Yes +- Who codes it: PJB +- When: RN +- With: MoMMI +- **Put the changelog in a markdown file** + + +## Replacing tags with tag components | Mirrorcult +- They often break with prototype inheritance +- Auto ignored comps are now a thing +- The engine needs to be optimized for this (store tag components as a bit flag instead of full components) +- Need proper ECS for this +- **Do it** + + +## Expanding the number of people allowed to merge PRs | Moony +- **Appoint more maintainers (easier now that master is protected)** +- Link docs automatically when a relevant file is changed. + - Example: Link construction docs when a file relating to construction is changed. +- Fix the GitHub workflow to auto-remove "needs review" when the PR gets one review, if more reviews are needed put the tag back on. + - Have it add waiting for review tag as well. +- **Re-read and re-write if necessary the review/PR guidelines.** +- **Show PR guidelines somewhere to the contributor when making a PR.** + + +## Making wide-attack based on click was a huge mistake | Remie +- [From previous notes](https://docs.spacestation14.io/en/maintainer-meetups/secret/2022-06-25-meetup) + + +## Early Access Roadmap +- gamemodes/antags + - dynamic | mirror + - lings? + - needs DNA + - blob | Remie + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so **don't do that** +- body system but again +- body system +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak + - TILE MOVEMENT [c#5551](https://github.com/space-wizards/space-station-14/issues/5551) +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor | Jezithyr, DrSmugleaf + - we did it + - lost in the canadian wilds +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole bans + - unify ghost roles prototype +- Admin traitor/role menu + - Assign people roles + - Objectives UI +- Job playtime requirements | metalgearsloth, Veritius [c#9384](https://github.com/space-wizards/space-station-14/pull/9384) + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? + - "Science is still a piece of shit" - Vera 28/05/2022 +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr + - stuck in canada +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- Prototype composition | Paul + - https://github.com/space-wizards/RobustToolbox/pull/2678 + - https://github.com/space-wizards/space-station-14/pull/7403 + - paul still not done with his thesis +- Server polls +- Round Statistics + - Log votes, which maps are played the most… +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + +Crashes / Critical bugs: (when are we moving these to GitHub) + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2022-07-30.md b/src/en/maintainer-meetings/maintainer-meeting-2022-07-30.md new file mode 100644 index 000000000..50665409b --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2022-07-30.md @@ -0,0 +1,110 @@ +# Maintainer Meeting (30 July 2022) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 30 July 2022 18:00 UTC + +**Attendees:** +- DrSmugleaf +- ShadowCommander +- ElectroSR +- Wrexbe +- moony +- PJB +- Visne + +## Are we The Upstream or our own server | moony +- Will there be a separate repo + - **No** +- Don't hold game design back because we're "upstream" + - If a feature needs to be killed to make the game better, don't keep it because downstreams might want it +- Can we trust project managers with SSH: + - Yes, assuming Silver doesn't object. +- Change server configs in the repo instead of Ansible. + - Is this worse for downstreams + - Downstreams can change it promptly in the config file + - **Put all the default configs in the TOML config file so upstream changes don't change downstream** +- Do we make different CVars changeable by different permission groups? (Game admin, moderator) + - **Yes** + + +## Remove game settings from server config | PJB +- We basically ended up discussing this in the previous point +- "Thank you for the bullet point" - Smugleaf + + +## Hud refactor ready for review | Jezithyr +- AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + +## Early Access Roadmap +- gamemodes/antags + - dynamic | mirror + - lings? + - needs DNA + - blob | Remie + - revs + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - [Cargo Commander](https://www.youtube.com/watch?v=H0LPWuTt2o4) + - **Coded on outer-rim, just needs porting to upstream** + - moony's entirely rewriting it anyways so **don't do that** +- body system but again +- body system +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- Tutorial + - In game guides + - Yes + - Waiting on pretty labels + - books/ebooks in pda + - ebooks preloaded on pda for selected job + - when rich text gets merged + - ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) +- oldchat + ui refactor READY FOR REVIEW | Jezithyr, DrSmugleaf + - we did it + - lost in the canadian wilds + - found in the canadian wilds +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole/antag bans + - unify ghost roles prototype +- Job playtime requirements | metalgearsloth, Veritius [c#9384](https://github.com/space-wizards/space-station-14/pull/9384) + - Playtime tracking + - Per role playtime tracking +- experimental science + - artifacts??!?!? + - "Science is still a piece of shit" - Vera 28/05/2022 +- action ui refactor, [like ss13 maybe](https://i.ytimg.com/vi/iFf_T31C-iU/maxresdefault.jpg) | Jezithyr + - stuck in canada +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Man down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 +- A trailer for Steam + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time From e886acb6d90cf12421cfeca24cdb6cb0274e5382 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Sat, 30 Sep 2023 00:35:38 -0700 Subject: [PATCH 09/41] Add 2023 maintainer meeting notes --- .../maintainer-meeting-2023-01-07.md | 165 ++++++++++++++ .../maintainer-meeting-2023-01-21.md | 161 ++++++++++++++ .../maintainer-meeting-2023-02-11.md | 139 ++++++++++++ .../maintainer-meeting-2023-03-05.md | 118 ++++++++++ .../maintainer-meeting-2023-05-06.md | 80 +++++++ .../maintainer-meeting-2023-05-20.md | 117 ++++++++++ .../maintainer-meeting-2023-06-10.md | 126 +++++++++++ .../maintainer-meeting-2023-07-29.md | 148 +++++++++++++ .../maintainer-meeting-2023-08-19.md | 201 ++++++++++++++++++ .../maintainer-meeting-2023-09-02.md | 129 +++++++++++ 10 files changed, 1384 insertions(+) create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-01-07.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-01-21.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-02-11.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-03-05.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-05-06.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-05-20.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-06-10.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-07-29.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-08-19.md create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-09-02.md diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-01-07.md b/src/en/maintainer-meetings/maintainer-meeting-2023-01-07.md new file mode 100644 index 000000000..1664b2ac7 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-01-07.md @@ -0,0 +1,165 @@ +# Maintainer Meeting (07 January 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 07 January 2023 19:00 UTC + +**Attendees:** +- Moony +- Visne +- ElectroSR +- Remie +- Flipp +- ShadowCommander +- DrSmugleaf +- Vera +- PJB + +## Using source generators for (de)serialization | DrSmugleaf +- Expression trees were a mistake +- **sounds good** + + +## Enforce AccessAttribute and better documentation on new PRs | metalgearsloth +- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1060739900758044792) +- **yes** +- may not work for shared components +- check if it works with implementations of the whitelisted type for shared systems + - If it doesn't, make [Access] take an optional list of strings for types in server/client +- ping Vera if something goes terribly wrong + + +## Minify meta.json files | metalgearsloth +- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1060432256092618753) +- [GitHub PR](https://github.com/space-wizards/space-station-14/pull/13035) +- Do we minify them + - **no** +- If not change the editorconfig to match the current style (2 space indents) + - **yes** +- Apparently some people copypaste existing meta.jsons to create new ones, which has caused many errors in multiple RSIs +- Reasons not to: + - harder to edit + - harder to review + - ? +- Reasons to: + - there's editor plugins that minify and unminify automatically for you + - this isnt a reason + - ~~saves 1.5 MB~~ not important? it's compressed when game is packaged, etc + - ? + + +## Require all public fields and methods to include xmldoc comments | moony +- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1055341182248558623) +- Make sure every method is documented +- Document every field +- **Put this in the PR guidelines** +- https://docs.spacestation14.io/en/getting-started/pr-guideline + + +## Rename entityquery to componentquery | metalgearsloth +- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1030122281462136862) +- **Yes** +- Wait for archetypes to rename them + + +## Should Helpers and Extensions be moved to EntitySystems | ShadowCommander +- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1018323213517856838) +- **Yes, if it refers to any manager, system or entity** +- **If it's a random helper to save code it doesn't need to be** + + +## Resolve pattern | DrSmugleaf +- **Add call site to arguments of resolve with the new .NET 6 arguments so it can log the file and line if a warning happens.** + + +## Turn IPlayerSession into an entity | moony +- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1015187820752683021) +- **Yes** +- This would let us modularize the entire thing and allow us to use events on players directly, letting us get rid of many player-indexed dicts in favor of storing it on the player +- Should this be done at an engine level, or at a content level? +- **Engine** +- **Keep player session, then have an entity field on the session for its data** +- **Mind would still be separate since player session is transient** +- **You can have multiple minds for the lifetime of a single player session** + + +## Replace BUI state handling with normal component state handling for BUI prediction | ElectroSR +- [Discord link](https://discord.com/channels/310555209753690112/900426319433728030/1012164293816483870) +- Laggy interfaces suck +- Everyone is actively avoiding BUI atm +- **Prefer component states to BUI states** +- **Someone refactor BUI please** +- **Have the client manage the UI, the server needs to know if its open** + + +## Component references | PJB +- **Try to remove them** +- How do we have client-only or server-only data on a component without it +- Use different components for that data? + + +## Archetypes | DrSmugleaf +- B O N U S T O P I C +- Need to be made faster before we implement them outside of Robust.Benchmarks +- Do archetype chunking to optimize for CPU cache hits +- Check startup time specially for the JIT when creating all the archetypes +- [Flecs benchmarks](https://github.com/SanderMertens/ecs_benchmark) + + +## Early Access Roadmap +- gamemodes/antags + - dynamic | mirror + - lings? + - needs DNA + - blob | Remie + - revolutionaries + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | mirror ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - she did it go port it https://github.com/Citadel-Station-13/space-station-14/tree/master/Content.Server/_Citadel/Worldgen +- body system but again +- body system +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- Tutorial + - In game + - we have a pr open +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole/antag bans + - unify ghost roles prototype (mind refactor) +- experimental science + - "Science is still a piece of shit" - Vera 28/05/2022 + - "I haven't played the game in 2 years" - Vera 07/01/2023 +- any% maintainer | Jezithyr + - Stuck in canada + - soon tm +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Woman down +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 + - "Please unread the last line of the previous subsection" | PJB 07/01/2023 +- A trailer for Steam + +Crashes / Critical bugs: (when are we moving these to GitHub) +- role timers not counting properly + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-01-21.md b/src/en/maintainer-meetings/maintainer-meeting-2023-01-21.md new file mode 100644 index 000000000..9b57350df --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-01-21.md @@ -0,0 +1,161 @@ +# Maintainer Meeting (21 January 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 21 January 2023 19:00 UTC + +**Attendees:** +- moony +- AJCM +- Zoldorf +- Visne +- ElectroSR +- Remie +- Wrexbe +- DrSmugleaf +- Vera +- mirrorcult +- PJB + +## Bumping map count to 15 | metalgearsloth +- Most of [c#10595](https://github.com/space-wizards/space-station-14/issues/10595) is done +- 15 is too many +- **Bump it up to 12** +- **1 more low pop map, 1 more high pop map** + +## What to do about RSI licensing | metalgearsloth +- Do we use RGA outside of the folder + - No, RGAs are for other resources +- Do we use something else entirely +- **Make the license field a list of licenses interpreted by a script** +- **Copyright is freeform interpreted by a human** +- **Don't use RGAs for RSIs** + +## Do we explicitly block Windows 7 | PJB +- **Make the pop-up always show up, not only once** +- **Change the text and make closing the pop-up close the launcher too** +- **Localize the pop-up message to Russian if the OS is in Russian** + +## Do we mandate guidebook entries for new large features | mirrorcult +- **Yes** + +## How do we distribute replay recordings & clients, and should we hide some data | ElectroSR +- Should we hide data such as admin aghost positions? + - No +- How do we distribute it + - Tie replays to a version (game/engine), metadata and a link + - Download the replay and its data should launch the sandboxed client with a specific version + - Include the commit number in the replay file (any data can be appended to the replay file from content) + - Content versioning scheme (commit number), download link (if it doesn't work you download it yourself) + +## Can we do another stress test trace | mirrorcult +- Try and say that 10 times fast "stress test trace" + - Stresst +- Run it from time to time (ping PJB) +- Ping tester for it +- Having links that connect you to a server would be useful + +## PJB's renderer ASMR for Jez | PJB +- Problems with the renderer: +- We can't do what Byond can with planes, complex filtering +- We don't want planes (they are a bad idea) +- The alternative is a GOOD API (difficult) +- We can't have multiple post-shaders +- The hard part of a renderer is integrating it into the rest of the game engine (we are 2D) +- There are no existing rendering APIs we can just take +- We need a rendering API to: + - Draw textures, polygons at locations +- The game's code: + - Puts sprites at locations + - People do funny things (shaders, render targets) +- Our API has some of this but is unperformant, not very flexible +- Going from "draw sprite" to "opengl arrays" is just a lot of glue-code, not complicated +- Clyde is divided internally, only one file takes the sprites and actually draws them with the rest of the API +- Using a different rendering API to replace Clyde because of the maintenance burden requires it doing everything that Clyde already does +- We can't build Clyde on top of another incomplete rendering API because it would be spaghetti +- When we tried to use Godot we had our own sprite component and tried to build it on top + - Godot was too high level, too unperformant to integrate with nicely + - Need something that's lower level + - Godot 4 nonwithstanding +- Maybe something like Monogame but we would need a lot of glue code (replacing all of Clyde and refactoring anything that uses Clyde) +- PJB transferred from the Clyde mines and into the Monogame mines (we would need to fork it) +- Any other libraries unknown that don't need us to half-ass it +- Not worth the complexity +- PART 2: Even if you can find a good rendering API +- There are some good libraries (e.g. BGFX) that make you not need to write separate OpenGL/DirectX/Vulkan backends +- You would still have your own "Clyde" on top of it +- We still support very old hardware up to 10 years old, even if you raised this number WebGPU/etc require more modern APIs which would drop older hardware +- We don't want to expose the graphics library on Robust +- PROBLEM 2 (It's actually 3): +- We need to support Veldrid +- PROBLEM 3 (4): +- Older hardware +- this is still all just problem 2: "older hardware" she's just talking in a very roundabout funny manner +- Don't worry about it +- Maybe (maybe) use (maybe) WebGPU which uses the browser which reduces a lot of things you would need to create +- DirectX 10.1 hardware is what we target +- Visne left to go party, he is uncool +- Writing multiple backends: not good +- PJB is lost and confused, sad +- Just use Clyde :+1: +- Clyde2.0 When +- **If you want it easy drop OpenGL support** + - Less ass to maintain +- There are no plug-in rendering APIs +- Maybe get WebGPU or Vulkan-based, code against that, OpenGL is a fuck + + +## Early Access Roadmap +- gamemodes/antags + - dynamic | mirror + - lings? + - needs DNA + - blob | Remie + - revolutionaries + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | jez ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - she did it go port it https://github.com/Citadel-Station-13/space-station-14/tree/master/Content.Server/_Citadel/Worldgen +- body system but again +- body system +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- Add more shit to the guidebook +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole/antag bans + - unify ghost roles prototype (mind refactor) +- experimental science + - "Science is still a piece of shit" - Vera 28/05/2022 + - "I haven't played the game in 2 years" - Vera 07/01/2023 +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Woman down + - She added Miku to her server (real) now you can play as miku pls play with her +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 + - "Please unread the last line of the previous subsection" | PJB 07/01/2023 + - "I spent the last two weeks coding Rain World" | PJB 21/01/2023 +- A trailer for Steam + +Crashes / Critical bugs: (when are we moving these to GitHub) +- role timers not counting properly + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-02-11.md b/src/en/maintainer-meetings/maintainer-meeting-2023-02-11.md new file mode 100644 index 000000000..889def06c --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-02-11.md @@ -0,0 +1,139 @@ +# Maintainer Meeting (11 February 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 11 February 2023 19:00 UTC + +**Attendees:** +- Remie +- keronshb +- ElectroSR +- DrSmugleaf +- Vera +- PJB +- moony +- Visne +- Jezithyr +- flipp +- Zoldorf +- Wrexbe + +## Standardize and document naming for (system) dependencies | Vera +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/1070066968419381320) +- [Original discussion](https://discord.com/channels/310555209753690112/770682801607278632/1070064771761709076) +- **Remove the prefix and suffix.** +- What about UIControllers, where there is SharedHandsSystem, HandsGUI, HandsUIController. +- Keep it explicit with `_handsSystem`. +- **Make a maintainer vote for whether or not we enforce this (either an analyzer or as part of review.)** + +## Debug vs DebugOpt vs Release vs ReleaseTools build configurations | PJB +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/1072637756955693067) +- **Yes** +- Release (closest to the launcher version) would be closer to what we have for the downloadable public build (FULL_RELEASE). + - Can't be compiled easily because of filepath changes. +- Current release configuration (debug tools available) can become DebugOpt. +- Current debug configuration is the new Debug configuration. +- Tools (for mapping) is release with checks disabled and optimizations/tools enabled (tools is the launcher connect command). +- to summarize: + - `Debug`: optimizations disabled, asserts enabled, tools enabled. + - `DebugOpt`: optimizations enabled, asserts enabled, tools enabled. + - `Tools`: optimizations enabled, asserts disabled, tools enabled. + - `Release`: optimizations, asserts and tools disabled. As close to the launcher builds as you're gonna get while it stills runs from your repo. +- **Don't disable exception tolerance in debug.** + +## Medical refactor | Jezithyr +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/1073932941878636624) +- This is basically old baymed (+ rimworld ~~+ EFT~~) +- Take notes on brainmed +- Don't make it overly complex +- Make cloning lategame/not a solution to everything + - And implement speedcloning where releasing someone too soon makes them miss body parts + +## Game admin tooling | DrSmugleaf +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/1073933000204619807) (mistake) +- LOGS BAD (kind of) +- Not being able to search by username (have to correlate with the player list) + - Same in the player list +- Replays will help +- Add more buttons to the player panel (following players is ass) +- Make admin logs clickable (we have rich text now) +- Add UI for role bans +- Whitelist UI +- Admin wishlist [#13270](https://github.com/space-wizards/space-station-14/issues/13270) +- [Admin wishlist 2](https://github.com/space-wizards/space-station-14/issues?q=is%3Aopen+is%3Aissue+author%3A%40me+wishlist) +- [Admin wishlist 3](https://github.com/space-wizards/space-station-14/issues/13269) +- Fix not being able to use role ban and role time commands with offline players +- Add month and year to notes +- Greyscale/Grey out older notes +- Add UI to see a player's inventory including pocket items +- Admins can't see whispers +- Antag/ghost role bans +- Add categories to admin logs (groups of types) (not in the database, do it filtering on the frontend) +- Add a cvar to delete old admin logs + +## Server pop with the new large map | Pancake +- [Discord message](https://discord.com/channels/310555209753690112/900426319433728030/1073935104176562236) +- [Admin chat Discord message](https://discord.com/channels/310555209753690112/811324338099585036/1073934949633237092) +- Do we increase player cap + - idk + - **make a vote** + - **mirror take the wheel** +- Do we change the player cap based on the map + - probably not +- Do we make an US East server + - **yes** + +## Early Access Roadmap +- gamemodes/antags + - dynamic | mirror + - lings? + - needs DNA + - blob | Remie + - revolutionaries + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | jez ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - she did it go port it https://github.com/Citadel-Station-13/space-station-14/tree/master/Content.Server/_Citadel/Worldgen +- body system but again +- body system +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole/antag bans +- experimental science + - "Science is still a piece of shit" - Vera 28/05/2022 + - "I haven't played the game in 2 years" - Vera 07/01/2023 + - "Uhhhhhhhhhhhhhhhhh I'm sorry EmoGarbage" - Vera 11/02/2023 +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Woman down + - She added Miku to her server (real) now you can play as miku pls play with her +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 + - "Please unread the last line of the previous subsection" | PJB 07/01/2023 + - "I spent the last two weeks coding Rain World" | PJB 21/01/2023 + - "I should've tried to run it from the AirBNB that I was staying over in my skiing trip but I didn't" | PJB 11/02/2023 +- A trailer for Steam + +Crashes / Critical bugs: (when are we moving these to GitHub) +- role timers not counting properly (pjb added a thing to check if its a db issue) (epico) + => till next time diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-03-05.md b/src/en/maintainer-meetings/maintainer-meeting-2023-03-05.md new file mode 100644 index 000000000..6276bb4b4 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-03-05.md @@ -0,0 +1,118 @@ +# Maintainer Meeting (5 March 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +> **Time:** 5 March 2023 19:00 UTC +> +> **Attendees:** +> - Wrexbe +> - Jezithyr +> - Visne +> - ElectroSR +> - PJB +> - DrSmugleaf +> - Paul +> - moony +> - keronshb + +## Re-enabling GitHub discussions | PJB +- Open them up to ideaguysing? +- We originally closed them because bot doesn't track them +- We disabled it because MoMMI doesn't post GitHub discussions in the github channel + - **If we agree that it's good PJB codes it** +- Verdict: **Yes** + +## YAML Prototype Editor | DrSmugleaf +- In-game or out-of-game + - If it's in-game it doesn't need to be downloaded separately but it can't be used if the branch doesn't build (can be solved by not using latest) + - Out of game means having to use avalonia :death: + - In-game means having to use robust's UI :death: + - In-game means it could live reload, and show it + - If the editor was good enough, we could store the data in a better format for machines +- Could be used by admins when uploading prototypes? +- Exporting to Resources/Prototypes when in local development +- Being able to view prototypes that have been uploaded through uploadfile in an UI? imagine +- **Don't do it out of game with Avalonia** +- **Do it in-game and maybe later move it to be inside a RobustToolbox editor** + + +## What to do about delta comp states | metalgearsloth +- Make comps track it themselves? https://discord.com/channels/310555209753690112/310555209753690112/1080275438913470564 +- Just use smaller components? (in the above case per-chunk ents but then that likely requires pvssystem changes and maybe archetypes) +- Pre-empting "do we need this" fixtures were split out from physics as grid movement was making the game unplayable for slow connections +- **Look into supporting chunk entities** + - **For bounds, chunks are multiples of 4 so it's not a problem** (i regard to chunk entities sitting at the corner of chunks) +- **Archetypes when** +- hampter, buncake + + +## Turning off settings requiring reviews to be approved | metalgearsloth +- It's just a placebo +- You can just dismiss it anyway. It doesn't need to remind me comments exist. +- I have already vibechecked the pr by that point even if I wasn't the reviewer. +- About as useful as protecting engine master +- Assuming it takes 5-10 seconds per PR this wastes 40+minutes a month +- Take a survey of active maints or smth idklol +- **Just use Bors you don't need to dismiss the reviews and Bors will fail if you merge something while it's working** + - **Ok don't do it yet until we fix the changelog bot** + + +## Early Access Roadmap +- gamemodes/antags + - dynamic | mirror + - lings? + - needs DNA + - blob | Remie + - revolutionaries + - we want a generic antag overlay system + - loyalty implant + - faction system +- EL BODY SYSTEM | jez ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony + - she did it go port it https://github.com/Citadel-Station-13/space-station-14/tree/master/Content.Server/_Citadel/Worldgen +- body system but again +- body system +- __***ENGINE EDITOR***__ | PJB + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- combat rework (needs to be bikeshedded) + - https://github.com/space-wizards/space-station-14/issues/3378 +- ghostrole/antag bans +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Woman down + - She added Miku to her server (real) now you can play as miku pls play with her + - Implement Xonotic as a plugin to ss14 +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - people like shitty games + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - ex: SCREEEEEEEEE + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 + - "Please unread the last line of the previous subsection" | PJB 07/01/2023 + - "I spent the last two weeks coding Rain World" | PJB 21/01/2023 + - "I should've tried to run it from the AirBNB that I was staying over in my skiing trip but I didn't" | PJB 11/02/2023 + - "It still runs like shit" | PJB 05/03/2023 +- A trailer for Steam + - Liltenhead made one + +Crashes / Critical bugs: (when are we moving these to GitHub) +- role timers not counting properly (pjb added a thing to check if its a db issue) (epico) + - the web ui just chops off after 24 hours haha + => till next time + like and subscribe + smash that button + did you know only 6% of contribs join this meeting? diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-05-06.md b/src/en/maintainer-meetings/maintainer-meeting-2023-05-06.md new file mode 100644 index 000000000..04fcc5513 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-05-06.md @@ -0,0 +1,80 @@ +# Maintainer Meeting (6 May 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 6 May 2023 19:00 UTC + +**Attendees:** +- DrSmugleaf +- Visne +- Flipp +- KeronSHB +- ShadowCommander +- mirrorcult + +## Dropping content support for disabling client-side prediction | ElectroSR +- **Simply make the server aware of which clients have prediction disabled instead** +- Might be annoying for the small amount of people that use it + +## Jez talks about telemetry | Jezithyr + +## Early Access Roadmap +- gamemodes/antags + - dynamic | mirror + - lings? + - needs DNA + - blob | Remie + - revolutionaries + - we want a generic antag overlay system + - loyalty implant + - faction system + - clock cult | keronshb +- EL BODY SYSTEM | jez ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- Salvage proc gen | moony [c#15120](https://github.com/space-wizards/space-station-14/pull/15120) + - she did it go port it https://github.com/Citadel-Station-13/space-station-14/tree/master/Content.Server/_Citadel/Worldgen +- body system but again +- body system +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- ghostrole/antag bans +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Woman down + - She added Miku to her server (real) now you can play as miku pls play with her + - Implement Xonotic as a plugin to ss14 +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - people like shitty games + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - ex: SCREEEEEEEEE + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 + - "Please unread the last line of the previous subsection" | PJB 07/01/2023 + - "I spent the last two weeks coding Rain World" | PJB 21/01/2023 + - "I should've tried to run it from the AirBNB that I was staying over in my skiing trip but I didn't" | PJB 11/02/2023 + - "It still runs like shit" | PJB 05/03/2023 + - "Uh" | PJB 19/03/2023 + - "Smugleaf to answer the literal question posed, because its better than Byond I hope" | PJB 01/04/2023 + - "Well I have a sample size of 1 myself and I do believe people do not in fact play the game" | PJB 15/04/2023 +- A trailer for Steam + - Also the screenshots for steam and the website + +Crashes / Critical bugs: (when are we moving these to GitHub) +- admin player overlay broke + => till next time + like and subscribe + smash that button + did you know only 6% of contribs join this meeting? diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-05-20.md b/src/en/maintainer-meetings/maintainer-meeting-2023-05-20.md new file mode 100644 index 000000000..b5a0ef312 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-05-20.md @@ -0,0 +1,117 @@ +# Maintainer Meeting (20 May 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 20 May 2023 19:00 UTC + +**Attendees:** +- DrSmugleaf +- flipp +- metalgearsloth +- ShadowCommander +- PJB +- Visne +- keronshb +- ElectroSR +- Jezithyr +- mirrorcult + +## Component shutdown events | ElectroSR +- Should we combine ComponentShutdown and ComponentRemove events? + - Yes, but also remove the separation between component Add and Init (and Startup) + - Also remove component enabling/disabling +- Should we add a new event that only gets raised when a component is explicitly removed, rather than due to entity deletion. Standard removal events would still get raised. + - Context: removal logic that is a waste of time if the entity is just getting deleted anyways. + - Components shouldn't do complex work in removal/deletion. Deletion should just get rid of things as aggressively as possible, only keeping the game state consistent. + - Removal of components should be private to systems rather than a public API. Systems should do "on removal" logic themselves in a public function that removes components for you. + - Make it opt in (Access attribute). + - Keep a deletion event if the entity is deleted altogether, but don't fire it if individual component is removed. + - Combined with the earlier point, this means that if you ABSOLUTELY MUST run code on all component removals, you need to explicitly call it from both your public removal function AND on deletione event. + - Keep a component removal event in case some use case really needs it. +- If we have a separate explicit removal event, can we eventually remove InSafeOrder() & just enforce that component removal doesn't require querying other components on that entity? + - **YES** + +Edit with bonus questions: +- If the events are merged, what do we do with deffered component removal. Currently it raises a shutdown event, but defers the remove event & actual removal. + - idk +- Also: should events be raised for components that are deferred for removal (i.e., should the subscription enumerator check the component's lifestage?) + - idk 2 + + +## UI stylesheets and themes | ElectroSR +- Meeting topic/discussion: Stylesheets & themes. +- How do we make them better? Stylesheets and rich text should probably use themes when possible. + +- Decision: + - Combine stylesheets and themes, move it to YAML + - Context: stylesheets are originally C# because they need to be able to describe C# objects like style boxes, and `.css` can't do that. + - Whoever makes the YAML syntax has to figure out how to implement constants for re-use in the stylesheet. + - Make it easy to extend stylesheets (edits of simple properties, colors etc). + - For complex animations/styling of controls, content should inherit engine controls and implement logic there. + - We will not be implementing more complex styling functions from CSS like built-in transitions, aniamtions, descendant selector. + + +## Arch | DrSmugleaf +- Smug giving status updates on Arch + - She's ranting I love it when she has this energy. + - She's explaining it again + + +## Early Access Roadmap +- gamemodes/antags + - dynamic [c#16548](https://github.com/space-wizards/space-station-14/pull/16548) + - lings? [c#16513](https://github.com/space-wizards/space-station-14/pull/16513) + - needs DNA + - blob + - revolutionaries + - we want a generic antag overlay system + - loyalty implant + - faction system + - clock cult | keronshb +- EL BODY SYSTEM | jez (sloth?) ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- body system but again +- body system +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- ghostrole/antag bans +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Woman down + - She added Miku to her server (real) now you can play as miku pls play with her + - Implement Xonotic as a plugin to ss14 +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - people like shitty games + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - ex: SCREEEEEEEEE + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 + - "Please unread the last line of the previous subsection" | PJB 07/01/2023 + - "I spent the last two weeks coding Rain World" | PJB 21/01/2023 + - "I should've tried to run it from the AirBNB that I was staying over in my skiing trip but I didn't" | PJB 11/02/2023 + - "It still runs like shit" | PJB 05/03/2023 + - "Uh" | PJB 19/03/2023 + - "Smugleaf to answer the literal question posed, because its better than Byond I hope" | PJB 01/04/2023 + - "Well I have a sample size of 1 myself and I do believe people do not in fact play the game" | PJB 15/04/2023 + - "Well I mean well ok we are somewhat close to being able to play the game, I still haven't played the game however" | PJB 20/05/2023 +- A trailer for Steam + - Also the screenshots for steam and the website + +Crashes / Critical bugs: (when are we moving these to GitHub)ç +=> till next time +like and subscribe +smash that button +did you know only 6% of contribs join this meeting? diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-06-10.md b/src/en/maintainer-meetings/maintainer-meeting-2023-06-10.md new file mode 100644 index 000000000..0989e5eea --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-06-10.md @@ -0,0 +1,126 @@ +# Maintainer Meeting (10 Jun 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 10 Jun 2023 19:00 UTC + +**Attendees:** +- DrSmugleaf +- PJB +- ElectroSR +- KeronSHB + +## Target round length | ShadowCommander +- How long? + - Citadel is too long at 2 sometimes not + - Really depends on what's going on in the round + - **60/90 minutes and give admins permissions to extend the shift** +- **Not hard-forced mechanically** + - i.e. no forced un-recallable shuttle at 90 minute mark + - If someone holds the round hostage others AHelp it +- **If we want to end the round, start ramping up events and disaster on the round** + - Overridable by admins + - Maybe override with player vote? + - Obviously tune for MRP + - Should take state of round into account +- Add a TF2 payload cart to SS14 + +## Formatting for log sawmills | metalgearsloth +- Options: + - name + - name.othername + - name_name + - Name + - Name.Name + - Name_Name + +- **Decision**: + - snake case elements + - example: `foo_bar.baz` + +## Obsolete freeze | PJB +![](https://hackmd.io/_uploads/B17h1SMP2.png) + +- Fucking fix the code reeee +- **"Just don't obsolete anything that's on the tier of `.Owner` for now probably"** +- **No content freezes or anything like that, it doesn't work** + +## IoCManager resolves in UI code | PJB +- UI controls currently rely on `IoCManager.Resolve()` in current +- **Option 1: constructor parameter** + - `new Control(UI)` + - First parameter becomes `IUserInterfaceManager` + - Must be passed through manually when creating new controls + - XamlUI does it automatically, only relevant for dynamic control creation. + - Hopefully not too inconvenient, have a `UI` property you can pass through easily. + - Add `IDependencyCollection` property to `IUserInterfaceManager` to link it through. + +- ~~Option 2~~: + - UI manager gets passed through on tree attach (when you add control as child of another one). + - Means no needing to pass constructor parameter manually. + - Fetching dependencies like sawmills must be done from `EnteredTree()` instead. + - Add `IDependencyCollection` property to `IUserInterfaceManager` to link it through. + +## How do we make PRs easier to review +- **We don't know** + +## Early Access Roadmap +- gamemodes/antags + - dynamic [c#16548](https://github.com/space-wizards/space-station-14/pull/16548) + - lings? [c#16513](https://github.com/space-wizards/space-station-14/pull/16513) + - needs DNA + - blob + - revolutionaries + - we want a generic antag overlay system + - loyalty implant + - faction system + - clock cult | keronshb + - waiting for mind rework +- EL BODY SYSTEM | jez (sloth?) ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- body system but again +- body system +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak +- ghostrole/antag bans +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Woman down + - She added Miku to her server (real) now you can play as miku pls play with her + - Implement Xonotic as a plugin to ss14 +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - people like shitty games + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - ex: SCREEEEEEEEE + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 + - "Please unread the last line of the previous subsection" | PJB 07/01/2023 + - "I spent the last two weeks coding Rain World" | PJB 21/01/2023 + - "I should've tried to run it from the AirBNB that I was staying over in my skiing trip but I didn't" | PJB 11/02/2023 + - "It still runs like shit" | PJB 05/03/2023 + - "Uh" | PJB 19/03/2023 + - "Smugleaf to answer the literal question posed, because its better than Byond I hope" | PJB 01/04/2023 + - "Well I have a sample size of 1 myself and I do believe people do not in fact play the game" | PJB 15/04/2023 + - "Well I mean well ok we are somewhat close to being able to play the game, I still haven't played the game however" | PJB 20/05/2023 + - "It still runs pretty bad however I do understand how people play it" | PJB 10/06/2023 +- A trailer for Steam + - Also the screenshots for steam and the website + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time +like and subscribe +smash that button +did you know only 6% of contribs join this meeting? diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-07-29.md b/src/en/maintainer-meetings/maintainer-meeting-2023-07-29.md new file mode 100644 index 000000000..a0bbdfae2 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-07-29.md @@ -0,0 +1,148 @@ +# Maintainer Meeting (29 Jul 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 29 Jul 2023 19:00 UTC + +**Attendees:** +- EmoGarbage +- Visne +- Wrexbe +- ElectroSR +- PJB +- Chief_Engineer +- Moony +- Notafet + +## Ambiguity of rule-relevant information in-game - Chief Engineer +* Certain rules are unclear at least partially because the game doesn't do a great job of presenting certain types of information to the player. This can result in confusion around certain rules, particularly for players who don't spend a significant amount of time in the game. + +* This is the information I can think of that should be clearly presented in-game: +* Antag status, including for ghost roles + * Example: Slimes clearly™️ communicate their antag status in their role description, but this is inconsistent with other ghost roles which also have ghost role rules saying that they are an antag. + * **On spawn (regular jobs & ghost roles), the character window should always open.** + * **Character menu gets far more info such as antag status, job expectation, etc... Actually make it useful!** + * **For ghost roles, add lottery, so people have time to read the role's description.** + * **This should provide people unmissable info what's expected of them (e.g. if they're antag), if people still wanna be friendly in an RP game we can't stop them.** + * What is contraband, specifically what is non-stealth contraband + * This is info for the antag player (in the item status box), so people realize what they're buying is contraband. + * **Silly stuff like syndicate balloon isn't really contraband: security can't assume you're a traitor.** + * ![](https://hackmd.io/_uploads/HJFTnRMjh.png) + * **No explicit indication for obvious crap like emag, power sink, etc. Players should use their brain, but do have good descriptions for it.** + * What are high value items, things that shouldn't be given away by heads + * People don't realize you can't *just* give the hypospray away. + * **Put a list of high-value items in the guidebook.** + * Which bodies can be returned to [#8495](https://github.com/space-wizards/space-station-14/issues/8495). + * **Make sure it's clearly explained in the guidebook.** + * **Make sure it makes sense.** + * **Doesn't need to be 100% obvious whether a corpse is revivable or not just from examine text, minimum should be health analyzer.** + +> What is the best way to present this information to players in-game? Many players miss that xenos, whose description includes "kill all crewmembers", are antags. Is this just a skill issue, or can it be mitigated with game changes? +How do you communicate what is a high value item without encouraging/justifying things like throwing it in the vault round start +What's the best way to ensure that contributors are aware that this information needs to be presented to players? +Is there a way the contraband status of stealth items can be communicated without ruining their stealth? + +mucho texto + +**See bullet points above** + +## Salvage Design Direction maintainer meeting topic - Emisse +(what's the opposite of mucho) texto +* tstalker says it's poco. + +According to EmoGarbage: Used to just have magnet salvage. Pull shit in, mine it. Now we have expeditions (~10min): fly to length, procgen dungeon. These are very different and it's not clear how this shit fit into gameplay. + +* **Make expeditions shorter & faster** + * **~5 min max time limit** + * **Corpse recovery if left behind** + * **stuff to make looting faster: mark items to be teleported, no inventory management** + * **Just make it more gamey** + * **Force a cooldown between expeditions. People can do magnet salvage if they want, but it's not required** + +## Spawn coordinates naming - ElectroSR +* Should we rename the entity spawn variant that takes in entity coordinates to clarify that it spawns-then-attaches or something like that +* **Yes, make more clear naming.** +* **A lot of helper functions.** +* **We need explicit helpers for common scenarios like "spawn next to player" (accounting for containers).** + +## What kinds of gamemodes are acceptable upstream? - EmoGarbage +* What kinds of gamemodes are acceptable upstream? +* Current gamemodes are all on-station regular stuff. People have jobs, antags happen. +* Some idea for more devious game modes: + * Planet tower defense + * Team deathmatch + * STATIONWARE +* Do we run total conversion and NRP modes (TDM, etc) +* What kinds of modes should be opt-in vs. part of secret +* **People can vote for alt gamemodes, within population ranges (e.g. 20 players max for TDM). +* **Alt gamemodes are WYCI** + +## Antags: to midround or not? - EmoGarbage +* What modes should be roundstart / in secret +* What modes/antagonists should remain as midrounds +* **We're just bikeshedding dynamic/game director. I think we're all in agreement there's nothing special to decide here** + +## Early Access Roadmap +- gamemodes/antags + - dynamic [c#16548](https://github.com/space-wizards/space-station-14/pull/16548) + - lings? [c#16513](https://github.com/space-wizards/space-station-14/pull/16513) + - needs DNA + - blob + - revolutionaries + - we want a generic antag overlay system + - loyalty implant + - faction system + - clock cult | keronshb + - waiting for mind rework +- EL BODY SYSTEM | jez (sloth?) ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- body system but again +- body system + - Maybe if we hold the VRChat maintainer meeting +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak + - What does this even mean anymore? +- ghostrole/antag bans +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Woman down + - She added Miku to her server (real) now you can play as miku pls play with her + - Implement Xonotic as a plugin to ss14 +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - people like shitty games + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - ex: SCREEEEEEEEE + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 + - "Please unread the last line of the previous subsection" | PJB 07/01/2023 + - "I spent the last two weeks coding Rain World" | PJB 21/01/2023 + - "I should've tried to run it from the AirBNB that I was staying over in my skiing trip but I didn't" | PJB 11/02/2023 + - "It still runs like shit" | PJB 05/03/2023 + - "Uh" | PJB 19/03/2023 + - "Smugleaf to answer the literal question posed, because its better than Byond I hope" | PJB 01/04/2023 + - "Well I have a sample size of 1 myself and I do believe people do not in fact play the game" | PJB 15/04/2023 + - "Well I mean well ok we are somewhat close to being able to play the game, I still haven't played the game however" | PJB 20/05/2023 + - "It still runs pretty bad however I do understand how people play it" | PJB 10/06/2023 +- A trailer for Steam + - Also the screenshots for steam and the website + - holy shit we have replays now + + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time +like and subscribe +smash that button +did you know only 6% of contribs join this meeting? diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-08-19.md b/src/en/maintainer-meetings/maintainer-meeting-2023-08-19.md new file mode 100644 index 000000000..d983f513f --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-08-19.md @@ -0,0 +1,201 @@ +# Maintainer Meeting (19 Aug 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 19 Aug 2023 18:00 UTC + +**Attendees:** +- Visne +- ElectroSR +- Metalgearsloth +- ShadowCommander +- PJB +- DrSmugleaf +- Julian +- Mirrorcult +- Notafet +- TheQuietOne +- Faint +- Jezithyr +- EmoGarbage + +![](https://hackmd.io/_uploads/SJ_QSYAhh.png) omg miku + +## Namespace changes in content | metalgearsloth +- https://github.com/space-wizards/space-station-14/pull/18869#issuecomment-1672388772 +- client and server end with s but shared doesn't so it was updated +- PR is also making component changes +- IMO no because it's cleaning up code so it's actually consistent +- **Do it in standalone PRs unless the PR is very small** + * Better for reviewing and forks +- **Post breaking changes in #codebase-changes AND THE GITHUB DISCUSSIONS ANNOUNCEMENTS** + +## Conventions for locale strings | EmoGarbage +- there is literally no rhyme or reason anywhere +- there isn't a guideline for what the locale key is supposed to look like +- the file structure is a literal hellhole of a million folders with a single file inside of them +- it doesn't even mirror Prototypes or the c# code file structure +- "Does anybody even use the file tree?" - Smug +- Mirror idea: what if they're top-level popup/, verb/, prototype/, etc. + - Would make future rewriting easier. + - **Just always have `verb-` or `popup-` or `ui` in the key for that purpose.** +- **Mirror C# structure** + - Mostly used from C#: popups, verbs, etc.. + - C# structure is *fine*, could be better but ah well. + +## How do we handle reagents with extra data | ElectroSR +- IMO we should extend solutions to also be able to store non-prototype / complex reagents that aren't simply an ID string. +- How would complex reagents store data? Would it just be an instance of some class per solution or would they point to some shared instance/entity? +- If its a shared entity, how do we handle: +- PVS +- Deleting the entity when all solutions are gone. +- Cloning an entity if one of several solutions gets modified (e.g., dna damage). +--- +Comments: +- IMO it would probably be easiest to just have complex reagents be instances of some class that defines special behaviour in C#. Allowing them to be entities probably just overcomplicates this? +- this has definitely been brought up before, but I don't remember what the conclusions were +- if there even were any + +--- + +- ![](https://hackmd.io/_uploads/SJOE9tR2h.png) +- **(Make it some base type other than object, figure out how to do automatic merging behavior)** +- Idea is this data object would be copied + +## Don't speedmerge large content PRs | metalgearsloth +- specifically [c#18840] and [c#18136] (TEG and borgs) +- I know they're both maintainers but at a glance I can see a lot of standards not being applied +- there's a lot of older prs that still need reviewing +- having a maint get their 5k line pr get merged while your small pr is still sitting there is a kick in the guts +--- +- personally: +- I'd rather playtest after someone's reviewed it thoroughly so if there's no major issues we can keep it rather than expect every time for it to get reverted. This is to avoid stuff like the ninja pr which sat in review hell for months +- There's a risk that some big, really not up-to-standards code gets merged and then people get unhappy when it needs reverting, or the bigger risk that it just stays there. +- **Have it be moderately ready for test merges** +- **Remember test merges** +- **Try to notify game admins for roles and gamerules (events)** + +## IMPROMPTU TOPIC: Contributor survey | Mirrorcult +- Do it sometime soon™ + +## Derailment +OH MY GOD WE HAVE 700 MERGED PRs LAST MONTH ALMOST TWICE OTHER CODEBASES. + +## Change how we do !logging | Visne +- !logging tells you to dm a random maintainer who may not know how it works and may have to message someone else +- Logs may have PII +- **Remove PII from logs so they can be posted in public channels** + - **Edit the !logging command** +- **Eventually have some ticketing system that lets every maintainer look at it** +- Ticket system is a massive pipe dream lmao wyci + +## Net entities | metalgearsloth +- how do we handle commands for migration (I'm just assuming they should all take NetEntity atm) +- anything else that may come up +- **Write a migration guide for forks** + +## Arch migration | metalgearsloth +- after the initial arch port to swap out internals what else do we want to take advantage of / how in terms of what I think is priority e.g.: +- queries (and how we prefer to structure it content side) https://github.com/genaray/Arch/wiki/Query-techniques +- command buffer (to replace RemCompDeferred / other stuff editing in loops), would we just expose this directly, do we flush it after every update, do we store one on EntityManager and flush it at the end of ticks etc. https://github.com/genaray/Arch/wiki/Utility-Features +- eventbus +- job scheduling (replace my shitty parallel.for everywhere) +- relations +- **its good** + +## Named args enforcement | metalgearsloth +- so emote sounds broke and it turns out adding an extra arg to the emotes method shifted everything and broke it. +- should we enforce this in review, even just past a certain point (e.g. 3 args) to avoid bools suddenly being mixed up or is this just a skill issue. + - **Enforce it in review when we decide the guidelines.** +- alternatively chat system is so fucking bad this was bound to happen (freeze until refactor PLEASE). +- **Maybe write an analyzer for it** +- **Also figure out how long it takes to run analyzers** + +## Default values in component C# definitions | PJB +- HAS THIS HAPPENED TO YOU? +- You define a component in C#. You only need it for one thing right now. Instead of putting the value in the YAML, you put it in the C# +- Should we put this as a no-no in the conventions? +- **Do it case-by-case** + +## Additional changelog categories/types for codebase changes and pretty/lore versions | ShadowCommander +- **Do it for codebase and game admin changes that can be filtered.** +``` +**Changelog** + +:cl: PJB3005 +[Gameplay] +- add: Nanotrasen finally decided to give engineering departments something to do, and has finalized the schematics for the thermo-electric generator (TEG). +- add: The TEG creates power by exchanging energy between a hot and cold gas on its two sides. +- tweak: You can turn on gas heaters/freezers with alt-click now. +- tweak: You can open air alarm and pump menus with activate (E) now. +``` +- **Have separate files and ids for any channels (admin/fork) so forks can also have their own.** + +## Early Access Roadmap +- gamemodes/antags + - dynamic [c#16548](https://github.com/space-wizards/space-station-14/pull/16548) + - lings? [c#16513](https://github.com/space-wizards/space-station-14/pull/16513) (closed) + - needs DNA + - blob + - revolutionaries [c#18477](https://github.com/space-wizards/space-station-14/pull/18477) + - we want a generic antag overlay system + - loyalty implant + - faction system + - clock cult | keronshb + - waiting for mind rework +- EL BODY SYSTEM | jez ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- body system but again +- body system + - Maybe if we hold the VRChat maintainer meeting +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak + - What does this even mean anymore? + - what is an 'acruid'? +- ghostrole/antag bans + - for ghost roles make taking them not valid if role-banned +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Woman down + - She added Miku to her server (real) now you can play as miku pls play with her + - Implement Xonotic as a plugin to ss14 +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - people like shitty games + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - ex: SCREEEEEEEEE + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 + - "Please unread the last line of the previous subsection" | PJB 07/01/2023 + - "I spent the last two weeks coding Rain World" | PJB 21/01/2023 + - "I should've tried to run it from the AirBNB that I was staying over in my skiing trip but I didn't" | PJB 11/02/2023 + - "It still runs like shit" | PJB 05/03/2023 + - "Uh" | PJB 19/03/2023 + - "Smugleaf to answer the literal question posed, because its better than Byond I hope" | PJB 01/04/2023 + - "Well I have a sample size of 1 myself and I do believe people do not in fact play the game" | PJB 15/04/2023 + - "Well I mean well ok we are somewhat close to being able to play the game, I still haven't played the game however" | PJB 20/05/2023 + - "It still runs pretty bad however I do understand how people play it" | PJB 10/06/2023 + - "Still does" | PJB 19/08/2023 +- A trailer for Steam + - Also the >>>>**screenshots**<<<< for steam and the website + - DO WE HAVE SELF GHOST HIDING + - holy shit we have **replays** now + + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time +like and subscribe +smash that button +did you know only 6% of contribs join this meeting? diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-09-02.md b/src/en/maintainer-meetings/maintainer-meeting-2023-09-02.md new file mode 100644 index 000000000..2833088a5 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-09-02.md @@ -0,0 +1,129 @@ +# Maintainer Meeting (02 Sep 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 02 Sep 2023 18:00 UTC + +**Attendees:** +- EmoGarbage +- Visne +- Julian +- ShadowCommander +- ElectroSR +- Lank +- Notafet +- PJB +- Faint + +## "the github reviews murder case special" +- get rid of codeowners. do any of us actually use it, it just confuses people who think the codeowners need to review before its merged + - **Remove all general ones and change to one or two folders deep, so that it actually goes to the relevant PRs +- review labels rn are half-automated which is good but its hard to tell when someone finishes a review. have people re-request a review on github to clear the ‘changes requested’ label and expect ppl to do this + - Make the bot remove the "Awaiting changes" label when PR reviews are requested again + - Just tell more people to press the re-request review button when reviewing. + - Maybe make a copy paste that can be put as the instructions for new contributors +- have maintainers actually assign themselves to review PRs that they're going to review so we aren't just passing this along through word of mouth +- ok basically just actually make use of the GH review features instead of having to tell people ‘uhh just ignore that’ +- side quest. can we ask github for GH enterprise again since we're big boys and open source + +## "a killing at the github issues and labels page " +- get rid of all prio labels except for URGENT they dont rly matter + - We probably wont sort by + or - Low Priority, so + - **Yes only URGENT** +- maybe consolidate the difficulty labels too but theyre probably fine + - **Keep difficulty labels** + - Easy should be able to be done by a new contributor with 0-4 PRs within a few hours. + - Beginner friendly should be clearly written out what the requirements and goals are for the PR +- mapping issue labels (one for every map? makes it easier for mappers to sort through) + - Not needed +- some ‘possibly no longer relevant' label (like tgs ‘flagged cleanup’label), close really old issues with this if we aren't 100% sure + - some other ideas for issue labels that are actually useful: + - ‘oversight' (easy to fix random stuff that just wasnt caught) + - ‘regression’ (previously working feature is broken) + - combine cleanup/needs refactor into ‘code maintenance’ + - ‘requires resprite’for arttainer issues +- go back through and properly clean up and label old-old issues by god there are 2.2k open and they are definitely not all still relevant. let us start a united front here. give a bunch of people triage and go at it over the course of like a couple weeks. make github issues useful again +- allow user labeling of issues, at least for certain kinds like feature request and oversight. probably thru some gh action that just looks in the issue body or in comments. iirc someone tried this like 2 yrs ago but it didnt work and we never fixed it + - Yes fix the bot +- think about giving out triage access more freely, maybe to all experienced contribs? + - **Yes** + - And some game admins + - All staff + +## New art +- ok can we actually commission artists for new lobby art with our five million dollars like we said we would a year ago +- Yes. We need an artist. +- Lobby art ideas: + - One of every Antagonist + - One of every species + - One of every Job/Department + - This is not one artwork per subject, one artwork can have more than one subject. + +## Early Access Roadmap +- gamemodes/antags + - dynamic [c#16548](https://github.com/space-wizards/space-station-14/pull/16548) + - lings? [c#16513](https://github.com/space-wizards/space-station-14/pull/16513) (closed) + - needs DNA + - blob + - revolutionaries [c#18477](https://github.com/space-wizards/space-station-14/pull/18477) + - we want a generic antag overlay system + - loyalty implant + - faction system + - clock cult | keronshb + - waiting for mind rework +- EL BODY SYSTEM | jez ![](https://cdn.discordapp.com/emojis/933790288860815380.webp =40x) + - some refactors were done by mirror, still some left + - surgery died in the war of 1992 + - Mirror died in the war of 1993 + - limb damage..... +- body system but again +- body system + - Maybe if we hold the VRChat maintainer meeting +- __***ENGINE EDITOR***__ + - could benefit from full state reload +- movement refactor + - Client side movement? + - a smidgen + - as a treat + - acruid pls com bak + - What does this even mean anymore? + - what is an 'acruid'? +- ghostrole/antag bans + - for ghost roles make taking them not valid if role-banned +- State mandated Xonotic matches | PJB + - Please I have severe withdrawal symptoms + - Replaced by private SS14 playtests + - Woman down + - She added Miku to her server (real) now you can play as miku pls play with her + - Implement Xonotic as a plugin to ss14 +- The game runs like shit how do people play this + - still does | PJB 28/05/2022 + - people like shitty games + - "how do people play this game" (high pitched scream) | PJB 28/05/2022 + - ex: SCREEEEEEEEE + - Slightly better | PJB 11/06/2022 + - It's better but still not as good as I'd like it to be | PJB 25/06/2022 + - I haven't played the game since | PJB 16/07/2022 + - "Please read the last line of that subsection" | PJB 30/07/2022 + - "Please unread the last line of the previous subsection" | PJB 07/01/2023 + - "I spent the last two weeks coding Rain World" | PJB 21/01/2023 + - "I should've tried to run it from the AirBNB that I was staying over in my skiing trip but I didn't" | PJB 11/02/2023 + - "It still runs like shit" | PJB 05/03/2023 + - "Uh" | PJB 19/03/2023 + - "Smugleaf to answer the literal question posed, because its better than Byond I hope" | PJB 01/04/2023 + - "Well I have a sample size of 1 myself and I do believe people do not in fact play the game" | PJB 15/04/2023 + - "Well I mean well ok we are somewhat close to being able to play the game, I still haven't played the game however" | PJB 20/05/2023 + - "It still runs pretty bad however I do understand how people play it" | PJB 10/06/2023 + - "Still does" | PJB 19/08/2023 +- A trailer for Steam + - Also the >>>>**screenshots**<<<< for steam and the website + - DO WE HAVE SELF GHOST HIDING + - holy shit we have **replays** now + + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time +like and subscribe +smash that button +did you know only 6% of contribs join this meeting? From 330f199169cba32c717d529fc14d9917c686db85 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Sat, 30 Sep 2023 00:42:41 -0700 Subject: [PATCH 10/41] Add missing admonish info to the last maintainer meeting --- src/en/maintainer-meetings/maintainer-meeting-2023-09-23.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-09-23.md b/src/en/maintainer-meetings/maintainer-meeting-2023-09-23.md index 591976cb8..839fc54a0 100644 --- a/src/en/maintainer-meetings/maintainer-meeting-2023-09-23.md +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-09-23.md @@ -1,4 +1,7 @@ # Maintainer Meeting (23 Sep 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` **Time:** 23 Sep 2023 18:00 UTC From 7fa5d47a94bb75311169edb0ff997087ef3dceb9 Mon Sep 17 00:00:00 2001 From: faint <46868845+ficcialfaint@users.noreply.github.com> Date: Sat, 30 Sep 2023 23:35:41 +0300 Subject: [PATCH 11/41] Labeler (#71) --- .github/labeler.yml | 8 ++++++++ .github/workflows/labeler-pr.yml | 12 ++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 .github/labeler.yml create mode 100644 .github/workflows/labeler-pr.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 000000000..bc8db4254 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,8 @@ +"English": +- 'src/en/**' + +"Russian": +- 'src/ru/**' + +"Scripts": +- 'scripts/**' diff --git a/.github/workflows/labeler-pr.yml b/.github/workflows/labeler-pr.yml new file mode 100644 index 000000000..1b87e6555 --- /dev/null +++ b/.github/workflows/labeler-pr.yml @@ -0,0 +1,12 @@ +name: "Labels: PR" + +on: +- pull_request_target + +jobs: + labeler: + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v4 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file From fd6e78faace4ded0ef13c8bd69801420a4265007 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Sat, 30 Sep 2023 19:25:31 -0700 Subject: [PATCH 12/41] Update serialization doc for optional data field tags, minor fixes --- src/en/robust-toolbox/serialization.md | 54 +++++++++++++------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/src/en/robust-toolbox/serialization.md b/src/en/robust-toolbox/serialization.md index c8f8bed45..252d69741 100644 --- a/src/en/robust-toolbox/serialization.md +++ b/src/en/robust-toolbox/serialization.md @@ -1,6 +1,4 @@ # Serialization -For everything in this article: If you dont understand a certain topic, if you have suggestions for improvements, if you have any questions/inquiries at all, ping Paul#7955 (me) on discord. I'm happy to help :) - ## The API Each API-Surface (excluding Composition) of the SerializationManager has a generic variant, as well as a boxing variant. Additionally, each has two more generic methods for directly invoking TypeInterfaces, one where you can provide the instance used, and another where you'll just need to provide the type and the manager will take care of fetching an instance to use. @@ -22,7 +20,6 @@ Can be used to provide a context instance if you so wish to. See [SerializationC All APIs also provide you with a `bool` parameter called `skipHook`, which can be used to skip invoking methods implemented using the `ISerializationHook` interface. **Take note however, this parameter is due to be deprecated.** This parameter is not available in Write,Validate and Composition-APIs! ### Read - When reading, you will have to provide: - A type, either as generic type argument T or as the type parameter in the boxing variant - A DataNode to read (duh) @@ -53,13 +50,11 @@ If CopyTo fails to copy into the target object, it will override it using a call Here, composition is pushed across nodes using definitions associated to the type passed. This means that the type you pass determines how the datanodes you provide will be merged together. Currently, there is only a very limited amount of methods to customize this behaviour, especially on DataFields. However, we are working on it! ## Data Definitions - DataDefinitions are Structs or Classes with Field/Properties annotated to be DataFields. These DataFields are written and read to and from yaml, but are also used for copy, validation & composition operations. Going forward, i will simply refer to structs & classes as a "type". Data definitions must have a parameterless constructor in order to be valid. (With the exception of [DataRecords](#dataRecords)) ### Declaring a DataDefinition - ```admonish note There exists no risk in declaring a DataDefinition with multiple of these options at once. The duplicate registrations will simply be reduced so a single one. ``` @@ -67,7 +62,6 @@ There exists no risk in declaring a DataDefinition with multiple of these option `DataDefinition`s must be declared `partial` in order to work with our source generator for copying. #### Directly - To make a class become a DataDefinition, you can add a [DataDefinition] attribute to the type like so. ```csharp [DataDefinition] @@ -110,20 +104,34 @@ public sealed class PrototypeAttribute : Attribute { ### DataFields #### Types of DataFields ##### Regular -Any property or field or property on a data definition can be annotated with a [DataField] attribute. In the following, both properties and fields will simply be referred to as "field". -This attribute accepts a string key which will be used to define the key in YAML. +Any field or property on a data definition can be annotated with a [DataField] attribute. +In the following, both properties and fields will simply be referred to as "field". ```csharp -[DataField("color")] +[DataField] protected Color Color { get; set; } = Color.White; ``` -The examples above would translate into YAML like this: +The example above would translate into YAML like this: ```yaml color: White ``` +This attribute accepts an optional string key which can be used to define the key in YAML, instead of the camel-case version of the field name. +**If one is not needed, it is preferred to not specify one.** + +```csharp +[DataField("colorValue")] +protected Color Color { get; set; } = Color.White; +``` + +The example above would translate into YAML like this: + +```yaml +colorValue: White +``` + ##### Include DataField A DataDefinition gets written into and read from a MappingDataNode. Other than the regular datafield, the Include DataField will not get a value from a key of that MappingDataNode to read/write from/to the field, but will instead use the MappingDataNode of the entire DataDefinition to perform its read/write-operation. This has specific implications on writing specifically: IncludeDataFields get serialized last, and the produced mapping will be inserted into the mapping of the datadefinition that was already produced. If a key already exists, the new value produced by serializing the IncludeDataField will be ignored. @@ -132,13 +140,8 @@ This has specific implications on writing specifically: IncludeDataFields get se This behaviour might become configurable in the future. ``` -#### Custom Type Handler - -```admonish info -Don't be confused by the type handlers sometimes being called type serializers. This is an artifact from the old times and will soon be removed/renamed. -``` - -A custom type handler can be specified if one doesn't exist by default or custom behavior is needed to serialize a specific type. To use one, pass it through the customTypeSerializer argument. +#### Custom Type Serializer +A custom type serializer can be specified if one doesn't exist by default or custom behavior is needed to serialize a specific type. To use one, pass it through the customTypeSerializer argument. Both the DataField and IncludeDataField support custom type interfaces, but only the DataFieldAttribute is used in the following examples to make them a tad less bloaty. ```admonish warning @@ -147,7 +150,7 @@ Any other behaviour that wont differ from the normal one does not need to be red ``` ```csharp -[DataField("drawdepth", customTypeSerializer: typeof(ConstantSerializer))] +[DataField(customTypeSerializer: typeof(ConstantSerializer))] private int DrawDepth { get; set; } = DrawDepthTag.Default; ``` @@ -171,7 +174,7 @@ public sealed class DrawDepth public sealed partial class SpriteComponent { - [DataField("drawdepth", customTypeSerializer: typeof(ConstantSerializer))] + [DataField(customTypeSerializer: typeof(ConstantSerializer))] private int DrawDepth { get; set; } = DrawDepthTag.Default; } ``` @@ -189,7 +192,7 @@ public sealed class CollisionLayer {} public sealed partial class PhysShapeRect { - [DataField("layer", customTypeSerializer: typeof(FlagSerializer))] + [DataField(customTypeSerializer: typeof(FlagSerializer))] private int CollisionLayer { get; set; } } ``` @@ -205,14 +208,9 @@ Two additional attributes may be used on a datafield to define how it is inherit TODO -## Type handler - -```admonish info -Don't be confused by the type handlers sometimes being called type serializers. This is an artifact from the old times and will soon be removed/renamed. -``` - -The type handler interfaces are a collection of interfaces for defining custom logic for actions on specific types. Sometimes, the expected node type will also be specified. -A class implementing at least one of these type handler interfaces is referred to as a type handler. If you want your type handler to *always* be used, you can annotated it with the `[TypeSerializer]` attribute. Otherwise, the type can be used as a [custom type handler](#custom-type-handler). +## Type serializer +The type serializer interfaces are a collection of interfaces for defining custom logic for actions on specific types. Sometimes, the expected node type will also be specified. +A class implementing at least one of these type serializer interfaces is referred to as a type serializer. If you want your type serializer to *always* be used, you can annotated it with the `[TypeSerializer]` attribute. Otherwise, the type can be used as a [custom type serializer](#custom-type-serializer). **The static IoCManager.Resolve should not be used as the serializer might be running on a separate thread without an initialized IoC context.** From f8473087f9eba7f94ca7c7705e9da6911b72d94f Mon Sep 17 00:00:00 2001 From: Kevin Zheng Date: Sun, 1 Oct 2023 11:47:49 -0700 Subject: [PATCH 13/41] Update pull request guidelines --- .../codebase-info/pull-request-guidelines.md | 93 +++++++++++-------- 1 file changed, 55 insertions(+), 38 deletions(-) diff --git a/src/en/general-development/codebase-info/pull-request-guidelines.md b/src/en/general-development/codebase-info/pull-request-guidelines.md index c41b32ee3..539bed09e 100644 --- a/src/en/general-development/codebase-info/pull-request-guidelines.md +++ b/src/en/general-development/codebase-info/pull-request-guidelines.md @@ -1,54 +1,71 @@ # Pull Request Guidelines -Following these guidelines will make contributing much easier, and will help your PRs be merged much faster by making them easy to review. - -- If you're unfamiliar with the Git workflow, please read [our git guide](../setup/git-for-the-ss14-developer.md) and ask as many questions as you need in #howdoicode. -- Do not use the GitHub web editor to make pull requests. You are required to make sure your code compiles and you've tested your changes in-game before making the PR. **PRs created through the Github web editor are liable to be closed at a maintainer's discretion, as they have not been tested locally and cannot meet these requirements.** Repeated submission of PRs made through the web editor may result in a repository ban. -- Please **re-read your code preview on GitHub** before submitting a PR. If it's obvious to a reviewer it includes your last PR (i.e. PR2 includes PR1's changes), or that there are accidental changes, then it should be obvious to you. -- If your PR adds a new feature, you should provide a screenshot or video of it functioning properly ingame. This not only makes reviewing easier, but also makes writing the progress report easier. -- Avoid adding miscellaneous additional changes to a PR, e.g. changing the heat resistance of a pair of gloves alongside your PR adding a new gun. -- Avoid making lots of formatting changes in a file if you change very few lines in it. It makes the review significantly more difficult to parse what actually changed and can generate conflicts for other PRs. -- If you do make refactoring/formatting changes, make them separate commits from actual content/feature/functionality changes so that they are easier to review. -- Large refactors that touch a lot of other systems belong in a separate refactor-only PR with no content changes -- If you move a file to a different folder and/or namespace, put that in its own commit when possible to make it easier to tell what got changed in a file and what was just moved. +Thank you for contributing to Space Station 14. When submitting pull requests (PRs), please follow these guidelines to make your pull requests easier to review and merge. Pull requests that do not follow these guidelines may be closed at a maintainer's discretion. + +## Before You Begin + +- If you're unfamiliar with the Git workflow, please read our [Git guide](../setup/git-for-the-ss14-developer.md) and ask as many questions as you need in #howdoicode. + - Please have some familiarity with [C# conventions](https://docs.microsoft.com/en-us/dotnet/csharp/) (if working with C#) and [our own conventions](./conventions.md). Try to read how other parts of the codebase are formatted for a general idea. -- Try to split your PR into smaller ones where it makes sense to do so. This makes it significantly easier to read and can lead to faster reviews. It's also usually easier for you, and means you will receive earlier feedback and can avoid spending time making changes that have to be reworked. + - Large new features and comprehensive reworks to existing large features (ie antags or anything that could be considered a subdepartment unto itself), should first be [proposed and accepted in abstract](../feature-proposals.md) before you start working on actually implementing it. -- Avoid force-pushing to your branch. This makes all reviews show as 'outdated', even if they have not been addressed yet, which makes it much harder for us. -- When you're addressing reviews, click 'Resolve conversation' on GitHub once your revised code has been pushed. -- If you have questions about reviews that were submitted on your PR (or code questions in general, of course), feel free to ask for clarification on GitHub or Discord in #howdoicode. -## Reviews +## Content + +- **Make separate PRs for feature changes, bug fixes, and cleanup/refactors.** This makes changes easier to review, reduces conflicts, and also easier to revert if something goes wrong. + + - Feature changes and bug fixes should be in their own PR. + - Cleanups and "refactoring", including variable renaming and indentation changes (for example, due to file-scoped namespacing) must be in their own PR. + - **Refactors must be in a separate PR.** This includes changes that impact a significant number of public APIs (fields, methods, etc.) that require changes across multiple systems. These must be made in a separate PR from any content changes or bug fixes. + - If you move a file to a different folder and/or namespace, put that in its own commit when possible to make it easier to tell what got changed in a file and what was just moved. + +- **Do not make multiple unrelated changes in one PR.** For example, do not make miscellaneous additional changes to a PR, e.g. changing the heat resistance of a pair of gloves alongside your PR adding a new gun. + + - Try to split your PR into smaller ones where it makes sense to do so. This makes it significantly easier to read and can lead to faster reviews. It's also usually easier for you, and means you will receive earlier feedback and can avoid spending time making changes that have to be reworked. + +## Testing + +- **Test all of your changes in-game.** All bug fixes and features must be tested in-game. You should also test other features that may be indirectly impacted by your changes. -We get around 700 PRs a month and only have a small number of active maintainers. All maintainers are volunteers and maintainer availability is very variable. Depending on the size and importance of your PR, it could take up to a few weeks before someone gets around to reviewing it. Responding to any changes may also take some time. Please be patient. + - For the above reason, **do not use the GitHub web editor to make PRs.** Web edits are liable to be closed at a maintainer's discretion. Repeated submission of PRs made through the web editor may result in a repository ban. -Anyone is welcome to review PRs. Reviews from other contributors can be just as valuable as reviews from maintainers, and often mean that PRs can be merged faster and can help relieve the worload for maintainers. If you are waiting for a review it might be a good idea to find another contributor in a similar position so that you can mutually review each other's PRs. Reading other people's PRs and thinking critically about how you would have written the code can also be a useful learning tool. +- **Provide screenshots or videos** that demonstrate testing done. This also makes it easier to write progress reports. -### Asking for reviews -Please do not simply post your PR in our discord channels without context simply to ask for reviews. However, if your PR hasn't been reviewed by anyone and it has been a month, feel free to ping those listed here on GitHub or Discord. These aren't all of our maintainers, but they're currently the most active when it comes to reviews. +## Before Submitting -**For content reviews:** -- mirrorcult#9528, @mirrorcult on GitHub -- metalgearsloth#7697, @metalgearsloth -- ElectroSR#9529, @ElectroJr -- /tmp/moony#0029, @moonheart08 +- **Review your diff** using the code preview tab on GitHub. -**For engine reviews:** -- metalgearsloth#7697, @metalgearsloth -- PJB#3005, @PJB3005 -- ElectroSR#9529, @ElectroJr -- mirrorcult#9528, @mirrorcult + - Check for changes that you did not intend to commit. + - Check for accidental whitespace additions or line end changes. -## Adding screenshots/videos to your PR -PRs which make ingame changes (adding clothing, items, new features, etc) are required to have media attached that showcase the changes or the PR will not be merged, in accordance with our PR guidelines. Small fixes/refactors are exempt. If you include media in your pull request, we may potentially use it in the SS14 progress reports, with clear credit given. +## After Submitting + +You are free to make changes to your PR after submitting, for example, if you make improvements or fix bugs that you discover after submitting. + +- **Do not force push to your branch** after receiving a review unless a maintainer requests it. Doing so makes all reviews show as 'outdated', even if they have not been addressed yet. + +# Reviews + +Reviews are an important part of the pull request process. Reviews help us obtain feedback from the community and maintain a high quality of code in the codebase. Since maintainers are volunteers, we ask for your patience. The review process for large changes can take up to several weeks. + +## Getting Reviews + +- Anyone is welcome to review PRs. Reviews from other contributors can be just as valuable as reviews from maintainers, and often mean that PRs can be merged faster and can help relieve the workload for maintainers. If you are waiting for a review it might be a good idea to find another contributor in a similar position so that you can mutually review each other's PRs. Reading other people's PRs and thinking critically about how you would have written the code can also be a useful learning tool. + +- Maintainers periodically review open PRs. + +- If it is taking several days to get an initial review, it is appropriate to ask for a review in #pr-review-request. + +## Addressing Reviews + +- When you're addressing reviews, click 'Resolve conversation' on GitHub once your revised code has been pushed. -Use screenshot software like Window's built in snipping tool, ShareX, Lightshot, or recording software like ShareX (gif), ScreenToGif, or OBS (cross platform). -If you're unsure whether your PR will require media, ask a maintainer. +- If you have questions about reviews that were submitted on your PR (or code questions in general, of course), feel free to ask for clarification on GitHub or Discord from the reviewer or in #howdoicode. -## Changelog +# Changelog Changelog entries help make players aware of new features or changes to existing features. -### Changelog Template +## Changelog Template The Github PR template contains the following changelog that you can use to format your changelog entry so that it is automatically updated in-game: ``` @@ -65,7 +82,7 @@ Each entry is either an `add`, `remove`, `tweak`, or `fix`. There can be multipl Maintainers may, at their discretion, add, modify, or remove a change log entry that you suggest. -### Writing An Effective Changelog +## Writing An Effective Changelog The Changelog is for *players* to be aware of new features and changes that could affect how they play the game. It is *not* designed for maintainers, admins, or server operators (these should be in the PR description). When writing your changelog entries, please follow these guidelines: @@ -110,4 +127,4 @@ When writing your changelog entries, please follow these guidelines: - Not so good: "Can you believe it? Arachnid re-rework just dropped! Check the PR for more details" - - Not so good: "Arachnids have new sprites for being creampied." *crampied* has another, unfortunate meaning that undermines the professional tone of a Changelog entry. \ No newline at end of file + - Not so good: "Arachnids have new sprites for being creampied." *crampied* has another, unfortunate meaning that undermines the professional tone of a Changelog entry. From 4e25daa4f9b146b7c248d46adb0539fd8acf3813 Mon Sep 17 00:00:00 2001 From: Kara Date: Sun, 1 Oct 2023 12:05:38 -0700 Subject: [PATCH 14/41] Fix hub rules redirect --- book.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/book.toml b/book.toml index aad926134..4e8865d84 100644 --- a/book.toml +++ b/book.toml @@ -116,4 +116,4 @@ warning-policy = "ignore" # false-positives like hell with absolute links & late "/en/engine/porting-visualizers/index.html" = "/en/ss14-by-example/making-a-sprite-dynamic/porting-appearance-visualizers.html" "/en/engine/lighting-fov/index.html" = "/en/robust-toolbox/rendering/lighting-and-fov.html" "/en/engine/sprites-icons/index.html" = "/en/robust-toolbox/rendering/sprites-and-icons.html" -"/en/hosting/hub-rules/index.html" = "/en/community/space-wizards-hub-rules.html" \ No newline at end of file +"/hosting/hub-rules/index.html" = "/en/community/space-wizards-hub-rules.html" From 2b3061e345dcc6e8e2c163d84f5962101312bdcc Mon Sep 17 00:00:00 2001 From: Andrii Nepryntsev Date: Mon, 2 Oct 2023 16:23:07 +0200 Subject: [PATCH 15/41] added 'Ukrainian' tag (#73) yeah, that's all it adds Co-authored-by: Segonist --- .github/labeler.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/labeler.yml b/.github/labeler.yml index bc8db4254..a67a088a6 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -4,5 +4,8 @@ "Russian": - 'src/ru/**' +"Ukrainian": +- 'src/ua/**' + "Scripts": - 'scripts/**' From a392e962a831c2eb6ce8b9ca7a2b45460cfafee3 Mon Sep 17 00:00:00 2001 From: Kara Date: Tue, 10 Oct 2023 17:17:21 -0700 Subject: [PATCH 16/41] Labeler for design proposals --- .github/labeler.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/labeler.yml b/.github/labeler.yml index a67a088a6..3f9346be2 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -9,3 +9,6 @@ "Scripts": - 'scripts/**' + +"Design": +- 'src/en/proposals/** From e36db6c75d4a6dbd8a77bc9a931a527c8204efbf Mon Sep 17 00:00:00 2001 From: Kara Date: Tue, 10 Oct 2023 17:17:39 -0700 Subject: [PATCH 17/41] i am literally stupid --- .github/labeler.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/labeler.yml b/.github/labeler.yml index 3f9346be2..8e7389a90 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -11,4 +11,4 @@ - 'scripts/**' "Design": -- 'src/en/proposals/** +- 'src/en/proposals/**' From c6c6fe6c3a5ec53def8da513e14ebd5f4642bed1 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Tue, 10 Oct 2023 17:38:25 -0700 Subject: [PATCH 18/41] Add maintainer meeting docs to the summary (#74) --- src/SUMMARY.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 964107986..29f4eb9cc 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -169,3 +169,40 @@ Community - [Wizards Den Admin Policy](en/community/admin/wizards-den-admin-policy.md) - [Wizards Den Banning Policy](en/community/admin/wizards-den-banning-policy.md) - [Progress Report Creation](en/community/progress-report-creation.md) + +Maintainer Meetings +============== + +---------------------- +- [2023-09-23](en/maintainer-meetings/maintainer-meeting-2023-09-23.md) +- [2023-09-02](en/maintainer-meetings/maintainer-meeting-2023-09-02.md) +- [2023-08-19](en/maintainer-meetings/maintainer-meeting-2023-08-19.md) +- [2023-07-29](en/maintainer-meetings/maintainer-meeting-2023-07-29.md) +- [2023-06-10](en/maintainer-meetings/maintainer-meeting-2023-06-10.md) +- [2023-05-20](en/maintainer-meetings/maintainer-meeting-2023-05-20.md) +- [2023-05-06](en/maintainer-meetings/maintainer-meeting-2023-05-06.md) +- [2023-03-05](en/maintainer-meetings/maintainer-meeting-2023-03-05.md) +- [2023-02-11](en/maintainer-meetings/maintainer-meeting-2023-02-11.md) +- [2023-01-21](en/maintainer-meetings/maintainer-meeting-2023-01-21.md) +- [2023-01-07](en/maintainer-meetings/maintainer-meeting-2023-01-07.md) +- [2022-07-30](en/maintainer-meetings/maintainer-meeting-2022-07-30.md) +- [2022-07-16](en/maintainer-meetings/maintainer-meeting-2022-07-16.md) +- [2022-06-25](en/maintainer-meetings/maintainer-meeting-2022-06-25.md) +- [2022-06-11](en/maintainer-meetings/maintainer-meeting-2022-06-11.md) +- [2022-05-28](en/maintainer-meetings/maintainer-meeting-2022-05-28.md) +- [2022-05-14](en/maintainer-meetings/maintainer-meeting-2022-05-14.md) +- [2022-04-30](en/maintainer-meetings/maintainer-meeting-2022-04-30.md) +- [2022-04-16](en/maintainer-meetings/maintainer-meeting-2022-04-16.md) +- [2022-04-02](en/maintainer-meetings/maintainer-meeting-2022-04-02.md) +- [2022-03-19](en/maintainer-meetings/maintainer-meeting-2022-03-19.md) +- [2022-03-05](en/maintainer-meetings/maintainer-meeting-2022-03-05.md) +- [2022-02-05](en/maintainer-meetings/maintainer-meeting-2022-02-05.md) +- [2022-01-22](en/maintainer-meetings/maintainer-meeting-2022-01-22.md) +- [2022-01-08](en/maintainer-meetings/maintainer-meeting-2022-01-08.md) +- [2021-12-11](en/maintainer-meetings/maintainer-meeting-2021-12-11.md) +- [2021-11-27](en/maintainer-meetings/maintainer-meeting-2021-11-27.md) +- [2021-11-13](en/maintainer-meetings/maintainer-meeting-2021-11-13.md) +- [2021-10-30](en/maintainer-meetings/maintainer-meeting-2021-10-30.md) +- [2021-10-16](en/maintainer-meetings/maintainer-meeting-2021-10-16.md) +- [2021-10-02](en/maintainer-meetings/maintainer-meeting-2021-10-02.md) +- [2021-09-19](en/maintainer-meetings/maintainer-meeting-2021-09-19.md) From 346282dc6a7699b8bfd6de4a9d030bd8a68aa2a3 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Thu, 12 Oct 2023 23:51:45 +0100 Subject: [PATCH 19/41] plant genetics design doc (#70) depends on botany ecs/rework design doc and could be reused with virology design doc --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- src/en/proposals/deltanedas-plant-genetics.md | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/en/proposals/deltanedas-plant-genetics.md diff --git a/src/en/proposals/deltanedas-plant-genetics.md b/src/en/proposals/deltanedas-plant-genetics.md new file mode 100644 index 000000000..2bfdf8524 --- /dev/null +++ b/src/en/proposals/deltanedas-plant-genetics.md @@ -0,0 +1,71 @@ +# Feature Design: plant genetics + + + + + + + + + + + + + + +
Designer + deltanedas +
Discord/Forum Thread + TBD +
Github PR/Draft + TBD +
+ + + +# Overview: + +A new CRISPR-like machine for modifying genomes of plants. +Has a hex editor-like UI where you can seek to a position and it shows a certain number of bases. +From there you can make modifications e.g. swapping out an A at index 38 for a T. Once you are happy and think your modifications won't kill the plant, create your new seed and plant it. +Since genome layouts are randomized roundstart this would be no better than current mutagen roulette of just hoping it gets a good trait and doesnt make the plant useless. + +To solve gene roulette, the second part of this would be experimentation. +Get 2 identical seeds with clippers then mutate one a little using unstable mutagen. +Either the same machine from the start or a separate one can then analyze them and check what genes (bits) are different. +After a little bit of time it either picks a single random bit, or multiple of them, and tells the player what gene name is at that bit. If the gene has multiple bits it will take some investigation to see which bit it is but that's trivial for yield/potency which can be seen just by clipping it. +Essentially you keep experimenting on plants to figure out the index of every gene, and tada youve mapped the plant genome and can make gmos with ease for the rest of the round. + +# Goals: +Promote interdepartment stuff by requiring biomass for gene editing: +- Means there is some cost to minmaxing a plant so you might just have to settle for the important traits +- If there is no med staff / no bodies to juice you can still grow plants as normal +- There was some ideas about being able to reclaim biomass from plants so you could use that to kickstart it. +- Salvage can find biomass on expeditions as a large but irregular source, assuming med doesn't get to it first. + +# Gameplay: +The gene editing would primarily be a window like a hex editor, set a position to seek to and then itll show up to X bases. +You can modify a base by just typing A C G or T. they map to 00 01 10 and 11 respectively in binary, so for every 2 bits you get a single base. +From there the player can feed it biomass and print out a fancy new seed with a cost of say 1 biomass per bit modified. + +Unstable mutagen would randomly flip bits so you could get an increase of 8 to yield or a decrease of 1 to potency, depends on which bit it flips in an int. + +Pollen swabbing, if it still exists, would swap entire gene values rather than operate on a random bit basis. + +This might have botanists split up between growing plants for chef and focusing on mapping the genome to get gamer seeds which is cool. + +Additionally, instead of the current mutation of a viable bool, a system would be in place where there are bits that set unreasonable pressure temperature or light requirements to grow. +If a plant suddenly requires being grown in space or a fire you are unlikely to try, but it's still possible if you are extremely determined. + +# Components: +Plant entities would both have GenomeComponent and its own component for handling swabbing/crossbreeding along with copying genes from parent when clipping. + +Since only bools and ints can be stored in genomes, chemicals would still need to be in solution container component and mutated manually similar to how its done currently with SeedData chemicals. + +# Inspirations: + +- life + +# Requirements: + +Depends on a rework of botany to have plants be ECS. From 66e39b133f62d824574240f16a954225187030f4 Mon Sep 17 00:00:00 2001 From: Kara Date: Fri, 13 Oct 2023 20:32:35 -0700 Subject: [PATCH 20/41] Anomaly cores & the GORILLA gauntlets (#77) from a discussion in #development and from my own mind. not super inspired by the TG anomaly cores, these are basically unrelated concepts but i will be using their sprites --- src/en/proposals/anomaly-cores.md | 45 +++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/en/proposals/anomaly-cores.md diff --git a/src/en/proposals/anomaly-cores.md b/src/en/proposals/anomaly-cores.md new file mode 100644 index 000000000..3fec4552e --- /dev/null +++ b/src/en/proposals/anomaly-cores.md @@ -0,0 +1,45 @@ +# Anomaly Cores and the G.O.R.I.L.L.A Gauntlets + +The intention of this proposal is not to expand the anomaly gameplay system through breadth (i.e. more stuff) but to add new dimensions of gameplay and new incentives entirely. This will be done through two main additions: **inert & decaying anomaly cores**, and the **G.O.R.I.L.L.A Gauntlets**. + +## Anomaly Cores + + + +**Anomaly cores** are generated when an anomaly dissipates in some way. An *inert* core is spawned when an anomaly is fully contained and fizzles out, and a *decaying* core is spawned when an anomaly goes supercritical. + +Inert cores are functionally useless on their own, sell for a small amount of money, and glow faintly. They become useful in conjunction with the G.O.R.I.L.L.A, which will be elaborated on later. They can also be made into anomaly core pie! + +**Decaying cores** are the interesting ones. When an anomaly goes supercritical, it will spawn a decaying anomaly core of the same type as the anomaly. These cores can be sold for a large sum of money, converted into a fairly high amount of research points, or *used by anyone for a one-time anomaly-specific benefit* (this use will not be included in the initial PR for scope reasons). + +Over time, decaying anomaly cores will slowly *lose their value* and eventually convert into an inert anomaly core. If it isn't sold, exchanged, or used fast, then the whole endeavor could prove pointless. + +### Intended Gameplay + +The point of decaying anomaly cores being generated is twofold: First, it provides a potential benefit for anomalies which accidentally go supercritical or are untended to. Second, it gives anomalists the interesting choice to **intentionally make an anomaly go supercritical** for huge rewards, if they feel that they're capable of handling the aftermath. + +Decaying anomaly cores being time-limited is very important. This introduces more gameplay by forcing people to take some risks to extract as much value as possible. For instance, you might just run into a supercritted gravitational anomaly to take its core even if you risk harming yourself. It also forces the decision of *how* to use the anomaly core quickly, which can lead to some fun social scenarios. + +## The G.O.R.I.L.L.A Gauntlets + +```admonish info +or, Gauntlets Orchestrating Relocation of Interloping and Ludicrously Livid Anomalies +``` + + + +The G.O.R.I.L.L.A Gauntlets are an item obtainable through Tier 2 experimental research (subject to change). It functions as a set of wieldable power fists that can deal strong brute damage. However, they're not very strong on their own. To take full effect, they need to be **with an anomaly core**. + +When the gauntlets are loaded with either type of anomaly core, they gain the ability to force throw anything they hit backwards, until it hits a wall. **This includes anomalies, and thus the gauntlets function as a method of moving anomalies.** Inert cores only give you five charges to work with (subject to change), while decaying cores will work until they run out, and deal significantly more damage. + +Anomalies which are hit with the gauntlets will take some minor stability damage. Anomalies in the process of going supercritical can also be hit with the gauntlets. Because of the nature of how the force throw works and the limited charges of an inert core, anomalists will have to first consider the most efficient path and set of pushes to get the anomaly in a more useful location. + +### Intended Gameplay + +The G.O.R.I.L.L.A gauntlets open up many more choices for anomalists. Before, if an anomaly spawned in a particularly unfavorable spot (such as medbay), science was heavily pressured to contain and decay it entirely rather than trying to exploit it, and for good reason. People have often asked for a way to move anomalies, but of course, anomalies' locations being random is a huge part of what makes them interesting to contain. + +With the G.O.R.I.L.L.A gauntlets, anomalists have a way to move unwieldy anomalies in an interesting way that generates rather than removes gameplay: +- The gauntlets require an inert core and research, so science must already have invested some time into anomalies already +- The inert cores have finite charges, so science cannot always rely on them +- The movement of the anomaly is not as simple as 'point A to point B', and because of the limited charges, scientists must consider the location of the anomaly and where they'll be able to move it within 5 pushes, kind of like a box-pushing game or a Pokemon ice tile puzzle, which is a fun mini-challenge on its own. +- Expert anomalists will be able to modify the environment to get anomalies in even more favorable locations and they will likely have to coordinate with others to move it through doors, hallways, into smaller rooms, etc, introducing a new degree skill expression, on top of knowing when to make the decision to try and move one rather than contain or harness it. \ No newline at end of file From 53ec2d43b5879ea9dab10dbfc289ef00a17da7ac Mon Sep 17 00:00:00 2001 From: Albert Snow Date: Mon, 16 Oct 2023 19:36:46 -0500 Subject: [PATCH 21/41] Update setting-up-a-development-environment.md (#81) --- .../setup/setting-up-a-development-environment.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/en/general-development/setup/setting-up-a-development-environment.md b/src/en/general-development/setup/setting-up-a-development-environment.md index b618c8bb4..0ea9a92f9 100644 --- a/src/en/general-development/setup/setting-up-a-development-environment.md +++ b/src/en/general-development/setup/setting-up-a-development-environment.md @@ -132,3 +132,8 @@ Unhandled exception. Robust.Shared.IoC.Exceptions.ImplementationConstructorExcep ``` Uninstall .NET Core SDK x86. Install .NET Core SDK x64. + + +## The client and server aren't available in Visual Studio to configure in Multiple startup projects + +This may be because you opened the project as a folder rather than a solution. Make sure you open it as a solution and click the space station 14 .sln file. From b4c37f29b80158199374b209881b9bbf1d451e8b Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Tue, 17 Oct 2023 17:44:38 -0700 Subject: [PATCH 22/41] Add missing September 9th maintainer meeting notes (#84) --- src/SUMMARY.md | 1 + .../maintainer-meeting-2023-09-09.md | 122 ++++++++++++++++++ 2 files changed, 123 insertions(+) create mode 100644 src/en/maintainer-meetings/maintainer-meeting-2023-09-09.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 29f4eb9cc..e75d8b3f3 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -175,6 +175,7 @@ Maintainer Meetings ---------------------- - [2023-09-23](en/maintainer-meetings/maintainer-meeting-2023-09-23.md) +- [2023-09-09](en/maintainer-meetings/maintainer-meeting-2023-09-09.md) - [2023-09-02](en/maintainer-meetings/maintainer-meeting-2023-09-02.md) - [2023-08-19](en/maintainer-meetings/maintainer-meeting-2023-08-19.md) - [2023-07-29](en/maintainer-meetings/maintainer-meeting-2023-07-29.md) diff --git a/src/en/maintainer-meetings/maintainer-meeting-2023-09-09.md b/src/en/maintainer-meetings/maintainer-meeting-2023-09-09.md new file mode 100644 index 000000000..6a543c882 --- /dev/null +++ b/src/en/maintainer-meetings/maintainer-meeting-2023-09-09.md @@ -0,0 +1,122 @@ +# Maintainer Meeting (09 Sep 2023) +```admonish info +Any decisions taken in these notes may no longer be applicable. +``` + +**Time:** 09 Sep 2023 18:00 UTC + +**Attendees:** +- ElectroSR +- ShadowCommander +- Sloth +- PJB +- DrSmugleaf +- Notafet +- Julian +- Visne +- faint +- TheQuietOne +- keronshb +- Lank + +## Remove component lifestage properties | metalgearsloth +- Remove component lifestage properties (this is a long-term thing but mainly looking at stopping new code adding checks): +- 90% of the time it's a bandaid for other shitty code +- probably needs removing when we go to struct components in the distant future +- Can probably just check the entity lifestage in most bandaid cases instead anyway +- **Fund it** +- **Most component stuff can just check entity instead, not too hard to remove** +- **Removing entity life stage would be much harder** + +## Remove Component.Deleted | metalgearsloth +- adds unnecessary overhead to some codepaths like TryGetComponent\ / HasComponent\ +- It's really only useful in cases where something is queued but not removed yet but even then I'm kinda suss +- we can probably start investigating after arch port is stable +- **Do it** +- **How are we delaying component changes to the end of the tick some day who knows** + +## Use the pooled collections instead of List\ / HashSet\ etc | metalgearsloth +- Uses the ArrayPool to back the arrays +- Should reduce heap allocsTM +- https://github.com/jtmueller/Collections.Pooled +- we may need to import it anyway for arch +- **Yes in engine, to replace ObjectPool** +- **Don't sandbox Shared pools** +- **Pool objects shouldn't be returned by methods** +- **I don't like it because it makes spaghetti out of memory management, and is basically just a bad bandaid after you give up doing it properly™️** - PJB + +## Arch and performance | metalgearsloth +- We should get AddComp etc to have content start leveraging minimising archetype changes though not sure how we want to handle it. +- any other overloads we could think of + - HasComp, RemoveComp, TryGetComp, EnsureComp +- how do we handle queries i.e. does content cache our existing queries, how do we handle not having .WithAll\ / .WithAny\ / .WithNone\, do we cache arch queries and just have engine relay them, idk) + - **Use query description in engine** + - **If used from content, validate the types that the query handler asks for as Arch doesn't check (it just crashes)** + +## NetEntities and handling unknown entities to the client | metalgearsloth +- NetEntities and handling unknown entities to the client: client may get netentity for something it might not know about yet (due to streaming or whatever else). How do we handle this and what's going to be the best way 3 years from now, e.g. some kind of handle for netentity + entity and entitymanager just updates the field when it comes in? +- Right now client just leaves the entityuid and code just checks for trygetcomp / deleted and it will just suddenly work when the entity comes in but with the entityuids no longer matching (and the entity may not exist yet) this is no longer possible +- Like: +- Do networked comps just store NetEntity? This is kinda ugly and adds dictionary overhead to everything +- Do we somehow put a ref on entitymanager then update it when the gamestate comes in and the entityuid automagically updates? +- **https://discord.com/channels/310555209753690112/900426319433728030/1147795695286362112** + +## Refactoring UpdateBoundStateMessage / whatever the fuck UI is doing to compstates | metalgearsloth +- do we just dump all the data on components +- any data not already comps just dump on a dedicated UI component? +- **"You can scroll two points down for the BUI entities topic"** + +## Changing TryComp\(out var comp) to TryComp(out T comp) for most usages | metalgearsloth +- We had this discussion a long-ass time ago, like 4 years ago +- the latter is shorter +- I preferred it but we ended up using the former +- I think performance is almost identical +- bottom text +- **If we enforce it, enforce it with an analyzer** + +## BUI entities | PJB +- Opening BUI just creates an entity that handles the UI logic. UI data is in that entity's components. We can do composition for various types of behaviors like interaction range. Move it all to content. PVS filter it so only target player has vision over it. One entity per BUI session (player). +- Do we give a shit about optimizing UI states if two players view the same UI? Right now this allows re-using the data but it seems like such a minor thing it's not worth making the system more complex over +- gooey booey looey +- **When you code it, ez clap, we're all in agreement** + +## Disallow using Math and MathF | moony +- and make people use the type-specific functions instead that .NET 7 added +- so for example Math.Pow(x, y) would be double.Pow(x, y) +- Math/MathF are only defined for a limited set of types and are overall a bit more "magical" for what types they allow (due to overloading), so being explicit about the type is cleaner and allows that implied API to be extended (MyNumberType.Pow(x, y) would be what you'd expect to exist instead of initially guessing Math.Pow(x, y)) +- all the functions on Math/MathF have equivalents on the type being operated on for the C# builtin types +- including the constants, so for example float.Pi exists +- also the divide between MathF and Math is just plain confusing most of the time +- **When you write an analyzer for it, for engine only** + +## *"the thrilling case of the missing documentation "* | mirrorcult +- ok can we admit “just ask us for access to edit the dev wiki” is a failed prospect. no one actually knows you can do that and if they do know they dont want to bother with the friction of finding out who to ask and waiting just to submit a fix. as a result the dev wiki is extremely atrophied +- oh my god PLEASE can we move it all to mediawiki or something, i dont care what it is wikijs was a bad idea and i just want something that anyone can edit and add articles to. please +- we really desperately need to do a full audit over the docs, not necessarily like add new stuff rn because i get thats effort but just make sure its up to date information and all useful pages are actually discoverable +- maybe think about mirroring codebase changes to docs site once we get something better like mediawiki. this would probably involve just linking to the docs page in GH and discord as the source of truth +- we REALLY need to make the docfx sites more visible and linked in more places (and docs in general but), discord channels/pins/github/forum/ingame literally everywhere please (and maybe give them better domain names theyre really bad rn) and also + - add a ‘component glossary’ section to docfx which just shows all types that are registered components and what docs/fields they have. like half of the people in <#560845886263918612> ask for something like this and we just have to tell them ‘uhhh look in your IDE’ which is good when they already have the component they're looking for but terrible for when theyre trying to discover potential components they can use for some behavior + - topy was working on this at some point but they are inactive now. if possible just revive their branch we really need this +- **When You Document It** +- **We'll host it for whoever wants to experiment with shit** +- **I saw the search bar on mdbook and I'm convinced** +- **Replace wikijs with mdbook** + +## Early Access Roadmap +- **nothing on this roadmap matters except early access trailer.** +- A trailer for Steam + - Also the >>>>**screenshots**<<<< for steam and the website + - holy shit we have **replays** now +- gamemodes/antags + - dynamic [c#16548](https://github.com/space-wizards/space-station-14/pull/16548) + - revolutionaries [c#18477](https://github.com/space-wizards/space-station-14/pull/18477) + - wizard +- The game runs like shit how do people play this + - "IDK but maybe when I fix the watchdog you can figure it out easier" | 09/09/2023 + + +Crashes / Critical bugs: (when are we moving these to GitHub) +=> till next time +like and subscribe +smash that button +~~did you know only 6% of contribs join this meeting?~~ According to YouTube's statistics, From 318ea595cf621cabeb43882504251edbf6b888f4 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Thu, 19 Oct 2023 12:41:31 -0700 Subject: [PATCH 23/41] Update conventions.md for Entity --- .../general-development/codebase-info/conventions.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/en/general-development/codebase-info/conventions.md b/src/en/general-development/codebase-info/conventions.md index fd2e14906..8dc514cc6 100644 --- a/src/en/general-development/codebase-info/conventions.md +++ b/src/en/general-development/codebase-info/conventions.md @@ -316,10 +316,10 @@ Transform(uid).Coordinates; ### Public API Method Signature All public Entity System API Methods that deal with entities and game logic should *always* follow a very specific structure. -All relevant `EntityUid` should come first. +All relevant `Entity` and `EntityUid` should come first. +The `T?` in `Entity` stands for the component type you need from the entity. +The question mark `?` must be present at the end to mark the component type as nullable. Next, any arguments you want should come afterwards. -And finally, all the components you need from the entity or entities should come last. -The component arguments shall be nullable, and default to `null`. The first thing you should do in your method's body should then be calling `Resolve` for the entity UID and components. @@ -327,11 +327,11 @@ The first thing you should do in your method's body should then be calling `Reso Example (click to expand) ```csharp= -public void SetCount(EntityUid uid, int count, StackComponent? stack = null) +public void SetCount(Entity stack, int count) { - // This call below will set "stack" to the correct instance if it's null. + // This call below will set "Comp" to the correct instance if it's null. // If all components were resolved to an instance or were non-null, it returns true. - if(!Resolve(uid, ref stack)) + if(!Resolve(stack, ref stack.Comp)) return; // If the component wasn't found, this will log an error by default. // Logic here! From 4c8b90d60d93192c5e9459856039e6024603cb71 Mon Sep 17 00:00:00 2001 From: Vasilis Date: Fri, 20 Oct 2023 05:54:35 +0200 Subject: [PATCH 24/41] Make runthis.py troubleshooting a bit more friendly (#80) --- .../setup/setting-up-a-development-environment.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/en/general-development/setup/setting-up-a-development-environment.md b/src/en/general-development/setup/setting-up-a-development-environment.md index 0ea9a92f9..717ae7c75 100644 --- a/src/en/general-development/setup/setting-up-a-development-environment.md +++ b/src/en/general-development/setup/setting-up-a-development-environment.md @@ -25,9 +25,9 @@ If you're **unfamiliar with Git**, or just don't know how to proceed, follow the We have an automatic submodule updater so you don't have to worry about running `git submodule update --init --recursive` all the time. -Run `RUN_THIS.py` inside the repo you downloaded with Python. Preferably from a terminal too. This should take a few seconds so if it instantly stops you probably aren't using Python 3.7+ or something. Try checking out the troubleshooting at the bottom of this page. +Run `RUN_THIS.py` inside the repo you downloaded with Python. Preferably from a terminal too. This should take a few seconds so if it instantly stops then check if you are running Python 3.7+ otherwise keep reading. -**If running `RUN_THIS.py` immediately opens and closes a window: do not worry.** This does not mean that it failed. The script closes automatically upon completion, so if you want to verify that it worked properly, check the submodule `/RobustToolbox/` and verify that all the files are there. +**If running `RUN_THIS.py` immediately opens and closes a window: do not worry.** This does not mean that it failed. The script closes automatically upon completion, so if you want to verify that it worked properly, check the submodule `/RobustToolbox/` and verify that all the files are there. If not try checking out the troubleshooting at the bottom of this page. Note: If you have any issues when getting started with missing files it's recommended you run `git submodule update --init --recursive` by hand once in case something went wrong with python. From f9e76c3de4ec93ddc47eb7cd596a20b4d178b1a1 Mon Sep 17 00:00:00 2001 From: Vasilis Date: Sun, 22 Oct 2023 20:20:20 +0200 Subject: [PATCH 25/41] PDA messaging proposal [Julian, VasilisThePikachu] (#76) This is based of Julians PDA messaging proposal with some little tweaks. Looking into getting this heavily scrutinised as I was just throwing some of my own ideas in there and Julians doc is a little old so i dunno if anything is missing. --- src/en/proposals/pda-messaging.md | 109 ++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 src/en/proposals/pda-messaging.md diff --git a/src/en/proposals/pda-messaging.md b/src/en/proposals/pda-messaging.md new file mode 100644 index 000000000..8766a2fb1 --- /dev/null +++ b/src/en/proposals/pda-messaging.md @@ -0,0 +1,109 @@ +## PDA messaging program and server + +[Julian, VasilisThePikachu, Unapproved] + +*(Taken by [Julian doc](https://hackmd.io/iu2yK9bcQb-veuCOLl-FYw?both#Optional-Channels-and-Department-based-Channels) in hackmd and modified a lil. Mostly replacing "email" to "message", "Email address" to "user/user id" and adding some of my own twists. Julian was fine with this if i understood correctly (i was in vc with em))* + +*(This is mostly taken from how PDA messages work in ss13)* +Allows sending messages to others using PDAs + +### What this adds and why +Simple, Messaging via the PDA! +Messaging someone via the PDA should be made when you need to get the attention of a special someone. Example as HoS you want to ask detective to come over to investigate an item. It's easier to get their attention cause of their PDA vibrating then hoping they are monitoring their channel. Another usage is the heads planning Captain a suprise birthday party. Something like that would require all heads getting together in one place. + +This is **not** a replacement to the radio channel. Theres no "common" channel, it would be easier to spoof being someone (just need their id), past messages on that same id can easily be exposed and its far more cumbersome to message someone over PDA then just using the radio. + +### Message storage +Messages are stored on a server most likely will be stored in telecoms. There can be one server per station, others on the same station won't be used unless the first one loses power or gets destroyed. + +*Optional* The active server synchronises itself with all of the inactive servers on the same station (This happens inside the system directly, no device networking here). + +### One active / Multiple inactive server model + +(This talks about some refactor stuff and Julian told me they forgot to paste the link, im keeping it to be safe in case its actually useful.) + +The one active / multiple inactive server model uses the system that will get refactored into its own system from the crew monitoring server [link text]() + +The messaging client system will use the `GetActiveServer` method of the message server system to retrieve the active server if the client doesn't have a server set yet or that server timed out. *This is also from the system that gets refactored out.* + +### Sending and receiving messages + +When sending a message to someone via the program the PDA sends the message together with an 'user id' to the server and the server will send the message to the target device. Of course there will be a character limit (say... 100 characters?) + +When a PDA recieves a message it plays the PDAs ringtone and vibrates, showing the sent message on the chat. This message can also be viewed on the PDA via a program. + +Notifications can be disabled if desired. + +This user id could be generated into the ID card so that if you get a new PDA your messages are kept as long as you are using the same ID card. Late joiners will get assigned a uid when they arrive on the station. Potencially HoP or RD can move your UID to the a new ID card with the ID comnputer rendering the old ID card useless. This can also prevent powergaming by someone changing their UID to see others messages. + +This UID will receive messages for as long as it is in the station and in a PDA. + +If its not in station the messages can either fail to send or be added in a queue to be sent when it reenters the station. + +Since the UID is stored on the ID. That means that if you manage to get your hands on someones ID you can chat as them and potencially (if added) read their messages. + +### Users list + +When opening the PDA messaging app, you will be able to start a chat session with everyone connected to the server (aka everyone with a PDA) + +They will be listed by name and job title like this "Vapor-Tail (Captain)" + +*Optional* Add the ability for people to not be allowed to initiate a conversation with an option. This can be useful for high command staff like captain from getting message spammed by clown and others at the start of the shift. + +### Optional: Detomatix PDA Cartridge + +(find the original item in the tg wiki here: https://tgstation13.org/wiki/Syndicate_Items) + +The detomatrix is... a zip bomb in easy to say terms. Allowing you to send a spoofed message that when opened by the target fast enough bricking the PDA and its ID (instead of exploding... even though thats funnier maintainers please allow this) + +It will have a chance to fail and have an even lower chance of working on "high profile" PDA's like the Captains. + +It could be used as a way to get people to turn off their messanger function in fear to not being up next if someone screams in radio about it and could be useful. + +### Optional: Multiple network support + +The server is able send on the wireless and the wired network because it saves what network the registered devices are on along with the user id and the network address. + +This requires devices to be able to register themselves with two device net ids at once (which should only be done if it is really needed). + +### Optional: Channels and Department based Channels +Channels are special groups that relay the messages sent to them to users who are subscribed to that channel. + +Channels can be created and they can be deleted by the channel creator. + +When registering to a server the client also sends the job of the inserted ID so the server can put them into special department channels. + +Department channels can't be joined, left or deleted. + +### Optional: RDs messager admin management console +The research director and potencially Captain get a console which connects to the message server via device net that can be used to view and manage all messages and groups. +It uses device net with an `AccessComponent` on the message server so the management functions can be hijacked by traitors that got their hands on an ID card with the right access. (This requires [device net access restrictions](https://hackmd.io/gPjP95_zRUiT-bX4hKxE6w) to be implemented. + +### Optional: pAI as a chat assistant. +This will add new gameplay for the pAI ghost role. Allowing the pAI to chat as their master on their behalf. Could have a little pAI icon in the chatbox to show it was sent by the pAI and not the actual player. pAI's for a while have been kinda boring and may deserve their own design doc of ideas but this is one of my ideas that come to mind. + + +### Concerns +When initially asked about this I was met with some concerns. This section is to address them + +Discord discussion start: https://discord.com/channels/310555209753690112/310555209753690112/1160244698112327830 + +##### Why PDA messaging over plain radio? Would this upset radio balance and reduce coms over radio? +First of all why: +If you play the game you can quickly realise how getting someone's attention god forbid multiple, can be... not an easy task to say the least. You either are lucky and the person you want is just so happening to be monitoring the chatbox or they are busy and not paying attention. In the end missing your message until you resend it or try to look with them. This is just not fun and is just annoying. PDA messaging can solve this. + +As to if it will upset radio balance: Highly unlikely it will be. Mostly cause: +1. PDA messaging wont let you get the attention of multiple people at once (common). PDA messaging can reach one person at the time (unless we get department groups but even then). You will have to jump through a lot of hoops if you JUST wanna use messaging. Radio is easier and faster to talk into and gets to multiple people at once. +2. Sending a PDA message is more of a chore then just using the radio channel, PDA messaging will at least need a minimum of 6 steps to open the PDA, go to the app section, start the app, find the person, write the message and send. And if you keep the chatbox on it would just take up a good chunk of your screen. Or you could just do ":c Captain hamlet ate uranium" +3. Messages are stored and logged. Someone steals caps PDA? Well now all of their messages are up on display. With radio unless they had command channel already they would never learn of any past messages. If two syndies decide to use PDA messaging rd can just grab their chatlogs. Same with syndies using it to communite with others. +4. PDA messaging has a pretty small character limit, if you wanna say something long radio is the place. + +May be the wrong section but admins can also use this to act as "Central Command" so instead of having to subtile message someone they can just send a message to their PDA. + +##### It reduces everyone else's situational awareness since people can't see all radio messages anymore. +I highly disagree, I doupt it will reduce situational awareness more then it already is. I have already went over how someone monitoring the radio channel for messages directed to them is already a chore. PDA messaging names can easily be changed by using someone elses ID therefore its a good idea to not go to maints like they told you to and instead show the message to security. + +##### Why not use fax? +Is this really a question? First of all not everyone has a fax, second you have to be close to hear it go off printing. And unless you check your fax periodicly for new faxes messages can be missed. And even if you do check it its probably boykisser ASCII spammed 10 times. Also why are we using *faxes* in 2563 or whatever year SS14 takes year in. + +These were all the conserns I could find from discord. From 6f728f803136a7ef3cb9be109c89eb8a4a5caded Mon Sep 17 00:00:00 2001 From: Kevin Zheng Date: Sun, 22 Oct 2023 20:46:50 -0700 Subject: [PATCH 26/41] Link approved design docs --- src/SUMMARY.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/SUMMARY.md b/src/SUMMARY.md index e75d8b3f3..5fa6f76da 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -117,6 +117,9 @@ Space Station 14 Design Proposals ================ +- [Anomaly cores](en/proposals/anomaly-cores.md) +- [PDA messaging](en/proposals/pda-messaging.md) +- [Plant genetics](en/proposals/deltanedas-plant-genetics.md) ---------------------- From b65c7c437a952fa37747659ae60d3142508b280e Mon Sep 17 00:00:00 2001 From: Kevin Zheng Date: Sun, 22 Oct 2023 21:08:40 -0700 Subject: [PATCH 27/41] Add feature proposal template --- .../general-development/feature-proposals.md | 8 +++++-- src/en/proposals/proposal-template.md | 24 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 src/en/proposals/proposal-template.md diff --git a/src/en/general-development/feature-proposals.md b/src/en/general-development/feature-proposals.md index 5e17ea20c..478b5f0f0 100644 --- a/src/en/general-development/feature-proposals.md +++ b/src/en/general-development/feature-proposals.md @@ -4,9 +4,13 @@ If you are considering adding or reworking some major component of the game it's ## How do I make a proposal? -Just follow [our guide](../meta/guide-to-editing-docs.md) on editing any part of this site and PR your proposal as a page under the "Design Proposals" section found in the sidebar between "Space Station 14" and "Server Hosting". +1. Make a copy of the design proposal template located at `src/en/proposals/proposal-template.md`. -Proposals that get approved by a maintainer will be merged to this site, which is basically the green light for you or someone else to go ahead and implement it. +2. Write your proposal (see [guide to editing docs](../meta/guide-to-editing-docs.md)). + +3. When you are ready for your proposal to be reviewed, make a pull request. + +4. Your proposal is approved when a maintainer merges it. This is a green light for you or someone else to go ahead and implement it. A maintainer will then link your proposal to the side bar. *Note to maintainers: edit `src/SUMMARY.md`* ``` admonish tip "Unfinished Proposals" If you don't think that your proposal is ready for maintainer scrutiny, but still want feedback on it you can PR it as a draft. Drafts are less likely to attract people looking to get down to brass tacks, but still let people comment and give advice. diff --git a/src/en/proposals/proposal-template.md b/src/en/proposals/proposal-template.md new file mode 100644 index 000000000..c22ae575e --- /dev/null +++ b/src/en/proposals/proposal-template.md @@ -0,0 +1,24 @@ +# Short, Properly Capitalized Title + +Your title should convey the basic jist of your proposed changes. It should be short because the text will be linked in the sidebar. + +**Authors:** foo, bar + +The names that you use on GitHub and/or Discord. This is optional but strongly recommended, since: + +- This acknowledges credit where it is due +- People who are confused about the written intent can use this information to contact the authors + +## Abstract + +A very short, maybe three sentence summary of what this proposal is about. A high level "overview" or "what this adds". + +## Background + +Summarize any information that is needed to contextualize the proposed changes, e.g. the current state of the game. + +Also link any relevant discussions on Discord, GitHub, or HackMD that are relevant to the proposal. + +## The rest? + +Is entirely up to you. From d6dc59be80a34ce8a3284ecf109105ddf7f42399 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Wed, 25 Oct 2023 00:31:56 +0200 Subject: [PATCH 28/41] Basic article about debugging watchdog dumps --- src/SUMMARY.md | 2 + .../assets/images/hosting/scsi-while-true.png | Bin 0 -> 21174 bytes src/en/assets/images/hosting/windbg-open.png | Bin 0 -> 86607 bytes .../maintenance/debugging-server-lockups.md | 234 ++++++++++++++++++ 4 files changed, 236 insertions(+) create mode 100644 src/en/assets/images/hosting/scsi-while-true.png create mode 100644 src/en/assets/images/hosting/windbg-open.png create mode 100644 src/en/server-hosting/maintenance/debugging-server-lockups.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 5fa6f76da..cca0e8136 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -135,6 +135,8 @@ Server Hosting - [Setting up SS14.Changelog](en/server-hosting/setting-up-ss14-changelog.md) - [Setting up SS14.Watchdog](en/server-hosting/setting-up-ss14-watchdog.md) - [OAuth](en/server-hosting/oauth.md) +- [Maintenance]() + - [Debugging server lockups](en/server-hosting/maintenance/debugging-server-lockups.md) Other Projects ============== diff --git a/src/en/assets/images/hosting/scsi-while-true.png b/src/en/assets/images/hosting/scsi-while-true.png new file mode 100644 index 0000000000000000000000000000000000000000..48e0e6ea3ad75bba83a28f1fa780769830caf07e GIT binary patch literal 21174 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 OsbA8*n0w(?;Qs+n@bD%8 literal 0 HcmV?d00001 diff --git a/src/en/server-hosting/maintenance/debugging-server-lockups.md b/src/en/server-hosting/maintenance/debugging-server-lockups.md new file mode 100644 index 000000000..b8cb3dd37 --- /dev/null +++ b/src/en/server-hosting/maintenance/debugging-server-lockups.md @@ -0,0 +1,234 @@ +# Debugging server lockups + +If `SS14.Watchdog` detects that your server has locked up, it will kill the server and restart it. If this happens for real on a live server, a chance of just looking at logs is out of the window. This guide will give a quick 101 for how to approach debugging this kind of issue. + +```admonish info +Just to be clear: you may get a similar error if the game server can't reach the watchdog due to misconfiguration, in which case the game server will reliably get killed after startup, on loop. This article is not about that, this is about a genuine, real-nasty crash bug. +``` + +## Background: Watchdog Pings + +The watchdog expects the game server to send it regular *ping* messages to indicate that the game server is still alive. The game server sends these pings at a regular interval of 15 seconds (currently unconfigurable, what was past me thinking), and the watchdog expects one at least every *`TimeoutSeconds`* in the instance configuration. If the game were to get stuck in an infinite loop of some kind, it would cease to send these pings and the watchdog would quickly kill it and restart it. + +## Alright, so what have we got? + +If you want to trigger this real easy, connect to your server and run something like this in `scsi`: + +![scsi prompt about to run 'while (true) { }'](../../assets/images/hosting/scsi-while-true.png) + +Expanding the log excerpt from above, we have something like this: + +``` +[WARN] net.ent: Got late MsgEntity! Diff: -12, msgT: 0, cT: 12, player: PJB +[WARN] eng: MainLoop: Cannot keep up! +[22:50:20 WRN SS14.Watchdog.Components.ServerManagement.ServerInstance] test: timed out, killing +[22:50:20 INF SS14.Watchdog.Components.ServerManagement.ServerInstance] test: making on-kill process dump of type Normal +[createdump] Gathering state for process 91738 Robust.Server +[createdump] Writing minidump to file /home/luna/ss14_watchdog_test/instances/test/dumps/dump_2023-10-24_22-50-20 +[createdump] Written 120233984 bytes (29354 pages) to core file +[createdump] Target process is alive +[createdump] Dump successfully written in 306ms +[22:50:20 INF SS14.Watchdog.Components.ServerManagement.ServerInstance] test: Process dump written to /home/luna/ss14_watchdog_test/instances/test/dumps/dump_2023-10-24_22-50-20 +[22:50:20 INF SS14.Watchdog.Components.ServerManagement.ServerInstance] test: killing process... +[22:50:21 INF SS14.Watchdog.Components.ServerManagement.ServerInstance] test shut down with status ProcessExitStatus { Reason = ExitCode, Status = 137, IsClean = False } +[22:50:21 WRN SS14.Watchdog.Components.ServerManagement.ServerInstance] test shut down before sending ping on attempt 1 +[22:50:21 INF SS14.Watchdog.Components.ServerManagement.ServerInstance] test: Restarting server after exit... +``` + +```admonish info +If you're even reading this page I hope you have enough experience hosting a server to know this, but just to be clear: those two `[WARN]` messages are **not it**. +``` + +The game server itself produced no meaningful logs (as it rarely does in a case like this), all we got to go by is the watchdog killing us. Luckily, the watchdog is configured by default to make a **core dump** of the game server process if it has to kill it, and listed the path dumped to in the log output. + +What is a core dump? It's a file that contains the memory of the process when it crashed. By default, this dump includes enough memory to get stack trace information using a debugger. If you want more, you can change the `TimeoutDumpType` property on the watchdog instance configuration to [one of these values](https://learn.microsoft.com/en-us/dotnet/core/diagnostics/microsoft-diagnostics-netcore-client#dumptype-enum). Be warned that core dumps are quite big, and reporting more info can make them *outright huge*. + +```admonish danger +Core dumps can contain sensitive information from your server (such as database passwords) and should **not** be given to people you do not trust! +``` + +"Ok, so I have a file that weighs a couple hundred megabytes, what do I do with it? Do I drag it into Rider?" Oh you sweet summer child. + +You have two options that I know of to debug this: lldb and WinDBG. One of those is a command-line debugger. The other is a command-line Windows debugger that at least has the courtesy of having a basic UI. Hey, at least you don't need to use gdb! + +```admonish failure +Core dumps are fragile little beings, and by default do not include all the context needed to debug something on their own. In general, it is by far the easiest to debug them if you're debugging them on the system they happened on, and *none of the underlying files changed*, e.g. through game server update. + +With the necessary experience and or/infrastructure (symbol servers my beloved) it is possible to handle them much later or on another system, but that's far outside of the scope of this tutorial and even I don't have experience with that.[^2] +``` + +### Using lldb + +lldb is a decent[^1] debugger for Linux and macOS. Install it: + +```sh +# Or whatever package manager you use 🤗 +$ sudo apt install lldb +``` + +You will also need [SOS](https://learn.microsoft.com/en-us/dotnet/core/diagnostics/sos-debugging-extension). This will extend lldb to make debugging a .NET trace possible: + +```sh +luna@Mimas:~/ss14_watchdog_test +$ dotnet tool install -g dotnet-sos +You can invoke the tool using the following command: dotnet-sos +Tool 'dotnet-sos' (version '7.0.447801') was successfully installed. +luna@Mimas:~/ss14_watchdog_test +$ dotnet sos install +Installing SOS to /home/luna/.dotnet/sos +Creating installation directory... +Copying files from /home/luna/.dotnet/tools/.store/dotnet-sos/7.0.447801/dotnet-sos/7.0.447801/tools/net6.0/any/linux-x64 +Copying files from /home/luna/.dotnet/tools/.store/dotnet-sos/7.0.447801/dotnet-sos/7.0.447801/tools/net6.0/any/lib +Creating new /home/luna/.lldbinit file - LLDB will load SOS automatically at startup +SOS install succeeded +``` + +Now you are ready to load the core dump into lldb: +``` +$ lldb -c instances/test/dumps/dump_2023-10-24_23-07-16 +Current symbol store settings: +-> Cache: /home/luna/.dotnet/symbolcache +-> Server: https://msdl.microsoft.com/download/symbols/ Timeout: 4 RetryCount: 0 +(lldb) target create --core "instances/test/dumps/dump_2023-10-24_23-07-16" +Core file '/home/luna/ss14_watchdog_test/instances/test/dumps/dump_2023-10-24_23-07-16' (x86_64) was loaded. +(lldb) +``` + +```admonish tip +You're going to want a [cheat sheet](https://github.com/carolanitz/DebuggingFun/blob/d0b21847d1ad1506bbaaded915c1625a21165b9c/lldb%20cheat%20sheet.pdf) for that `(lldb)` prompt. +``` + +At this point you have a native debugger open and you can well and truly debug everything. Hell, if the game server dies due to native crashes, this is also how you'd be debugging it. You can use regular `lldb` commands to do regular native debugging on native modules and whatever. Though it's still not for the heart and may require further setup, e.g. to get symbols for native libraries. + +For some meaningful info out of the *managed* stack trace, we can run the `clrstack` command from SOS: + +``` +(lldb) clrstack +OS Thread Id: 0x172fa (1) + Child SP IP Call Site +00007FFFD245BFB0 00007F15096C2F7B Submission#0+<>d__0.MoveNext() +00007FFFD245C000 00007F150962B9FE System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef) +00007FFFD245C060 00007F150962B940 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib]].Start[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef) +00007FFFD245C0A0 00007F15096C2E92 Submission#0.() +00007FFFD245C0E0 00007F15096C2CD3 Submission#0.(System.Object[]) +00007FFFD245C110 00007F150962B06C Microsoft.CodeAnalysis.Scripting.ScriptExecutionState+d__9`1[[System.__Canon, System.Private.CoreLib]].MoveNext() +00007FFFD245C1C0 00007F150962AD2B System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.CodeAnalysis.Scripting.ScriptExecutionState+d__9`1[[System.__Canon, System.Private.CoreLib]], Microsoft.CodeAnalysis.Scripting]](d__9`1 ByRef) +00007FFFD245C220 00007F150962AC50 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib]].Start[[Microsoft.CodeAnalysis.Scripting.ScriptExecutionState+d__9`1[[System.__Canon, System.Private.CoreLib]], Microsoft.CodeAnalysis.Scripting]](d__9`1 ByRef) +00007FFFD245C260 00007F150962AB6F Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.RunSubmissionsAsync[[System.__Canon, System.Private.CoreLib]](System.Collections.Immutable.ImmutableArray`1>, System.Func`2, System.Runtime.CompilerServices.StrongBox`1, System.Func`2, System.Threading.CancellationToken) +00007FFFD245C320 00007F150962A4CC Microsoft.CodeAnalysis.Scripting.Script`1+d__21[[System.__Canon, System.Private.CoreLib]].MoveNext() +00007FFFD245C500 00007F150962A21B System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.CodeAnalysis.Scripting.Script`1+d__21[[System.__Canon, System.Private.CoreLib]], Microsoft.CodeAnalysis.Scripting]](d__21 ByRef) +00007FFFD245C560 00007F150962A140 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib]].Start[[Microsoft.CodeAnalysis.Scripting.Script`1+d__21[[System.__Canon, System.Private.CoreLib]], Microsoft.CodeAnalysis.Scripting]](d__21 ByRef) +00007FFFD245C5A0 00007F150962A03F Microsoft.CodeAnalysis.Scripting.Script`1[[System.__Canon, System.Private.CoreLib]].RunSubmissionsAsync(Microsoft.CodeAnalysis.Scripting.ScriptExecutionState, System.Collections.Immutable.ImmutableArray`1>, System.Func`2, System.Func`2, System.Threading.CancellationToken) +00007FFFD245C670 00007F15065AF51D Microsoft.CodeAnalysis.Scripting.Script`1[[System.__Canon, System.Private.CoreLib]].RunAsync(System.Object, System.Func`2, System.Threading.CancellationToken) +00007FFFD245C6D0 00007F15096C2BCA Microsoft.CodeAnalysis.Scripting.Script`1[[System.__Canon, System.Private.CoreLib]].CommonRunAsync(System.Object, System.Func`2, System.Threading.CancellationToken) +00007FFFD245C720 00007F15096A8336 Robust.Server.Scripting.ScriptHost+d__12.MoveNext() [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/Scripting/ScriptHost.cs @ 209] +00007FFFD245C800 00007F15096A79F3 System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Robust.Server.Scripting.ScriptHost+d__12, Robust.Server]](d__12 ByRef) +00007FFFD245C840 00007F15096A795C System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start[[Robust.Server.Scripting.ScriptHost+d__12, Robust.Server]](d__12 ByRef) +00007FFFD245C860 00007F15096A7913 Robust.Server.Scripting.ScriptHost.ReceiveScriptEval(Robust.Shared.Network.Messages.MsgScriptEval) +00007FFFD245C8F0 00007F150658947F Robust.Shared.Network.NetManager+<>c__DisplayClass106_0`1[[System.__Canon, System.Private.CoreLib]].b__0(Robust.Shared.Network.NetMessage) +00007FFFD245C960 00007F1506587964 Robust.Shared.Network.NetManager.DispatchNetMessage(Lidgren.Network.NetIncomingMessage) [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Network/NetManager.cs @ 912] +00007FFFD245CA30 00007F15059608DF Robust.Shared.Network.NetManager.ProcessPackets() [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Network/NetManager.cs @ 492] +00007FFFD245CBE0 00007F15053F906A Robust.Server.BaseServer.Input(Robust.Shared.Timing.FrameEventArgs) [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/BaseServer.cs @ 686] +00007FFFD245CD80 00007F1505963FA4 Robust.Shared.Timing.GameLoop.Run() [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Timing/GameLoop.cs @ 135] +00007FFFD245D760 00007F150525A0F5 Robust.Server.BaseServer.MainLoop() [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/BaseServer.cs @ 565] +00007FFFD245D7A0 00007F14F9729475 Robust.Server.Program.ParsedMain(Robust.Server.CommandLineArgs, Boolean, Robust.Server.ServerOptions) [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/Program.cs @ 78] +00007FFFD245D8E0 00007F14F971B8D2 Robust.Server.Program.Start(System.String[], Robust.Server.ServerOptions, Boolean) [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/Program.cs @ 46] +00007FFFD245D930 00007F14F9718901 Robust.Server.Program.Main(System.String[]) [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/Program.cs @ 25] +``` + +Now this we can work with! At the bottom is the program main, at the top is *`Submission#0`* which is an internal detail of the C# Interactive that we ran `while (true) { }` in. While I can't show you the IL bytes or C# code in lldb (well I'm sure the former is possible with SOS), I can show you the assembly code which looks like a pretty simple infinite loop: + +``` +(lldb) disassemble -s 0x7f15096c2f72 -F intel + 0x7f15096c2f72: nop + 0x7f15096c2f73: nop + 0x7f15096c2f74: mov dword ptr [rbp - 0x1c], 0x1 +-> 0x7f15096c2f7b: nop + 0x7f15096c2f7c: jmp 0x7f15096c2f72 +``` + +I hope this helped getting started using a native debugger on stuff like this. + +### Using WinDBG + +WinDBG is the Windows debugger you pull out when all else has failed (which it has, here). [You can get WinDBG Preview from the Microsoft Store.](https://www.microsoft.com/store/productid/9PGJGD53TN86) + +You will also need [SOS](https://learn.microsoft.com/en-us/dotnet/core/diagnostics/sos-debugging-extension). This will extend WinDBG to make debugging a .NET trace possible: + +``` +C:\Users\Luna +> dotnet tool install -g dotnet-sos +Skipping NuGet package signature verification. +You can invoke the tool using the following command: dotnet-sos +Tool 'dotnet-sos' (version '7.0.447801') was successfully installed. +C:\Users\Luna +> dotnet sos install +Installing SOS to C:\Users\Luna\.dotnet\sos +Creating installation directory... +Copying files from C:\Users\Luna\.dotnet\tools\.store\dotnet-sos\7.0.447801\dotnet-sos\7.0.447801\tools\net6.0\any\win-x64 +Copying files from C:\Users\Luna\.dotnet\tools\.store\dotnet-sos\7.0.447801\dotnet-sos\7.0.447801\tools\net6.0\any\lib +Execute '.load C:\Users\Luna\.dotnet\sos\sos.dll' to load SOS in your Windows debugger. +SOS install succeeded +``` + +You can load the created dump file into WinDBG by going File -> Start debugging -> Open dump file, then selecting the file. If the file doesn't have an extension, you need to change the filter on the open dialog to select it. + +![Showing the navigation in WinDBG to open dump file](../../assets/images/hosting/windbg-open.png) + +You will need to run the `.load` command mentioned in the above output to load SOS: + +``` +0:000> .load C:\Users\Luna\.dotnet\sos\sos.dll +``` + +```admonish tip +You probably still want a proper cheat sheet for WinDBG Preview. It has a bit of UI, but usage of the internal command line is still very necessary. Anyways I couldn't find anything like the well-formatted lldb one in 5 seconds of searching online, so find one yourself I guess. +``` + +I won't repeat myself from the lldb side: you have a full native debugger. This can do everything, if you know how to use it. + +You can use `!clrstack` to show the managed stack trace: + +``` +0:000> !clrstack +OS Thread Id: 0x9034 (0) + Child SP IP Call Site +000000F7BF57D0F0 00007ffab591c72a Submission#0+<>d__0.MoveNext() +000000F7BF57D150 00007ffaf84334b8 System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[System.__Canon, System.Private.CoreLib]](System.__Canon ByRef) +000000F7BF57D1B0 00007ffab591c642 Submission#0.() +000000F7BF57D220 00007ffab591c484 Submission#0.() +000000F7BF57D270 00007ffab4bb043c Microsoft.CodeAnalysis.Scripting.ScriptExecutionState+d__9`1[[System.__Canon, System.Private.CoreLib]].MoveNext() +000000F7BF57D330 00007ffab4bb0113 System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.CodeAnalysis.Scripting.ScriptExecutionState+d__9`1[[System.__Canon, System.Private.CoreLib]], Microsoft.CodeAnalysis.Scripting]](d__9`1 ByRef) +000000F7BF57D3A0 00007ffab4bb0040 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib]].Start[[Microsoft.CodeAnalysis.Scripting.ScriptExecutionState+d__9`1[[System.__Canon, System.Private.CoreLib]], Microsoft.CodeAnalysis.Scripting]](d__9`1 ByRef) +000000F7BF57D3E0 00007ffab4baff72 Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.RunSubmissionsAsync[[System.__Canon, System.Private.CoreLib]](System.Collections.Immutable.ImmutableArray`1>, System.Func`2, System.Runtime.CompilerServices.StrongBox`1, System.Func`2, System.Threading.CancellationToken) +000000F7BF57D490 00007ffab4baf932 Microsoft.CodeAnalysis.Scripting.Script`1+d__21[[System.__Canon, System.Private.CoreLib]].MoveNext() +000000F7BF57D680 00007ffab4baf6a3 System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.CodeAnalysis.Scripting.Script`1+d__21[[System.__Canon, System.Private.CoreLib]], Microsoft.CodeAnalysis.Scripting]](d__21 ByRef) +000000F7BF57D6F0 00007ffab4baf5d0 System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib]].Start[[Microsoft.CodeAnalysis.Scripting.Script`1+d__21[[System.__Canon, System.Private.CoreLib]], Microsoft.CodeAnalysis.Scripting]](d__21 ByRef) +000000F7BF57D730 00007ffab4baf4d0 Microsoft.CodeAnalysis.Scripting.Script`1[[System.__Canon, System.Private.CoreLib]].RunSubmissionsAsync(Microsoft.CodeAnalysis.Scripting.ScriptExecutionState, System.Collections.Immutable.ImmutableArray`1>, System.Func`2, System.Func`2, System.Threading.CancellationToken) +000000F7BF57D7F0 00007ffab30cd6b6 Microsoft.CodeAnalysis.Scripting.Script`1[[System.__Canon, System.Private.CoreLib]].RunAsync(System.Object, System.Func`2, System.Threading.CancellationToken) +000000F7BF57D860 00007ffab591c3ba Microsoft.CodeAnalysis.Scripting.Script`1[[System.__Canon, System.Private.CoreLib]].CommonRunAsync(System.Object, System.Func`2, System.Threading.CancellationToken) +000000F7BF57D8B0 00007ffab58f6f0d Robust.Server.Scripting.ScriptHost+d__12.MoveNext() [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/Scripting/ScriptHost.cs @ 209] +000000F7BF57D9C0 00007ffab58f6606 System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Robust.Server.Scripting.ScriptHost+d__12, Robust.Server]](d__12 ByRef) +000000F7BF57DA20 00007ffab58f657c System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start[[Robust.Server.Scripting.ScriptHost+d__12, Robust.Server]](d__12 ByRef) +000000F7BF57DA50 00007ffab58f653c Robust.Server.Scripting.ScriptHost.ReceiveScriptEval(Robust.Shared.Network.Messages.MsgScriptEval) +000000F7BF57DAE0 00007ffab30c3755 Robust.Shared.Network.NetManager.DispatchNetMessage(Lidgren.Network.NetIncomingMessage) [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Network/NetManager.cs @ 810] +000000F7BF57DBA0 00007ffab265bfb7 Robust.Shared.Network.NetManager.ProcessPackets() [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Network/NetManager.cs @ 439] +000000F7BF57DD70 00007ffab265acea Robust.Server.BaseServer.Input(Robust.Shared.Timing.FrameEventArgs) [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/BaseServer.cs @ 683] +000000F7BF57DE20 00007ffab2670b47 Robust.Shared.Timing.GameLoop.Run() [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Timing/GameLoop.cs @ 135] +000000F7BF57E5E0 00007ffab25d6685 Robust.Server.BaseServer.MainLoop() [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/BaseServer.cs @ 565] +000000F7BF57E610 00007ffaa93f24f0 Robust.Server.Program.ParsedMain(Robust.Server.CommandLineArgs, Boolean, Robust.Server.ServerOptions) [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/Program.cs @ 78] +000000F7BF57E6A0 00007ffaa93f12ca Robust.Server.Program.Start(System.String[], Robust.Server.ServerOptions, Boolean) [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/Program.cs @ 46] +000000F7BF57E700 00007ffaa93f06f2 Robust.Server.Program.Main(System.String[]) [/home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/Program.cs @ 25] +``` + +Same as above, again. Wow! + +I hope this helped getting started using a native debugger on stuff like this. + +```admonish note +🤫 I actually used `dotnet dump collect` to get the Windows dump because I was too lazy to set up the watchdog twice just for this article. Works the same, mostly. Hell I'm pretty sure it uses the same underlying library to create the dump as the watchdog! +``` + +[^2]: I tried to open a Linux core dump in WinDBG, which is supported to some degree... but it cried about enough missing files and other pains I gave up. Try moving your watchdog `bin/` folder out of the way and debugging a core dump with lldb... Yeah you get wildly different results huh? + +[^1]: About as good as dev tooling on Linux gets, which is not very great. From cd06526a729f8366007113d0848c0ac8d9e1b15d Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Wed, 25 Oct 2023 00:50:26 +0200 Subject: [PATCH 29/41] Fix example error in docs example page I spent more time than I should've to notice why the code I copy pasted didn't work --- src/en/meta/docs-example-page.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/en/meta/docs-example-page.md b/src/en/meta/docs-example-page.md index ec51edcd8..4cb4dfec4 100644 --- a/src/en/meta/docs-example-page.md +++ b/src/en/meta/docs-example-page.md @@ -32,7 +32,7 @@ All available admonishment types. To use an admonishment: `````` -```admonishment {type} "{text you want as title, or leave blank}" +```admonish {type} "{text you want as title, or leave blank}" description ``` `````` From 3e58a78bd4e3ff01a6c2f87d78bc0bf4a732c55c Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Sat, 28 Oct 2023 04:09:05 +0200 Subject: [PATCH 30/41] Add redirect for port forwarding guide (#92) --- book.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/book.toml b/book.toml index 4e8865d84..50f6ad0f7 100644 --- a/book.toml +++ b/book.toml @@ -72,6 +72,7 @@ warning-policy = "ignore" # false-positives like hell with absolute links & late "/en/hosting/SS14-Admin/index.html" = "/en/server-hosting/setting-up-ss14-admin.html" "/en/hosting/robust-cdn/index.html" = "/en/server-hosting/setting-up-robust-cdn.html" "/en/hosting/oauth/index.html" = "/en/server-hosting/oauth.html" +"/en/hosting/port-forwarding/index.html" = "/en/server-hosting/port-forwarding.html" "/en/technical-docs/acronyms-and-nomenclature/index.html" = "/en/general-development/codebase-info/acronyms-and-nomenclature.html" "/en/getting-started/engine-changes/index.html" = "/en/general-developmnet/codebase-info/prs-with-engine-changes.html" "/en/getting-started/debugging-tools/index.html" = "/en/general-development/tips/debugging-tools.html" From 74045725a50efd6aa71ada975686cf412ddfd566 Mon Sep 17 00:00:00 2001 From: ike709 Date: Fri, 27 Oct 2023 23:37:56 -0700 Subject: [PATCH 31/41] Genpop Security Design (#87) --- src/SUMMARY.md | 2 ++ src/en/proposals/genpop_security.md | 55 +++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 src/en/proposals/genpop_security.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index cca0e8136..43e98400f 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -123,6 +123,8 @@ Design Proposals ---------------------- +- [Security Genpop Rework](en/proposals/genpop_security.md) + Server Hosting ============== diff --git a/src/en/proposals/genpop_security.md b/src/en/proposals/genpop_security.md new file mode 100644 index 000000000..5c6b02e89 --- /dev/null +++ b/src/en/proposals/genpop_security.md @@ -0,0 +1,55 @@ +# Genpop Security +By ike709 with heavy inspiration from [AndrewMontagne & OracleStation 13](https://github.com/OracleStation/OracleStation/pull/419) + +## Design Goal + +This is a proposal to redesign the flow of throwing criminals in the brig and their subsequent release. Right now prisoners who aren't permabrigged usually have nothing to do during their sentence except hurry up and wait, and security officers usually have no reason to interact with the prisoner until their time is up and they need to be escorted out of security. + +## Current Brig Experience + +The current experience for brigging criminals looks something like this (your mileage may vary by map): + +1. Criminal is arrested by security officer. +2. Criminal is brought to security and strip-searched. +3. Depending on the severity, the criminal is thrown into either an individual brig cell for a few minutes (which is the case for most criminals) or into the permabrig area which (depending on the map) usually allows permabrigged prisoners to interact and/or do things like gardening. +4. When a non-permabrigged prisoner's time is up, the cell door opens and they can collect their belongings, but they are still trapped in the security department due to airlock access until someone lets them out. + +## Turnstiles + +Turnstiles are a key feature in the new brig experience that I'm about to propose. Turnstiles are effectively one-way airlocks, allowing travel only in one direction while still allowing mappers or engineers to set normal airlock access requirements to move through them. Here's what they look like on Oracle, including the mapper overlay to show which direction players can move. + +![turnstile](https://i.imgur.com/QStUhoA.png) + +In this example a player with the relevant access requirements can only move from the north side to the south side of the turnstile. Even ignoring the rest of this design document, turnstiles would still be useful for things such as putting an exit in medbay or being able to leave the disposals room in maintenance. + +## Proposed Brig Experience - Genpop + +I propose that we completely nuke individual brig cells. All prisoners will now be thrown into a large secure area similar to the permabrig (called "genpop") where they can intermingle, kill eachother, or perform various other mapped-in activities like play arcade games or do basic botany. + +Here's an example from OracleStation. Note the turnstiles, the prisoner processing room in the lower part, and the actual genpop prisoner area in the upper part (ignore the armory in the bottom left): + +![genpop](https://user-images.githubusercontent.com/202160/35178888-91bb7eb6-fd87-11e7-9040-15a6ef93602c.png) + +I highly recommend taking a look at the [OracleStation pull request](https://github.com/OracleStation/OracleStation/pull/419) as it has gifs for most of the things I'm about to describe with words. + +This is what the new experience for brigging criminals would look like: + +1. Criminal is arrested by security officer. +2. Criminal is brought to security and strip-searched. +3. Criminal is given a prisoner ID with their name & the length of their sentence. This ID's access is required to pass through the "entrance" turnstile into genpop, to ensure the security officer processed them correctly. +4. Criminal is thrown into genpop with all the other prisoners via the "entrance" turnstile, regardless of their crime severity. Individual brig cells and a separate permabrig no longer exist. +5. The criminal's turnstile access is tied to their prisoner ID. Once their sentence has elapsed, they will now have access on their prisoner ID to pass through the "exit" turnstile from genpop back into the processing area. This means they can leave genpop with no intervention from security officers. +6. The criminal can retrieve their possessions from the locker in processing using their prisoner ID. +7. Using turnstiles, the criminal is able to exit genpop, processing, and the main security department entrance without needing a security officer to open doors for them. + +## Gameplay Implications + +Here's a non-exhaustive list of impacts these changes can have on gameplay, in no particular order: + +- Players no longer need help opening airlocks to exit security when their sentence elapses +- Players now have things to do while they are brigged, whether it's ~~killing~~ interacting with other prisoners or the items/machines mapped in genpop +- Players could escape early by stealing or trading eachother's prisoner IDs +- Wardens are now incentivized to actually keep an eye on the brig and its prisoners to prevent fights/prison breaks/shenanigans +- The brig effectively no longer has a prisoner capacity limit, as individual brig cells are no longer needed +- Security officers can pass through genpop turnstiles at will with their ID access, allowing them to enter/exit genpop without prisoners tailing them to escape + From 62e102d822ec9a925a8d086627506435e68efa75 Mon Sep 17 00:00:00 2001 From: ike709 Date: Sat, 28 Oct 2023 16:23:29 -0700 Subject: [PATCH 32/41] Fix the Design Proposals splitter in SUMMARY.md (#96) --- src/SUMMARY.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 43e98400f..1494c3ba1 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -117,12 +117,12 @@ Space Station 14 Design Proposals ================ -- [Anomaly cores](en/proposals/anomaly-cores.md) -- [PDA messaging](en/proposals/pda-messaging.md) -- [Plant genetics](en/proposals/deltanedas-plant-genetics.md) ---------------------- +- [Anomaly cores](en/proposals/anomaly-cores.md) +- [PDA messaging](en/proposals/pda-messaging.md) +- [Plant genetics](en/proposals/deltanedas-plant-genetics.md) - [Security Genpop Rework](en/proposals/genpop_security.md) Server Hosting From 52b42fb62b4f135d250ce39966ff2539a51e5893 Mon Sep 17 00:00:00 2001 From: Kara Date: Sun, 29 Oct 2023 19:52:09 -0700 Subject: [PATCH 33/41] apparently hub rules had 2 valid pages ?? --- book.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/book.toml b/book.toml index 50f6ad0f7..10586853b 100644 --- a/book.toml +++ b/book.toml @@ -118,3 +118,4 @@ warning-policy = "ignore" # false-positives like hell with absolute links & late "/en/engine/lighting-fov/index.html" = "/en/robust-toolbox/rendering/lighting-and-fov.html" "/en/engine/sprites-icons/index.html" = "/en/robust-toolbox/rendering/sprites-and-icons.html" "/hosting/hub-rules/index.html" = "/en/community/space-wizards-hub-rules.html" +"/en/hosting/hub-rules/index.html" = "/en/community/space-wizards-hub-rules.html" From 821b1129c7dc1fb72ed76a1652bf29dc3ef9d643 Mon Sep 17 00:00:00 2001 From: Tom Leys Date: Mon, 30 Oct 2023 18:54:30 +1300 Subject: [PATCH 34/41] Add proposal: Game Director (#95) --- src/SUMMARY.md | 2 + src/en/proposals/game-director.md | 210 ++++++++++++++++++++++++++++++ 2 files changed, 212 insertions(+) create mode 100644 src/en/proposals/game-director.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 1494c3ba1..c78ea644f 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -124,6 +124,8 @@ Design Proposals - [PDA messaging](en/proposals/pda-messaging.md) - [Plant genetics](en/proposals/deltanedas-plant-genetics.md) - [Security Genpop Rework](en/proposals/genpop_security.md) +- [Game Director](en/proposals/game-director.md) + Server Hosting ============== diff --git a/src/en/proposals/game-director.md b/src/en/proposals/game-director.md new file mode 100644 index 000000000..cb79334a8 --- /dev/null +++ b/src/en/proposals/game-director.md @@ -0,0 +1,210 @@ +# Game Director / Dynamic Event Scheduler + +**Authors:** tom-leys (RecallSingularity) + +## Abstract + +Triggers game events to attain a chaos goal. Goal varies during each round to create variety. +By measuring and varying chaos, the director keeps the challenge each round within a fun band. It reacts to player success +or failure by tailoring future events based on current chaos measured. + +The Game Director adds new game modes, initially CombatDynamic and CalmDynamic. They can only be triggered by an admin +running for instance `addgamerule CalmDynamic`. A later PR could put them into automatic rotation. + +## Background + +Events in SS14 trigger challenges or benefits for players. They might spawn spiders, dragons or zombies. Traitors +come on board, Nukies attack or vents spew grease. Pizza might be delivered or power is turned off to sections of the station. + +Historically events trigger in a few ways: + +- At round start (for instance a zombie or nukie round begins) +- Randomly, every 5 minutes or so (extended rounds) +- Randomly, at an increasing pace (survival rounds, now discontinued) +- Due to admin commands such as `addgamerule` +- Hand created by admins adding entities and using admin tools. + +In the absense of administrator intervention, extended rounds can become boring and monotonous. Zombie or Nukie rounds +are often boring for a period, intense for a period and if the station is saved boring again. + +Due to the random nature of the extended round system, events cannot be too dangerous or too beneficial to the players +or through RNG they are likely to trigger at the worst time. One station might be flooded with spiders, a dragon and space lube +under every vent while another only suffers a few rats and some flickering lights. + +The Game Director aims to provide an alternative to the extended mode that is flexible and drives a fun set of events +towards a larger set of Chaos Goals. A wide array of extreme events both positive and negative can then be added to the game +safe in the knowledge they will be run at suitable times rather than randomly. + +Discord Topic: https://discord.com/channels/310555209753690112/1110002801448329226 +GitHub PR: https://github.com/space-wizards/space-station-14/pull/16548 + +### Car Metaphor + +Imagine you are driving on the highway. You look at the metric of your speedometer to see how fast you are driving. The +speed limit specifies how fast you should go. You then pick either the apply gas, reduce gas or turn on radio events to +best match the car speed to the goal set by the speed limit. The director works in a similar way. + +## Basic method + +- **Chaos** - Metrics we are measuring and controlling with each event +- **Story** - Determines a series of Chaos Goals +- **Metrics** - Estimate the existing chaos on station +- **Events** - Have a predicted effect on chaos +- **Game Director** - Pick best Event to achieve story Metrics + +1. **Wait** until it is time for next event +2. Run **metrics** to measure current **Chaos** +3. Advance **StoryBeat** and **Story** (over time or based on Chaos) +4. Read **desired Chaos** from **current StoryBeat** +5. **Rank** valid events to achieve near desired chaos +6. Run **best event** + +## Chaos - Metrics of a station + +We want to measure how bad the Chaos is right now. If the station is doing well, the lights are on and the floor is clean, +we expect low chaos scores. If the lights are out, the place is spaced and enemies are roaming the station, we want high +chaos scores. + +To best tailor events to the exact situation on the station, chaos is measured by several metrics. +The solution to hunger is pizzas. The solution to enemies might be a squad of reinforcements. A station +that is too peaceful is ready for meteorites, spiders or other hazards. + +A wide range of challenges should be reflected by moderate chaos values for every metric to best challenge all departments +on the station. For instance many new anomolies will keep science busy and potentially annoy other players. But anomolies won't +tax security the same way traitors or spiders would. + +Obvious metrics, where a perfect station has chaos of 0 and it increases as things get messy: +- Hunger +- Thirst +- Anomaly +- Death +- Medical +- Security +- Power +- Atmos +- Mess + +Combat metrics: +- Friend - negative to represent how many friendlies are alive on the station +- Hostile - Score for all antags and monsters +- Combat - Friend + Hostile. <0 if crew is strong. 0 if balanced (fighting). >0 indicates crew is losing. + +## Story - Determines a series of Chaos Goals + +Stories are composed of StoryBeats and determine the Chaos Goals over a 15-30 minute period within a round. + +Beats generally last 5 minutes each, though they might end early if chaos hits certain thresholds. +These are called `endIfAnyWorse` and `endIfAllBetter`, useful if there is too much war, or perhaps too much peace. + +Once a story beat has ended, the director will move to the next beat in the story. Once a given story has finished, the +director will pick one of its stories at random to start. + +Player experience in SS14 should have both its highs and lows. A peaceful extended shift can become boring with no challenges +to overcome together. An overly intense battle might kill half the crew and leave the station in disorder that we cannot recover from. +What we want is a middle ground with some variation. + +The ideal story has a mix of both, with order followed by disorder and then a chance to recover and rebuild. We want variety with +pleasant cycles in intensity potentially building towards an overall climax as the round progresses. + +### Dynamic Game Modes: + +Each game mode preset specifies which stories will run and so determines the tone for the experience created by +the director. + +The number of stories and story beats is quite small right now, as we add more content to the game we will also expand +the range of stories followed by the director to increase the tonal variety between rounds. + +#### CombatDynamic +Contains combat stories and so will create a station with some fighting +- **RelaxedAttack** - Peace -> AttackMild -> EngineeringIssues +- **ScienceAttack** - Peace -> MadScience -> AttackMild -> Peace -> EngineeringIssues -> RepairStation +- **MajorCombat** - Peace -> AttackMild -> EngineeringIssues -> Attackers -> RestoreOrder -> RepairStation -> Peace + +#### CalmDynamic +More like an extended round, has a balance of minor chaos events +- **Relaxed** - Peace -> AttackMild -> EngineeringIssues +- **Science** - Peace -> MadScience -> Peace -> EngineeringIssues -> RepairStation + +### Story Beats +Some beats deliberately drive moderate or high chaos for a period of time. Others bring specific types of chaos to near +0 to encourage the director to pick helpful events until the station is moderate again. + +The hostile story beats tend to end if the station chaos rises too high. The recovery ones end if the chaos drops low +enough. By incorporating both into a story we can expect some hostile events, a period of chaos followed by positive +events and a period of recovery. + +- **Peace** - Minor Chaos across a wide range +- **PowerIssues** - Create high engineering chaos +- **MadScience** - Create high Science chaos +- **Attackers** - Drive high combat +- **AttackMild** - Drive medium combat +- **RestoreOrder** - Send help to quell disorder on the station +- **RepairStation** - Repair that station + +## Metrics - Estimate the existing chaos on station + +A number of systems called "Metrics" are used to summarize the chaos levels. Metrics each stand alone and so it will be +easy to add or remove them as the game matures. + +Metrics could subscribe to relevant events and dynamically adjust their scores as events occur on the station. Or they +can do a single pass through the component system when run. The single pass approach has been preferred in favor of its +stability and simplicity for now. + +#### Metrics at the moment +- **AnomalyMetric** - Are there many? Are they out of control? Writes to "Anomaly" +- **CombatMetric** - Who is on the station? How injured are our friends? Writes to "Hostiles", "Friendlies", "Death" and "Medical" +- **DoorMetric** - Uses doors as a proxy to surveying the ship for danger. Writes to "Security", "Atmos" and "Power" +- **FoodMetric** - How hungry are the friendly crew? Writes to "Hunger" and "Thirst" +- **PuddleMetric** - How messy is the station (partially as a proxy for safety). Writes to "Mess" + +I expect that as we describe a situation we want the Director to react to we will introduce further metrics to give us +richer insight into the station. We might want trust metrics based on how many traitors there are. Or staff / department +metrics based on staffing issues and role deaths. + +## Events - Have a predicted effect on chaos + +How do we describe what an event does? + +Events have a metric called "Chaos" which describes different types of negative effects they bring to the station. +Good events cause negative chaos. + +If our chaos estimates for each event are accurate, the game director can easily control chaos by picking the best events +for the current story beat. + +### Negative events increase chaos +SpiderSpawn: + - Hostiles: 40 - New hostiles are introduced + - Friends: 20 - Friends are likely to die + - Medical: 150 - Medical will have wounds to heal + +### Positive events reduce chaos +PizzaPartySmall: + - Hunger: -80 - The pizza party satisfies hunger + - Thirst: -40 - And also thirst + +## Game Director - Pick best Event to achieve story Metrics + +Each of the **story beats** from above has a matching chaos level, specifying factors that we care about at that point +in the story along with target values for those **Chaos factors**. + +Once we know what **Chaos metrics** we currently attempting to achieve, we have a chance to select the correct event. + +- The **Story Beat** has told us what chaos we want. +- The **Metrics** tell us what chaos the station currently has. +- Each **StationEvent** has a Chaos field predicting that event's impact + +So we iterate through all the possible events, choose the one which moves the station chaos nearest to our goal and set +that event into action. Simple! + +The whole process is richly logged into the admin log (under GameDirector) so the admins have insight into what the director +is attempting to achieve. + +# Conclusion + +The Game Director system will allow us to author specific experiences that are gated on how chaotic the station has become. + +The more events we introduce to the game with clear chaos outcomes, the better the system will be at guiding the station +through a specific narrative experience. + +The data driven nature of the metrics and story data means that a wide variety of narrative outcomes and station-specific +events can all be achieved through the same system. \ No newline at end of file From e943eb5c1b04f6b3c8e9ac79db1bbed5aa2d89d1 Mon Sep 17 00:00:00 2001 From: Moony Date: Sat, 18 Nov 2023 23:34:58 -0600 Subject: [PATCH 35/41] Update mapping.md --- src/en/space-station-14/mapping.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/en/space-station-14/mapping.md b/src/en/space-station-14/mapping.md index 0d399d114..8e0ebdb53 100644 --- a/src/en/space-station-14/mapping.md +++ b/src/en/space-station-14/mapping.md @@ -1,7 +1,7 @@ # Mapping ```admonish warning -Use a release build of the game. If anything goes wrong, a release build is less likely to crash and lose the work up to your last autosave. +Use a Tools build of the game. If anything goes wrong, a Tools or Release build is less likely to crash and lose the work up to your last autosave. ``` Please refer to the page contents menu on the right to get to the section that best suits your needs. @@ -298,4 +298,4 @@ All maps should also have a docking arm in addition to the arrivals and escape d * Protrude from the station with no immediate obstructions either side of it for at least 20 tiles either side. * This is to allow large ships for events to dock with ease. -* The docking arm should have at least a 2 tile wide docking airlock to allow structures to be dragged through it easily. \ No newline at end of file +* The docking arm should have at least a 2 tile wide docking airlock to allow structures to be dragged through it easily. From 5e72710512348a26393bb106fbe3915b3dd6df45 Mon Sep 17 00:00:00 2001 From: Moony Date: Sat, 18 Nov 2023 23:36:18 -0600 Subject: [PATCH 36/41] Update mapping.md --- src/en/space-station-14/mapping.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/en/space-station-14/mapping.md b/src/en/space-station-14/mapping.md index 8e0ebdb53..50962d4bf 100644 --- a/src/en/space-station-14/mapping.md +++ b/src/en/space-station-14/mapping.md @@ -35,13 +35,14 @@ To test the map: ## With Development Environment A [development environment](../general-development/setup/setting-up-a-development-environment.md) and [Git installation](../general-development/setup/git-for-the-ss14-developer.md) are strongly recommended, so that you can keep your local mapping server up to date and submit [pull requests](../general-development/codebase-info/pull-request-guidelines.md). -### Release Build -If you are using a development enviroment instead of just hosting a local server, make sure to use RELEASE instead of DEBUG mode. This is because DEBUG adds artificial lag (making mapping unpleasant) and crashes more (having more assertions enabled). +### Tools Build +If you are using a development enviroment instead of just hosting a local server, make sure to use Tools instead of Debug/DebugOpt mode. This is because Debug adds artificial lag (making mapping unpleasant) and crashes more (having more assertions enabled). +Additionally be careful to not use Release, which disables development environment tooling and configuration and causes the game to act like a standard server instead of a development environment. If you are launching via a console, you can just use: ``` -dotnet run --project Content.Server --configuration RELEASE -dotnet run --project Content.Client --configuration RELEASE +dotnet run --project Content.Server --configuration Tools +dotnet run --project Content.Client --configuration Tools ``` If you are using an IDE, there will be some other way of setting the configuration. For example, in VS there is simply a dropdown menu: From a024ecffa5678e327e0d1d311e7179f696e80bd8 Mon Sep 17 00:00:00 2001 From: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com> Date: Fri, 24 Nov 2023 07:18:03 -0800 Subject: [PATCH 37/41] Fix small typo in ecs.md (#103) --- src/en/robust-toolbox/ecs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/en/robust-toolbox/ecs.md b/src/en/robust-toolbox/ecs.md index 9602539fb..abe8ef810 100644 --- a/src/en/robust-toolbox/ecs.md +++ b/src/en/robust-toolbox/ecs.md @@ -96,7 +96,7 @@ flowchart TD ```mermaid flowchart TD - subgraph Cofee Maker Machine + subgraph Coffee Maker Machine Damageable; PowerReceiver; SolutionContainer; From 9c56471bbd043a7cac36368c522b5a4159c6f379 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Sun, 26 Nov 2023 17:02:51 -0500 Subject: [PATCH 38/41] Grid Inventory Proposal (#99) --- src/SUMMARY.md | 1 + .../images/grid-inventory/grid-example.png | Bin 0 -> 42958 bytes .../assets/images/grid-inventory/in-game.png | Bin 0 -> 630204 bytes .../images/grid-inventory/shape-examples.png | Bin 0 -> 9962 bytes src/en/proposals/grid-inventory.md | 69 ++++++++++++++++++ 5 files changed, 70 insertions(+) create mode 100644 src/en/assets/images/grid-inventory/grid-example.png create mode 100644 src/en/assets/images/grid-inventory/in-game.png create mode 100644 src/en/assets/images/grid-inventory/shape-examples.png create mode 100644 src/en/proposals/grid-inventory.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index c78ea644f..dbe0f9c25 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -125,6 +125,7 @@ Design Proposals - [Plant genetics](en/proposals/deltanedas-plant-genetics.md) - [Security Genpop Rework](en/proposals/genpop_security.md) - [Game Director](en/proposals/game-director.md) +- [Grid Inventory](en/proposals/grid-inventory.md) Server Hosting diff --git a/src/en/assets/images/grid-inventory/grid-example.png b/src/en/assets/images/grid-inventory/grid-example.png new file mode 100644 index 0000000000000000000000000000000000000000..5a0e5610be149c3e070a8953745c599fc8945c88 GIT binary patch literal 42958 zcma&Oc{r4P|32P**B!Y-l1zl6EMp(HNTIAHWoPU$QBn3W7)vGlb}QRNgeJx|NfTpD z7-cODV;Lr7XND|;vHafpeDCLb9MAXne0u)q7>ABJuDPz)`*ohL^E_WyjPVV9P7VQ% zef#!tUcI7Yx^Lh9_j`ZX4}#xp_8rLtAHVsU>TB&Q>pD5JZ{MkXS9LC%2V~7t?F(IQ zhfXoKgWjTMQVgKQ<`z(tja$ORLFU_P^HW*z5+weommoE#c@IvBGdU0+9_(-A|9Uta z^RORdCtWXe)JM5lN74JeKWV?7@e}M@UfURIkq0Hypwtp~qjvV8?gGW$>N!92WXik2>mT~BS!L7EXu7-fwnNbZvDIgF z)!oU^p6O{ zSNfD`h%1$5m7g;m4Q}$jeX6+``}Xhs@a+8o$lmAY1LE)ZJ|Bpulrpv;7=v(QD0&5`kgqQhw2gylSjiwj!e?PqUdFOZDn|q&^c>nnh z#up!9g~|R+(zBO?`Hp#sXrT~_m^+un9~rAH8jBf>)_b0qy^Lbkbu@EQm!}-Y^23bOlxN zBSC;%Uf69(YqFKFEZ_Ce2pN| z1tbQ)%B=~gP;J}1HqP5fYWqUXO6`YXhZ&^3N0oF%){}wOt0@}^&A+UWZx)FMcf!BZ ztIImV*RkVr$}3WR$%hUR4Wf?Qd3fdPeg7~VW#ge1-=50#sLD;JfyyjgA!KgsNY~kk zho&6Tt7`4xQ~8)`A{PDf*2r>MB2n+oYiVrv%-ur{QW%yk=WM9;_}~IGF(diB2ElH| z7$GiR{y^Zgm1fV`3S$9tVnz6pMP2 zafTi3>c>&`OkbRa=N8+)^#+CC_FDD6zaAd?KXuVWTTjJ5X15e~Hr*U$#`kdNQlbZL zRhdNe@NlV|%PnLU`Yjf{?Mary78}P3?tZMD@{nogjIT1esB$JH#l8@AuHPz!(QlHbHq5JyS2l#{w-37}qp|diH_`dZ-Ss_x}<1@pw z0qlNb0~%vER&A0wQYTD;QC{Y0*v@J!n6{P_c0+gn{c8Wcia#uts^BBp(@Zx{?-;@* zmfr`8-?C8i^E*o9Il#QkdA437|DXGUc}KO%ypPSYaxtfLH%YS?qGr# z?pT8{lCOo_zWw_NjIsI5NAgv3vH0H99z}e8!^l%f-b!fa_WdD?<{LO~Pd{zT6SFF= zli7A+0oW9c<0=6bVvmZ->``248zU2%@AvNQ1M&aoCjWEUfAh$w+{hEwC|f#0V0}Z0 zzxI1323P+5G98^g;F<73cXBis>sOnnm(?}w;5r;{sER8-Wi=C0rI>8^0?JFBhQ=dp z@&f3n+cVp)d5&d0CWSq%^TLiZ(?`oozUKQKezS7h(K`tbeuy+&H<1zw@3?1VLKB1< z%;||KG4nP45Z(B7KcH=_O&n=#YvzYFvZn`KveS*GDsK3%b!WX?LERJYvL4_0 zB7qIJ`#8h8Z80;uQyg01N;ff>thdYLC=|+I^ro-o9G_(FpRq-Z>V3Tl}(OTC^p|1OKb0G9orH1 zamlj?;dV&fxtH2!lLbm)S9UwI+UQ}C0IXrCm-%orVP~X<(gdFjvSb;gQy02c<<~(4=kza8$Emwi#XsR*^*$0Lzu9PDVN2&UXC54YyZIR zzg&P3JXyq3*cN=eI@WDEK7;Tb7F-H7@x@$K}ZUW>mQ6HJKhQXT=Pcx9)} zWJn=NWOr$y74OO^jedNdg~wvsutTI;nnuJs1GXr;5Dv*(DH`&zYF3!JHco^~p;v-n zOM5WGwSJDe;6e`%Ng6p-Q0%V4D`{cCR&Qso``T?w{GzNuR5=xGoq#TF-wv@6OS2fS z^huz#D6bWlo&I$LzB<{s)ANvR_4B$PB;8je(Xw?)!!O5Lh4-jwJCVD3F8VQ{s59Y* zBvuU6f`z-=;{gMaYdKY|^Lnqyw+A^bZlx9T)V6tvX+o#->*oyg-C(2oqG}RmGgYZJ zR*v0E6%!ua+jSYAea3p_RqUQ>5EujZHsJBGY&! zj&(s|d8pOiD#R5=NoA>L$8KH><+6l%xek6hhtsd zFsG7^C6^DSZs&jfHGX2>`9EDhz?C1J!oVLrIV61R(UsZJg^vAG0JdjN%&Kn|?2ZpB zoCDlsz=L1j9(7)~bWW~dEqMT6L*MX?a=Hf#{Sij7@qA|#+@QSXz2oI3TY1r8p)P6Q zGPQN(o0R)7o4!7pQE5c3IZm?=BOYE2m290vhn{*@&}Y%!xOcOTsCPfNYs^8IgvS9 zW-_p>^8EPjY&7f2$z>1QbI(^g)8!wRv-IN>{OMjEvQuiBNy!xg9#m;T+U9ITfI~_} z)W}?Cmf5N>(LBXaXgNwnlZF;)E4Ip(t*+BBVPMhQxNp62@}Xx#40j#rsH+LP61Nhu zemBaDvbTu4>yz9c`jwW~S(iRh!&o|z`YrC#A-fi^B{38lgG@DCgz{$lFoz1xKW-06 zO8L5kJFs^rzTq4HedPED@tnr=iY;p(by7mLrmPGuiqrh;9OXm*1qzKDA#XpR2|zP6 z!$CGZFhhfv)OJx7Ux-wqw0~W;hGeQwL}cuQCwWAa({?wlm>OyE4a-w1A2QU^dfoU) zufE=e)F4}H9AKY{lBe(WM%($daB{gkvI?=WGRfiM6E_XJydB9NDFv0p7E;a$G#?rE z|MtgSnE9eX9T$?5=v1Qd2j0NZie61$Rf)cy{V-O&bIK^Hys1ewa_yv$`e8&|%TBWT z#9OMo{`k63&2UP>qiO@TBA6n!gTd+uP3>U#qtI^kp9>zOp|gLDqT*H#D_SOCii#Di zH8s$@k{#$ZqJEs&7>K0zW~f>b@l=I#&jX~2zew)byGuJOj(gjN?H2KfdhfUJu)AV1 zSIv{x5o+&2HTVNdrKAN4f$^>UR@Kyt6%8t76yUL~%ZM1!k*^VEUv-2bGHp6JVz!13 z*3e`}&~`%)BZ%ZW%kwcz+OS-GRqlG-Y084+0m~qdzmw0Wm4&u5r938lx|ct(4*b4X z1FzY{-|v0?|BxLAi>X7#m(TF|2Qh}{(D=E7^~Y3y%o}f>MFt^`X>*cbCwAekvZPF5&nDqt*7i47OL-RUCsC2$~J!|xEeTD zY54iv^3XfI;A`6+D1Q4!ihOqNLzq~Q~zt6A#Y6&MAO)ujP^X2=9ko}V;_KF{# zz(yEmo3j5pI%w0y8SL`Geilw)_{t>+cMbrf%In=&J=k=K;PIH%ATDDl+VoLD}v8`mt zVxNIG&5@ABQln0|9iZNG{phKo*&imdeyEUfd$rCsh}g5%&}}HbbemAE!o|yc(?j+= zc-FTA8er4(Qx0L+g=xlvLxm+Si=71r6d-*2^YN7_UiQ6b{hqh^Kb`x_dasYERKFCx zN{2_XULz+jFBmSi*`o-{BS)EA*L6{s7Q}dIrmbTR@@3$8Dssh2rsRp5;UKAlQ739Q zor#ALBC^g0CXIyEIS{iaOTq#)<8jh=ZmmhcawQ31Zg%H6ggM4_CxOIj#lQ^M@CFPD zm(lPA4(*C?9Kl1}WA&RP-Rh4_1N~y^cF}~J^3TxWl zj?;!?!bS9iIbkL@tEpPNg<1gCA@fFeGkf1TlT1k5B3bY86|&C>GoD>z7E&l$^=lATRL#2q zn}6BE5GPG{H)|~J&>#m|QWsM=BwR)+HR|+Z(a-()oXq4LfFM<^d4%U&Wr zL&Et};s^McjoBBd3fH-rz(u!vdSWWBUb4LXC6~ALPzVDI#N#etg{d(vy&2&yE3E%1 zrAw#({kHr|5)y~rT-l@28G^NKl6C5eOC9~p&}d>#GN`g9f$^+LpAhF9@vztezt`u&P2KF3EyeDXD>Fyg@Ocy7 zc691!1^7R>aH?j2sMW$?tz&x4)oM%+nK@D&8c2FI_A}5ve9!4=TfSH|8tskSv*ABgZCeLE1nNZHx&RR|(U)*hy#=Dv`C}%t1Y)ujG8j{sW@9Ck zBS`bXu?_d4UnUwoXQ`Cc9VhwMKn|Qpa_(@_U_LspbfWZ!DBM19a((~+5qjy(r}fJa z!Psvk^Z5HZkZYyIX}$@qtlfnBZonbK4$F(HO_c5JGjQ)I}uAEqeb*x~1TS?|XR68dE$=5sf>q)YTTcD;Y=UEnz0Cgc;6sm%IG4gP|YakY#UmcaGBLldE^$F;)3B6aF&72N6 zN?MEwZo@XA%7Rn*1N_$t5-%Uz)cnj$9SR?%$QNPCtppHWgZjX7a&)@Gz1?g7K4`#1 zJp~DrSHg;*{TJse)$l`Ec|8xjbAkhz8|*8>A8@6g4!QD zd&Sj$RrtOR)lEjr@~h4n9TS#?A`hRqPx$o^4qhTGSC%O>i*EkZ+dF5>@=DTeDRg_C zZ=p4NvDoK{LXODR0e$nXNvEyQftUx$c^}O7>f&(;b>bM`nc%H&Y<<00%gx1a z(;sbaw7enLyh}+=g&=S|DNrGK-}K_8!9DiFiXnJdJ;aYC%PsrX!%wCUuCBW2ZXfoRcPjdc>EsZK@D_rkMUuA!mYx#N^=Nnibs;mdRj%h8y6sTCotX#rFY5; zk-a`;uqxM3mCh-)kw+2g(en8me1%XUk`Hm<<@h)Rn%Rx`tA`d> z9ah!8z`zwaA28N^6*(Calv1_Zwh*&jRKBXV!)0b}?p_fySLFNRcVmzDR}xaW%%w11 z=}%%TiKmMNmN`%jSR!8AUhvlk3HAv4(BGraz7~sMD7K7ZG^ZJ3MpQ? z*}xhECo7Uew3ITZum)JNo83mYC!A%REJduF=oxgFLHxwRN1|!id%E*D>HN{1cHA9{ zyHKr_(a!Fs{$eX70Y884*21TWF+Vrl+JZ@zTHq~9XL!GvoJbBC6 z8tQ=s$8vH@Do*#X%<6LvYb2qLT%JK2|C8r8JDFORXW&>yCwgGKHK}yMe{$iz#BnOd zsU%m`b(M7!cEWbZ?6fqYt{1xFU`A%x^O2xJ*+rMPJ*@Ce+no$jHq1!|3#teMthA0_ z*3C`**LEIfuBv|v{^`0!lv8h-O`dimaI3^)h5f9!*J^&-$9(9Kj@}{91S42RSE1((HO#Oh zq*rW4)^kPfS4z=SJ0b390B8ieyWC?GU$lA5RY<}Zb30gr_gWFdABq1+-M`krG%Q#e zv}o|P(=IOxG&qaQ?%i&(w@Sd#PPuz0p%6yOTCZbwIBR#y{Z`e0r&8!M-i&#l{>*df zmrBIP4@n$G#D~z9J+Un+dzg}&Xe2vDS6O~g6=Ymf%r?~V+N@BUfXSbQhRgxs^15-0XqIew!PSL0$7A_j+m(Cf}FNJ~EY4 z(dm&;?z%=JHYyOPxAk3UzI@LD$zPDl0k&nu3K3U9I(7x$IPt_ny_{!DjDSv($Fgkk=-e5u76FJ zREaB9tA)t{`GKOxN#6h@*+p%&o}!m`<}Dv$yqsC-xoSUOc0r(Jg52*~aR^aUigLJh z{%S@yckLf%SA*)tc|)4kG8hwM01M9LFv4>DX=0gGec8upHO1o)cl5ZRV}*Y%y&?bd zR`5OD?_cb@kaUI6+ciwOAhRu!dBZur$Y}4&2TZhe@C+k|&-4D;P|^7#)6Qf56XzYG zi7bj(R@nbENYYllpP^B^O(Oh{lvCL!dtGQ*kTQmTSr$IrRh%Jn+#&d~tn%|4rAQ_5 z@%3!^w520In0V1Pwc=H5PtmA-gW2`zg^)YxXk%=2nf;K$fqbRkxb^FH}Ht zV<<1FI&dx#OyFK`1$^^u>~TDWK9yEt`@Ye&TN)#^@iK}zt)Dymj#g46DmHva9*rFX zV%2d3x4xoco|YjN2T$WbNO@4(IJtUXXj#(dEXZJpdm=zx&Wcfeu48W>mT$6EvtpU@ zm;~b>G<1qbh8Zvrb!%lyqp#;frhQ97zh@N6JKHY`V)m5Io3s{ki@0_aWi9#G@ z;3;!&iOC;2s@;f&)HZCrgeNsFmjt2#Dwl>*1r&=kfNIynGos37_G{PJl<&04MQol0 zGz}{pWLZ`l@X1E5Da3dvL{+n*jCHA!1L2a`&G|Gn~lSx+>!^7un2!H(p?&n$O{Q%H;UBfb-jzU6;} zEnElUUamTVwl{whmx^m~9%y{H1(`$!G3g5m{!3#M3a>TcI3*_U2MM zY-Pp{U#EO0i&7_KEID|>@%3$MuuC3a3gwE(_+|n?j!!Zqi}Q-mwO_AF#18- z#p6pM*glKaf)5dGAMLCbtRmi16}|+Aev{2O>ew32=4jr}m^mev&=@StNC5=jw z0q_hHNf+4-kf|zfZ15hd^Qnp_FDtp z`KOpyCdf7yD+r2($l$3~Iw~^TX{nRj=Rh?$5%-|)#=N#rTwb3AdCgKpz1Q5W)v*%Vi|lD;p>?sPKOy<;&vKFn+&h? zJ5u#lz)9wp{Qkg&N7yk-=%dtuY?iVA3USJnlH zerWs73s&4Bq$@pF4t%^(@ui>TVLH_oMkAlMpj>l3?3B@IMJjAR zI=LFKI`3kEFHk1@7}IHWSnjxSqE)fNT1z+t?ZeqQVIJqA2&dOMy4*jAPf1mk4>48S zhwVc)!DBfbaH^lW>sAN~Ytv4(J5)+>o`uAhAF2*vK(&qW9k*20k_)N4`uKUuYS8Y& zLUR#)DS_9iAbI_fB}=H<@%sm7@7mqAL;6fcRC$38`_d1iT|dasy)h=KD_9f8yh!;R z+#R-Z_b{(iQZs7F%|^{(^5~RxmJIXj|MUYoABr);g@6`e$DznaJ|_0CF7!Cnd}4b6&Q* zWb}1r!!^$qt30%f$C0}giefjM8*KR=z#866Eqgc{~qE2|C7}a*v$O$M~kM2fm>HhHao6L)jDTCPxk3eL^hjd3@*JsaNlN zdd;_dKMtf{W@dTtmTEjsk}SrPq82cVQ}D0l0iLobyb1mwNG37xbUnpY^cDg5Qk9jw zsW@G#z7T8I^W(N~4?2OtXo*X2%BZFk?aLpFJfp-EUJYW5B;`c(RC53sK%EFX?W}Sv z)nxNz%82l_iO%*7{@t8qew&fSfiJfBI>p{d!BkTOAj|muJArv7U^y7;mI^WxBPTuMCzmYKhT<;CpaX92!pu{E__fQ}Ynx%E=t} z=K(^?8;v7#uC+fpJ^kL$>RH`8cem94%0V-G8{gM)!FFjptmp;U)s{l)ozz&_YH-_A z>ru>^nu>$UQC?x1D83m}1Gf9uqTYiRGbOLY{54O{NJ-Qp?oElS-`?2VFaZFNrdHq6 zD2B0``}x!ypoCXig>xuA=Pj2|>Hi*io*IxM7-9MlO39B>y!2|V_=C6{5(vo}G37F6 zdGC8u7N9-Y_(*TVkg5327i16qa1FQN&OX~4)}^(K=G=h$ZC!`Ch@gbt2sTSel%c&B ziWp;tZw-dq<>LDD^6K$q^)`Ez<>zp*=mEY}!73wf=@w31kQTuLOT@X4E z8FmoNpQg-yhTPVhs+FGE5Y3kQc&luHHC4%PSRH-``(EROA}37-Kz$h zn8J=*NB7&9DZc8nn5-BWnX4YEVSbFWt1{4+g8}_l#-smgi%#}AG5bme31Ko+bBA=5 zdL-t_`7lgB+zO_6T*YIeZQe>2HSSQ`mr}}p3Dk#YueOr0^06T^mN6}?%w!ZiZI}DH zFWU)l;FV8xGeioSp1vr%y_#Lq9;m@G4AG2Rh;g?Y)(oX%@zyL0r;-{J;utx>4cG5H zIr21SUlDTes9bK@e%{YqJl3Y~JItikMgF>d+*;LY!2oK0mbcV&u6k68?*X*bj|$bU zb5My-9f-;kHnehjI^GM77mDeB{O0JK>rqX&;TgZ#(i%xYexJ%$&KDf(zO|%KUl?%$ z+}s$cTUR4Hvd9@~Ve*bgOt^VuOkk&r53BUQ{M~VOtCOpCZl@_TC#u{Ef6-kiZpxPS>6*M6s?X_I1 z57vL$?w)q&&O!aVbj2D*vJI25`?RvD-*?J+Wz@6w7{$JHoRw=R@n+Q(q>P3HGgD* zzgse7bX@6t=@pIpi?7hMI!I`iDm`w}(Cw?2;QP&iO%7RC7;+dWwsl<0lUbQ9NY9Y+ zm_MtNarIF(c4J7pAlH*5bLwnvU{a7xiLKZpESVi4wfkjGF~COc7^*xM`tv!(V-saVd`O3s z+@c`%*yU9*`Rm4m+TH3xY*UNrvmOZ8m{2Kd*^gtVyh2b z;b8sCKfTWrk_4H~(Px$^^`5oCr{i&_(qr@dblI9}=NKe)`3HH<7ocqw%G#=K#B%ln z_jOKP0Zt+Lu*5v%MlH~`oSQ(so114t4|KruGNRxX&!>96$g2ckKPsdVv#LQXlJKg}zI5#Nwbj!~ zQ@W)W{>F>RspPaW!kd~3O1IaBzkF#@cn5D*)D6k0m#M!{ImY3~NT1ENQj5plddHki zg)DC_PEI+M_#K1t7J?w-H3M1`9NV4KKCC|p|8*la1)O!yTaf;tj%`&Lp%ffG|9M%a31>Mo<@(zGezr~84 zhO&eZv$@4H6TxtKph@8Ypop$R6;U)fam!v3q!=@p5f;>(~~NDoMUmwOcJ=GD*1KT#ZnA{j#g#&2eu{ zl!$WSvejno%J$|^?6@E<0JD)Tf4udRnA+X7urQ<@%m>htojFn|6^#&=oAHq6%{AXV z_NcS@&E~P%qQ(Rlm)~vZ8*|X9A2yfCC= z()*s6meLP+V(sh4v6jyRH}65rmc;nxyuz=$op<@G9}Xh@4lae1S3pooEA;*Q5RkUF zN2*Zr@wh7EN#DR{#L<^dqLRwEBl$(;+`285DWeL)jtTCj!<8iHMTJ$^Vnw5P#igqoS1 z35GKhW95<_syh0Fw#ag-F{V919rvKGD*wG{PSq4%+P=;c6H@4Fvx$s%?lz&LWSy;_ za+J%|aWl|9<*IUMg@VV4dL-YXuC2X^1`g!c8V}kyaJmDqY3+}1DpAMXuZss@7u|oZ z7X9CqqJO&Ozovd(KC?ZgQ~A}N(ots9mEf6bDR!$@fR6)$`H~F8j)c-afI4yoh7yXm zfF{-cY2i8|zD@Z#DP(JL=Qi52n^S_Ae1?!U7*(UrH)=fO+XQd>0so_?mT79z`s92! z9e7b1%feFH%S!5ZWdbHZ#V%7)%SI}DrtrlSMP+6UPkD*AXxiEC9Cnn{-t59s$JDxC z4>2lI?yWQY15ZU`K=kg0@7^Q{2mD_->SOa8@)Ce8!MO!ql}!t^1AUAOvU_E|FXI3C ze*ctvMj;!aw}0=jpDP5pfcObhKyhW5jh?H6Fz$r(#67A`%kLrYXU*oKTYy4?u59|; z=qCUUJ|x@5bFANuFJBMJub9e;o-1qdX&a1pb1@_-cCEaP_PQ9fekvZf7{Q{*tBk$e zivw*JWkfra$*91vAH*^6v>Ffbc%;`UjX&F4ojxY;-Ea08&t`k!=G86oR$$6g_IHc2 zm=kXVVlG)&QAoR6IXm)B^Mjf(4NYBHfz_nZ71CK$M>k?>ay~g%p^JOuGgy-D55C2QX^>D-TLOa-SD*BibYXbhUfw-}SnBIg> z64tM(nBgQtpog6mh4Xi53X{rJbiE^0qt<)doll7QqV02PrXSyDf-3*wZu6t-H&chqYozN z{&nTPkt~G|84PuMS-8xmxv#f(!x#Ul!zUI!+~76g;!YF@UE&WbpI+OUPTDD)UUO4z zsB@Q{0=Wj^H$Ne8USx}fD#4Dk zBK!@@Vk!S;@d&*1pd+)$b0~5_(feS%*6dtBns@=<5Lwh;uj3tiWc9M1W zLGY1a`Fa=1`)?dBny4N-h(D&XcA&I)xnN|ux9v~qBIL09mAa8Q$H24k+kKwfmXMlI z^_{*Ne_1`_;fWO5_AreT(XiFtaIZ9Tl&)QOE*;Gkx=jfiwkh+Ahx$5B0|EcmBdb{z zuSsT|;OC;H%!ZZf($Qb0X22%P+2zjxdI<`at|A!3rz|s61BUV{&jK?63^e7;?llM0 zDQD5IF{l~5&gZGmhj{@^wZTuu)zHHu`17mL%y$GkS9`u2Z3l`#o-YN#<85ltkk~_2 zjX}#`C>InpZF%`fgUv6xEe|YGL&z@@t-bU0w7ng^wUz=;ZB{MgMhmJ2Ubdnbwt4sP zYGMCZk)2Tyn<3wHGmWjqCWW=3hV3EHW%l~U-xjVS1~V^G2D3S=r9yyWV;RJie5lbi zWvA0fChq?*M1lXDY4+LM3S9(Sp-%I4sPU#9x8eGz=hW@BnctRr@SPT7m(Ib)McP|@ z7$Gugii@waZ!kx))zVf;ah6g~%lTJKSYBc`_~jkmrL{M|G4Rzk1VOWJ^(T%?pQN?b zCiZ+O>XFE{bjTdcwkadIU+8qpY9O#%Unh;AiF^n; z5+6S`^`RfXJ&2Dex2*(;=?j&bQq@^MW{dGQ?WvOh{6Y#P2R4>7f$ihn1gBR^D5hC# zGV3@TT-Hnw!mCT20oUvOCIa1uzdrgkLEeKRAQN0%x8H1B=^64BF_agI1xSls(J+_1 zxrlc4yQ-tLcgAhy5HDtlQ`r@1WdP=>^+X0VH{&YZ0JKF8P~XFt+mp z&hCM6)?7Ga_)mnA_wJqRR-fJWHTWO!nI_YeWrl^Yq$!4hwbC zTi4U(;PXxD8Yr+`=h52L@r_is-F??}_~{)<5co-8Ka}ui)MG&ZQf_>5>2i!@1xZBE zXoe3AXJ)sqw}iUebtfh1tefb(P81I1Avpw$MkuU(k^rOCF1=x!(bQjRYqX;>D!;YR zz(=BfB=4?`A$wZAuInC?U{$V~kQUJWoB|W}3K4BtN zWG>RPE)dC_xV(B~6D)n>eJ&NGvW(F=c^1lBvz|K+kQ%R@0R{h!h-F=74P5R+fAG67 z8TY!S4{&hYYkh{RdB@M>dmAp^Qvt(|JI@{O>(v~*_jS!l@grH9GJ@Hrzsc$Xev)A& z4w-}soikZV5tx5qtKZ5T0Q(hhYKK-PZH$IldbtjJed?K^b?;!9huL3u`%1F%6$XVQn`m==8N zL7S%>YJpOfQ`tifRche2qoY2B{aC(Tx}doG*`S+~x=6l@5&JJ}ZWy;xP8wUT`!v)8 zc{JaqwHR^;(|OzJ9?{NbD6?~{+6`USsdf+#1QieE?B)sb8WqXM_ZITZq!3566Dtie z{3i>LW7w>SZ#fTaAF#0EoN=8Pc5K`&{~i6-$l-IJN!wf&!h@||TAq4{aP zr8+C_Y6;14@y`RZ!E)K22zqb!sb@WqU5HKvaZ^B+@>ql-Ewd92ddA9%JFuqpN$%Kh z5??;X^L0)td4`LgQv{+}dOM`oC*6!omtB9L1R=ARM79O#X{_;-UlzMX$~&ID?N`@f zjfnT=syIekt76})tP504(X>$j``;|A7+(~4yxM~`VB(XC#p7mpket-g0-NK&m})G( zmM#}j&aJWjez0})Yj^YZND?b#X9My*XwuHkYL{`geyTgGJviNOIRsA!)>@d7rV^-l znff@&9HbT+;wThD$#od=6DT+i(#Vgl&^>20T2k!j7vFCl_ z8)AQQ%m2kb|Hy8c5Y?{4tyPR1mQ1PPW}fzBBD0#=)@pnd623%De26oV0?SK2aTB76 zvSamB~qch2|D zI7G1q$zXBuB=7E@o_@P19^ByE|4}kK9xd*TpoWKz2LEDh_Y+#OuhS8@&#p5~kXYGCP(kjB(cUGrY#OWrmeHNq3 z#q{)9rF=S}?IHU~;kfs?HXf>jaMs5I#Lbs0)E6s^r4H(Qd!WJsOBy)qKsWz20^PF8 z+Y_k{=@P-qN$x^?MW!v=aSL_c3j~Eppev{uBY_{=-tuNndwrJx4_Zo@`AhH2@jpH7 z2`RB&DTytTP)Wk^(X!{!UWHy1S3$=p856L?7MonGUJzrOo;i#&~qc8M7`%T4MOKUf6we%&+r ztn41!xI{fSADfxti=MC$S)tOl+9|i;8m5TtTv0c^nqFYWh!w_lXZA$zuP%DtrrUWO_FcW6pZg#i7tT;(+m$3 z>wUi`^}9-JwLjmgwO2ZD0dpKt#KX)Q9od4e8Di6Iu$gK25!zI@v-7;c8^pDj8a63? z)eVc4yI}V89!IzjdxkE96BN#^!H(dUtG#(2zuT;Ct~2)i+2l5=E|x;Sb+myOboOpD zCX7JKEi&eCYp~_{EP87~T8N8o766{M3~Hpm53jj*S1wij$Hb8#IlK`Id{VaqX;ik{ z;R)DOTgataqfwj&;3K+~l{}YmGv?<;*Un`(FW|PJ(#T+Eber)3teu%JSUh%l0=GI5 zv(V{k6j9!qgfP4nM91W{_Mm`}E9fn7c#LQT8^!G{8{=(l#Is(0xG{^qBbMf?Ipt=L z5}BH@HymRb08z#*I6uDncDh`?JfD@d;78#DtPV2 z>9HOvG4;Q(F@C<(Xpg|7$1cbT6#~21t%lo@x&7PPS7#zTvV2uMGEaOw!@#5+zz8O! zimY+GJ%B6a>&Z+=OvcB);5r1)DqN^lq3`DFuq+%yFC22=d<+W^i}hw^^67j%W~~>+ zZ6YLn&nnj?h$Fm*Gg-!S)iima;Zkzfa^Dp+-E(++-GoB-Khoe!_L+Uwaezog=BV#n zhOh?G<)X?_^(?UG*|)u}=1_YyOvS!x@exucuBDtnjX6{HwKQ5^YRJiMppM?_Ll60^ zuHn}TAao=CSp$*};!kW%ABg&ARR4e9c=V5a=aeV>&c6xnc3y>JLW8|j_(=CX{7N-e z!;K2iBXi090Y_U?ItSz47lzzQ^TkohkMYRxHT5s}>n351^gsgS{KMQNHhsnD zm!fKPpV-*x!iIpN3G?Q={tBE3HLbUrt3jy(JTlDMkKa;XbkX?ZAWmkKD%i31>l0IA zBySiEyf-N}NXT}n_pjqlGA-)PtD#kwrTA)pzKZD~5%6*#6U^E=YiLSVtAnis15eK| zAjps8lczw0C8TfxHvwZ_Lp79rJv!w#btYC2V!6BzEU>{#ZcWPBcY2dq|IL;K_d)RR zYrr`|yV+xnz-vN&E7hobr(qqvF9mi2jY|RI#LeCpiGhSzuzVhf{(Zl(93R9QUpw7n z^EgP{^Nnm_^{j@zqC|0m=Zzm7rC)`c#yKR-A`D>#G?}Bwy zuxm&|f;VBwRD>6NfKLv7d|a|8?srGU`r#H_G;G_Pz3u$a1(;1cuBfJ}tU$&{EV6eB zB}=+>=Ii!+&XYT-g3dm~Wnrw}Un==4TlpkA$%-tFznD|}r}vt`|JoZ5`v7!=aYx^F zwx(ByPzs{H*Sr}ZsW$KDkq8{!m|7cYy{8e!vS&)fgKt+L|{OgyJ~`tVR+wa2YCAWJG{8p^b*r+ulb0>|V3W9-YLl3us>Pn}Md z4c5`hqp3}1G-#SbV(4j5Q&V$5O%p520mUK5K=GXB9LrKO6DvdwL~_Cr$#SSuN}@QS zQd*)Iq9LFn@_X&x?{|IgZ{6Fut3O=J)mrlTy!+kz+0XOr4VWpu@bF|v=!=Ax_%z2n2S5K-?2^|QJGo^T3QI7@I*wNN#O`iakxcjbOC&>&6wlO1K+1g|A9nw619Lzc zIvxP`8&qRQBvjQcnOndVZ$uW8d&X3Q{@^>RoDKS)`2Sye{(s8pl&zV?GSSD&V0ndl zKlH%);?7^eE)8q_(W$V~wZ0r_XN+GuY*O^y2cys8&j ztn^6M*9!V>u5z2Ui9yDvm6U;PJu&ncMnCSaM*|y5i?j3|*9X8`zV96vB>$H5_ViJR zSu!Og711OGW)szYL z%f33@Xdt+<3IVKE=#?(sjT@cCicAt1o*`9iIa4DsEPY=&XKmDbhQ-7$nK$v&#qKXF z<8j%oLg$fF8e30E5R%#6q}+?*Pm?`uwD*cy@0_>VjmLL|36fgRpNgj?|C+}s1c_Q ze}O)Qw=~IE3N&uau=IfJ_qe=^2(NL_hd~)l`z{+Cg=i}$h0~RNYKJWgz=8%-^-_DpIN01Icv|uxwQG;j5Wc~zExi4`ehe6S;6uRZT}qFa z=Qzmrf8QjpO&D=+D3gABlBiIvv`Ye6avKAiYzFpjeI=kO)*A>yQyv~qkyHts5`lw1 z*x9z#Wx&@B_{OAYyIZ9XSRuc*xPskaz>n(?@j$^e2cLF(E6ga!hi{jZSN7YB%{PnU!@y#_Y~euRPp<3YE!^Yh7oOFZ4EdN?@pwF} zEA$EaR{@DoL%%hzS?`S88j%MCv(8^LqtZ-;{eR!U-IRaRk`E4MDR3|nw8zxaX#cv} ziReu&mwk1>ma);N!7&)H(5M>B_5c29rNO*|x1`YY)xA%M>YjAYD@K`s(;n0L1mK)|H5;qA8Z~G zJjK7S5%3!B_90R*4@iPPD@r!h^HMRBb%{(O#~kozx3FXoR0Rw=+bf!VJs@c`Ba zXM^y9Q>SdgDdC{4y>%KagDbmCmp>?ZW<}uO-(zJ{u16TWi2R|5D9&X@IVO$=-PVP# z5qSAwY{w-#mCG(Oj*c^sDS|B$>}PCM9sK|p%dG9!>mR}T8I&@Z5x3QZDiYy;0nHZL ztMmj7M;_jx7DZ(MF?NsTXd|z|dX261E&~H;+lhjKC?F~hYbIgV*FrNv`Z%1C`nYCV zr5VNu$!|%6U75)2W|elW`t#DTb@r-zQk+EA|3~KP7)Xffz6gHwrbcI5&N~BcV)dr^ zf)>G7X6>WGJ%9gt@1Fwei+X7D^F~3YqN!+i{j27Dlh^U9Xf3aK*$UI}`W;{!$krqb z0=d<0UG|it-=IlJvmoXB&OSu#ug7)w{xO`Ik^0xg;luH1r!G;mR{vfjdBB`5TN|SV z(D;Tv_*jvlcRT% z{~|Ab7o^kGUAO-#I#~Wp^I6Hp3(nHR2R?0Rh9wxa$FI}TH^{hmg=0(SPWt;mG#)`T zI^Le<8Y;(!0WD?+H2d%~b${T*G0)n2c@&HxFgcQJ54Uk)aX0LMR!89z*HJ{$Ty1M#GgzZ;3fSgc7+ySNXqKH1IuV(sp`;oYvl{ zZ00oZBoSz^r}AfBf6SKc4cT8XgZaEy_7WRpo3MEx2;buWj#YTu0c>NndOXlG(el8+ z>3|4|JRu$s7)c&xoO-yYoCcPCRp;F(0fw$|-?u9$4@%mToT2?atkAq@(O8lYcVgf#71(!2wX0?qc! zcp_AfaD10-it5q4i{@ZoK@{k3IQUbl?*th)^8Vhk>*$$x3x;xdCQ zDX#8mnOfdE^BcK9@dZQ1K$UgpR)F=Aj`yB-##t~P)4P{@5`4UXD+Ti&iOH5!k@(M5 z^FZ?<`+HepEe9>+O}@LfG`o1UdZ0HIn#t_ATB7-tvhiw|y1r z>we|I6ZtJaYIF>e9Tn8XG8ovFqW6_|Tio+-ETHhhJCXq%thBIi#ly&x$J);U96-M}0@*ZlRm z)exf{7YH>y&(*Jnfj`2ybQA1qiOZ`6x6I+Mv+Cd$j@BJk-bUJpzf5^r^2%cpdkC0% zJ-=XkShxEgSS=Kpc@OG2zQZ`IdS3`Y7AH4*;*4zQ<3HfXR6o7&><;baj^CH7A5>L>ID2BU>ee{@>VLxd*XE7Z#eVct+#Px^By+15 zNqPPbaLHVpu2Q=xBfo<^Hb3-@JA=ldZIJ zhIL^UFNa)X&qW51)aGoMSbV}RiyIKlcSK}BflkBStL`j%T4Zo-LSQ?K%P9!n%X3?| zIwkdxHjHA*lJ+QXCYcK`%a7uH&jiwGmUTXg2>5Fcm!=}CTYW^|nX}dmA%SaJVXseo zx0P43A8j5ZuJ?1CMx)QnG)+?9jsKvc@c*n3I6p^{Z!)Ctj>uOv3a7uayla*tX5w|JbouTpL+$qZq!vWQIh~;bmF!-Geiy>t9VZFu%ZT>n-+eiwnMpI zO=FB?9s-*#;#H4V3TK1QsG0PMKf=qNuj(F?yn_tgw@&jivRoT5!}&sG7n}~boV_y` zR{HW{B0a6c_f)u2dPju#Z{B6GO5>v(QCc(c8jy%aPdpLZkZH(c})~vVX+EFAd##vb0()!_-`~T%|{~47pPHj&| zHhng*JDL#*4tTC~e(WyXQFXhlD1JsY;?R7J6MP+W7ap&~`s3ImA8548#%DOpBiEmO zSlka|^mjA3^p>&JA+94=@Pc@_sD^4^THG<>5H2v;WT7TAIW#Y;=k^kDJ&!xmaz4Vl zh4r=X8%g=x%GjBRn3<8%=dC8*UW{s3+P%=FJ<|_=S#u6t6~D&iV0!S6GcSGuOR>&v z-t4ou;On1*Ym#$kgZqNnUXKSPLiq7>u#Lr#tA?z*M~$G)>oQ%hxx<_v6syrdsPEYA zawH@$8KpSyn#aJ8c;Sz$u{_?7^*n|w|IOt{9;U=M@u$BE7R?Jz)AU>hxR9Cp7)SjO zmI_5ZCo!wh6@4KO@7+WvcSsmNh`!f5Jz(2OIA7AAM3pL@DJQ_?#37=^hP)ji&9N~3 z3Z5?l79Dw!h>RQ~t7Q}03EVhVYfNGQoTcJ~!|7YyLQ^5p1~*W2DoU~8?C8Pnv7V>6 zgPBF$hEy4?kXLrZM|YU>er!)b#t&XiCPeJI&Qf%;k;KD7l39niILzHt{+;En5<8)t zgveF+sz;A3?-LIQO&+1}*9>71ebKP+f{u~Y^$7c?{<^G>tg#>xjxt|mF&`RK0oh@J zzvj-GwMOsnoFh`|auTgY$#wRPBwV!}V~$A7`-O?k($;<8D#wx}PjrS3&6kf**tJS0fWObMl2LsaNbb znw%7>!$J}_p4#|;n0ik<(Gj8Hvf>_khX>0S6U;*w9*Yo*|Hlh(dY!81#4#%cV!=a> zN_aX-(KjVE1+{n50Qzeg*nGqk&R0FZYsV_UxwADHc0|dO`2jL^Gnr_0l$0kbh)t$K z%&YBN(K~ zQUTb0dN$NZ(+KJbH-a)VTz7ipD4K~@5UpBI5G4fvb{N;L)eW!Ya^1Y(_9grCE>7fp ze_faB3}z_^Ba|X#rl@6{3j1u(%y~7&ouyj;gqf*NNM3yGvJQdbiI6Uhl_(`&)L&!3 z!R=DNIZbnC?vJ7~NiSisboW)3a*-_)oZK?<%*Ys0g{Wg?WH~_eA5htO^3PkS#B+q2 znfIp8Zx*AMAIM2x+{_d{(HVtn_*Qg$%D}B^9eemj<@|lz7}L_Q+1C(y>_IX%{<&2p zb&zV|sAs22^4EpqcP8RRablaiGo-u&M2TS=#eabK?$^lr+thJcy&AdSwO$`4i2u(C zC~OhRay-2b0UvQ=`I4N9kg6nf15cF|=AMq7rBww;>_*%uCN}z4aTw2(NO-F~?`fjv z)*UtxLj`}Fdh~8=>ZQu3B*PXJr)*7^>o3!JuwHS%hX9!VlYE`7`>DA*eq|nN8SANx zq!9HRIwVNN98e}D6Q)#udj5QjYl>8~;JsUKps3jtV?F`5up@xK(&HxZVQ@Oedc0?C zh>Xse$1^_)A%}zF7Z)Sn`zZ!u$EV4+j<;(W|EA#!a(RqRL3L_A6nx};JoMsF!KyQ; z`$@A4pd{|i9yTgPe;t#g5plP@VK4e@^Gt~7Aq=s#AZX%Fro;Ie|Cx8eE&{GgF$O*Q z^+yrx-Y|PsxskZ|p_;4Ej{o^6ZkG9*~*RkY|f@+zjW#?V8HUP>Kj`*!HKm*dY}V7N1JqUC3E(fQW)|LHfT6It$ZF!wC2g1Y zrZ(G2dU10k^@nepXWr*wtNXNOb+{7MNy^XwPU z>SDmTeY;gPS)pDvUU~7jK+6$ZER)KZ^tq-F`XGP4y|mglrCXV=t`Rly=?C#~DN#$b zg2J40eh~mFG8272Lr)70GPw}Q(ElU5)KIu`c0-q-;x^td7!l+dSZ}S3TH{PN=(}HY9eAZsMLEUt>%b2y|*zObX}kLo#W!T zA6q~hn#{UzCUnRYMTKDprJ?DISd%YhO=ROuploy;qE{45oS|!H&D{rx;->}qKeG3~ z0*pOd(w$%Kk=gYS89`}4wvZWycd^$;j_>MSkdu7z-^s^j!qgfmE zVkPqD1MU=Tb>#k+vdfamv>en#l;RFn{y7)N$B^eZihnY%G*CAW$v*VuU^l~Jpus)Z z)^Q3%vQ|pfM`ZbzHmyNOuE2mU&y-`2I~kIBnk;#!O{$cWBd0t6*bI{ zJ7%_=-25rQM&7Me@0RnfinFIp`vx^Sabxi-C}a{iCU4ZR2vpf!s(+^$x!q8ZNVDqjYM zJ|I96Cb;jS}wHXKKyj?*kBl8Itdq`; z0YMeGiHA9n6f`z$C?cXG zJc}_F$ljTTu;6~3?_L9kafSPVrSIJ4e-~`GqlhZ|Y>(!n61_wlT8Nx$UR9j6(!nf< z%nl9iR7BW^Nq3FIP2_Z&(O)MUIcr9ClUUd&l|Pm-A3Q`Qer8#iCmqm={FcQ|h{Yb|bL9^bSkGu`J@oWey?5<%{ zLB<=B&3zd04(N97k1~Lf*mY1~aI2J=Ms`u*&5xvIirKqi9Tc8Oe8dDhp`2Ewo&<1j zHZReMpr6=C($dg0W-rFlLa4I)5>6E__ZoJGC%HwuZ)2aBzZ z-WYi%x)DCYqv%2IY{{fq3|sP9b0SLGz!*(luMfZGj^F7r4n94!XgOVp+=l=#PIYJVN=%W^~vZ@{eh@ zTy>2WHH~`P9`UCsIZ;bxrw4e=ffmux-{ijt?9JEc=J4b>dczT9ZhyNxVU{LS%9ZvK z?VE8#o-l~B&x!+hEA(Wb`sJcUC{=c0Hn?Nt8e@U^L70+h zj(6|Ta#@jsZaEpzaC@Q%^&?z)$*A3RkfIZ7G~bJS46$h};K8c*hm$nN7vX~VZ&;wc zdgaB|56XN<=1kr<_++WV7mdqqV2B-pVViSadgYChmhmqX%_|krju_Y19(YO&+t(M~u=GtU|32P53bY`C z1N|DLqtCbg0Zmvant#n(@SQOB%)mZe{AOoj7cqXvOVre2#kf>4a|HD66=dF@3Yv!{ zrR>SqS`D6T{S_4K)U_D9TP1E%i{@nAYcq5jrdgJb^To9Hl=~RWqe&wMi_`oo`?;5L zK&BY08A7@S&8V^h;Lb2AknL|sAJwBM>pVaXwALrZI|B-LPNbs?; z6RK-u6LFz4s&7?F_x~Wk_G4b1ut_`&Pw)WDQ(KK%_R>C*4rMa2{Ynm?K2(MhQ-*SZ3w*eu=)JCu{m_UKA>EP%sHx!qOT>RA}54X6EPXCMUN&|aK;#$ zVbgeAl%-KDJmnGr1-O?a6Q4jTEo`KZNsSB^HSEG4_i||>6MxY9pVn0qt;lh%AkP2% z6&KqT!QkvkxhKZV5poFO_j&Q-s}TfM_m_GVhAZ!^~;n*8qM8cGH8?~d6WPzZ7 z7PFC5a?tJe6&Zy-^*owB>)*BL6I9txNqs*hUqf{&n=Y938CB`g_pH@pO^lgR(G3@8 z;x*$nvfLHV!0k7t^*>m;`;ALkfQ1u+F#k?r!6L8|4hME*#*J?2pOEp|IY%UO=?cg8 z%p}YWax|bV3VCw`KlYp;pj+8nO(UAPl0uZiL4+?c5r5i0ombVybAJSXJ+y60pCOZx z6^2m9BA@K<^ zmeInLoIfs|S?cnGb}rY8oxcXMfA(DBjpm4wZG&_$538B8-1F_Hj_^SGE}Gn26oKd5 z*9xW9o5fzwU2SeXb3GNEYM&>-bZ^4H_F&cI%b1n$oV!lp*G1!Xw{odVY4xf5ErbUvhAfWRn>?N0G7MQAf0|DH0!FY_FZ=9$zFWBVfLAP{J9zVjj zn)G#@1wh4c5?SffABrW)e-3_qK_nDyHACy>IOhrj*fX&+$@-p;A{b|lMYA}LiarsP z89qOus4qHhrtyP5@!oS4vaN)m|hSGHBW0!-$34M!7qkqb%PhMcYVFL%cF3)ms==#V8q~0@V$Ty`|XG>Hl zj_}IHRtI>WVBKY@G?G5=Xy^n6 zrl9rm9gUXwmyOo1tRl|*XXNCsr2r?@Y!aC6nAW!uaMc*WDz@n6TUDi-*WHe%{dAb)uh@`qFQ@jV%>8a1>N$SEIYH z{2)!;-dL;&161-Hvy>%-|9l!I6|JZsT8ud?{efNJ(*b&AuQ$8z3_1CQXVmq*H`To( ziu_)r8waO@woSt~*mhn%KwF)fI~)fqn5BPF>7m+7W_IwdXa;w3oWki-Wp!2Zr+!{W z1{q>IHZh!(4-H9mW99F0jlzyEiry0d3p{B8jfF>XLmVT^<0r-Sa!r^_E9O1HPdZ0t9r<1u#V{edYqOgCZCT zymkkG><2AmK;|tYLx$ZzJNxN9p#Rq(v{AcsX>wh}Y!IPb=ASU`U*|tV`R22jR{5d3 zFNq$W=fAvj`ahFL$CA$xW;@uSLwj=%D&&~EL5*)bW0pb+9_(v}0`{ zi+hxz>eBmufw-LnayoKq?=M7f%yV!Fo2{jev27%Qr-2dA7k?fbn;jUL+zR;g`PmsJzOff_>#Ilc*^pKM|ay{-ANGI~n@}e2>pDouSQmAx#PskCo z0~(n5;ZQ^N=Iwh#J_|}5Bvm$%M{`rdx5`D8o&gj4&sxuAL>!Vi&ffXK6KqI29ZJ7K ziVTaQ<6b%|8f*7xg}(MMeZs;~G>f2goKUoaKJB^!pYkgS_Q)OTaA zjvJ9gA%PSYQoi8QhaQ*5vTi#7GF89ewA5#m?8Offn+Yla{ox?3pZ7|b2sL73g(e9= ztRd*dKkpN>DA>wAaSbCrWDNUufbjYdcs<6c%GxPb6 z1FZ#bToW%5WX>u?Ya=Fnog-l`UQ#JoaE*X6s@aq6gT{T4mkQUN8C=u&;x&E*V1l6p zm&|WIm`PA*66P=SVGXSbi&+UJePW**+j_7J?rog&o&kj)vRVCOK$O5r@`8~>bTVjO6P#vbK zf=q;FC8@Rm@NZ=&ppQp1^_`Kn%kvfpc_^yvb?5*jMas2^0Iib6ELy$a_KaEH&gxS? zIO!L~D+yNW8V`sFYon$LFt9X+@uBHKJTue+S%0{R%yl3?MZNIMmBw|REKki&O4Vo1 z^~YM4dGceDF&hbTKB3qe#7OvksYO=I&=sBFpgg^VFO-E_1R+c|qnAY`+_mFiQPrd4 zg$dI-?Lwa!5k)Ta^GZe1JRjM4GlZdvE(-@-Q)mjTb1waYx=@<8+6b7cbXLP7Bj4~E zmx>dI=7OP|)V(mpYadi84Z7wIl26`&Z>8KUaFPzl(g4l~iJi`wqiJP`rIm#i%;37Y zO5=)3i#o=}vwlA~M~?>3O!$p}cCQ5V$k?SC;OWxT!c zl||2Tm92WC5a!glMguZzyY2rsO!5do1&wU3@OSvfMbpz)rlu>O|M4i5bc`-H_qJ&#cGDRutb(wksWWKVMK z9&&OxA-;EWc07sFM|F;j{-8fsZRFis?wPYxpe?AAbJJoKA$xbLKi`D}Sg3XD$?Mnm z*Ia*bf_3z;&*j+I*h&5Qt_wPVfNWJAmtRC}!#j!+!dc-#+&cBEdmUjS*K)p?FKo5I zT^Y^xW8Zf)zcLA0gm_RAZ>HX(%EY1a=yHCHe7bF^K;O`dd)k-z%*Q6ti*V4bKQmue z;*+rdt7$W*BVbEtI{+?*Y(yO^M4dl1R^1oi91O9PjxZv z7WB|~3P7o?JFgfT7KCt!@n8!YXR+CjO-qo|L#eb`rcw@yVbQsgnXXcW9%p%;0bSz-2K5`6*;&C59yh`@k3;+o1YZkb83m@5YDYs{Xd?Le<8@vXD_jLcaEW?X`c(L zsi?$D-U$mGerz&3G*j%ge<*~?pQOsOOd&Umnb_7=R2LpeL*z+&QDunCvRC2%;|0({ zp%uNxc`Oo0C7h7F`)^5w0e|qqtx42k&gdoP`WS@TJQvsw53@C`*fo4+v{D{QQxVj7odUbk)!qPcm1Z zG8r?CXasHZ$F2YJ68`CV@n`_O4l@;Uu1h(XxOno4i$yvG!5#~@=49F1FtRjB*RJ`o z!&f2r2eJshn6EeW(_g=S{dB}nkSX>giv_|XXt;b!)-kQ|-hM3DfDE)TQI|^_m0cAo zClyl5%OfIPleA#dP0DRloxHfR$gkg_h27DT!o0;V%(-+y!!*cOhv*-MvOdSi!=<=y z-@{7W7P=Td9_J&U7Z|aLJ(3AW1p2m4YS0Pt-s-^n@*fc27i1K9b(8ref^ z&M0%_Yq1*u)fn)R#bWUz)U63)XxUmR9MrBXv0cP-O|u)Ip7}q@aZH%s@(5KGLeq~- zMgp~@n79-Yox$p|hjLz?G{cWApH5i3&n%UH&65fJ*m^RiUZ&U%yoX7<40<+Sg1Fra z6AG0~*yszcEKoXKPL5y~Jk=F26YUCI&7GDhCHs-ml*}D2bJzxc!8c# zD!2~->50mM4~Mc)wW-ZJTsK{15jXEYqZ?xfN?6eOVz5;!6;-8?SJ6m{{2KeeA%jhy zv7jOi@#tU%)+o(l5s=eL@~Q84T;3OvRtn+7j{qH$KJUJGq5Qxv6ogD>p_?*oozOKz zsyJ|Ee%wcwAEQ5~H4^}+cf|l$tOz;YOGNGmT)d6Z)yh3B*$$2jEsOp^m|TcG^Vo+` z8c0Vb6XzT9CVgu40(HlGWis)hwhkw0&90Pt?e6iKuA-(g^s&k<`j^f6$AAaVexhox zpaEQ(|IbYMKU@>dl7CBPqZlAs2)i8S!n2B9Xf7I$XxC+nF@KHDoFFkv@hR&;fB4W{afdd(!Txpn1mG}CAI)k3 z0%AT;k=mKu$Ni;&1DNvzIQ>^o)xm1owDqAbpQ%JB7ifUN)TL|}kv8#zvhoFx^8v<7 zslm^ypQ84Gw|c*QcteL3g90pGu-5PR%}X&a#oQPib`I)$l9;wRFyrL@4oRqS)wosU z*7q!BgEon^IM>>{mnH9muhHbsnM?Z^(aHBlt6)a=dX81>Z6>FK$}8?Gtm7JnE-DP} z{N;&e?6-Rnc>*BM$4vUV4D7Xhkshgm=L>E<8JP!}C}V?%r*0NO-{JVnZ-~;BHFfIG z;Gg1bqOeH^vv}2zJ)2rrN%YQame@tduo=hS-ZGy7{eR+90_LEn(fV%T++5l9QlP8? zR)MNeLG;c42nR{`isV0vs2-ySozzuMN?})MvZI$7X&XYB>Pdi>k`+yL3T5D6UCXRi+fEG)W+M7t89NOc2kqg=C3;qP{HQo zy0>m^uiRAF^IfjdOX<*&S&%oc7?=8-jY`IacdFvK0}=A{{yAK{csy0V;Db;VWhTF- z3GTjgG7rRpNpoa7Stm9lpPs5xU+cWqkzeo;ewcIlHw!=G&7Wvr5xto$e5c$9ql!w8 z3ZZ&DCH?;WPCxb#f* z@9^}|vZ|h&#p`>vpWaj)(=T&VKs~t>--`(Cry&0!3uLwB*71XaK?|+Qy0-o7!&Gt_ z8%NQ(n$dE&H0A5cjrG)PVB*ftXqf0kr>}ALjK)L+J2>nI?_AWuu-#^6q-(-F0XWcr16g&=_@Ep2ZfT-{LZddUbw-`y zK^7;qhWvGD&gZP+t^6Q$4b}1A@Mu9*e7nS=-(cv{m7!28MN8SjYf!R)dkW&(YX6js zyt~gkG=11QN#y|)1asKeGSwTlT(AB8zJeQ|Db;Jca!)bysM=0%FZ3-(eWD>9hsntI z?S!SY>N4cB;*-;5NdbwfK-D+Qswl849YKPpk8(})(gyf%DE>d%doy!zFX=@(4J_q9 zc&5=V`b3RUT%#^$*y;R0c~~uPq5V}OOlaqD;Y4v{Ks~i1Ei}D^thSH0S|h~`{7bzA=cbzr z-COy0L}IYY-9m{d{Q;)k?slgD>}MNW?YN|KdObE|6PFc1f~6xlTZ`9!?T2_^nmR!wq)!dv6Ptcy95 zEUM6AtOGDTYH3ThLST-VQH7kU*aI}4$2V`gV0~cnx#*anp3-7OsN&5{0-r}d&NKfQMJyXYd`*x1YEcdBR-3Jz4 z+}|)sjk zE43~{Ok>Ug8IFnl`t`GXjoY!K2!C!-TeIAZv$(j{F~=opuk998jxnsHCy+zh$nKxp9XYp_Nxo$+sFIGiLC_; zLzj~hy=F3?W0UsW$o+?RCo7eFGo{eu_{_-&hlxbw{(XGzf6kQK7u6cn{2%Q|Hkyxf zIZOqAp<$n0a9%;%fK$)QgD|8V7Ea>L%en!r?}mmHdK-KO*lhtN`w1cy_ zs1>IZ7r+8-;7wn)ES1qNkMtrtM}98uD?2;6nbGSI23&c;X681Zo{M|0g$1+DuRf6Cu6dgFspQXvM41K zOX=$to-(Tz9u1@eS*H46o2ltquHE(*Jk`Qm{HXk?E}EDe?H?2KH6rG>78nerMKBDB zq7y%DCxyw=4Y{<`4ZUDQry|2V2{Bsa_6@-D9F$8_6_FT}!o|_UIo!+Bi)H`0?MqEP zKyh$6e3l}RZ&N@81ZgaX132}LW_+S-0CmlM;tR(6xGGB=yJk&KfotH5%b{FK`u zV@H_px2n`ck39w83Y^l5N*TR-?*P46&Dch6rmk-Jn_OOls-<=iBO3PiWS-5OxKxqm zBLxQ7ewMg0-UZOVCc$Ldts!>cwc{Wnp+5U83o`5YocB9UWH~qnC0N&eihEmj*h&<) zKVu(u6K^xrtg5^H@FU4b!; zQT?OpY`nSA_D=#*b)RJxGmS%%rgR^gREa1VlJ4SHRgK}8^j*0jw2%=e9ZVsgI^sFC zw_|?`gFuxxkSQR3Q%CZ)q%X|+UN~jgrNME56?NjL7Lp4LPxW%x+hI7EAZFV z(cxMc^WA9)aGhqM{l>-%bu-sX)4}Z|PVD)Sy@~YcIRF7$M1s4$c42LEcGlQ=<314_ z?-WtZAN>u@k7G%h$~OSmtE3easeSJEx_-{(u=s{L!`GRlq^jF8Q9L!4%oP?fa*PFaq$6TzzI_e$2qiiuLP(eNUxDF(oM%e%N^K zlTw05KgAIv@1Brq^)Ih}gI?|l{B(t~XUrYB_{w0yY{S@G&P~4xZ^0VjL z9m#b$uRI_In^IwGTuj%fcVb~onVp1Z7;M)AoCE0dk;Pd_5X(y4p+j52bF}~K(Az(a z8^SH=SVeFlfe8iMg@938fz<;zV@?EDAb+0#-dNzKf3QC{bYtR1$uW=Nol3B-V7otw zv@Zy=NgMTgPu&>y>YMefM&6S_x3vh%PYqkQR)9q>6KyfCyTyy-S5f&g>O{f?n2=rI zTjgC#O^Vfc-!|qyzBB{qy050Hvmw;G&NI#e)O~FBS3YY<;`mw$3^M$zuQz8eeg7GC z;xV%tqEfjw;>`8%&biEYQu%ZpTAr!Ag5n%E0lGXBwsUdOl0gEkS+xshf^MAL|PfPDXn-wG?IH8pkCKhIqzI2RfoY%JX10yPI;WYCEPV=jjDj*{yhUjo^0l0gCFcFv(ocBbTfy;;ptkx+Qw zXE1S?#g-a|3ACw6JhA%u577V9eOKWrPJ}5}fKJ1ljgnc)RkgR#SDj(LOID(}+}s;w zC!idJYE1ZtVCdLw>s(w##E^IN!kz0=mTA|niP7at$OSxiZs>x%op?T#SIsh&tT;-Q z#o=2AyA~eiP1P$>3deuD!VOX1bZWY2{#1Xl6R?*w7@@(l#6b)ySAEK-z2F;OFCCUf zeuxMb#nm;>x}8x(+>oYE`Y^#4!p!z|MbH9uZPf5+4V_OyRsig1eg`#BH_KAANWkRH z{%5{^yPE>n&#WMsQQC1g&DL)A3pIncIT}wAYIq#5VR^KU@8*y&7iI#sylFcHYB#^~Fl7RZ&k|1#^UmIOJG-UmW?_0~ zSg_;m=YRz5=wa_1B<&ic^GXYw=^UQFAYZMX2S)VPQj>nflDMp(puvP66AoYJ3Q|27 zZ$iMYoi{V17<)xiDn8wnOqS%J(qQvpsH-`@?$`o4x=x0#zrQ~XP&wj`G=%yQTgR7p zZbEp@>RUg_hOQK*{9*<8d00r);zu~tN3DtrC+jdl;8D{3x1WmCzMeXHLlzA-1OWl4 zQ_RbJS9| z!>Ns*6cRpk2eh^V*_=kB`LR`mz!b5rEgv;P2zvtJs-Bk@elQAzi4U+nVt_JJerjyQQStBDG zaF4bnM|mbY6TU;DfgV+{dz(c;= z@b5zH0hpNvbW=;wN=o`jdCBJ98o2Kne3}N?UpGNw5nIqFc9-V>t3%R-d!P1qZ3Q1t zhHg>iBUX7Hk-crrK_$dW&3qNs|CyW{S;LZ9rFp@Oe~Z^(g;x#A5}^ODk2C*EGF`)X z)3lwM7LSxmE+?&w##STRz(U0=kqlAGTyYu6C6C(C7ngD}%`{V|6@ya{>WfOYXm(u2 z4#hZlBrP(fu+d2nC;gbhwi)T|ncUg7n;S@eIY&gzuyM#!Nh!}HRbTj0X$*v?E^2xy^C`m!* z8nVgwrhK_7yLT|KpvSd8tDiugJ)9C7*B&KotyLkeU?M~~OXmz0pWPp8Z6`F(36jwy zXu|$iZ2~qX?FWv&Py^<(49!5(-d7utg{ja~!QhJ1@k#pabWNG68`CS0Y{}fn;`~S6 zkq1TXRM(E=Iak{VW%$t7qf8#Do zql1bfcAh7pwk>`NRr&iv@+rK_c*IjI$-%@ExBZ=Qn7hb{o#RK>fqlp+S>B;yUWiKA z=TO#KJ88A^6{}MKK2tZuo~4XHW|rXBuC=gCs_1&B5@NNNJXxe{THWPn+U>#?1HPE~ zn2pUD&w!J+x=q5ZD(G3;j0wKR@g?C-?96O4y2J;S+}((!`5Pm8sym4KG%V+=Vsyek zT#-O^ZH(bJ%K7G-&GiQYQquc~E$S`nUA1rt!vHwGX24j1Ir6;4@!Q~)6%VbG8_NUbkPEQX-Oc%k*Zic6D&A=6 zXNg}-MtcQ}w}AMx-3$eWIpU+1F$<3!pi$U19_-~0L0Elha%z%2cm*5%ww{_EOAzgl z@AnB*u=pLLO#WHzb0GAw#MLmo(G=r#wH{AVs_d+XZWmP{NYX0=<9>-BDSFH3si~R0 z73+mV_YFNW=Zk^9IZvTw^j$4QX3?hm%pVxQ*MjT~F&5fI?83I-D$W4Nx^Iz;bv%YC zK{mzwEJRfY(B2qUT?kAVO4vv)*|nA2=;QVM3HhTB${v2Fcb?g(Sc-yCl^fa4_@%Xj zkx;(dOrLgYQ^qqrIend}{?7f$J1pS#@{HRQJ^e$s zaUFV@f{=m;NF~&2fC#N@%PucP7B1#FdG=dr7l}}#YgVM~iG+)}l*~P3i9b1T2xIiC zmHcyHKGdXc}&M&9>roGw&V1@=3W5X)^jV#T+LEMsJ>4FMl5R818(rffFQ!-8R|# zO==NSde^41EuITG2k`cXcR!p5`0?ywV3Y;iz>y~qVvtDY0%C?xY2uBw_QB;~g1Bg= zKct@U`yd#1m8DjKLov!HZ-GGHK5#@fMS7v+>~zU_8Kn{~d2uAml<6PocJ4j^w5heTKR*G803ZP{Z_u1cD9D#WV@q&|L-E-fx&y zW$5b~v=^ijH(7kCxs4l=v6V-+&X<%?-gmgqjq?_>0N>E8tc~1c;|)D z9e?IaO5tmu#98uez3#&(T&3x6X#kDTb>b#O*^OkB5YV&PhIa0J?SJA}TV=Oz&w+PO zD1UG%Zs0>tIvSVFoQprX(dV-g&)@IEO_wh?tlO_Netp*_Cedh?i1h3uT+HH(yUVMy zoPLAFZ&v%h$5iW~4;TnNNeGk;9M9*dj#KT!wIe~=-hwDvX$jB(_-ZtMFnLBN{u4!I zDo$+_>(_rJ@P(=d?V$!*%H9Dpya5mWd|p-gl^{Crh#PfZ8PXsvR|VwV98ATXzQNz= zjhnn4;)Oj8AbHI(!LoY#kUngJ-G60x69LGY3x5ARWyPc1v9Y4(srjmIwXgT?1KCe0 zvSutXmd{{iYz50Te7lfqX@^kRFlX!y+V)+A)FP<7;rwPE?*!YNkrT%vJp!{nJ=I>= zt{TRY9vQj^rboM{A%x@ZOZDeDs*GdpmrsO->L2TYiZ5jT6iy4i#5^pV%iAb8ir(i$ zFOS^FW7x5C*3hFhxQH0Y20;t1YhM%u7_&G|8AT=|R%gT=Jt&1>CI2@ypR*+Z2NFaq zU3F4EQvA`&y^KlY+6h7Q)1(n(!ccAR`w=`%UtBb3C|+nL)Wh9{{dWn$K(J2 literal 0 HcmV?d00001 diff --git a/src/en/assets/images/grid-inventory/in-game.png b/src/en/assets/images/grid-inventory/in-game.png new file mode 100644 index 0000000000000000000000000000000000000000..e53999761efc0b994c6da9d37d942ecfb360784e GIT binary patch literal 630204 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%0DoU0w2#ZJ}5#7)vR>DE6q^K9+#RM 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

bY;+>mf8L5)fno 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

V{f0rgPL^s#- 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 z zC+Vnh0P>*8Qgu)wS79a1o>B2oO#ct#K~r;aK3|goDcz+{KtSF8Fb_?2R|641SPe&q ziH&sWH=k1VC@-PeFTO_;1yi#$wNanFTRJOGumNi#o9padoDYGz)Q(8|?z;w&C66VTU4AL5%FxZmcVik8m_KBb#$^M(tZ*dk6wKd_$7W7u?m` zdG*)?2uM=k=8s-{UDI+fyL&sY0RWD2ecH*cm-W4W5QQFM{D)|f=Y50+3<8}+HQ@j| z!+3&vj>GsPaOLaS%tL3x;vvh zdClqK1nGzk$sN*~BtWf{bU`8jG{fgkN@k2hR~thxgk=kV<`);wmzJk4{F9vX&>_)$ zVg)Y~QdtM{0=m;-%ChD0_iL{Egvqe^&SY;*WO_e~P+zqb3Y}R1J1H&W_h>A_1)i1f$30ju1H6u-s_SPg#k4{s{5h~3}+ZLEUY_${dj z-H07DNzxB%R2;+~;CGT*0u=GADkEz}e9xJX?X*{&n8ur|&yl6(Il?U7rr$q0g)=L? z7(h{$J%YJI2{rdYmw)Vjq;UjbsE^wG6(w0${5K**%_Mq&7039=2QZY*>gu;Pxp;OY zrQTl|ur^Ub281Vb6?)>Mmn<De0}9LXcgvsHH%wEVQ>J;xCN>4)8dZ zLj&*aYN=P)W)w_U-K*7GDs=jIxtK)Az`;5w?VPMMAqayIa6xc7sd_u20~hlt#0D@M zVxwS(Q6nH6_!r>f_LgisG8yNc)fsE%jhA5Cz=eaW;^N$Rrm>MDJ8>;XSepV0l1qyq z(3fE&@|B1L&*}cT@hIh_ty~6QUw$IzfTfjjhw&WvPvFqIHBg zS%P_GH5%)omyJLMjvSzwPhL*%DR(Vu5ZG9qBalPm{^t-o$-}`$21OS)sioHe0U#1_ z51tCj$^QB3VUpX)M!@Q0latMO(*UZat+htb^C?B0oh9TY=T&sT<)H&J$-`nQ%o_$+ zeoA(-I=zJ&Fd@<*bO3vk2?*%J1B>=mqOwhXYgr2v@UVKM0to3)-p{Z&`}pwiMWT?@M=&{|P!qxLe9aS!xn6lL6*ZHo1tP}Y0nEMb4QKOJp@@;C0#zBQ# zjUq3236C?ZONJb76N2aP@k@W4u8#etM4uz)cNBJx(e>SZ0)vy62a#8KB`g4BZ<@sh zZ1ms6Ha`M_AAb85a*OM6b_+-?D-KnqP-qzb!#YG6E|Kc5>J0cM$f)Qj0u1MqS&#r^ zpd+Ego2=JRx39M_K#WvL0`!O>&`|?swABcafagT=>GRrO(Irf~k{I1tz_b-&x(7tUxzqDgLUkEE=_`$s@H$jLTwMp-} znz+Y(^XYQEX|jd=GJfQl?%!tfM$;Y$GV~ItI91$x-GI~7aAL_8GlqZL*2M=2DuPo;fO8%3!?0`24!UtNLc|S7%g!l;4AQ?gcYHDPF2<|@%;-DQA z&iBseBFJ$g_-5{|u0UiCF&i7(xQ(3LIsjm1Hpy;8hk4vH?b9i2wp>q^PReGzM2~U#ZA7 zRg#>1U((xKM_cQac4Fykki`r23A|rZ>SrTImg6~P1Oml{tZP@J`RS@zb+F-KJG&MwmPpj_zxozfPM9n(e_H@;JCo8K)1@g_D@8Kl_0IGP{Sj- znO|_wF4s5nUeRp;fC>GLw<;Bzd2lG}YK>;J{{8tnzLa)(_jS_ltnummAu+LLw{Zrh zfJHTXWZT0$?Pa+Z5j>F!EVWfCDbis!X3aM^U}x_fYogZ1;gbwt*pE$-5`R6&Lki(* z&8`Bd^11N^faJWSFcE%!7)B8EW3~B+q2(TwlTLC-5R08nL6fAmvFF|g;K2nTD;fu2 zLkb}%UU39sLq_z$qe34p{BTELpwncA)if5xXQs3DZ3KUU)Vq z`{1sFZtn{qG__e4v+DO3r3EM)NrT?ZNpr6x|$l<)zuT4f?8qAM|3iVZt-egKo+@tU_=a zTQB?a3I;tnO${=g)>}gIE}L^oA}#>n@seQRIjq-Y?b>U*0F%649;Yd(-E=k-v%tYg zlrZAjv`^rQT(L#2>(1Et#o_5J3vKzUt+ZO@{xJ#c^ zX*LLu6WH6E4kx*l0VfjTC|V7B8K@S~ar`yJn+6K#_S}Z0*Nt5rbq{U6)r&Yh#PCcg ztEx&l7SzIQw|iG-upz+}0Z+DyU`GflCN>v~SJ(HGIpbC7lpqVs|3OI;tcEFv7W;F7 zLWVs1H>^q4A#sZFazTQy;p{CM+YWmH;a_RBnqSEo5@;h3RQ9kDxC9|$LXjZINjNCT zpwd8D%4EHR!4mLh>Xm;gX5Ig`rjJ-qrai=|zo+vzltIvkhJFB6?9B?W2>{7>J}&$A z_A0&h!mE0do20c=d+9V`5VOjGfdNkn!~=H` z_T;u0RB4wYnxQ0gFJy8h8im-$o#1@#6Trk!Ra=sOFYwrq0412Bm(9sML!IHmqJRD} z7pzVCxB1E#0}0^sej@R_oQ84(0PH*b8dE6%DpCI(Q zKTM-^?2Rfx1Yi2V0G+x&T1Cz1h`}`-r&O;;{TTOf8UUbl0fsDw(f{DgOECJd;L>DW zLaMZ0agYJ@YDh<^+=ePaZMtv;*RF$wn#~V3-AGKKdw(`ma{86l;Lw6(7XV-Gjspms zpa8;`TOzZS%C=(=fPA`zJDQo5>SfK;=DB{tG2Ye-FLZ!{&z^LdeF2M^X6v*1rt3nS z-%N4_r@`e_J(VC;76&8x$Fpcm-N8bx@&4Muu+-gJHUCtlo!>1JbovB%&l(UBGwrxX zc=bX@_WOuOaVp08uZJa706HEeVr&*nCZNnJD3f{--&2bsPK+#XQH&fl&`3;34mL?K zd^b=J*__K72W3TTSE#ZrrJGkzsF-$E#IAu+rm9q6T|W2ZLl>^OpKjRYy`{u1jhQoo z9ULtv5rg^ho#~*H#m5c&XKeXUrzhnA6MUuKI}5;`ZSXz8hzW~u&N8I!V8@`;pLytASU**{cOe;OwzlOOx z_bRj&xSRx5F^boaeTDzG;QqS+51s1mZI&*b99Uale<8&iit50sBcN&oE3w*Z(!dG| z3d+nz_7kb7kg$ToHZ!w@8ek{-ieSUkeEnkp21xZWg%N^Qul7L)^fk$(j&j9)y(s~D zU6=Kt0(KH4h(Mrk=4@(`_5|)m$#joolUqp5F|D9$EjZURcrC81ejiA@R)4#5I{c!a z)B6n?7)QLs@U_#i0=<1p6uRL43)Q}(?bAl&aZ~zrnzCo}!06tB(@a z_P!KZK`isv0f5e!rg#}?9p_}(|H0cly8Y_a;>aLX*sjK>P6(b&^$0Y8dI1Kd5(1vr z{Stu8f)z5_km(Bji0601#sVF{=;uT&XncD8e&p;~72?ln2F3}A!7Dv64%Ns2r91>w z#`H!qf+r+UW`k;B<3Jd=@q$8Xt!q5dK;zjMz(x%KlGH+g%Pxu9}8Qb5L9*1a0g zvtsP_PUm|yK6RpJt>VK8fuhM0$_J@UHnTPdzetL~wS^L7UTL8!{mU7X+^=sKfUKhQ z(e85&9SlM>?k9j$9|70uykgg>gdPx677*Z=dqrwt{vns&A!7Kdyn7dbI`lJ;74PN) zCU^Vvirn@Hg5wFa*EqxZT4yiQ-cnIW;W^%@KLqlZt1Bq+hUQQJ6QW`UtXK+8jI^lV zHDwaa=+d!MR8&+G3!g<%4kYv-%3dhfHwES-m^iFXAg@cHAaEK`jfj~iYjM%>x+!ug zNsjtkQyf-QNZ@9Xg+svLfqj8mF3OiR32V#j7;fZ1H5GfHqrKzBC9{G>4`_?4_IaN_ zFL)hTTU`rzY&!-Y_Ge1s|68o+H1pO`RiW(NX+QNG_fb@(#IWWpwlYw)F9v`(G?T z({w|Mgia?R;KbG1fVdHh553DNZvyDQ7;oo|VE>8#$3*nY@ioff_(v|B?Q!lmp9!ra zUL1H*ACkXi9W0Q38VrR50HTUlMC!&(XIIBChps#C831DS=)jyD!;K5WuOe;5g{Z(ZTDt8YX#vo<+%A31cIyPLE;Gume5&0V8^0E-e}b1gFRB$@($cDp6D-un zg*z@gEe-~bN9LhpFErzrvw&Dr2v4EQg7y;UskTZYcZ?w*4}deb)q&VDprHqY$%9g+ zm@6|FL)2f3lkRKVI`u;fU*Mao!(@ShBQY8TW28aKP!3A+8kr}Kr-Em58LQVadfF|VW z`2$EV&rqsLy>$ULfV|KFvqLF->dMd5^|%)uv*HItk<-)ia@8c_VWcaC?ql9cHE%db zwfjY5YXZ}p%Wd?CV%$|0$m9#w!D>UEe&{E{m|Xt|ZZn9-+@D5#HDL+_c+Ux(C7VHo z7{2Fiv4Vrh^a!}mN9=cY5a+h$MayLpE%Pue)%Byym*v3_>fV#`0mE>JeabtKDZs3q zr`6vBDC7X(-11WUZMM_k4c+D_Q=Rszb&iRBt%f7eTDS0)rY088#Rm|)^)+hSP;q#hme*AJYe>vh z4EyI?#zQa6*L1szgWLP_m6z{DYZVn$|5xE?%98?CEj`&XgOr9z7*+_-Aky5a59R^I zZX&z)IlHL)kPM4QX~L0kRhATY{$dS14{_&VN`d8hf08J=q6vUClQ{n_tQ#1BnM)Ka z_gJg|V5EyyX9=GdlR%0S8K4Y1z?2cR!enSUZlYA}D&MOG&eq}rKsvamBxQfgoGUUU zogL%2HzcoZH8CbRVD^$NrsrbCq%5Pj~P`7d>tdnTn zx3%2*R&yN)a?)8jiwnX$z4_Ad)kG{P5T!3fCTF^km#jkyNfJizs3954o&glmA8(3_ zS^^XJ!*YbA2!sZ2o&X`3YbO3ErC9#T17Z^Z*|L5`yD8TQ5EIM0g=jczy zwqr`0kPsF4#UweTI|H;{JKjz`?C(Vzn=1RT4Qt-i)eOQtBRP6m$`&2@KD)1bYtj_R~ufZnVV$xY*;a_Qz+ zGh6?Msc!&|tc$wsxMSN+Cf3BZHJR9&*tVTaY)@?4oY*!ew)Oh^-}|fHsjlj(uD)I8 z_C0%_efC~!?eFk^F=m!iL0lj)viRO5!j883R9ti%9c6l5Dk(}HdSkGHf6WIAVJop} zO+e=*>B-&i{Xp5|rf5+qE>v!z+!_x8WI~P8a)yPUCVJsr2q@`Sa2-EEeq# z10}b`Z4m)3Q?yA-!XAB?JHfGvOz5Z;X;6=2cO~{mCMrjm;%sV3#hEJUU15~~|^fKcjV7_PM|IP%Cs&s>EJY8jfH~}CPzh3rP zD_tqxx<1hc4vX*Y=1M-ZAb~TyZ|d|rRh-aDYy0Sf4!@_f*d~7rmYgJ7E|^VhcNqdu z(X;wDa~pGnxGT&InrXJ^rd+1e>9#McE+eO@37e2J!nY?7uw~qMPP4U@K%eBK#JB!~dEnlhhR(xX-(iKl_QKLB!0P z4cEB#KCSacS_|EuCg+V0zER%`B^G}jPfki6+uQzB zt-!!L8;`hiRp$Kx@YwW@qsFOfB)_Q1yQ5u(u!3cO^|ReP@JDX;O4us zMHXX`o+`Kf$=LJAc* ztm?o7{xs@79jW4nF8^v>{7GfYb{i0ZPW2xHYWZ*NK-j(RLq7+&Qxr3oyXPu40HC^e zj=40U>kzFz45Cda`|8yUq8cK4xq{o9GosiVGu95owUGcpe(7m5wR^(5a0YWbB+~kn zK^Jcq&+uX`wduOP-cfQRG7^rVB{tSoGON0p@#6h{9{W$KA}Z?)2w$SL%tHj(JCy4? ziu$p%LI?1N@pIx4s&oRlqvm2k0wjUs{&LopCc;F2)_C$b-BPDy)nu|`2Q7$53;i3-M@0CMs0 zH&FvkdLgBVvnH~?!)2R0f%PUv{q6Zhj;ya3sd3AUbKt#r|TIZCLuZ@5p=5q$I$EpxnM*Rei$?x7}sAks+^K zr|!ZKWknZCd<~*cRW<+#-os7HzDo0%&z}zN{;em+O=vyQs2#Bz4++eR?&^QYzA22` zc{2&YKVd*S77fY!&TC8KU44OV5~fQbod-Bz=j+pj7*A6BjB!>9%~X67L`i^K&Z>hi zx*-Cg>djsDoZ{5U@PA;ixwWEOA%W2#n97?XJpXM9V|g0nuU=knr@M~Om+R-93@Jmw zwoz5yh{&8OA8ogR#v2fy`fry+p&4}h34{;OrTB-=-cOzXqs@{KZ4B!wTqAvHiEBZ(8^@u3q`7pDJPc)`iSJ;B`Ffdo}+7O=AdD8Tv6rN=P z=hBu|1OY*!@ky-*~-=R#M(mrD?_=6iNZQS+>{k% z^X4B*znKyam+yq6r}>u(QL1$-sg1WXT|(Q=b6I&{z^BJ$ar9%PRmd|gwnj7LCF0rY z1|-0AOdqZfGLI%0@i7+0oblbpz|>egvNHnwW4HDKIY93vTShkXbDHt0 z>j>B7DxT+W=E4jwn@RsI>==BB}>p7RY7|oZeBsIM=47&Z%KhFERyI?Be_IYKGCUTGf zEAL`;r9Y5gP1XPfV|%(G<7(+DXki!Anm_xG+av1ibnp@5dV z_x_wV7h9Yc+Li7*Z)RLXcF5Ye8^zLr(RtgajWhFKSdsG&&q=HK+=}SsjZ^56(Jq!@D2RACW`4bC-E?5RF7{@BgwFi) zW9(Fwu{fxDOrk_BxkYb&8+=@rv=|1I7P?Uap4ATzC-Pm{-yGwv&l_hF)xn2-oJKSN z0KIDS)i3})r)@PNN&s~ZvoQKv)hE&G7zpW@+5L!bcUTQ-FeA=&GZ+D2*)g-W5Nzp3 z#NGWJMF`TJk^7~@3cZ9~8U>(4nyS26^n6D z8JMElY6^v;1Zfyu3r>g!?g<3oyQ?lvt=sMdjP7cxF0RfX0Mjq__RMWYH)-b4w238_4qyhi2Z=iS!$w;#2a!=JnctgH z;1j9j!2o>k`l^3UkkrVO0rKlD06?>~9TZLNZNyJW0ln~Hqifc|H0FFT&=Han#?E@0 z=u?6z{eHpNN(@vxAFT5~X?o?Ez3qwM*ktwKH_|YE@KKEEn_n-ueHC;|-On*MGq&a) zT3R}nY-8(=_ab^3^gvhTYBFr$ySilR>v)sQ=Q1;TAN~FV!)^BpUlJ)l_~ho0T5}!9 zi5(KTOLnZZ_X@RImk`P|B?NE$PETQSe{Q1W7xFj-XK3hWH3mw=nJMK}x<_QwmuE<7 z!|gf18V+XiTx4?+sQVOj(4w%0y_FkLaYM&tG8T9LR@ABH>JNQuNOH(Ve!_ngUTR6v z&UVL*BA~;WYT@`{!F3z1l(6E{N?e>SLKZLfEm`DS`e4QM7h%~CI7D>(+4=bxu>#@<6L4K!-EaxH zG&3)=`W z^|_Y1^!FK5)?A*OE@yF=q}}B5J0eZOb|W{Va47A<1EINhT0j{3g{5AT(Ex|l4aPF@ z72j5*)OY(V$EGP%{i-mF@#Fmk7AjjWJ9q_~m8j1j2wriqy)eFfOHGxlO;n$Ul}Hn% zb|WjOlC!zdg>4N4Edp9`@{*f~Z6z`6H#O#Nds$^~$^>T+MUdLaF~j)0<2MbdGIbR} ze{3=jv0aUpo*5U^T=Lr+2|vnkv^vIaaupYjs}!7)Rdu{PKPbE}Z@zhdBp_vh^r*?l zdF?+$+3GIy;*~Y6t~R1?jgHE1`g-I?{Hhq24lqB6XWsIG`b~9Uiq%XbP3Dbxb=8=4 zQfQJq->xm^f!-$(jz5O|i?CgH`d2$pI8;DD`Ju?K>~O)Jv&!jd`tu==`E_Oe&4954 zg?sA#Unk!N?DWb8L~Afer2{I=DD1~QU|4()3;{wmrtsex5_xqT1{9C?4t*+-%ofu$ zd{+(syOGXT{3NtS*JR`Md^m5%qIn#Ng^O|!$NKPz{JJ9UyRoA#-M7e&**UdIt~1wnX)qmL3d^F z2>TWu||!~W)ML!!? z63Y!7UvTh235jG7YM!A(Ir02 zVub3i;{4XR3Y|jIft?#s-qo0F7zyt*?WB#H=Z|xp zJwFRT&zLkVwlF)yBedXfL_k&UId(Yt_xuOe%{%$SvM&UQ5BH(JuJRwbOqGs3JL$RO zB0aK|PSe~>HmlQuSIVx%p{4-_`Z|K&Z#K$%ERIV$rlVk>Dt_`q05q7*cE+w%y}mA1 zdwBW-+qCAkg|}`Va6aSY@HiUf`^aNso7o{q{;l3NcK-AmMpLJ4v00~&E18~Q;69qd zlw5AZy8Iz<5;&1L9-Dj9782I&i6{gdW_m6q|H$D$h5#sNj8^mi#jGbuFFzKKD&cg` z1LQpS2(GV5mvQ7m!x!6;_pSYuNhD$+-y0o2xI*h;MSJHZN$GnVCag>{A%jIB!9(oU zD5}SD=f{QUo4N}Vto#w_SVLK&w|I!_CM^TVvfmT)D1M;ev`H6LwL7V1=kX-N=*dd= zS5gXM!A6mxumV-!3{X@JS(Pv+Ex*XKUmj%Aitrj;!+)?1_L)- z0-faz)P>L}C#pNJEcj2gE55f#4w+jgIFXitXwyuuxbx;y_o9b^Iql{OQ;uu1OU9D{!|E*t4gu! z0>;O$+eYXJZ-_q^BrwF^4m}(yu^$$@K+b{D`zl@fdFYG>ec`_e#2i~oDpxAP=YDr3 zE{=inOjLzfJPT9UE(pOCe^XX>!PxFDMugY1a8@%g3-lhPol#m3ibzgweaEPnwpGPg zc%dIhRz2l$m|D=qs~CBX@4^whW%j+@<9k1N72U1%G_6Z^tBWv;g4GJ; zfF+$)?JrOGBl*(7Ks!#$o6S=#zWMoKa5q6?T5YzIb>TA#psk-GvaMF5c(dxDl;QiR z-utd9w5>KbmSCGN@^DP;n#E;=7qinlm?ZBZ>*qub8wW%hZlN6e0#V8_lkH>4()6Dk zsB#%O`m9dXoVaT1J};1O{S5v_|33Anb0hU1Q%hD4l=6T~&o58(|K?#%Y|~5kR`vGz zL5&P@pFX#p#hsYP@^(Y9r>}LZ)P^j{ihXP%KAQ##M>P6ER1WY_p8dvYDRn1 z#Os0eWX1b2Bq2{zzxv-{)mkrRBQ(57x@?c#a=C(6_n#~chwAjQW?SLS*~tn)9?%O? z-{pt7H)M1fAgdgGNsBmtjAFq!pQ(^F40Ge>H+WQm3UAyY#QL;kX+o6k`ToG|uD6FE zxl`^;u4at##7$CR#+Wo$j>V43z)N0;@cn~sbKi3+K<}eIKO|sfZd#yTCMm?jD~*fE zB|`NSy(A#@p$y@`YdYOrn>zNp!`1SL^!y>zKmgs2`_SH#M&hoyI@^As&(&uib;wpi zl}`%h!`l{{W?OAivsX{PY?>s)D zddYPJ_;Y9o)+&Y##0-bPEb8{oCu?V|f!SIBpja*)j+|_R80F+s2oK?xElRK|K?SLr zI_^34cPp$LYQG1zg@&L;8jZes|0ovWcAB8Le6@>lm%{v-|EUs;0y!tHMyihO9y@(s zXthyUsP?CNevoA3^8e_5UMTZved*egfJ3g5uDSl0AI1@I6ULQDX=>Ap!=cq-;SUhB zov7)^H|NCKA26@IT5)eA-flNz%UQJt2T=vZ*BbS^yc3Jv(Oc~wzrUY#<37*QrGVe< zQ$Jb3X(ao#v2O+OGHwKZ*r>K?!-ZyUzg3s)RdOm5wCa8B!#!D{l80DLtpsvDO-z*O z-I12`KF3!*UxwY=O+OCyCLM;oo|32RHX_Dt*297po22`K)L!E8dEZy(R=A#R>UA=F zJHZVk4e;}-$`JspB$0p0dTuiJc|hH8^o^4JRy^~QG{>T+9c#4F4yG!RDg!lK zX#Zc3`+3UuZP(YEiX}Xi;(bLjOi}uNo}(~@%i(rvhIB!1$GFOtPZI(`ueL$$PlQv= zAr5nEC&ZfOzq#YB-(I8EaX1Sa3H93#n5&=5hHeY+uuEHaD;cVH0cX4|&z-y*!{WTG zpd5zA#}L`nTREfEKq?b=G@aj(Nlo2=txg`gZgKEEMb^Qc4$E)N3(LsvIDFR%4{PS#MR8Hk?SX@2@Q9n9Z%+vih>#!BRjdNW1~r*2}g)ko-#5m3nrW&+ZuuryaW!nAxCE8<+5Ev zOIXP{vMsK+kCatVtzjJ`qt)KY-2Ts(D&`(#E>m;!0E-|JDScOMIeFp{coy=m3Cj;0 zE$=7CbKbk5DKT;(O^Bcg1m=a;XlNXWh3r(}O9$pN>P(jh&TXw!fdnrLk3`Z;N5`pT z^Rq_rX~8Y`{fDf((I!30puTlGQ2V;0YScg4kiCwXwWQGC27Qv=m8xy{kepAjOg07{ zUpo=19-~@6mngSZVcp;~dZfR<^sjn9{@tXa*Xj3`gja|4KV;mMyVNv9oIZZ@GfaAw zD=APpGXEK$;&&CD&~`BJWfmW|01xJGsL8y42+Es0-qd=kwqUppv<#XTzwXi zJiqFj?WCTqAWcUkW5oHE!;+7$UH83cvlLj9*}lqibYJ(}Im{kVTK**a|eBQUBZfy?& z_~(2Y={(JtNSA$FAUE%S+@Kl)V0dZLRz{}Y|B-34Z< zXKM)GEU#}1DT6$z?(KK8N`w1=T+NjV+Np&{JZ%}4Z$X}22VQrLJW!RMl)*a*&p?-0+3s!bB*%bHHuGP1n`+>Dt!E=aK`(~w`Tf?ijS9%eHm}gVv)9%eUeau+Baea%?C%t4%!d54{#lG9eF#2qIEXxj={%Tmvymyx=c-2 zBVo|1$rnnv2a>s78#b$}L`P;!mLaIqTqAIyCSNWoA)#JF zVc6#vYD9+UW5F!~zzm*54GR$jWDuH%j>%*CH(y0xG^)S;=WPkVAK%tMhaJQqcK9>f zBY2+SByK8c*cP$>rCNqjY5~$6q(FlOWm`cnkXip1j?k_kv}Oil>%YUO(5iafM7|`a zN&Z#Z`wl~nB?|xpQsVJ~9sY!fR#Whnf^~!ceaG3)k!4#6wQyTOVq_)5YbkhJ>IXv? zpn^3UL=X)f5}uKvg@S?;+%bT{h=PEu4uotE0P?CF{Sep=7%VdE{2igf@uL?B9^se@ zu0sP9cYuhmymgX9SNvN4^@K5yipe3*14C-W_d; zkhvXh_eZDG@{>@~AxwTFv_Getnhc1<|2}OQ_38~0Wa_q8#vO}FPiUgIZQ9RCF_PQ0 z6~wnh-s`K7sk=>v>#XHXXab+J)d4`-O;^FV43$Y&eQK%gRdYId6^rYd&$rxZQfDGB zm@X)|>0f56Q|(XJY)9@NiIe|#S_xLtadG5a5>Sq{QaDM8hGW=Fetxm)Lk#~oU5&ND zZ8T=wKV1rPnQH|Ay1$HI1zf7xwhm@fOs7AWl-HUNy-w|K2RCEcPhO{{j!@Gyx1oa4 z+^>>+-|2(e<-%-W&i*)n641|}3q2GbUp`*uGjHaa+p}^nP}0d`iZfSY84|%4{Ytn} zql_)_eB-Z27n+3*wSN4T1^bD~=2ygx?O#7xW}pmgNl?e#V3pMus_OAA!Xz_L3u^fZDJfa zKNZ6fP!?KAr0~KVjHzD2om`&Ug@tJ9qTzsFb~wz@z&Pp&tMFt!<)tV)$)h9x4i3=a zIL)ulj%zFi0dO?d%Y#+V$_W=)1;zyh?sZ;zR}o`R4mCv9=UY0k-!QEmU#+{~2an=( zGy!V(`u2E{3=IWMy1}*intbui&t(|2If{Ip!4Q)N^9dceR?-B+Tnf~WucnXj<{B3v zh7#n5h=P_kG#JO>lERD+g97FG5kyL#u&MNM@3^Yr--fr+H-)b}E|=(t3dNKD{^3Fz zhEq|#3?aT#6HPoCozHF6o3=Y1`^yCg6-@-dlm2XErmnXI@vnJ{A&`Jj<3mzm##L-J zt$F0|noLD(aqMQC{P<%@GG*?=>%)_qfs8J)<(L<9K_xosz{0OXr?O@5G1}T@i~GD} zOpHlgEOdRpZ%297SLbvIJ`&kl@7FIfS?2NnyYIO2?pMx%lQ6?O^kTKh0%p!n$x>~I$f+p4qs4Z|4GOMAvscu*yf38lH^=`;wUy7u zf&&!NSK#spN;ovmLFle!$ewtFS!W7&-XqrPwYR9ud`v(zP1EiAe1TvlZ)TLkt(bX+ z-0M{7?ZhU@bDy4{tpxAM%&c~7q|sw61KnxL$Fr4RPJn(7reY$Gn81v~o<>Q4aQ_0Y ztd|!)J)U6s#Rk}RTjIYfm?DfWpRNsY@B=&5c_M{%g(7Vz=+iE#WGq)GizQr(Usnc8 zMQWJV*DR{%5k3f_60@EE$`mAGL=0tE~}K^sMEYopEmErhoB8%3&vWvGVKz<7Tv zIEtQgHN^yTJV9sC`Xs63eCos4%(cYEYmHknqsHg{d`jVE($37h1se@kkm|O-ZgYWXCu=fhaaXf=r97WX_u#f)`Nse5&)5J_@-U^ zef_^xl^DT5{fYZ-2}2RK^oz3ChoB9D<`N%rV)vb`f3I_s>Hq*P``-b*J@0qR4i8ON z&;a&7PpH9p2XD&Wf_+fpjgI+yyy6aTge`%g7@3^D25e;I};NB;1 ze-uV8aAv*4R-2^a$aLr116Tm$NL&N=dios*H*>mi5Y;`WmO*9nn&DXcdW3K151z&m z72}{biRsT^q3al>R8{}nWuI*C=x>7t`#F)zNsO`PwQfitFtGtOmDcwNhM*3MB}`x; zHN$w`x?epqA;hp<6g3fqP6z>Ey?=YrvJEZN1`k|(2vRV{TEH|Akt7pI5B`!xfv1V^ zj~0o_{b*riKv~Z{ah^f~4I%RIW4gt9kAGw}s(dvKVXWUr!!#RX5H(f@-S}yYug=&U zO!A^5e88so?+j$drgjg}A$uNj69IDlOf@yTs>@vf@W}D0t+20V+vI#wou9%w0WA5HpItUBi6FE9pKz-iDPgW#C&X2wp z)f8J4&xh!}tB}q=1l5@t3)1&|AE9B%`keq`oyFd-j$N)PZF`j9nSVkL+kW+Yvru73 z+FqAFK2&-FYpEUl$hiv}xXr6(RrePPw_;c{fckY>*s5s3+zuabtSLV9Gc2Osz!SSY zKYc-{ar2R|gC5`UgN;M%p-k%ACgYC%@-6*a5}=w^D8B1jZrmo0x&OE8u5Kp-ogDCdH1?x5ho+hVA(h`E9#sTJF8MR4-qF-{3n4P zd(-t4bQeJunuHMnF(ZM; zENx3H1(r3Y3D_V~&8ZrO0{X?lTezrS1WE>-BLG5l}FSiX2=PSx6Xz-ZKsW231uOu7t;9^{Mf{Q8vTWy#fn2xpY#w4Pypw=vK z&z!EaQ;|8v8%+`M6ZBi{5hf9(w+5BO3vo85gaiZT|>6_Gwq7!(ZhYCh9@CnBnn9asDDSTuPOJoQ|Wwv_;`&IHXW^beazW+JEl|X zp8i>So7`y^mJ{bPGD9K&l{qw)YW!gQHB`e?{6h^*hDZ=Z33zI;lT;S)2lChtcIiLk z3nc+Wxrd2D(lDG6$X&Or0E5@Y^b^#kTT6~{>td)%opuyJtq=9x4UYr(yjbav^piNt zp14BEbf%2%Z|G-uM_TFwF|E=^Q`{A%c-4aKBfz(cxY7shPn!-OYw(?9^+yOmbt}E- zTbp+6wU~h63Yhdk?7bIT;&1KcYiAZ^SRTKGrdKB= z5<3l0OHHo?&X10OKPqDDMGvs)f<}pL=;3dQfx3l(X#%=w-ehS4+49gSjJokzLW7Jm zknq@Wh*rrk7X*+8vR2##WW5FAQ49|2;yl6@_f)gS%Z`e_2`2YO)^VrV?3Xm79FN)T z`b3f^S`v(gHQJrqoFyGoDQm4yA_)dWtZmmmfA~@nnpoVVGU`HWYf~I%n_EXCMIY47 z$RPLK9{N>ELIJO@Q(&UKb5~w*g#0nb)rV;-4^YSj*Y5~<^`$BYZVx9yhFCvk8^<&> zDzHjkk`xO<#J)19$31Z&dn1$S_Md0QW?pP`P^@$UFzKd4ZKeAp?tY2jTwkdN7V`tx z@#XyiMQEAoo;lm`JRUj3rsUo6HUWUUqe&RBzD^HomoC>$=o_gBZ2g4N8p;+;Z|^R% zNsmWgw1*zZd~<%K=6;FQj9(8KcPOExzi`O@kY-F$1(JxNK$b3Bz1wFH3bA3sCeVfa ztHs+03=m5!C5}0!qs+A!hhGNv7l34CV!uXHu*kq5PKc$Cfq6nP+DKqf-xlGJjq!bx zWuR2d@C5I*qx`|X)T8qQ_^xJ4f(RQ57I{*b^drpJgm9ph-`wj_z*sKdQTf`{J1l~Dpg_NqGQoG9`xItt6U;*cOHPbL#PFu6h z7Js8Eus9r+yIZUL9<)_&B$rce`Vg(RIP#ft?!E`5Nq#Ki$w2;+xr^0nEI|a_rAg;} zZkr<@x5wC9)~5rgC;=}1>^a|H`rh}p@_?JT*ZN@Qfc|3PeF@pVs{hzM8wUT<;c;|7 z05}q#o)R4Y>~5NKOZfe8>5RXwcc=2^uyqwL>Y%}ZLjx1CL&XaVRs_nXGoUW z28H1zfwH*$#BPxM$90@-r;O2tapET)WUpe*hYKa5EcL_`It9U%3sU`I5uXFEn8MGW zU2450I;w3_k&v$viHH8PV&k-d?5=A$huIx?H{q07X-}t=e{V<^hm*v1!J~c$Qj+i> zH2`N&0M~qv^c2?==vCeNMrV|a8ar$1H1=H{ zmIP?hccT+y`chG*!YbsJ#hUEkfS{m((fwlcaV~*IXurpN!qR6%@6-0%Ee@i@*OWbe>~m)7Y?80u|ritHN2PIk=Y z>~W+gMqV#s*LPpb`;-}2o(|%obbUbdLNeh(f=RYV-2>0F^|$)wU{iF{@N*){rmAewlCrfxKRZZi0xBb4Zd%HLMl zyJw~jzlX&S<<1E7sLWX&hXh!bjqg4YH`XsLO)+Y)=u~nGg~$GFCrV2kokPX>#K

z!dBW(Ovu-tG{Q?Hc0->2Gp8-2^7Gr!`7UPgitS9454k$;EEY@_?BgzZ4Ci`9MHVCN z0V%3`=v`eGx3v+i-yjN(6s zVklL2n#BPO@$i`p43Gq(%b@7;@Gu!u67f57eKUJ?Hgk1;f4%`gZ3%ev*Z#L496-tXEB6`52=5ejHuGV*}qGk*ST0zQ}Z%9djQ%*hbLy zVp>WJmnc-{A7B(2hsr&u>r9rc+D>L$G<=vmvZ^@dIE<}g$_v!!_q(yNcIPmeB&q74 zx*tYay^p!oNOnOE=XsC=ouy51)ibG^!E-xSe5Lc266dnN7lW?h`Ss9?+GtZGu?7PY zRM?evu3cqZD{8`m{FsprT+h|?f2wY3 zk^Sj~<)b)9vUS3)2j4i?l9+e*NBx)iyT@bi`KUZNfB-)&+Rk>|ye|)!t1V1DvPggK zb%#J-4~*q&^J83M;xUl!dsX1{qD5MY4E0%aieWgT}-@a&%sUuW#xYNz13VWrCT+7^Gxre znrkYQ^5Od^t-1V(I007};^F3UMkZXaKCkyU+6s)#@VQqO2^H<2d3E^q&cYS~uQkqP z*jyxkXiY{<7A=o^81eh^mgF;8m&`o}ChqwiWqm&d;<*z|YUVO-JOQ~exhc52n&ehS zR)9Vgn@oj__G{$>a`yIb-&~R)nP~+IPOr5Dn=fGp#}rQ=43@{ z=SVMMeXQE$1k`N#d?(uO01U(k1TTo9ytPKhFj+ox^R-n??_srb+Z`Os>)Z{=P_5rm2Cam9jNB}Yq zZRN*?LS3E?wI!y{H|Ng#BV6T7Y^c3~(LJ{qk1vv1_@c`x!>&%^0Z=TcP>9BRDnm z)XXqsWhXBQdIBJ`-D@sM%{wpgi~hVQlUZ<6Ku`>So!U)Qt=u<4o7>8^-KjptlKe;u z6#IBqw9_uS|DQ!~#N~JZ932sS64#1vgeyN}6$#Id`Gc1(hqX3=o2~kT(-RfNn>m{-3Kjp!hE2WqIj>-~7*^LaOmL`BuQ642^c8J+ zKLGKDppL7d0q5IaXn>u{1}q5&?bP+&+eQhp zAf^=#5fL#w$`pC>QxDtweSaKZUOSkrn?lY}C%~P5;pxlI69q87&`rKFU zS-tO0l2oFP`f$W7kuAXvhBnE?(Ui2j8-}FFm?})~XXUIATNqSyWc)7{fTQe7<5l!` zUZ1p-);8-~*UZMoBV?iEvoEy2R!mpw#Z8z7GGYSB>vS_U(f+*-4u3_G3<;o_uN?|- z9f16f007Z*dy10OA*(vtaJZcnTZ_D0&Il$SqitI+VGlpA?DWlJsE=>r&swO4pF7r< zs0GH=Q>T7#@zh$7D?X5v>S{%rC&_iEFQ+gdi!H0`4_RBs;tPV2^giF9CqWF}vnC=N zE9RJ>T^OQBO!s_!T!8}^+Yai%@2Q6u)~XUM!ao>UbR9!IUY8I#nU{$;w?;QSbbMFU z0Hm#7TO9>lsk*+HfIOx-6|9Z8^*mCaMBsCaSVe6soV(6p#H1&5M34T{*2n(87ff}Q z%mPtSYhTU1ZN#H`**{IoEjmj*eY2=dM1S46u~t zMFjNc_j=md4I`eQuL7D)WkG!>7Nw^k(S^A2=5{rQ-q-!hmfO%-ReM7fl`D(I1O=GL z<|GE#PxHHh1AbO=@kTZ{jobnJ$7|fN0iaY05*Xm|GPzO05kKpfgRsJWV-?ehe11!1 zCl;d)q>{lSff?CJAIud5fL^zqFS6lH+-&zOL6#E)$MH%|KlHKa(QRO>Sm2ONE9%Yl zLtY2!G`oNMgN+8Te>>)DcZ{O-JuO`T5x4V;5*DTHZ5@aCe*w zD?@8Gl@>vQQ0H=12-2tC>U_x~6_*nI@y*mdC+_9$I4G19sml?Vw{eQp5-b92&6ER| z5&c0o(Jo!MYQRxoy{W)WJ0^gNiS^^p2g$cb`3ZiqLjeqr!8h=-8;jCp%3sCrZ<6G) zq30ervm&(OetyI>P|z?i$~7b1$)F_OFyoYFSDAf=nG-W_!a!+nP|pjRnF0?q;Q1++ zo*31}3KW*i2K79jwA@_YJpurFo_7d3Ui%xU#lM_)1GYDaHI-W*PAH$NzOvZ+F}N{? zG8V@h$SvGm->T2005U}mA$QRJ$IXJ#^4R*;AYq973o?}x6|Q%RAF_RON+Lp~*H5zh z_w+2`pyoIS>9KN-HB)^QTNM1Z{QFafOBT_5lt$z;L;~O9g|yt>%5yv@5jOa-4bnA|ZfUw5s@A1QY z^Px|`WJv1p`eL+{rUTK@Qb->>YRV!NKm<6@q#~9Aw2QaOnyeK9+R~y=jOX6xd=IJ# z4(Oh;tqMUbPzw<#igJ9^heb&E=re@f6pXr*XHpIiC(DUpLX!jA>CVtZEy_PdgM?YS zty32}|8LBQ>a?9IIs0r+ZM7BS(xHHB0&4FTEoJ0D@!k$N^xC(XncMu+WE9h7qoGV1 ze@Q-nAgm)(ihU|O2F)*7-x+k4gpSKXj}bri`6bk>TTE;Go1^kZi*r|B0s@NY3x|VY z;xa7wTVTQ;OO1@k8lS1}#Q|kT6Twdr| zK_(9=Gh@s>mk`W?}Fd*KArxZu%qVtKXA$zer)=SF_7 zEpDAS=l>@5-@w6tzJ1&3Ul$cHQ?$sd;Uft7dI+krFwTW*JzhpKIJQCu1qa`n&#R2Q zla2NZ@WRZO6nW)12*_{V*^9 zqHT`r?Q@y(MvDS4v8k9PLbszCyPyXj<;d;fi~@2a*pPNFt_+hRFRZMe>M^^WkA1ZC z=V~6U4%nZ3%=xdJ16K0s0KML~p6x(9526;}H^m4FIfIx<`JJ(M>Ea5^&jV@l#0~aW zMc)I|pWn9pApJtwjGEW{B4^PlT9LS~I^he>O4`bHT@tLINWL>^Md!3SSTo{_ts^31 z`}N#*f;(hz)#u$rRK@)troK9?%`W&dfdByt1SwV|xVsf81b3%U+}(;h3GT(EI7Qn+ zi@Ozy7KdV`NO36czUjC7+ui$j^1M%O-g{@xnKN?$fZ3`QJ25uL3yqP~v&!>F+L5v{ znyQXQ@v$BKF7x7(k-ri)n?Wn%2mUabGxi|0iRO!w0suhJ=o)vIEY9>)EF!eb+6j{m zX<1?NN1Y+WYo=+;C<;@nOu5*}Ch9aW0$3QXU!PotAtR z&o$1QYDwX~zS2DU}$kh1}32^mh=>BGi*ar8$N#dfVV(RJk>k0t)c2bsc zytXJ0-Qbw?s19(vtNtX8XvU!q-U)^PayUEKV+l{>1MsplT5}%cz3?Ftad_IQRDHh3 zAptkf`$UCIfh_`&k?08ytgj-H?1D3&g>tmx2qFvraz>&u5-d#3Q^Qh8>o2yLjt3$i zAKjn;^qZxZ&b~axbZ^YoYL4!-d_|nSh8QrEsaK3TZ;(z39ak$jfab02{e(AV`(Wm% zzX%b=;giGW^;zbPMaPw@5^9Px)wN+)zj$}y1=B(ZWApwOQ2^3bA^3SXw(!XqWE{1K zN-0p~G>E#U6tJKp!EL?Bk3cbOdPUXIuU)2w7V)=CG3zD+GkH$0^}x&dx9ra>Dz2O! zF;6@OADtm7v>3eC5VO;?H#r+aLN#(By1L4$C4v03!+ zx5!a>_=3@kh(r=zoYo5z%N->t6p0bDx+>mUg}$Yhvouoyx*z0A%;AigIcBk@LnEiq zkLqO_)(}PQ;*IT@zY88|rYu+AD=luBBi}8RiUqih^RQ5Teu}vTF?=Su%H^+XtRB{t zCwnn#nl<6Ag;TNmT)+tINn#99Nvid~02S!d{56Xpt{v9cL1ASnOr2Ve}n`G(Q=hCh&y&$sar z5g%%N(mqu1F78i>DD-$uUdv9u!}07{3OsUrRU1gvz<4XqW=t1($YV8g35>#}RZVTk z6Pt_(9H15Xwldj0?sA@LvbBO*uNbW7Xi9%pBJ3F=W}uqM74+^IM=HFgAODa*q5e7< zx2{jJar;~Gec>;<%S;!r|_WSTws1RHDq?04k!M zScz??Pi9+V)80N22Z_3=YF238+S`{D!|U88LqYFhkYzXP_RF6$mRdxaz+&YJEruo= z8S~|fvnfU4TFiK+)>Id#l9X#1Q~aN$7DOQ~j7E5eu6c@rgva8Yj}um6o`nJtiP~rq zfetLXBUIfpC(>CW$Z5%D&6<5-qT8#cRCx&Jug~>%Jl_t6metD8ACN}c=KJNEGVHKw z#Kt^401!>+?|!InC>RXxn6zW6ntsF9KNDIl!2rj5qR`Aa8MRs!U4}c;zE%p-9IWKC zDVdT2R|nnI0T3~SNEoM<>nrNt>3@+ubB@{4n8c_WAT*|K$1-a;+$GSOzts2~RtaP{ z1g?fQjDVV}t+=NkK}zTO^-)mBHC6s5b)h&P-;T4+W`j~+qqbpG~{u5eHb#IE!nVGo<8Rfk3M%a91IQ0 z0q>FB*I55%g@`0t>aO zb<0U|5!FWAUW=Z9==vStDhd3g3kC3aKmG&;aNFWeE4=c#XpuYQ8_%lRxa;5lO2#kN z@nFyJH>cE#eK)2@_cB7sKbLEc-s-XH4@Jv)gkr%^8d%Tk}j8n?Lgp59`kiX8tM? z)M)9^H2>u-lZCGY`N)q`ZymTTSnJu;Ds3j}*o@UFnjT6kWpDT#Ew{m+0kXtBbkjES z+gcbO(&qrH_dKWdgx0v)!;@bbQj(!3g5WIjZ$I@+@laNgX*eO>n1G&XfkL87hom19 z;j*wz3m{8?Em-2PIWNN4gR;(w+hyt6*QjB_IfJ3_i^G?;%W?pq>0t*WnfT<@)egZve-|52iMnGq+2~bm98As#EK99E>GMtq)c*90oULQz z{%`hg4f?&OxZwK+HQXV*^o4-Sc025`?=v5#Pp)U>@iDQE@eXUP*=UP^G%D4|QTDy9 zB$`h{W&A7#p_g|HwqJSkyQ~ruJh%3AzuHWkBlmT# zSyG^j#3e{M;r%zU-%8&$V*Z{Y&W%^ot+#>r)eYeuO*n9(9)=u{(n?ZX{PEoy$?p-4HgnX01E(L`Rb zz`1QUdM*-*+jBlHVAjT|{hoIcy1GpAOcHBtNDh!UN`b*d%S-aXZQ2`Y*?!N#3^rB)%z_-C^yP; z)wBB>+rFk)QGLRRK`fY6LjtVk*=hh)g(*rjMkt~MWesC3JTJPAf@M_5R%e+|dq=W~ zLY|feRg%<#4?VnmeV<>mQ(g>^CaY}R{(L{kzQ)T3q?je*MP9Dm00Tg=Ff8UoY9@dr z{AT!dyKJ`>`WeF~FJ@XIkme{nb^V95A|`MLBTw$}Lz<6ZgF@fQ0xZ{%m;e9D)rC?& zEs^Zb-W?9VBa{4@R+RQeGNe!+4w^ixFfpLB)xrDC$59K?YoW`;a|Gclznb0^#6B=FooRo- z#71}B^zD-K(Jt54Gg^*d;9mKfEbU|Ez4$}t4L5Qg$XLPHWG+|n`RO7ZBi#5;bWiBF z6HECxZ7VT$HMnS~$pS_K+7#0g7#n@y9n}!~QxON=2A5G!X^tStAM3^UF1+j+V0SFb zQp&$W#LwPQ3Hqg#qi%{a5B1_HQz)07QR~={hO1|p4bt%0jKzMzqYmaXt-(wt*ne+u zU}cW@Zn*^d6EAkwugt<PvF@17cO*!pY4bb@CBcSndAo=xEfLO6nJ^3qkp4qO zo?6W%HDiDk3R*^%Q(`T%OfzglLmW2Fr=8HNqVqfK{(9_^hu*@Kcv(EiNiFi?~yH2 z<|g9c1l*B^>s2=yksCnf8(n9e=RrdZ4ileNU*lGGn4yZ9zJWra#6VO;_c}3+=Qor~ zI?yu}tl0CQJ6a*0=7eZm%jaMGrq@h>82@iY)g;!wO|ITe8O78j;5VS%^6e2>2c0RL$# zojB%Hp7#aL-(J%VcZ?LAjUf$onB%V4{-}$FxwiV*hG0;c1#bu;!3Qptm)Ci}OMfMtfj0317bWvd{ZVE+`lJmg%u!X8RrW3bF`^$FVydJMQoz^|y@r z^H%{#Sn~5b5vfox((q(mloJR@6NU%+-ShC$Ww<*--Bb)kQIQ1QMbt`S4_DhgE1me7 zb@rNnBxaDY;yS}r;L&dh!5+r=0sxXNW5^5vR2&O8Z2Jjrm8Tu(7ysIWZ7_kFH#1!2 zPrkI?if~Y_J^kWS4Ve4G^nE9@QT%EBm#YAkTGn7?v~h6X&yV+tk1~*5y~@;$>Dze+ zL((Y)ZNX=#WwI2J%{N=FVHzk(%#jYg6>}kZZQfFLlG++0ug=($DNRZGGO+h9L;#IR z(>!h;s#D~gQkLcJvmQ%uU1zv?j=v8P%B4j{=q7u0Xd;y`Y#65Kz-p@@Ed(~UQ~M6m z(lp#0tPzW(-?F4or$kGP&JgKrdWv7k0vas`JZv@><%Ts`&~)>IaAzJ-+L2+ur?k?@ zt?`sCvpscNZ)3u{4{Q4N+gP4x3ZY#FMjVZBA2M@DsAw};(tl}cUInW$=%zke?qIXm zqvP2wRaU`CeidLcqOy#e>7n2Z-7d(w*wkXtI>pUfO7vMqgNbgaxZjqa`@xLh>gXs&>YBA)-7CxqE=HX33Zf-r3Ztrj#M*^Ucd1)3cLpw z6zqDr?m`c(k+KBo18NjdHuefIG{ zuvPtabB5Qypz{E;L4Bb9DSk}_Q-a;l76#%2AB4@0i!ImL)>NtNu?)g|(1_Mh0LLV# zqPi>F0`S!B(MM&<;GP~(&m$5nGM`0FE45ln)c(XA{D z+a|*`ZcLfq_&v@OY}&k43Bs{a*09WaBWe`iCi@iIJK)sZdp$zb3JktP7oUBhe@}6# z?64AzYg&5GR_attsya$VA7J(uU~}=_Oxy7jPXGI`{~dlxrUZkP^OD}#IdxS$l)0a} z<6+K?1l04qJA%ZR;#J)RHKqQ2@_MvwXr$PKyc{q5kCH%x&&y}d#bvLma2)51!BPmO zM&3uGdbiXxAD%~uRfp*eId1)r0@A$Tu31;J^_sWo(2+(|qkSS+M^PsJnHUK??U4{J zKb)dW(dCpqJo~NRb{Ezk`saa(@^28W@83xdfKH~0`;+GQEd3)y9e>p!eDCUcbk~pD zHoXjALxOuneBO!-fyXz0WUY_EJyXg4`MKMxIemTueVHiH#tiKqXU{d`lg>&_@RI2J zbcr!M?>o(RC9D%$3hly+Qlb>F0Ss{;y(oh$aLrzMT0ilZh${g=Eq93zu*WGM6I_^A z`rFNPJye-<>QM5zt;Re$T^Z`tFc-SQep`j})JSU=`uud(*H)7G5^MwWS{XPkUs1t} z6mZV2QwPA(Yn1WpY{wN;=%GY!L$>brbs788FYv7$RC7G|$C4L9O%%Lu2#^%UfZwt` zuefLEzskCpe8~+?*=9s%pN@0<5`df``;NNr3&HZ)G_{#u6mVM|+Hs5&+f3q)yeQ%q zmkS!ffUO@D(t|ZF#SmI)tgj&`8hat(=Jeb!mT!l@xljt{+i#S@%^_8ZmmTdAwU>fk zdpdog-;(K&)GGY6>rsr>md5Afag$Imvb?Cmdqw3c#^D5fiF^esef%cX&zV+`RfB(1~F3Ni+S9=T~eI41p`0BZfPlgfQ z-i$5@duX2y@;T zTsxDg0lx%g%{`R^ZJa2EgkQeQeOGZ$E~$T|U*JG53W`?VjLTVq72 z6;;Q9UJHdQk<;@V=&&9VUN1Ye7rwIySr8uVBDzSq2RmYXry5bU=)tpSpQwu@JRpy5 zKty{+r^-VSP+}=4=(t;bo-?{gQH>TvMN*H_ zjE35I$f7L8@tjkJVV3iG&V+us3GjeIKMe_3iRv*8=&m5V!Y23Z1XM}uSmrDTl&ukL_78m>%{@1qn8^WoTwV>927 ztLQUx-sk10sE|b;76mlu8DdxzQ$b=PP%}Y(3~*o9s!lCTXWHJc$MToe(GvCX^(TnD z2b0F1)2z}u#3DaHUOt>3BdTYoZ~kB4n@}W0K@WE&n1s!V)H&-bn9E?(0g6CS73nB_ z!RU29RjNC|XfAt7!R%JKBr*xa1eTzH7RZx9q-O1TWQw3+s=ZRWcD-2yH)?}jYe*Et zVqJS%Bc*=T(QC_5pfSblRDK8U7hBe#q)qvWIIrB^2o;u^`C4^Shj4fCCzcCFZF&s( z(E!gYznfy(WQlrGc=WiSOj~b3;DgGVy76YBs?EPPoYNM7OuM1c~e*Q~BB_ zzzKzOg+3}U<}NY9{p7*IGS)9z1u>6>wq5FEVRBy7e+&U59y=dpT4^8SSFfJ|o(ESi zeTJ_7j}}0bA8E&dS7$`CRW+&kDyGWxCZDNB4*aWj1qvo=Ob?W3bq!ZRH1ddn0Hkv( zu5a~?0y>ciqj?=O+^OYb8e?B$hh4fmQdZs#`P^20UKrTrTPtz|`|!k^eRS`x;CPgB zB#(5KC9O3P<_9TB$M4%dL_rvJAe0$lm_)uH-^~W;LZaj{ab|AoVI4q?ckRTzX{WEf z&S5*66NcX|0deEoA+h4a4}UX~3qN**X9`;{&M-UazwaoQQV1B{V95oXNWVRw*Q`GI zkr<9inowgVN$&|0gGjyINtcF#=Id;I($t%*qcS-4(Gfob#`8&%%MuD8Y1CSO`f|Uv zHlU&{YTZt-MF9W-SBGQttUowmChRHfc!$55%KMD$hz)Vr#T@YgW|z6bEy{iu4SGNT z(uq#{#~3PBrM^D_vUSEW3ulYZCP8}zyBHVqVrqp!)eeKm_uv=`3o$%w$3QkR9D!1| zWb!pf3VaxunUTfp^smAA(dUNk0(tXcNOkKjN-a5beLX+~^z6wM>(+o`_MSKb{t9;W z+5X}4WN53Y+qIrgSNtSms@0cQ0VAZpim0^C?+qEVF%G{gIn5smidfpC`Bk1Z@>@oT z_`>Vhe-t|b4?q9RVp=3+nv75KCC=Kuh7urr)!?OBvMkDQ6QZRJMBM)vgR8k=EKc(V zmWo$ROJ5*SagJIjv-o!Ilql!gA~j1X>gA03ylhhK6dsLXlTqPO7QS-xd^};`@S^qp zDW?%|FejJtCwtQdgCO&C&Id3)i(7)cOskgAVbu_hO?I8YIWk+UFN0~hf2M?n^CT%NA zUmwQMcPh!uvOo(mzD~8toO7nhxFLy2 zLj0jd<9R7j@KE9`CDBQpxZ~$S;>x@w6GlDlyBbL*Wq}XqiZ0@w)4^#8y~A zQ6a{H*Jdhc(~BjXKjc;#wod)0=k95i9aZBu!=UxxT0#}#-0c*GI2KiV#$8WPJ*K=)m$;pz*X?YG5H&Tn+@!h{;wp@ z81G(wZBA+q`EcX|zK_U=25PiTm(*x`oqt9BbfmoH_F$6QCGv35hLoLJmAzhkNMzaZ zFfM#5N9?H+%I?U?U88fKV>*;*8W}1SO2ZBUh`!

ghbQMPl(9^#rjP>R~UibM2s zg+YlrWLJqp?RjpjP*jfkpUy5HWm%b!%Nc^ES~)#j1)Sz_MoN znh-mO$Gj~|qBD7HM}lQNk<@ZSP+;*@g4{SpNJodPMEqEP{G;WqD#_q9Tx*~}iwp{j zvAd_)x;DzVNqzfvfxFX`acygjKY@SJIYVm3n}+%9q}-gWAV$uRYV`8_4TEo(wtbLeKpf4-ln@URStt}7LT~cs3(B=j)xM| z6RYyK&bU0i;z3i&OB%JyYXU`LnT5^RO$`W(oJJPfW1a>q6V^ca|l08 zubkHTJGT(qex_LWQu4m9*KR>z@LtGmFh1bjqyheAXr9p+D-)uEeuz>h{hYa zI{1Z+u)oK~*+Kf#$mnYWemYPC%$`Cri)$~>m{VIy5xrk=veKC}_R>iv4cOOKwbO2T z&c-F93NKc_g^{;`mwnR@9Jq|@v#?2yXBlg}qN1H1joxr(33?fzJpDqHNsY0y&+~Zg z)u+|7Lj!cpV`$J0Hoa6E%nBvna6)vs+@%R~$315J@2_jV+uGcCzrHh)ZzbM+i?v$% za0i%>B7TM}z73@^Z8PhYCK>0A80&Hpy`0YHx7V_vI&Je`T?GP&_$rB?Y2BKLY6bi& zBA4U$OH;V%a19$+g+kafuG$R@yS*i)kh3Tq}X0iHCx`xn4Zl5^yx#YP^g6K?St zH+ln|Q;PVCx0V;?^&&O>OfimBCvNrSu}t4;j!^?-W(YO|{+vh<3~cs*{|I5N!}E{c z!>R7hf+W_z>Kt_8|sJP6*Lff;eJAw`oGUDtikg zKG%6li$kfcEHInIAy`8|u5WJ;earWnF7Iq^f?yVnLuJrL$-et$xBOUsb}zM-zh0N4 zVtazO(OCrRac7p$s^m<5qT;57^X1cXuPfTetb_CthCKN&QPtkXR-7@^i19oAD*KK= zj6KZ<)CSJUczVhw5H>u0e3kvcb!41EzXOD00)YT^KvB5DM#J>5|PY$n%4d&Ee zU47ulT-vNMXkq3X%ZNH^id28!32haJU$_IhJ;wQ}TG!=G8q0u)AA((MLP3JjS8*ln zrnFp?L$ z&Yh==BfQg)y@vr_aVGnPfglOLlQ-k$-@4KL0@Xqv4+WZ6Jmm<6RK}AYA2hZl_#cCZ zEOi*+{0gW>uc9tna9aAQPn_5L1fe+T_4_bK$UW_ z66q3!Zv#I#97xco!064+;8<>1YCv*qGKe~RWq6^R(T~M$#0Nb1&1Mb|@Z^@-ht4{% zZb;4BbAF>;H+22VWvQ9j>Frwx%*jo@`v*_({BZjgdK; z9VZ}bL&XI@IiE&`oyLy|L3u*3{mcuF%se!6%0VrsMQ57&d_gs`N&6bWq+NYa!C~%H zxo4kdY>jLcG9TZOdKhQU-bQ`sq8wLN+6I(*%m=OG7d{G*Q)9URBbzkh?=VmZ)VsLv znTTGxaD{b(p52EARi>z}WJ-YeJHMUXvB$Zloh^h~E_)U}5$>7q9}6*uw*9$#{0i|6 zY%B2>0J8j2y}=&zI+;cCp^0-Mk0{-3g;^3e;xSjlNnfh4hr5)Bga{NXf)YR69F#MVfb zOCYZZ7c_L2QkCjKi{`O^1VE;ScbrJ^N2L#=-+k|*q7-k~I{7%ZpJ(v>VHP{!GR5MM zOZHdRr)N@T)jpPeqrj|7=y*vfIT_Du$3P}fM?d;U?#tfrq9*2vXn!q*LP<-e%u6Eq zft9b9P_~284ryex@Z*jYN*UnZ#U)7TKbREEw^jQP{h(>_N@360{rp_f=hjH9xUi&> zBQB}_wp8HbNlOOjOsR$#Ji?PVJ068vB>Ix330HShM$Z6#ZO7laGX+_B zoH-kn0*Z;Lt*&Is{-R1paFA9$w$x{ znL$C>E7~`6fhF?w`nTGm55KXPjF3q(Hx^{*{l}=kH$v~z5-3q1(%-^hZ!oKa2rz3} zb>lzUIli-EoRu~h?JBhrz7%QGZ4~e#@qVYaJz7yRdc;|`RCK07d1AAN1*9`!LtgXV z$(t`)^aAi&0{Kb2HjL7I@t=sOf5};2i0~IBoDQb6Lgf@XPZigs*Q}br%*}R?8x2`r z?&RQ)pC*e$7zzt%Gj}FBNFbY@4hl7xZ)Egj-f&0v7CVln7<(5)OQx5T3Gj$YDMv4U zf_*pX{L`}Q!Te4v-fNlm@5}W4Eu^Nzpzu;Qw!aUy>5l?Wz8xt*)sax-zTch2Xqy^G zeUw7sO}MdVV%XsQxWd^kyvNQEI2}*e4qjDa8J*d86fH49D z7I9G?rScC{5S754y1pI0BuV6s?};@^Zo3Ih;@nQJ7FZilaC1{`Np=;EPBEo#y8_Pz z1mX|(@tr9TkNzbn#rR>HyDHsK=Ps43w$dJ3Nl=dviyb|Ew+!ZWBrgtK4ay-}NQ-iG z?#spj33SUfS#gDa_to8!TzlY5qoi(`nVO&NyOXV{zK9B*${%lqeJUjhd?uRO=!# zyOjb>m*B`MQ1h^#(5F`vu6U4dM-?Q!ulX);gB+6?b5xxmXu&a^-&t3^d05_j51CLc zH@w5cNhb(zag+kQ_4wXz;*aIDwHVO}s9&fYs9SES9I1 zA6)T+0gq!{0JB!5=DRP{vU4OR6)}b$_rCoB#rx|`54cEkE_DEk(b?8j@=WB_?{O7o z(^IuZf2@*|Vjb4U;D!DIrUEP49ow&FWAju2=jMR!w#;^y?|BpBi+6^<79Ju zY@7lBt7KG(yvZB5MRUjw<%Uako4;tD(|55g-jB6e>xm-;#QnC11W@Ne7WePQ=gr25 z763H%2l_*jmaFp5+zw=*@??Qrpd!+0Bq9w^4WC%VaCk}Ikc!7Di|=Dx7XlqE5@ zY%At>9SgNOB4xRm z^v8_eKCEr=m-1w7!9auP+}#4ORC4*L3W@G6-?v#XNZh@c*x+QAX~V(e^LaI0*5`tF zM`bN)6%;gLtlq%7@W@`x#W_q)YUUt-ENOuN?e(tk8Ca|`Xeh#%h;vi^JVd?q%jE^I zaK7t_0nq)IZ;N#I^Uuz}jcIy4z-91Dw?E&R^U@+-SzCq<{1_)i zOb>DPU0wYFK(iUkw*LNA$%Qe68S>B&E&Pb=!?kKAul{^Cw-+zr+BxKHQ?8P4(Z3G~ zk4w-q5e5UYcr42p)EFA9MZCrHw<3!P66-ER_KW2cDbUf7t)Uy?I+W0uqlFzy9gF*t z?hzlEfYoqZWX{}AYDKvH*cP&fpCIr|lK{ZD?fA9${GF5-LGea}Hl1 zMgrs$y7lvdry+RG0_F*tT%D`mYI>m=~|?SW|DOedlP?S63a*2mJ{3fyrTi}?Qtu`NV6U*M8cq(^B5}lSn`~KlNRH`m$Wk zF7$0!O6Fsg+VFRX^`QUQBVo@%=-!|KFkJ?cHsoWwRVx?({wPRLI~%HK%^V7BtAu1d^EM94Na4pXFpB`28H9Ehga6EcNP zKm+S;8W$T!EhP#ku-Sw;-D=@=9@TLOsxK}R7>Mf#czz_{sIL@b;ACGM?`*7LV0(ih zX1sWnX=mW{efvD3s%jQZKsCE;$Ymu9goJ{9u0tQJNgT^Rk2@`{wa$7WUcM{jQB}ye z{?wn-?5d}2I;S#dI236Qu_c32zw0|w@GVQ#0 z9J2M6G5@rQ;*t*NHgxS|*DN<-7b(zxHb1~Y2IyY$c_2p2r$~Nojy4o-F795`J8t=T zBHsnK*tgW2UtrS>1^AjXtuM4?avywKD-({yD=@Qu9C5JmIcUt|DHt~yVuym2(X0M^ zNXR_?{L8%@e{rTE^kKla%lFBCE=6*G-2+*7@F5<*4PL17NfW!c(@yPAkRuI+8h@HP zJGig0?;?@ByEk`!VLzFAjm>B`W8XAsbSk#_8xJL20!Hu;56bvqI=?{gRpgQC~LR1LFmB~9;x}JNd0uEg- z^9vW)(i13p3O|1TdfllRJVNb)Nq4fEV;Dgf4Z@yB^)~+cQ&N(y>S{O!7$7IC`S~Xd zhMbw^B=2@(c1ym)zy&3XG^*)afNKwsVIlE6X)}kTALZ8t-lGSBt+w?g|EnhU!q?>bn z*8K`3$`VLzuD!_gepXj07rmg-2WF!q_xoU9yO+uFyhm`PUn&4LX~)05 zU4%0FHuPUEX}bngcwdI04!nl#FWfoK;007uR|Iu76&v^}80Yzw;nQC$|GYbX<6}?2 zT;;&?yAO0BFF!sfi9CrSiK#Hg_vXute3hw%^1o6ym>8hflG{7G^#AuDW^_z}(xKn) zQp#ZB(_JwsS};L#s4J1IA3$Xg!5sp~5gyT%w0KcMe!}=WUx$oF3>M8@&V{SXz}K3e zH^!Y{OW`exZtM%iz=%FgePiNZNSw>eoT4a)QD1#l!rEP66!n*P^78sd?Dud^smx8o zbgJum+e-tYw?lRCobso7RYhC#dKeRWhOY8>m;CbU9Vs+p4%-q|eei7-FS-Ah-uck_ zEHwkYrs=BIk6s0-UwY^_GQIYV-scTNKXjm`lUi%oezCt$ik@a=b63-GKGVF(v8Gov z`joT*!fd*&X;f67y8WK}#2`x(s7hpi_Ny%7w8(vf6LH$>BhFNsWW*7D_a}NzQSNo6 zc~#}apG)oS{@5hoQxwGfN5}w^_b;r={h29zH-#-%-NhxhxI(kC^0DLTAkSM^N0@WL z4yPG=m_wJnTdP|5zp~3<(WxWI`Y@vQMhw!ff=`7M5ntO9rp+;wmr83?0(Ibdg_p0f zrto}UAl?cgYBL7q*=M*hEAHJdtt7eRuj81`fGTJ^b-TM^)WFd*#1y&rkt$k$P@dT_ zA(8Kk<5^%j8-qwT?4W-+esb99a_=rBu5Uu~g`0tkw?Nrsmz2qz)36$ffzN__4 zHI1&Y4}PMn9H^{EOvfaOnA!fgJj0H_!0f^kYN861%`3vRarJjAnEYL+Ix8eAiBF7@ z55Ph{A-z>2oU}1IBm>C*_`ZArn3mOvdmqu=`~owwOBH{aaC^N9?LGmt`LlafKH%y% zwR3$;4NxBN^x)(KIda~#1eG=bC_#HG<>13TR+fKPK9bIVHi8+es;se0r`Z%U6Go0= z^BgLZ<-Viy_bn4*Vk(Wd&fW)KAp<9c=1wA_4=beeW7+oeM!Oam^tXFRde+Qs^u3kp zKK+5OJ{>>HI5)e{P}4PV?!RI02dqA{c`#0=7zv{9|_c;o77Z|V4AK`SH#B;p{=6kpvm zeL6H&%K`p@T91F$n64+={)_3|z}WaZ3Xa3>!;K{U=E3dnJeP)hM40(wq`6lj8L(|}WWWXOq zUq^lNBBR@3c`wUsuONK^=G8VNv{B(HTjDX~NjFEG2w52>u4%A;-Prue# zhN9xb{i}~!+&33&=CSymMGGuhBQ+i8r*9jzsxB*=OO;ibel~Igm@_Z5UknXP#X5$u zqyjWn_gDPlj8}cVFWkW>ySfl7c+B-DtF{C(JvMy-5tHj5+g5#wyCN{Py=qLCeE1<<~$b(;>`{c-Z$<(e_}7=SjGcy_*xy8ajm4a7dSK`D_yw!Y<_ zm@f#V_OBbj2#1H%Zo~=$m%+inAFxd&)ngFsA;~icJK|~R%}$sK z=obDS+8n#0_ZpaDVo^UyoPe_!uy2Z*#WksGva`faHHsh_m^CgH+)z{x~v9#wWc2=V!m8#FQi`NSW++j zj~0MiKM_}`cfyp)@C3k^!2r3kZm6{F94&Y52x~d zUJksqj`JOO5q8ArP8 zFlMc13MhMZ9ibEvF)eOS1%Z|AgVx|erN*G~n7`vqI6LA;Vf;+CXi&$-eQWT1eXrN! zU{L?n!Oh@3L2yk3m**m5nCD`z7GR*WE8`H z@s8nEhTLFH-D^q4(;~A~_l1LK;s@qs`1k8nc;CySf)n>^nE*>=54*yu^QuC-C(MSE za^szq4F4QrdC=)QiAlpjywG$1-TNVb?C{2b6q^7|Ze`(rT!*Wc(&zj*Wz zHJ?31ZPTgJq9knT(p1t#^E&zQU_Wy+&v!kPyTykqVPc%S2j@yK2vA#eD1OQF)jHX{ z;me`N)8B@XF*RqPZi|eU6EuXpFSvcj^O;5_hN6p2{Hw>tBFx}q(2@EBzBB+qpmWPw zQ^;GCe97(n8ObfN4n-P165fOpu)FM^H(;jn!yD)9Q8i-T()jY zN)6NcZLis4gg^U~?%+*dH8{N+*!ba?sbgzk#ion;PS(puzX=8t7)7}eevOivKOiLZ zIPl^lzi{_Z;6EG)-ZL$-8v)(3g`A3JMM|)s)?-cpp@D=I4=iZxau=bZAt9nHO4I<> zIl?3?1ORMexp=*%3m6FbW?BmU9P*fm4{_n<@x=jqqa-{@uT`PmN~DPCgAYLtsmw|* zz;*tssGg+Y#4}!Z+GcFh=7JCB!G-nN-KJm!_m5|z2e5TDtXm`CRzu9EEvir#^~9BX zp+f(>v_~IIq(InToZ_2tcegPSGip$m`sygk;7i0T@RryEsQJVu+Ht|9IRl){{K5bY z0-zM0h)uLd(Jo<~!y}k8*hLZ+Nmv{JgDtQXI1Mxvs0Fk`Eo4HhLTRtSnt86M=q|;_ za4hCL<<(JOJIh}(XTY}~ul+TVE^6U*tv6Rp(E_Y~n)6OTzgI7ox!IF}&mKBXeSw^Bim5GqhB&|jk z<&T~fGHdoxK8;}yGArd;9TisOf_g#j@+scQyabDBuicY9SnaAeB;WaaN06XBPfNSg z6*Mf3GZCyhbibOBOZ0Y@r%@X<5Pq3EX1A91yXePGP)__F)da0uL}~+%=?{MwedB7l zGZ{lZT$wK@g?EK1iC*RXssIqka6jk0q#iE7-!rS>{5NJXSIg?G*p3WyPInFXlS7J^ zk}=PJNzLVXfeXd~uiAENBG{exSA!xhJ2UHe^c zvtzo;muu49-O^->cf!M@*AW!wLWr%VkgcY(xrP&g*#5bx^=D6NZp%19mA=^}B3mB= z407Mi)&QTuJI{jbcZB?@N4!>Ccd;fek#Uv$roP#m%rgPQPwb%K>&QyNTKrYVOP_PF*OvuUd#V=9{ zs2W1d*NVo90cLWV0s(V{Cvjo6lPL5kE1ZIr37!G#K-CE(&jd3_{CfM_*!6Q5uoEsP z?Q9M^eqTIjzW)9C=j)E&oqRqew+qF;jE%kaW_I`X_CD2ZETu7pbN$e=r%_F$hEzG| zSiVPvo*Kc3u5vZlt@;EKpKdkZTjeWEh9Kw8j>M+IPF>!Rq$-D#CfTxrm0AOUBgdypNAy6XI5oeJr)M17l$$wVjKMO6HW<@g}AipM;6P} zG>sS=KTGvN-_yLdimeS%iea%D7^q1BewyGL{8JfVXVAb{ib^YGU7g7LA|yT_BlG>A zsl7%MRmxYdQl&X_)9$`ASrp$Dss?rc17!b}v~WBMau}ZgAu@t9iQXH~8Gl0npi2y& zoK%Zj#uos8Eh6D9Ntu{Z0PiQ<|qgI6U4m0XlV-Y zI5@cnHvH$Ezp5eV90yJMZ2QyOI~Dr(LthF8SPE)t9pE7Us{gy_KR#k`S3Aa zC3g-=t-S+;dBqtEs2o5P&I>3`PsFH+Zk86yi=qQX^s&TR*pOcAB|plmUL7?iVZu&t z_GVvq2}Lxl-Yko_Z)mL5T2BT&4Vea?8ucAP614%qUjk)JaxNDfib4-Zf)-!u~JMZf8{6}*}< zzP=m2)(oUuBEo{!CyX~9tH*@>QJ^mP>HnhBwThj*z|pPkp0kJ2_kR)fmSJ&q!P4j+ z++Bi0Ah^3TxJz({;7+jM9^Bo6dw}2?+#M3!A-KESo%ejtId}b-nLnd@&Fb#zt}0>l z1d6raX73T%tHy!g5S|Zg?=l zv_o^@Gx3_pDbWcXb5vUA%}Mxbl5%ZB3PV`3&GIRpK%P@LOzYG5SH!)(p!i%~CYay^ zW7U!TB|9h_t47_7MxkqzYwtEcUt;6i3`?Emx?P6kcKe7N;*UKiWR%Dqi=h(*Bfofv zQ1R|c=D3qpr<&}RPyp@bvm1%!zs04ro-3!k(@urP2#5qx_~YR%c}F6HH3+$Hz2AWD z=Z!|)R`Oy^D#;@a+WOPn(S74iwESPg}ej5lJi*b%Xd|4^Sa@F8JS%J!DFw!rZ<(DsZ@Low%~6= zOn<@`r!SE!l9**)^`<)v3IE|C)4(v1`lINFdHgAL?joyl?v32S+>%?t20@9LiFi)< zIW5$P3#jz(n6QdrAJ~RJLBcp=`)C9GFc;~lb<3M`7uzlJPuCAV1$Ji-@(fKOb6vJ$ zNZalImI^F84obLLj8r4ThH*VN`llHbT2()y@&rjuD3&_+#G-wfTMJb>4A`9vomReg z(=Vi`B_?xst1W!OGvN&lJwZnnTK1l-?@IsI|KnrPO>V*TvvQ_86lkq55T(P13BH39 zoxxzrg?H6k9r^= zPVg$P@$J5S{}n*Mo9AIDCTri%`txXyKGl%gOo0Nm_F*B?>*yhA*Eh76Q$}h#j%D4* z5KiR#ocU_k$B0WlzIFU#bsD0EWTvWqDv9R@cU04crIJ7d#WNt-lv{(pu@Q_SC^%$b0^0A!xR@{oj@l{OiM4g z<`~cmto!UpJ$vC(2=DuvEsr8i{UCgeqPqQBis{Ktj`#@J`OW=1$7w{ytZMJCpMwsi zl`T$2S#dsXWv*8gVq^PaLMc!MV@81WRo=ENb$djNF2(ZF{E1a@LIFDr8+&^#X);GZ) z|Nont;_iIiMvawRW*KoQwJw}3P5PfX2UL(s%f-DI#wgw&$mBMx7<%W_>dz=iH#zHu zKxQ#Q4?fM#ztJ-x&^q}o;N6f@VgW=iJh5Bk0Z|p7FZ19)vONm*JYNInlq1?atpg>P z!>pT3{i}xRX3e9|OuKTDYoUuIj#NjoS|;Sww)}n6t&_n%RpCC0FUbi~)#um=WNJC7 z9Q2Vf1<9@M+{y_?`mu%yu1p?GM%Z|Q;3ZQ2P6!>50!ggDzqw<=Ui!bZ*3Lp z|BPxCj8iFir(p`gv(c9p&D)pk67)lGrx0CHUNu<1^FTpIXPC&RsH);BLAfP|ZAvyj9uE`fSO{~B%y{pPQ zQns85I`pYDvzY2{5NGnoKO|+lEu3t0?a+VM!+f1BpT491->C}8-I8z-VWA5K@NrXJ zN?O`ZSz(I7-Bn>hw3-4T%7RS}gZN!Oz4H@6DwW1%3h%!__%w9f|eXE5Ue8m68ubz0Yr zF!Ll$+lfemPZ2j#acSi~gSYi+2_t#TQ0m)tZxhYG{uL2KfOq#uMCB^>EIN*bKW>1h z^Smb)2p7U1UPr%k=KsxmDjCcI0*F7nStnawyVMTwf>{OI<4D%Mm6O}v=F$Kl=kepV zv_1iGayv1tItEwkfknEoaMU%vyAWA%46!f(wfTbl!HCyh2r%~W;2m`t8Ni1IxYzqy z492b*4L^9}du;lBJ6%M$rf2mZVF$Xme7y?=g_-*uJlEZy~%xu!zmsqkC+;Qn+=1cJ@wj#vOW0ai2pY^pvtVdrmCiloFlD<)yEWr$G2T z#mTR=GNRzi_8HH5J+IuKb8nsWXLQ@R^{~VosDG#np?5z~wWv3c>Oz7~ zWZ`JBk5-|9y1F{4hj_8*swbFOq|57j7Q1=?A5o#kJ;9V(>5A(xsgy< zJL7jd_3&8MEJD6b9X^Ol(xfbZNAIq3QcKn>NhbcI8~yLf$6*(v!uj6B`bD>tTw*zj z2FSP5h>)`tbn>jlSP~)2Z$iacaZa|z=JMuSHRNViA8>Y5n3Ae03-Jrlhs1T9U`|HK%tClJG7~eKjZle6bbRsXvo_*8Petm-Pn`t?KVmW zUuSS|TN0epsfLqKxLQ}&>XQ@qh6iK(w=MjSz6-deny4F3E6uD(Hxzml)%hCK5X0z4 z{SNEs`tAs=(-~^Y(R1?qb9mfpZfs^^VENZk9;H1ko1g3A{=OUh3cVe}8UrKKG)ke| z5SGCItsf7(&R?s0fitW`*;EI$A4b?moF$@OZWf{_W(`uNKOr*lQFGv9HtRmX2%%QIq+!wXA6xn^4ITGA zAvY+MI2cdHZHnbrM(XqT6DVbs*tHQPTiZ2q!zTV4!E3A%HmP#onoeIwOO@5)F9u{A=V_He(k)`Fss)g1*20D>qvZh z*C`~1dAsmO0!UVJ@$nu^PVUXu(#!z`EKV>DhuA+jwZ>|s{alD;JAUSK*{6QMOnvNS z=qZd7{9y2V-|(WX2_iJ^P4sZLL7RguA z&~sln)Zh2OtBvjAp+D$M4&6-rkjSe>xP9m5-$sknlq*sM1mWjd?_ZEsG{E>_e0;T->#g!Rj6`f(F2;f+8X0*qCT4PSkK`9O}| z@K%4a?w1?uYnoi9f)}$LdNDSq)RNgmog~f0BC+@hb5)R-AF(UT*WN0B<-His`)AZq z*b(HX7k#Z1r5yZV>aygoh#GmyWD~1pceaK28;m-f<(FUE`j(Ub;d@b~V#_T4*X8@a zl|rt{dQdfBTFD1)5m3&oJ1DHofDHaY+nQ%Y&>{O7Xk~sm)fn*|p*Fexq2l2!yutsK z46HXw1zuKcq<7v?U>J<^(f1w7o%P;!r6zs?UPVaFDdJSqg8Mkdt8a1WLs_Gg>en`1C-rNElVasq18zE&jEn z)hDF;mLSXAX89K=aLia`pTX9=T-(l^LDD^;4jPi+sqj!;_=>bOu_jdfF1841?_3vx zQT*A{#;-iAF`Af5Ll(jz*M1I~cnFh--C1YrsH<-qhDuC&$4rQcGYIu()EZK}N2dvb zPT5sLA2mjl&%^b=HRK)M7Q`u6AJ!ZpqP=nyST@k({sMy~D8f&MBp{8`B#OJcJ19A5B%O+`n)sA6W0 zo6G%@bDx+?#t4gG~okTXceTdzI2d65ui8<~Wrg5K7uMC@QIIMN1Sb*ds>Set(+n3T<@y4_djV^C`610Nb(KI^?F| z-1k%y=ni3-5huF%Si%YTzwaso;o_fg+@4vQIO=zw za>Dc?EI+_`gsSqj`APke{_mtGEfj;NW<5emp8X?(bzx!Kn47>D)JH}rjAl2Jf=@Au z{rpPiA`bej#8uzNe0$ekt_AT}yeKK9IVvJnw@O*PP8Qjy_Ky#Vs!M86N>uPP@|bSP zFqs2GmQ_4w`GmRo6A#J3CHCTf&HcG`t0E+PuY8%IS4gbow@4*gzH3&bI3v#?dxtIg zc>W0@n9qD0`mISL_x_6C1T7OP#VR`6Gpc5;fN?;5GP0Ae7xGo_Z}lZ}@@&+YN85aNn&at7iJ^(iqwaUn%B{0}Y>c%W4>=aOQn#JC_ZyhAIOxiV+(79E z7rU%d`0k>*@cEFOrZ6+l*eut3bkp#Vn$wYxG+C{)YC$h8+U(jePI5v_QtAJo$LCuH zaI-wXwvo#yY_StywSmmZ49zbB9Mr2##Q#rVKtzNMj!@F$(_*qf&4KBz^aBFqJj)xt zObFtu7{;>4LE|7;4>LJh?Szm+87bI0S0H!1)fr0->}vhx&kV5(I>(VfhEY#7Eu%3P z+wD(6|xLB_E1p?K09-q-pt?!e;LIk>>A*_~7o4vKo z;m&N$w(C?B5D?ldl8{%Qp37p?iUfSU8P1n@?CJSb`EtPuY-T$~d-rZ}bwOr6yW)%2 zTq(!usRjhPQ?$BBfs3_sA4<93XG}};PuL{${+$p5o0E%WhH8j6*=7l(;+hhdK+q~mu;H4)xSUQhcHWi)-cr#Tuotj0AD-;qB{_=37fm!|u|@a}hYjU~RNa zyMib6J)B$Ef*(tZJrHe;6wag{Zp*SEx>zX{V~muZi5*Nz$ua%G@Vo92ZF;h|4eWW{ z<;O~h{x;A65QgjG;W9$&O<{^PR!N*i@{F>w;NPe`Y6$Fa)KD#B62DMsCm+X+vgE8 zmIlgL)@YB@4+Pv~Xq_B$KNL`px@0%2fkBbK1{>B!%70oC^DZ@mBD%(<$8J}s`d!FQ z4&HLq19cX#zlR0Z-YW^QSl7hF&`>Izqrt;NI96(lUN(MF#w%FtM!X;YO7X>{(f1G0 z!iHQ(DN{D*;B3mlbE0Hi>qc5l1dc|bYutQE%vISr)BKE}a{WQ10r~WHe@p=d*-ax} zx$B41Tmx24w>pa8(p7}ZO>CE6eM4IB#^A7BryW!=&v1vj`i@U3O~;^N0TsO3q=!3- z0^c*5S}3;Z?3lAgKh2kn^E)i&IOoE$B4yY5_?u_Z0zq8zbLQ&0upcgz27eS;_tiCM zkyxR%aiLZ7$IZ8;%H@ztOki|_IX{K`Qw|-OfsUC}cZ8e9!9t?UXUsQZxz@)H#sYno zv@;XyBA*gEb;CWpZem$v)TMjEfaQyq!(lm?=Ay^*n7glbd={VA@7ARD)K2}M@itfR zDWu&@50z+=%l4O~sa8FM1RdzybHGzFPTWPxizF1kiv&gH$1k>~W^HnxHNQG6drSR3bC#Edo^| zEpvS3Ub&0;t40RyPW3+TLOp>gN&noRZ)E*meSt*=0qz^VmS^lqwIi<=;#qYZicotK zMgY+A>`*UxpuV*gMw)Je2lQVp(cb1>%@fTD#l6zxnrwfGUKg~h^U=jN9TfcCG>`+I zYUD>3um~+``>&-oI@&aBk=OO>{T{9Tma|21^YJ7^zna5>-4Wk($kZ!N_=+4bp41<~ z!s*uf_3q>P66@Y6kN^irqYvRZ4#n1`508au>UqArokA+HOz0#0#Xj^kGLq(@@l z$R zXnW7Ofx@$^(Pm2>fF&y89bHzr>c&P@k63Yd&e4r=J1A(eG!-P(t(U}~Y)q)dLu1xS zlF_@_La(*$=fIJJ;jRD=wTp4#hF~ZPHoe z@m1D!cV*)Z4ok)^lc?K0G{%!NWxy(s23*w2v zC!T#5UrbWdJ@MaeW~OA=DaWW{tYypYd}?7I0)yerI?z=5HFw67L{nK1=fp(TmRFNY zAM~GR8;|AY(@y2UY0LTI@Yn<2d4joYl@$LfsONt!8i@}5_|4G8c<$$pzz|j1PWf=( z-U<yu@|nm{WbsAWV+(iPj-%4Cq1MMb39e#2D(rW@W%#>ccu z*^5`z%pCKzHu0Vz=bDld=LXKy7hMskUSFIK&@UW_FI)j>uHn4qR=$x125FTy%BW74_33#~5C47?v2-x%zfbx8$Nq+VH^ z^?keJi^g&>ffyT4F!W(+2|?vuXQ0Wg=A7Oy&4dm$rrE3p+3aI9 zFa^7u#sJoUD-L-*bw*DjhR-)ruI6%<=W+e+YOm{>0@R*OYb1Zzz~&-CFB*oY-PUuu z(VOkoC7mZcT#;s-hLQ&KVvp}m>0YzI=0ABB7Hx&598iRl08hu{jKNbA~@yX~`>$3f3Cp9p>`jVi^@t`u^&Z64AT~`|WmOCeCoorhi8kGEZrzHrU`phQP+uqbK! zmBz^h29lhPa=os?d0xW+sTaxJ_3vSc+9j5sH`cc_JQ4dmo&2`O_~kN?c|0ucXu%VqJ4no( zJ6txBPXwYnt&pq2EN{s30|PKx&wS@Q<7wZ!Vn98ucLZ;^SqjeU`weL5@)-z9G=6K= zUZVK{P$@OoI~_iupSLja`<-f3^Kb`#$e6jtw9==8=SN+NG;r9qZyqp2Hgun89ONFM zfJ<&I)7KKyq%v7_?K1PDe1dt%xlj=eu&sX8+4eQjycVLT|Xi*fRRJ^cWlC7!HESHo=O=m3a{>dF12cEx5xx3&{#=Le&B;HpIJVNWGW8c zBQTsS`jZB9oia0D%a?GW3;bt(32}i~s^cq_hSAe_OgTtnk@sWB1cPgCA92)LVbE<( zC0A-JCUgS^4Uqxko}dtbw#j}aQ^U!o*z+8dw#N0a&d!4G+sR_8K=p`k?^p|E`HJJ? zM{r=MKkcMKjN~}?n->R46cKih&!?4N*#dPs$0lwi z@(l&ydvKng@bnXC`t65r9unC+mIbKMHgI_f=8Zm8Vkj_zh&E^?X%~`>O)n!fyhoU9 zRxe30ltX9RgP*@eex(E}K_4w(&d%4Mo?Xyl2qHJUiSEkx;Uq;s!O}WnOUhf22)_Zv*g1G z1l+}qU)}oSmE}rrqJzjQ-(5+em)$>4=bBw;<}p*$&kKR~zePUjwTvUM-o1aGCKM8bg$U<7iK5q(FmFiI@5Ubx z{KWpe#i2ZY*x|b9G3%Py<+_lC@~0EXc`R>1Z+0k@LZ^F60lzN)FsGgJCpcH;A{QKg zo)O71*H+g=d}Dvo{&lxU%=4X5rca6GbWId4Fc2Lx{_$iD=LH8L2X6UY7Buna>ylHz z(Nv|l(U-pkmf;~3LMa%uX8@>an8x4g*xcJPV}qmjuyI){nduRQp|;gZz^o7->NvEd ziJT}~b=&QBc{bo8mb{IrriUIG=t z@^w&FRH0R8NC0Q?3o_{ZW8N(vuqTsM%(l%E{!cMr+~VxG&mDBi zf=9knkJ|P$2J!$DVuKMe&R~1V^sGF<*ZlTtu6XtRRj)|VbyW4hxmZ&<^Rj3r_*fce z0y6%|m)h3i6D%a7!3+c#=kocoKcndMKabm#zfp9PeLVPqsPMwI-6N6(kVptf%$m{Z zi%oLR`e)@iA^tn;8hW~q?jry2?1Dr*i_{Q!0jT1BcAe%{@kbA2ktDcH1!6vd?S*<4 z&tMgU#C+j^b?^{V`+Bk584`s&I)32<0X5Z8H@u|LrJ=)_8D&UMZM>_8s zX4(UF(*Wu_QPM)lYS1axF@7z#)a~4oi;+N#@y(lAmhE|TUkDJ;g>#XH^+=}SKgGPZ*UF6&B8zGi&Q(2|!&Y`KN$CQAB zL>&gF^RROFZ=4SgpKh}^b9>)x_OYTn7FO2_wt?*Qw~8dmd)2*dQOiADT2lN?;u0CtS5aPYeGOlb@_^NnS>u-{tyh->o3f5g9 zzxG6lHx5_-<9ua1UFJFcAne3ip4I2zAQVGx(Lm)i_VmVGaw2k%zM=6|%z1|5Zx`L~ zT|}Efb(0D%KKDp*UD<_#zC@R*28-m6JImH;H zuKO5ore)kd^iSa2@UFBUucB}oMh!=5g-sC;=!laI=fTk=C#_l9RDgcKMQ?yH9pJ!$ z1m`pmNyg>S#chvcN4f(?EKX+A{hI*(Tft`5ak`eG`- z!}A*d7^97+STCd3*_v^&Uf5Fkot?wCb1c5z8$vyZK<~ER8$xp$DT9YHN&_c56r>vE z5o}728;b+R7*?mA3?4XDyrC=7#$kr#F>ZfvpO=(f`w8CVpS&$T=|$qjSD<7-fA0f7 zJIv>{bAey!=W}m__0%<~|J%LGS?;SCbr|dNSHtMQa0Vnuq~oVUj_wNtSQ5A+$B$)Q zLH8rYz*-igo(J)VslA~uNAW7GR`W-L(Ih`BuvB400kHs;&j7}d^Q256kY8gH`wQEe zB9bW;1IyC7S+BM(@MO1JzKu{RSQ_OKHA*iT%5ZejXYD@bF!1n|C{#f>-|Mqxa-QIK z7!kGfD@J=NEdTB8J(@~Qh7y5)o_pUiu8({MUO1UKQHcW4o&I9N7D)6-eU zhVIRU>uJK)MrcA6h3$h;zUxPhg_T?-l)jf;MOZHzr^S6KNc6zFzR9J^Cf`Jo{k%cn z)FJI`wW*+x9{lo<>eL1pe~C;pzf6p*Y3g9o4Glj3OCnrQu>?(JsSSDIBP z5b3T3x2fH~`8gFh-i7J+a7|L!^N#5r(OnUgEmRRTow9c7z=Y%2=yXW5mSC&w51$0( znxgsmoV4UCMoYxR!8*e}4YszNExeRDKxOVI(r=cIr&w?nrSN|oNe52JQ$;AKyt?2; zX)i~*FlQsN?<0W=Nc)0-Bqg#u=I3>14vKw3vf4zo>}kUF&uFZE7f=CDZ-68+KEvod zl=^EoRQ$i3T&Pc3PKB_~7Q03~>i-I^? ze28wfCuhGV@AUkrn2YQ~9nFUyuer~MMaKJ3p-f$D`IF};g0XN&8Wc&3(wjL~YrP1; z4MjoYnF9*i{q^eAW3SWgo3d(?{niyEWBbDieX<|<*c{h=m_q19@R)&`PA8v@W-v(K z?Ut^c@5$xopUr)d~4NNw@gQ!1|40pz;_I?oFWQ z(tvNZA9{S^ff|q5c+(zch^$~#N*$7|W?KeKc9qT$c;_y6PA&v)l166ui$~YpXhEM! z2hP9Cj+(#Z(pkJPi@q9U@`OrucTc(ab^hobN4XP6C*Y2tX`RYLi}wHQ7UK8fPHWTE z&+TvPXwG?6Q1-+A!#lm?#oB|Q2hxY%3AedVp5QT+P`n>^3Dm4_xIbyDqWuF3E~USF zj!zpWo-aykuNW^=9|KkAS8r|j2;9)78&eB!y>5ZGOO-X$o>vlX4)D~S1A@6Qj_N7i z2yv71eh4SRm;0n#DSkECLiaKEKc|FrP{$t>@4ooGEEK&=fqF=As&>1_-?RNGFz=cZS%7l-NuZ>L74oZQkkNeb zWl{VtN6U|$wk@i{*oS3YGLBVtfv_Y*a|#;rO^6|*@?7G`zg)CBT+W)oJd;P z-yGx_q#B!R#&wa?h7Hut{!#6YC+qo&COoj}=;}|cDd-KFwdu5yXQ|?`pQ~8}x53Ji z9>UX|e2}|`m#dqxtok~=WtfRZsGs&9?~E?!gt6Epyu2+N% zjEaymv3MX@^SJB4WCFzTiI@7o=dMcWoNUSj^YCjRS+4iFgi zz^sLbMht$w0g-#jml_BnBS`cg_Uq7Cn{ue%u@n1hIVy<`{@YplP*Skv3Hql9Q8kWe zXX*8s5(Bu52hTC%p$u{5=H|p*TX20(Q*@2GLIIqEm-t(^%heT(&f)9J{dEEOaxx`X zciB*LLNP-l06e{k2UT5VDH&R;z69isp;cydcyH!`jrO;AVLo_O6CW?Aa+ZI8LTWY4s zr1)b?a}#-vFC8>`1uNW%;Y}s9`%zDE>&$(=Q3n^D)Eiyw&TN;I@eZPs&yLfzsca*q zC~`tZhFn*&;-tvW1+S$jqr=jIVRaftm@I(jbd^tkV?hqOtNvBy0u<2czU>bJ;NUYH ztEI_2X-Df{uH-@eqzJm$KXEG%htSx#E`xvbNLwSPaYS_(xUYi%?H;DVIAUR(UB0i~ zcILOksappghxLq8>!PW5^zsA*!BINDzn!m=78^Vqjj@jz_&m-50eW4}ZU9x{RE|OI zr(3R4HY3-2;i1W}u&@NAa)ub+7gyl4Ex(%e#6jPZFQ5yhb0cKNJ~iL;802|9w^ z+4l64;NQGfpSnkRCD+Vj@RC1vV-smeJ8@k$<~Zk#qa9i|`tr-uf>4*@TB>`;RE<^r z(JTkygO&-}&SPhCFl{7kKxMZTRYn=dohJFd26BTywnTP;KFvWufVNQBr=OFa&_s$3 zmn6PVDx6u+pMy-^nRjKMm9PvmET&8h;1F;e`{ zz2uk9y9E#~Vw0me)P50=a}(QIVmCa>SKh%vJ%kH#7xi?-j{Mc@|5sx<>P(y$w^H3q zmTzS!zuAF>K(^Q35nWBR;lKhfL$nx5cV2X#;Y9U}l5T=T0zdp?r;!sUr5^W=jvJ8D z${mdl$}MnRRYkvNOfL%_YxZLc08(Ym#!U7yXR{UjR8R$mJ*$BR-tQ=eJLMY&Y6B{GyO*7^vk{ftpj8r z&Yx2|>5S6rRf*uHq@Wtyvjt*pOA$;P?A^pO^duCAM!^n&*!)yWji=Lwi3 zC2hvp`f=}8-&KJKYO>eIBcsV@EG7McFa8F+3NAPr?7aE$?xU7;S;c0i*}{9u+@0Ie zqp)!NANBqzexav_oZ;~^8p1L`v7fKQ%G4E*5Wf%J(DpYceem0Hq|8_n%!=ltHV)+; zGNF#NbLAtb&iFYo(;A(N{}-OJasPB6O*W|H29YhqNX$1%!7~~2gCcPDs#7L`6F8?UiTgifzH~F-=IAmq9 z!p{R_6SaIC*9%;JgyHbZ2F~HAJLUg8>bki}4jkT_1 zxiC6#TM!6@(0uSSLxI?*Dd$sVd4`)><+0n5WO-)Q58es({rr3UzWn?6)qvXWBD|Uye!PP2^QXDTSMKSV~0i+A!{OU#>8sMFt&?iU&TDAnv;XoJjJpRH}U>lOF_4*v;rn^sn6FlPJM1gpd zsWgwSV8G2m80V7woaNf6OKO(0@2tT?`TMF~Pz)K=9dm-L#C&V0;*FGNK`sKTX{iV(UD82bgBDh@ORSR%p0ux1%ZUC2+qwBK{*yx0tq5!fsY* zDoI_D53gyXk%T z-cIa+lNqjXFmP!iOkY1^n@h!#PV}izXH}(|#TI+BVt7_8=WIyJI8Me^z^G7H;)lcz4T?q3tRd2@AGbf_ z^V2Z`IPh``qV;^A+VvCj${f)VmtKn%0%Xq`fo3NG70dHpa!MG9S2w$Br?yt-q@D;4Ic?C{xgSQ(4x_)FoTV5b1a?G=O z^QnS_)MMO258U&>`x|q%YM-hZaZ)r$an4MMlOBIvYJ#?cLvK<}(%u?^$?lOM`zG9l^>4U> z`&k}xBm7^RG9{9Wex!UE&EF_Ibe^&sKJuUG@I|xuQPzAbVXx)L20J$0&}*aU+LmX} zHtu>rsc`0!qp1f+11A}_UfA47H^c8Mtd6*K<5;S%CVj|apPCZ}%e@A<>P*2A6*snb zPF7eoq#}7;Nfv-8x-6Ew= z1Pc4iXIZv*D%;;!vZeoS=&XN?V0m4BT)V`sp)Dxu2%E%tN>Jk?U{({On;u{LQ z*(Q!Ojx9R2h}*<{8f-5kJBayl-K&?JT}qU`qgQ1A(G`vW7(P7o{9RQc=jxC@E)Y57 zaj{2p9lkHj5|m5s+s4O0M&dN3hjys&@%X|5h5wdfe!(KLse+1c*ut(>wDwrdyx}ia^#W4MaFX@-$l`#x1j?9=? zsm2Ad!&kDA@GOFO;i@?p(Pom=?Zh6-Vp+V`9Uh-5Cp$icFJ51%VsDk8BrrVE8aPTE zsTyk`^g;QBP=()dwh#z&)u>TE-sEfzq?*(PmzmLjVk$1znN0rpf$lpcf9%6V_>pNV}~R~ zZ1s-Ao(kGB3GhOS0&$gVoAB2BbztLxD zNK}kUY>&|Yd_Ef07(S{ofp|xxgE<45|!l$@xbQYTq4h-mvBu zm#3RAc0*ZgOoVDJ_#TE`FsQQ~y|4F^iIEL^j#P%mlHJ7${7TNeE)pzH&B2&3r?mct z;rCjZjcp$O<*y(29c^)%fvBmTqRcfVVxhl4?cJFfJ$P1&0m9XD(3jY*K z*#B+V&n^;Tu(eyrmGFg`GJlEoY~oAZ=V~4#wlasgG~1=ab3*`W6YjH*^185A0+oC` z#dn3H7zNF_sgB{Eo-H%U7Q_#}nI`ihnBy-D+)7PndE=3dupSi%?YNL83h$eq9WioF z@kKTDhX-EKV?CT3*zPWjG9#(K!UE4wt{-^cFd>kTtjaT%=srQ-Ey*Z%JKiNX3}l=t zDsE{j7<`PD=ky7j34V4mYXhM}UMS2&Co~SKk%wKlZ7rVkog*?Mmpb7-Xp#fGFaJ2^ z9R)gPCvTTm%$*g+hJrpP|8P&+n+qTW1fnNeVYgmS@Y?SCMGo%T{W>*5O!cP&lbu)n zxbA-E(-sm_hh;~Ge8`@M+|Tg?3Y`QL+sX(Qm;0U92(W8YIo^(ZfnC&oXNP#kFUUC1U2?3~ z^)OYxX@j0Ybtq*95-R>W!s`-Ul#t#T6uA!$c~oGa$lmKD>v*`I;5IZ2_J;9m4kL8$ z(8;aqS*eviMamL921`dYs-(HO__}cF{JQEkoO13ZD5zGXu=}s8PV_6=0HkYHmJRxT zPJwV%n#Tfl+l)0k1+4-d>mM(bZ`#(=ZG`nuvE;-F_1s3yYj@xEa+(FZ>Y>2>=s_;poCG^q`wRed8XezF#FC}+IwL5y-s^ONQVVY>> zzraJnDh0h_n1&E{f)p2X!?dc<8mJiyKP9;$vEBT1`f))_@ytWPW8FsxC;zkIpFCY* zVz00h?~}7YaV}PWk+SmHOh+Vep+9d)V#Uv)2W;4mw6IF8Y3R{UzjjCD87*~?P<3wQ zum{WJ>txk_NOa@0RAha;2MX6Vy!Bu?dxHrE`<3eSIaBs*g~ zSp4BX)Rr7bK)Q!n$C>Zc$&FiCXvMu)pxZl!76&hMVcRjMq)>zq>R+ila`7sy*|Ap9 zCVAeie}T>hZP+PauVO^M;r2%ZX?{G6OUt@3BWtPlnoG%%+w9Rd!BItWH01*dghflCxc(*P4k!8$v!#Bd`8kG5)Ly zGMeTF_i#Ue45_@TZ}G1a`|xIQ13!hw$d2b}XDuooTiA3;oxIp~T>B1wvq%xNh5Gse zAB~8rGA^G5^+5LB+7bD=q`=}Fe%{@nV;-oBH$zq#rxp!Cmw1NhL?#C0iFgnm*uc}- z#Y?uTG=9S+H-0=|m|TL5hM-D3^x|>lQ4YL9(YGWLe^AFH+=rIeItkJqR3BBcJCR%( z-)+HAuBH`sGqBx(ITL7uv{Oz&Zf|afKDkz>(}n%3PKbI-_NVgRIl~7WzhLBjvOX*# zPdWmqR#r)&x#;5^nMZk_paNG+a8aKJ_U*mugwF5m0l#3|j(p%9c$Q(~&SLz^)_!}0 z#KZ_<0*iDHJNOpj>HfR6N=9@j$qGQ}0h5PMAGZ~UEp+dKHU(|o{S3T6WrfWKYm;EJ zrz@<=UVHNr#q7~Ok&(qbXDb-s=H^wLNBX@OyZKgnV0aUz+>s}0NQk((d%^R`ltAym$ADYUm0C=qQb*W4p^A7)zJ7(K(3nE1IMQR?7KGLt8%1V7tp7qLj@H;RSQ zt;_H!JgI-j?x9b=K5BthtQle}<$9@L3q1R-?mTKE#VjT2UZ74gO|?o`el^U4R7U>3 z_Ig2F8V!58o04K4+SH`0$i(UVR-<>C*$0zGwOiOW(@1S*mXTYYPr8je6&s5`9Uxs* zY?abx8Qkr)IAgB^X49O zN%>5$8&2T~_}4nttH1iL`=LOszy$k)=*xask##X+-ePZLbTny1Y-*+H_bT@jBe3&6 zt8ArGK6NNVT3tZ0H#9y31hk-DJ%{Oe8ZedF59{=13noHLcr>vdMuRf;zkaGMY;GDlf-ZL@>4LQG#>PB$# zQB?|iR@=|)jB`$~t27M_$|1u~qT}Z-3(9%vcJX4sCDn0dl18gmdA-P zVn^?JV4||(dA6%ObYgx9Q2eYQ$hyc z_-5^gPAM{pEZYFIT^$7_(*i~DYGc;&^6Xw8E7~;+P`wklTIo=FvrKs#1yWG5vud zl>B5UDMgcYAmFYG<}@ML@xrkCz(0Ld(dVz?%n<0C(TVRqd+`e{#W=|M6o(r`{w!bP zrugzc^eqm~)WECL;EpJOkq`j&OPsDY5SDZEE&T@^Dq;Cno^*)G0F>`+oE^7WuN$aO z(=GkUE&UDJ{CFig-_nw*KiRY3RWQk!YwTG;Y&-q5Z(5p!>|4IBI(w#jSVIa!B}oXq z?Q6VeU(qC1e&*2fnE2x?v=UOI-qs}D;gj<$)0#Qr5x({L2&R%D4!osizT9)5R4=By z{@p`WbrO7V={=JCUCV9uwMLGkU*?%ZJ-Z|yTaD-jM=-OT!=lDep=tp;%FJgSK?8CB zHgAO=m9>d@WVe~8wEpUz%ynjco;7OLFgo#Nc1HG>$|pbII62AmZlM8(;qXt`noD5z zPbFb`QpF%T=+w13Vuq9EuU%8o>SSV;11mG$?1XuM4uX}ebu8vM4Cp7oo zvN^ewk6x_k38J#upOY(ky>gsNFOpyCrevG#mFt?LKUH1p z{sLF(mE|lq!&quvMSxr%ck4zLs;5HsS_Uhz%IlAI9-r$iYW5W?K^*xcsk}+`1H< zZ$C1BHJNxc6K_b-@k5KR1J?z<&d99vf`q^3SdRz|ybu7J#hEm@COof66l}M5TWS;1 zlS?HHVnEg?+qQJq)l7rFcC{h)W@!Az5k+I_GQ~f)(z|rL9k`QdnD{QL2vy62bR$mg{3KH~bjO{|sd+s+ z$a>@{2r3U5ro>8ljMlEi2bBjYM(`Ok=E&=1(c(dc1V1YsYJ#bd_9ZoEpNAKVuBLGd2TPHFC>73a>8TIf>_6=W{(Zv*LHgZY_wdt!GIf zRJr(dN>E8rv|ItOl6VY!C=_s8?QqO(he|Mo+z6ka_ z6hhdTGIK2T<*-fwK_n#^xc_~XL>9Ww_hY27Kf+*b;VkyAc^fY*p5|3DGGJkS5w&WU zEvk$N#KK`j6^~+DmUP3nAC@Nq>%b#xfUZ;JtAM(i^tL1ho=GUGk8Gw*_EkhS1@&V` zo=dc2K0|fL+BSu3r4HT8YE|ga`9}${y%8DC_`%<`@wq)&Lo*aMo?dwiYDC4-UKh%(;h<4H9 z?*(y+OC)h8F2=U@f}+;_O7VLM`)|~dOcOqsSf#SC zmvs4zY=qej)pq{U728-A4l9HTfMQs~ozj4rKqL0Oi%z8PMDV-sN1p;+pc=6r(~2}g zd;(mkeZ>3tPQIM>#X~s24`bI92{~v8P|lQl+u$2fTTB!VzD$`!-ia+7L}5k!R)non zXO=+weq=DV)m$hyT7bDZVnKAbd7)AJT7qgZ*xGl7;j%ri z33NxHaXkN>!IkyYWmyabBH*NXHy9A`9z@eYg2qA)hXkDk6Lp*T^y+@TYF8^hzykU@F6oD~1O=P?d-Le)_1rjp+m>m2iXq64IA+1et0YWp?-gEJm4=*cH z^8kR~+o~-f;MjE#=0^u@G%0^x*7;IPL%C4nd@wWq1xKa@4Qr=x+sn+`d9xGCwNoW8 z?~4mvHhTNX%v*tBJcB{Gq1<+0UEO@t3t*yX-AGN&MrF;|gZZL6FN4nQ?k;*zk##_qUh*O#u(%CGw& zS)=YF1|iH?2Baf`B{Q~EjZHi8rM)s0*6b?UQ{^F)oY_^SSZ1sn)EJQ9Lpv!TL}eF4 zey}aMzwXq_5u}$0Yiq-z{8zt9{W=o=Ll_51OudeN;8CRK8qe-%#-FtH*cxMvm)B`M zrtH+&!rv%vDtOsnm#^89ljfZl0wA7w-FSH`#W6|G})- z_zrY?0DzFF3F1pCeB@mRQ@%KIjRV==+)zvqW-B33Mai2 z>!528!({ELp8Bf@RQOZkEi}pCOm6yU${I2P3IDlRJIA7@cAB!cn!q&l*C8QXoxB>p zcF!({y9|`7BkZ|cT75_mub{$*68En6UC*m`-ROy8eqze&0W~Hpz#NoWzMI~4`)=wI zJKhafZpApy^JGW`(0!FZ2N)xNXYA6%Cb|X`f%j!X1C{}2%QZ!Xl}*>@e_l`;Q$r>=+{P+_YKb{7_1+% z9y2+Toptc<&syOC7e~n?d>wKy0D{VPff0sjgN`dZgRor8wMu1bz}Z^*I7p|f^6GjO zv*Uydm-(wEu4C>#%lDf}PHgm_GQFh=3$jdp~{v1=bQ>CVs z6B`H(4j?ncL#Cs8Kn_*eyHU!TyigMqxM=Tv4gp_3+hb$H-0M?*#iRkf=K`Ky|Aq~P zK~@sH#07LuPJX2A;F^k*<{?H80N~={0^l>oVHiFxg#z71qniE7y>vzf=mUF8xAEHKnkm2{;qAq3ii9+ zD1bGEL|r^B1;1^igS}BQCk@oq z3-BD=z=zLB#f-^|skw5mam|h1*Qw)w*`Jil*Ho`umdO^MKoevFBBC`uOIKsuE}=)o z+W*^J|M%(}`yCJMN<{ZZ{DNr(_XoJVBnEJ;#o}zQP)H{)StZqbUA?i~rTUgd)N*HU zG6^Q80##*F2{Gy2ydPzrT#P|Uc|m87>{`qZpNVRd>xObeF!;vf>Fa|&+4FBDERcTe ziJ;l8Xv~tf%~nh!eSSK$>^H=qSCXSg3{A53(y;1rH)r=ofvJ;}twD*JP36&>$NPM5 zI#JbcrTL?Fm$gucHd20z?$<5JY=S{Zn3#k^uPd}2>;JO@J^9EWXu;F@gDpgDp%Pw1 zl<@@e z=%ir&fo`2<90yMK4mtX6T8AeAYg|k$9m|Sw&x*1nHf3&qgHR%QiYQ;x`{SO-&PuX= zo*M=3@P3t!HXmc7%A@4Q-H(o3D9njnyBPzGdbxtbQ&E>CUI{{9xJ%6L!xUL=O1&Qi z9omjivUrPOLsnYvzg!{UKI=b@CJm?NUic?omkPr4q5LWEmP$zcm=%V7xZzUF&Z6^J z>Na6nJOG|;p+E9GOFEcIapWFApOZZ_p5eJy=JsN*f zi=jemd6U?B)=-ljHU64u6Wr&|H7X>7PV|%^A0y$f%&R)LvZLM^YkSq6)&8}L_YqXG za=+WwySh4As&l%`u&XMvzbo&0JV>Yf@(GU`*TF1)DBB;eyx}B4+rAxjaV5FmqE)}P z)wo;0Him(WUZuQdZvIsUH8NrY7w0Rs(T<2gdcX&iiY0}fJbLa30He_q3mB}i%qGgBF{&bYeGKicS9w4;S(9%y z9uWD_=gk}dMGzQf4z-y&{81;9aJZR-!BQcJ5ThAOx5tE`x?(2M$0;E*wzA0X*}aCW z*faMl4c-M!_=sEyiT(p`giAJSp$0o_RLN005gg`YKRl|7-sIjmFxgDhKAZq$hsC1% zZqpo;FkqF&sCduXQX3!zQLHgnNCXofa*>t_TALR30Ry;PN_fO&n~L6W*bb@0Gjb)=1)02f zVR;xU@7HY%!`Z{huV!}P%vNz$IFu!1?Ht0(Rnloi1E9iFhRXo*{u3YDLp7;;A8FJrP#@|+Y{;a8>X|)uX zJQeR5l#yCXj6ahwxH}z~@NDetumE0{14=+-esZ}eOug>utkas&hA=*p zUKoSr#UyU1#a1NL*P{f;h>NO!kumLYij#^Xdj}vDb|M6PXnM7x!jaXQ@V}!VL}2*i z@flT2gC|6G=vu?&$&-R{Z20ue&&!Ptc`z<62$t9Dh5-;+j+%5hB0^?$ z)zKlXIPD300?n*hQL(eE^0(|Xj!oIpz`OQXGl0t5z%Z@H@GEf4apM zY60X7gh=H=dOq$%-w17~_7BJ`&|ZO2U2 zYc$)S44+);5VBkIDbNC%;3Th~U!Ri+>=H#rVRPd+9TFr&j?x z6LQ29%t{!*$$HDDk?U?cb8P=hS}kp>b#L(L$YU*)`RB*r75j6m$Lk*c;*tY7MCtCOD{Ge!zqMo{&+WevxbdDG zJIta+ov6F6>_0bfuMU5olA~L45>w_e;6*8BTwW3bf}GOd{3PlX_@nV?g;q8K`H`Q! zdHwGh=nhKok4w;C^RyWv3$E_T*8Z(88>rh* zmeP|TK?wtuaB=!L*?~G1jYuk_a>JAA>2l*DEBCmbY(?`9ew*R!`y9?UrONP+pZ3g% zZg;$Z#ZRRSn@{On*4!eDlA!3uweJGX`^*4!QyI2hj=1j)8DAt}X1{CL>nP}Q9A{Ln zIVln4bw?jEugs>`S-cS2z|Kf%>oqXQ1vNw^PCwc_J{k@*l&-EZAjkRuudJV&eE5>9 z1zF|HigV+?rC=Ygw$zc;J-G*#Ykid0fJ^-m@c%PSle1c;m7hJ7@XQ>6Nu7xzeC9;x z&B3sGyfh)-OHY@Oi)J@d#Xdwu%hV@)Rz<-mh%j6^wge&p;mO$qw;@oVXU{INMpgqcqiUBD}P9p`N;l z2-4jvJ=8}v_?&4AfBjlwA2w|d>vQ9@^sroprWhu@o%PTnsvTZ=n^Q=9qWI3OH3B9+ zmf600y`gUIni5K?96P{JKKvS)+Op1f8Vh@Lhcqpv6n0KrvO52m2+6km;_q+ln3?>+ z1XAVu>dMFeo2Rfe%6#m~^_P%6C+8M3B_-wNbWh*;dMHt_4avyc^^mO3gH)&9CBjg1 z+N}rJpFg_c`W^}bY;?u;12gsEGOLI{t-BwtuP0CZ1l!3eNxctys{anG0X%o{WA2T% zwVkw_#f{GDtqG8wf0hiEB|^*NW5SERTN`Ti7>=#Hpp;p)kkGb-?@MLfuf@f@E zQyBk=J^Cj@+4vM!x;uW3j?q#0XNO}ckqsaj+kJ0JAyJE;3z2Kddm_QI4TSBq=SsMR zIAPqe=TUv=Uk&7jG#lAre!)E+Y7Z@pd-faMx!+lS)=vk` zU|vbp?Ojd_r9H(B7=CaKC~Wr#m3^8J|IqFo-q7rM0CE9z^Qe~ls?oR%(Z*drQVZo; zEuW|E!s)mP`%4#tF?k-ilel>w>}}foyM9kmU_g~nCDFNFeek)J$~z_QGU;+a(}Wjq zD`mNs0V7V_k)&}q8LJjwCe_#q&r$ndo=SO+;)!%>`K2bQA&hDHt;sxYN;R9N+COUH zxQ=!vo-`PD2w^5oh84TP#?DVLBI<)M-gI!rr?Glwow2xd71)nBT3jEx%EU)XM$I13 zwV5=^-yciCz)a4pSSOX3!&r_8h)U3k0{QiyB9=<%hUyIQ(m%-GBzadjxu9^BR@O_Y zDJ05)41S{VgidG`v!ssVKV^t7(9JmhO|f9Me6MM6Z;^hy`dpL@c=6{SXc)tRJ>{%( zk3!zq=K^;UV_{)Uve-OL?p$6TVH%p~zb$O=haIP!z(5JrZWsoTrKOSEjn>vk%+4z- zfQVT;A`j$rkN4Q`JqFSNq3~m?n#bjyK=joN7|~(d2Ixkb9__xyXA4V%iUhR-Nf(CT zKp9e`lwb2mq@W82&z6AbLjM(0NC$YQ~E*QbYa?J}Nd2nk>l zqEvT+;NP-uYO&iPZA9`l!J)E6vLZ+6lN~d4fjjBl;AQX5GkMZ7Vw2wA zdtR?Uv5t|#oU3=rjG49F!5eT^R4dn5@(W9%UD+vJHtUq}uA-A@i{gev-@yT5o)`;C z;6E?KRSIvs2|bcc>yN3cOUSQ(_%P6MqV=)mc7~G^@rO2W{hGdv;E==W*+l5J3)AOA zSi*i>WKwbjjRoceRb*Htm%KrhJm!h+FRi@cPhZq$zrVyLr@V6B*=7TYn=x#z=^4MM z%*Ua7YV70gC2{*tuPA0LRGb`HS0e%hFBb~|tLbq3p%8C3MzD+yigm351yP8}NwCiY!bAX3&qSDcot%LH5YT@`#E!1b2TUaO5T52>?GjD06AeYIv z%zhlYnpv-DybiLE`&?V7T+`IL#9AQiU$Hi{&=k3MFXsrN5s3i$wy*&P{{!!AbASX}#<8aB3jYm4aRv4pm3Fd^(0Al~(`TkKxYqMx6 zPt>p@CKAyWb?%kuA1+_7g4@fi|K4MXYGjDPZNIV)BmiQ(-cbU)zf!3R-L7J3NUqWc zjx44%|Nesw-gDA9YIVAov1PJ|ZCulCaN-gP7|-nIShEvuYL{1j#N?`Kd0}fJ?y80x zjH7V3V=eAD0uPiWTa)6@F68GeCfsC7RffC4#>we5*?k^~rBE88`Bi`Z+-rp~d1b~V zcpS-{`biH%+2}deHpf+7txHP`=W-%@1-&eh-qoUXR#avr!d&QUy@!lB^<{yC901Vf zo_U^Uu2yWf-;ARyb4&hk^--c>mW$%|XSfJnzmqh^f=U|xY@j`i&CVS14?nl!txYEA zIlwlRwvI^p{uTD&oRu$XYj``etJ=m~&#Ncn-Q{JfU&`HAaxAvbysmyI^R}5VfHa|o zNHY#4qr7wGlri3rF8^z)*&|y0%XlU_?UDc9`Vk?AMw5*an%*y=pA-aujkfXK$G;`{ zyB0Cdnc++88~H0$vb??D4WC%%Q>FKT>nL@2MpEFW467fq;Nq`|0@ki6qx@cEXr)m2 zti(8hr^mG_Rw?g`I2ld*6h<|*U(QO^Sq3^X)<5b_JIM;*TFQ^CH^!C7Dt>Fl{%U-H znkF40%7s*8j(n{fdXj03T4){y5%Ydz~a#ayMlZ(VPJ2B zu2?IK_R4iXAOha(il$se=VMd2t9{*@SM6AWi!$}P_A)Q6F44N@IFnz=PFbvAVd)Tfd|b?Y+FyN(uk}T^vjlm5SV5R4cVb7& z9(q~(Q>0Tt0*C=-X&+MPCr4A`3cJ990HcceaC<=$I|4j5M@vqYs;2Qvuh-Ws;e~K_ ze>D$nj1-GakO6n3K$ZDK#ojirEF2*wupS0#sm%OYqjXkQV|(J=$5;`HyyRE~_C=HJ zFszQ5FsL1gn&@xSn{UUNl|WBY+LwoxXA|ye;_G?}b!zUZU76H|+c1|nZZ3E(9!0M` zO)KGy(_ch>;t%Q`HQ4UjD|h;HdSeH0Q|N5Pa`g7i7~9)V71ly5co2OCCj_{9vPQ5A z2gok-a$^hY=K=jB27M5z;F=`Fd<;TE;)$O_7SKjJirF>T7VxUE_r1I7@`4i-7Io2o z0t@R(is*vq6emMC23;~NJ+Xaims$N|J)1}HCIP!fe_RHT0p0m(VrfFRya1!$1iaX^ z?9Gm)LzaJ@4}N~j>M)jkm+P_P7mb!Bs#F?jp@d=5*D30Al+U>6(*9FsVy+LpeJ6#Z z+2)L4ACux;5uC+G$ir)5-Q}YzWRc_J`ne{C%1d7+hS9(#gO{8JDN%N03}W&2#9;Ae zXZH8viSUgMR1O5C&A=GBiz{;6P`pKJe_QGKr&Wg}2M(ReM9@s`fG4S^4S)D8# zwSF};;0g&YN!ec8$cl_x7mm!-B<;KCW_aDPU>)2EU(8~_-VA0Hj>^=^={~WdcQ{%F zIM29_;_|b!SO6t7{3%pXg86FD$j)y6>kb7)V$y$SToT#C=sE%*B9R5f;ht5-; zWMSZNBK_c=ldOBHXp6G+(-!@*VP16{XRQZOjYC~+1`et*7sk7gjnqujPj6xaBL;l1?!>^m7fSR~Kd zwRgV0zJP$5ni{x|seS>RWJ~*T=?Y)6uGM#ozQBl&=oie_G#wV^{(2PqWr6{OuszsU zQjI27PWU(9N&o`ReVe3~>4R(^AO* z?;#g$fU#G>*HNjRoz!+_q1yXLRu5#rCZhYs@Pk6l0sS(|R)4hz8Q}A}Ja8Cuz!V|~ z3-CB|1#wh89+apv^M4Y)_kYs^1Td-WjEBENP>gL$zL)uAxu5+WrT%v~Ur*!DS} z0vPy2Hw?<%@-yBc zQ!g*?Tmt}1Id#|owukki&*Qm*)ugD(KV6iRC;L^{O1miF;J_2PYBWu^_3A8qu0P>! zTg(D!^thIn^XPZZ$;0`=3)ZDi2_mO`MWFji7$K2f2?3^O$=M>tnt!{JT9t9GykC_u z(S#kqtlf+R*WC*r^-1ftnptSgOTBE@BK3F0^K8vq$ogM=B$|0vl?`jr`X>Z29yILe z9BDy$PXcEBUoUgRH+VPm=3GL}HzrJ4v8pRY6K-mw&R(4pnLHE#HurVG@~Szvxp%TL zsQeKGxer573g!&hA!y9Nc~F%2+g%0U)W(vzue(^y7&z`tnz8+PJ=h!_#UedffQ$1x zZTsEwu{`nb74d292)uexQPG*E=~1pZ%WbQFAzM*ESC>7Zq0fo|pxf5^uF&P4a)9vy zXb%hy6u$F&Jga8zPW8XXiwxx#z8XpNSjax{ex?Dr9VOFX>1)XP=t_qN~o0gHX! zfd_XT7HhmdsnULfvbkp1+3UUW+yrb20(w1iNIurT&UlPBX!u-xYy3KAZ}{KOLX1V% z_U-OwcmAES27eG9?si5m2RG7ji z-t=u!b~-Jn_ATb@oj1)6^PZq_@Xk(+uHoo2Hq_n0niR|!F)~t^!+f)s57uNfqQ88b z`a)2|seAlk3XwyOZ?5HBw?;OdRKt`};j7_TXLBZfo9OX$U&-eL^uL~x45KzqYT$Ew zU5P2(I|h%`_^*4V%HrV1!qc^Y&vG-P1|seJa5x)M%`wmVdn`8t*KVf9EkqJ@|E%tWTW zX)X({_Vx>${D2;fOQb<&+{lmhiJDA@trk(IMA{ zoTp&eTud(|B;pP2ydpHH`A)jAtlpc^VqubDNXD``SxPlV#vl2wm@V@R%|SXJhX+?SPbJH~Y_+HCtqU zm!u3S5Fc=CoQ^wx{VrUU<}dj<;68cq&)z2K%Xbg};fdJeF?nUjx>{GQPm705%qwE? z8E8Q7v49$Dv@{lc@JXZN38;zK`L@ffFKmyJv&ccDL~+oQd|mF*cPlWZR~Cd7xuEY% zys^k@TxrNW>v$ek#Ov1>!sQIw8i9YVaQSbIL4?3H=2dH(olepaD#IpUY>ZqMlRG0W zH#ke$JJR$1+tI~Kk&PCQ%#ezmhp`%1Zt}F4hU@elNYs4vwp?6PC(ys&(&y#x*^MW~ ze~ZeK5Ch@X>+9oj&|FKv4_>k^dv(bc+haEX9s~kS%9E|Q0kGqWcv)&nV;xhjTp-Z@CjMdBb%6tNbEgQ!r_nNgEFJDI_3FrfQLt8$gfc*>uS*n3 zR3~7tD|5O1`5XFS7f|DFO3F820or_>!o^Fiwsj45bx-NsyYou+_RjaI&M;kF4}6rhL^Ox=jO8eZApMKw{LfebB}vE< z-EF@TaO%7*6^%HC={ejn@5>wH%3BzBG`=n7FTa5+(a|kGQh;nnj);AiG9|nik=;@# z)qQ-f5E`tJr3Z~L*kfIx34oOzx%%Sslp~p#mnXgIb<@`Wwk+XrAe9M>odlYqBtbHvqt9ik=}Lz>MADFlzWnF^QXmYzU@HzuQBoaje9Xb_f0xSOf5m@ zLlGe0Rpw+(_jjNre}YIzCte}@XC|zOoP+nwzZZ1e!moej4CxVZAcuYt&16wg_w8Nn z0Jkwek5()>Z`Yptf-?a~c3nGAKEN;}k<4j`zEyGd$1CrVVHu9f65+=Xt%{Dw;oFY3 z7;Cy&nStYxOAraSAW>J6X?B7*1ms7?=Hl1?UW=$+N$9rx27wF4*2iPX9Ubz^^g@dJ9rvm}6+xLFMx;pp5v)yYh zqd6(ne!YFTBB__Yk~0Q0@}4QCwonXz`^%qfLuSyFBIcdMhhE7F>GgcI$1>F@)K$9UbEdO=p@)1m~8~AqnN7|&ztySAO zaRu@q#B|xu5cF~#$J~>;(TUras1x#dTt(I|v@(WwcPoi~-sVhnwx$BhMzrB8MFvgL zY*cFbn!EYDTro*>>~UBF(t>-=*Vyn!KWiRqJiYDKEj_zGq|DhCUetw0iYKTuFgA;+}e(Q zl4_xn$@be(HVI}j<;F7cpuZVs^kVFk3F>f4VUJs0Tt z4vz^;8oTm1k86$)^S@YHN{tAO7ejc|fOLT53KL(!kl=@Karsz5G}XHnOR5kaNF!LPu-cLW*KQn4r~R@jQ`EIoQ3eMMJi zy0;AnbP&{a|q6xBhffaP2Raamp;HWnBCWmB~|2&)a;k z8GlkcU+u^D7rq{VwtX?4`&+x1$=Kw5vau+we|Gy*K(bJ$btdx=)N{UE-JV7EBJh08 zy5L9tfW#dlqJg1(Rz}@a0f&RIJu1cBlkDUs5;yq?k#W@;?+SmsLZg5a> zo-bW<>&#Uc9dSg#!-!Sk=<*=O5lx$gBt7vVX{&a9O2PY?T8&Mhern{|J7|aw_jbHa z<@0!d7Zk7^no0rN3Cy!W1OVQ4o@Xwy-^1fczoYPYlsP89=3aedX@labIWNMj2QHd` z-1qINmj$CCm(K(O1Pl}K0OP{ySXSA?L-%aDhu*&Hi*Qzxc01ipf&j+14ibE+33#-7 zd(ucUv@%z&xwjs*zBHj^zHewZDD>f}`YgMrOj;RdZyAT^?QeI5X~GWVkdF8AN2LsU zL^sKU*{=QWkN<{;K3qEZrs<1X^$m-5kZ&eIjt>=rSAzR*x$&^JR*bO|c^9D7rT? z0U?KRY7AHCQCrjLVqXOlMV)3^Q_T_51&?UN{4RKa6lZZClD_VL4}O&b2FMMbwaAe! zkP_3fSpA*C^uG`){Yx50(@_!=K~-6ZSr!Z@@U-sUnLH+k^TF}vhnlrrN53laV!{1f zh94`A^@0IoXJQh+`Xxk@Cef7=g!}as4aDQ_&#B!?YXLO!VR*KVDR4jNS7~=UO(u>B zj>1VkL)mB&&$33WQfadp-@{O`HJ~bkBjJhYNLr{c*Fn;h@}D{44~ePyKKK1t3QmF7 zabk?KH6$+iJ(DJ%VNRkcOhDy|c&mL*PXMGS)(eC26Q_4<%fR@!T1V2^tr%Cv%%DOB ztz4?ka*_A$u%3*wy#nNh{A(`!ydEdk0b#a#qCsb>9_LK>N7{ViHG3gXEFMSgBVAOqG?lYnN!Cfr8`Nf=Ge76w;yRr0SlgTkWZ|3g zg^}kRH3oFQ-q@=usWxiBq^@TqpKda?#dnm@?DG2>#Lx=qSxw-7>q|K7jo<&P6R$&g z4h30(5HAuK4j0U>F-#uov6*xGYYCv~N}q3EJH2WD%f3Ufy7<$z9-Lc4=+&>+2Zgt( z>Wl|H*JfFhnwb}1%~3sEgfi0XS?VVTa=-GgT)9W(SGOJac;I49^_U$@{CK@vBf0FX|X)M0RY^*%9^(GyN5~GzsvxA zG2q}R_%9a#0VWi91J(YovtSskm#waLM7ZvoBAfDHC19;!iuvI-KB|9DK3BGNW+V=g zg#)|e)fT~(-_Fpf+PD;DW}nJ(vSOi5jQ+Cpv_6Lp-qi(i^Db7gBs92`2ssT${0x0W zSjwx71^B7wyzGP&_CkLfWzx7jP*}e*Hgd0cx@07t*U?L5Ehy&5@enQyz$+Loff(%i zjB-!tr2Y)na`kw?dZ&s7#(q~IyaYun3>>6+XAb{*?E>##H}4$T2HAH+lZBfbfi8u| za&-HXQSbPUoo=iZ;S#+=KSO-xK-%^*dQ7I}0)ArU(;oMh7=#@~FFWVGM=i$3L8syU z`XGT=pB3Z)GhvUJ2CxZzw8b50pfPdn8Xf1KU!7L~2LN^LHAc_yD#=m>VXdj<< zVs>;f50)JGG$lM8f(Mml=CM-saU4!C%L7D)!ZI+Rg#7u0v*$i`ywY_AC3Tlu)3V>wM~}B5*RuyAI~1U9Er2 zH4l0|w|IV8e`wFF#2YWVyhn@^+538ydgDCqO!_n&y4!gGBZ?{5JxzV>J8)f}xPZmF z@cdZ#9U;^MXb#Xabp8a$)BhN#`W0xtvlKR~APpmUv-1q|!}rMd_@nx#Gy}nrEKsgY zf?rkZlP;iM;yS#C%(G}aKb#x@5WH_C$+W8@Iv|3jQ^3)IPxA{aeIs)d!lq zzpQDp0G*Bb;IrtPChcwQ1k-@SLQx5<*-u915Oz%bd%;^RmQ%)sHuq;IK375arc>Lr z8E68|mwN5ek@GXN_10Q$IgU5Ef33BWgu5D~U*`;JO-sMjIfLDJYGSCje8z-I>Mmw$ zTn?QIvrku=8YZXcJJ@0V*gT>X`n1ssXb}G;-?(dJLcd>6K_4M-8$;}B9=Q0MsHE*_ zI+K}ej2w_$t|>L>$lzU1&_>Z*=`~k2O6r7TlTc8Vt@>T^oJ%!{XK*0quH$&e29XG? zrus~pYUmd#DfegVke=fbP=D~4mNg~Z(32y~IZVYhfg^$>ee>mJHjG|Fw``%-;ogy3 z`l0HN8Pm@?ESfJk(bro#sHU*?emL_6c1Pa91r$osteNQs0)?sjT&a~@EJ8bJgLjzb zcNVwAZvK@zzB>9tr98IFY1#{Jt^BR$d*uVZxg*nR)DzJ#-B8aMJ)u&MNAEDvgC#EK znkl84Gh>C$jOzjxKIIdKKW3BdhB=ku{*L>wLbJ;-d!Y>&Is$`3qm zy9ToYY&j<_(`=U;d1yiyC<12l{=HtC>o0kLX<==Cxs?>{j|0JgG||VMdyGL&|JOAu z4i(XLwrZN)}&Sr#yWg->h2Ko38l z@TFQ!%5^HMP?VC;YMceA^xVVV-wr+(BEbqUx}@y4-)IMR-aS-35?*5}gF>KQXXKo7 zx}DdE#>*{F3Na*CAGRtZd-ZL>fC+5_(@sCgeVs9jxASS9+Mu@mWu(JnP4`t` zxzxp9)bBJ;0d^|PQRI(nXix#git=21uMX*aM>=a;>>Fhd#P^r?nr4O z{WDBxKMxzr-z!*DDUd+Q+{pKkE-?o0qx|dcr|jGHAvU&QaNwA%OcF%&E%$$w6Uro` z(@M=2Y%(btR{`X?z9#iH$|iv~PCt+Kz~-q8VUbG{Rd$YcC_ z>PQEg7ad?2qkYPih5dsAPC-BEq)|y9Mdzm%ycf%oRvLd(7bK42Kfc&+gU8SbAQJHQ zrBDZ9IW}|V=h#tjcHeCf)E@Bb|b z)`~V_fWzjl%UHG>R8P~;-w30miU* zIqU@ksY^z+xxiUYr}2&}Dh!tj*?wR#dRKzGYKnm~U@R>fho`2Tj~DeZP-ZD-Km-cs+H$Guq#D zY=;1&H)C?Y2K0gZ?q&aFO~vz_F%U$!pSw<^0Q*9qI=G(HT)_6b~L zW4SGCS*_WqKQ6meYmnsDs(9zpOIz^5QRr7HVwP8^LKN9NgdL#VoXpU^$p^!5dbIqW$AKeuC2L zJua&xmXH?a=Wse-a~Cu+?~=oU)Dq@`dhHXI=`Zd(1sX}~pEqI+>QRuPYrvAEk%Cyh zXvy<0XTsZ#@AXBXR&0Sj>EQ0V^S^g#^Un9=eJLeYuA`+tr!+m7Il4cz4EnNiqC)xo zApG74OYEF*ImZtU;Kg2_Wl1}&sdX+$}>HA z)mg8-%GM5IKoeuLO6}g&MTaQMi8Cl_fGiFooKE|0wKiBF1tj!t-n_(V@gAmQ{5G4J9Tm3)u_>{0P5mOp_*4JG%rU1 zFj&3&8goHQ!#Y?`^%Jh<_5f5LX6*UQ~^|*E@GRwJF8am z#H7MwO;enedKM)VmmDW%!^r-zk#UoWXGcK6L+}T$Q5a-25r45s#*^Z{HSzK9uVEFw zx17pJ6FssC{kq}vATZu8x7?{-6599K2M?HOkqg&oN5HW91#}o~K!!JyC$t8P?sgP; z9!r3z(5JRrYlB&aU3a;y^)lOu==gKH`APv0b>^S2QPJms0XR);ZIUe2lE$dX3lFiA z<-p1J^I1->|Bx2;5Ry&Z1|V?N=MO_JC6@1V7ub zHOIg--HZ%g_W@bw)a&4x!wq0-YR=Z>#~6uj+%Y~z*L{p2B`TJ~h`ftx)r5zrbbVyyjF zeWW2Fj!6UPTgI$@Q7l~bR?+ft$zFMrxg5%SJIOK^DUV!B?o~D>)8~9fE)&!u-cKWd zif2Dqr`xG^X@BP><$Y3|nPidOXZHzw-^f~(e}v}3ecUbH2Kqy((u@sRx^a%gCShK`-$UA~S0!(nCE?KfFpb1CR=RL@7?dvbG!1(5C#HO|E4iZ6Cao>yow z!BIpQDgVVfkRsvH&lWxKV_?B+OI~>=Jx?sz&bW&OiNiR!=wtE~W7XSTI~}&SrNT|I>m2F;(15fXp@qPfu)m=7nW)jm6tS_i$I9WY>m0Xd z!mK6rfIZ}0ag1Psbx+F}iR62wV`=emOD1!8ywmbO^d3b-cXA%!jE8mO^IPl_h>m&w zwj5yYYg=z$#$8Bfm1}8qe9T*Jtx&t3mzC3m38<_S! zgaqoqfBgnFKN)M{PPDeB2_dO|>s(2o+jq z1*zWq&HYK*R(B#X*A5LZd{g>j4yp+?hxTKCn|fvrFmJoJyAog3_Fr~%iR?g0#i$i* zeT!#IY8Tgql+IJs@>8VmoTIwf4EN3es`!>NTw8kOFb%pNmEpXn_uwR*8C!>ti+;CD z>l=oLe{Yp%fk6Ux=A~6{9@}ZxV)BuUR;t`j$1*hns31wud=W(>4{_|zBE#tItFRBDZk@Fujq~hzh<(SpM3p=-#2D^A? z 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�h|qlDSfCoflD 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�g_$r`0h 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 code example (click to expand) ```csharp= -[DataField("sound", required: true)] +[DataField(required: true)] public SoundSpecifier Sound { get; } = default!; ``` @@ -190,7 +190,7 @@ When specifying sprite or texture data fields, use `SpriteSpecifier`. C# code example (click to expand) ```csharp= -[DataField("icon")] +[DataField] public SpriteSpecifier Icon { get; } = SpriteSpecifier.Invalid; ``` From 574fdaab5a2a792cee1ef3ed7d530c345a122322 Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Mon, 27 Nov 2023 20:02:06 -0800 Subject: [PATCH 40/41] Add note about /Textures/ being optional --- src/en/general-development/codebase-info/conventions.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/en/general-development/codebase-info/conventions.md b/src/en/general-development/codebase-info/conventions.md index 64c022708..004bca8a5 100644 --- a/src/en/general-development/codebase-info/conventions.md +++ b/src/en/general-development/codebase-info/conventions.md @@ -200,10 +200,14 @@ public SpriteSpecifier Icon { get; } = SpriteSpecifier.Invalid; YAML prototype example (click to expand) ```yml= -# You can specify a specific texture file like this +# You can specify a specific texture file like this, /Textures/ is optional - type: MyComponent icon: /Textures/path/to/my/texture.png - + +# /Textures/ is optional and will be automatically inferred, however make sure that you don't start the path with a slash if you don't specify it +- type: MyComponent + icon: path/to/my/texture.png + # You can specify an rsi sprite like this - type: MyOtherComponent icon: From 435d8b70234dc94a6b7a6fa09634a227bd12f8ad Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Mon, 27 Nov 2023 20:03:58 -0800 Subject: [PATCH 41/41] Update all usages of DataFieldAttribute to not include the optional tag --- src/en/space-station-14/destructible.md | 4 ++-- src/en/ss14-by-example/adding-a-simple-bikehorn.md | 2 +- src/en/ss14-by-example/basic-networking-and-you.md | 6 +++--- .../porting-appearance-visualizers.md | 12 ++++++------ 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/en/space-station-14/destructible.md b/src/en/space-station-14/destructible.md index e637a33a5..96efe3def 100644 --- a/src/en/space-station-14/destructible.md +++ b/src/en/space-station-14/destructible.md @@ -39,7 +39,7 @@ public partial class DamageTrigger : IThresholdTrigger /// /// The amount of damage at which this threshold will trigger. /// - [DataField("damage")] + [DataField] public int Damage { get; set; } public bool Reached(IDamageableComponent damageable, DestructibleSystem system) @@ -60,7 +60,7 @@ public partial class PlaySoundBehavior : IThresholdBehavior /// /// Sound played upon destruction. /// - [DataField("sound")] + [DataField] public string Sound { get; set; } = string.Empty; public void Execute(IEntity owner, DestructibleSystem system) diff --git a/src/en/ss14-by-example/adding-a-simple-bikehorn.md b/src/en/ss14-by-example/adding-a-simple-bikehorn.md index cfdb2a398..cca2e575a 100644 --- a/src/en/ss14-by-example/adding-a-simple-bikehorn.md +++ b/src/en/ss14-by-example/adding-a-simple-bikehorn.md @@ -194,7 +194,7 @@ namespace Content.Server.Sound [RegisterComponent] public sealed partial class PlaySoundOnUseComponent : Component { - [DataField("sound")] + [DataField] public string Sound = string.Empty; } } diff --git a/src/en/ss14-by-example/basic-networking-and-you.md b/src/en/ss14-by-example/basic-networking-and-you.md index ed5b0a497..430e84b91 100644 --- a/src/en/ss14-by-example/basic-networking-and-you.md +++ b/src/en/ss14-by-example/basic-networking-and-you.md @@ -34,13 +34,13 @@ An example of all of the networking code required for IDCardComponent now, from [Access(typeof(SharedIdCardSystem), typeof(SharedPDASystem), typeof(SharedAgentIdCardSystem))] public sealed partial class IdCardComponent : Component { - [DataField("fullName")] + [DataField] [AutoNetworkedField] [Access(typeof(SharedIdCardSystem), typeof(SharedPDASystem), typeof(SharedAgentIdCardSystem), Other = AccessPermissions.ReadWrite)] // FIXME Friends public string? FullName; - [DataField("jobTitle")] + [DataField] [AutoNetworkedField] public string? JobTitle; } @@ -323,4 +323,4 @@ This isn't going to be a super low-level overview of it or anything, but basical It's quite slow, but it's multithreaded and miles faster than the BYOND equivalent--fast enough to get us >250 players on 20 ticks-per-second, so it's good enough. -As for what this means to you and your code, note that in testing you won't receive states for entities that are too far away, and you may need to think about the special case of what happens when entities go in and out of range, though you don't usually need to worry about it. \ No newline at end of file +As for what this means to you and your code, note that in testing you won't receive states for entities that are too far away, and you may need to think about the special case of what happens when entities go in and out of range, though you don't usually need to worry about it. diff --git a/src/en/ss14-by-example/making-a-sprite-dynamic/porting-appearance-visualizers.md b/src/en/ss14-by-example/making-a-sprite-dynamic/porting-appearance-visualizers.md index 0b3fc8638..0adb3c8d8 100644 --- a/src/en/ss14-by-example/making-a-sprite-dynamic/porting-appearance-visualizers.md +++ b/src/en/ss14-by-example/making-a-sprite-dynamic/porting-appearance-visualizers.md @@ -12,10 +12,10 @@ Here's the full visualizer we're porting: [UsedImplicitly] public class ItemCabinetVisualizer : AppearanceVisualizer { - [DataField("openState", required: true)] + [DataField(required: true)] private string _openState = default!; - [DataField("closedState", required: true)] + [DataField(required: true)] private string _closedState = default!; public override void OnChangeData(AppearanceComponent component) @@ -45,10 +45,10 @@ Component: [RegisterComponent] public sealed class ItemCabinetVisualsComponent : Component { - [DataField("openState", required: true)] + [DataField(required: true)] private string _openState = default!; - [DataField("closedState", required: true)] + [DataField(required: true)] private string _closedState = default!; } ``` @@ -91,10 +91,10 @@ So it'll look like this now: [RegisterComponent] public sealed class ItemCabinetVisualsComponent : Component { - [DataField("openState", required: true)] + [DataField(required: true)] public string OpenState = default!; - [DataField("closedState", required: true)] + [DataField(required: true)] public string ClosedState = default!; } ```

kCEc_c&9}wz)EZ;aprnb;T>vWO~s3~ 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 BHaGwP literal 0 HcmV?d00001 diff --git a/src/en/assets/images/grid-inventory/shape-examples.png b/src/en/assets/images/grid-inventory/shape-examples.png new file mode 100644 index 0000000000000000000000000000000000000000..55f12253698af6685499efe8152f53960739893d GIT binary patch literal 9962 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 K*W7Od5Bviuus%%y literal 0 HcmV?d00001 diff --git a/src/en/proposals/grid-inventory.md b/src/en/proposals/grid-inventory.md new file mode 100644 index 000000000..26b7a4015 --- /dev/null +++ b/src/en/proposals/grid-inventory.md @@ -0,0 +1,69 @@ +# Grid Inventory +**Authors:** EmoGarbage + +Credit to the SS13 server Fields of Fire, whose inventory overhaul served as inspiration for the UI. + +## Abstract + +Grid inventory is intended to be a replacement for the current inventory backend and UI. +It encompasses both an internal rewriting of storages, wherein they are classified by geometric shapes, as well as a redesign of the UI, aiming to translate the internal logistics of the system in an immediately understandable way. +Under the system, storages will consist of grids made up of tiles and items will be small items that can be moved around and fit into the grid. + +## Storage Pains + +Laying out what's wrong with the current storage system is important, because inventories--and for the purpose of this document, inventory refers to any given storage container, not the players' hands and clothing HUD--fail in subtle and unexpected ways. +The failures can be divided largely into two categories, mechanical and visual, and both show the unique ways in which a core system can underperform and in turn erode more central mechanics. + +In terms of the mechanical failings, those which call for the rewriting of the core of the system, the most evident is the inability to represent objects of unorthodox or strange shape. +Whether it be a numerical size or an enum, it is impossible to communicate the spacial properties of something like a broom or a life preserver. +Inventories cannot be long and thin or made up of many smaller sections. +There is a lot of genuine interest in nuance in the problem of storing an object: it exists as a microcosm of greater questions of the value of what you carry and if it can be stored in an efficient manner. +As the system exists currently, the "efficiency" of storage is not a concept that can be explored, which is a shame. + +On a more surface level, the presentation and interactions of a list inventory is also laden with issues. +By existing as an infinitely scalable list, containers are forced to express the sizes and capacity numerically, relying on exposing objectively meaningless numbers in order to communicate scale. +Furthermore, lists are bad at displaying images at a scale that is easily understood (due to their properties of being scalable) and thus rely on things like text, which simply saturates what should be a very simply HUD element with lots of text and numbers. +Lists are also frequently used to fill up large chunks of the screen, which genuinely looks terrible. + +Ideally, a perfect storage system should not only be able to handle weird sizes and shapes of containers and items alike, but also visually convey this in a way that is immediately able to be understood by a new player without being overly reliant on text and numbers. + +Thing goes in bag is simple: it should feel simple to do. +It should never feel sprawling or overwhelming or like you're scanning your screen for crap. + +## Grid Inventory + +Our solution? A to-scale HUD element that can represent uniquely shaped item's as well as display the size of things in an immersive and immediately understandable way. + +![](../assets/images/grid-inventory/in-game.png) + +### Items + +Items in grid inventory are a deviously simple. +They retain the ItemSize enum from the current system, but gain an additional `inventory shape`. +This is just the shape the item takes up in the grid and it additionally serves to codify the hidden weight mechanics of the current inventory in a more intelligent way. +Rather than tiny items having a weight value of 1, they simply take up a single square. +Items would have reasonable default sizes inferred from the current weight values of items with an optional specifier for other custom shapes. + +![](../assets/images/grid-inventory/shape-examples.png) + +Inside of the inventory, you'd be able to manually move around and rotate items, allowing gaps to be filled and space optimized with proper planning. +You'd also be able to intuit how much of the inventory an item fills from a simple glance, since the volume is of the container is represented visually. + +### Storage + +![](../assets/images/grid-inventory/grid-example.png) + +For the most part, storages exist as literal translations of the current values. +A 28 capacity simply becomes a 7x4 box. +In terms of balance, the numerical values of the different items and storages remains the exact same. +The only difference is having to place the items into the bag and organize them to potentially make room. + +Of course, putting an item in your bag will automatically try and orient it within the grid, not allowing it only if there's no room for it to fit. +This means there's an equal measure of convenience in terms of picking items quickly, only being a hindrance when trying to fit an unwieldy object. + +The hotkeys for quickly taking items in and out of bags will remain identical, simply remembering the order of inserted items and taking them out in the reverse order. + +### A Brief Aside About Slots + +For slot-based storage, like belts, the UI will remain the same, but simply with standardized item sizes. +A 7 slot belt is a container with 7 squares and every item takes up only a single square. This loses out on the benefits of the scaling, but it integrates well enough and conveys the same information as the previous system, so it's kinda moot. \ No newline at end of file From 5a2f5b6cec1ba7d59a02c9388ca6c3d795473c7b Mon Sep 17 00:00:00 2001 From: DrSmugleaf Date: Mon, 27 Nov 2023 20:01:54 -0800 Subject: [PATCH 39/41] Update conventions.md for ProtoId and new DataField format --- .../general-development/codebase-info/conventions.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/en/general-development/codebase-info/conventions.md b/src/en/general-development/codebase-info/conventions.md index 8dc514cc6..64c022708 100644 --- a/src/en/general-development/codebase-info/conventions.md +++ b/src/en/general-development/codebase-info/conventions.md @@ -133,10 +133,10 @@ This is so it is clear to others what it is. This is especially true if the same ## Prototypes ### Prototype data-fields -Don't cache prototypes, use prototypeManager to index them when they are needed. You can store them by their ID. When using data-fields that involve prototype ID strings, use custom type serializers. For example, a data-field for a list of prototype IDs should use something like: +Don't cache prototypes, use prototypeManager to index them when they are needed. You can store them by their ID. When using data-fields that involve prototype ID strings, use ProtoId. For example, a data-field for a list of prototype IDs should use something like: ```csharp= -[DataField("exampleTypes", customTypeSerializer: typeof(PrototypeIdListSerializer))] -public List ExampleTypes = new(); +[DataField] +public List> ExampleTypes = new(); ``` ### Enums vs Prototypes @@ -155,7 +155,7 @@ When specifying sound data fields, use `SoundSpecifier`.