# About the pull request
Optimises the initialisation time of the 'Tech Tree' subsystem.
Currently, `/datum/controller/subsystem/techtree/Initialize()` is
changing the turf of every tile on the tech tree's z-level to
`/turf/closed/void`, presumably so that it all appears black rather than
space-y. However since it's calling `ChangeTurf()` on the *entire*
z-level (300x226, or 67,800 turfs), this is pretty performance
intensive.
This PR fixes that by just... not changing the turfs, instead only
adding a few `/turf/closed/void`s around the edge of the tech tree area
so that it still looks the same in-game. This changes the subsystem's
init time from 6.4 seconds(ish), to 0.15 seconds(ish).
**Before:**
![before
1](https://github.com/cmss13-devs/cmss13/assets/57483089/b7423bfd-7cbf-434b-ac2b-49765d5a78cc)
**After:**
![after
1](https://github.com/cmss13-devs/cmss13/assets/57483089/543f1ef6-bf61-46c5-90f5-f85b171631bd)
Players viewing the tech tree through the console won't notice anything
different, as the remaining layer of `/turf/closed/void`s block their
view of the rest of the z-level.
# Explain why it's good for the game
About 6 seconds knocked off of the server's init time. (10%!) *(At least
on my end)*
# Testing Photographs and Procedure
<details>
<summary>Screenshots & Videos</summary>
<hr>
### Before/after init times from a few different tests:
**Before:**
![before
1](https://github.com/cmss13-devs/cmss13/assets/57483089/2c81c7d2-6376-4bea-a7c4-8e071cf09e3f)
![before
2](https://github.com/cmss13-devs/cmss13/assets/57483089/06d21d9a-1c86-4246-bf2b-f0108875713a)
![before
3](https://github.com/cmss13-devs/cmss13/assets/57483089/5590723d-291e-48c9-b0ae-10fef6b05410)
**After:**
![after
1](https://github.com/cmss13-devs/cmss13/assets/57483089/481324cd-fc0d-4876-9359-d9544fcc37c6)
![after
2](https://github.com/cmss13-devs/cmss13/assets/57483089/ffb8c2c7-a09f-4b15-806e-481927a5099d)
![after
3](https://github.com/cmss13-devs/cmss13/assets/57483089/1e9cb315-56b6-47a6-a0be-2a7973b25f88)
<hr>
### Teleporting to it as an observer, there *is* a visible difference:
**Before:**
![(null)scrnshot2](https://github.com/cmss13-devs/cmss13/assets/57483089/a133f889-7020-4477-84e5-e49c8cde03aa)
**After:**
![(null)scrnshot1](https://github.com/cmss13-devs/cmss13/assets/57483089/b7fd8ca6-220c-4366-b367-115c339fe207)
<hr>
### But viewing it IC, it all works exactly the same as before:
https://github.com/cmss13-devs/cmss13/assets/57483089/14fc7b05-5279-489f-99df-e9acc83b1420
<hr>
### The new `/turf/closed/void` tiles highlighted for reference:
![techtreebounds](https://github.com/cmss13-devs/cmss13/assets/57483089/02159fee-bbe4-4c8a-b0b7-4ba7963f233d)
</details>
# Changelog
:cl:
code: Made the Tech Tree subsystem initialise faster.
/:cl: