pages/public/gamedevtree/docs/layer-features.html

331 lines
59 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Layer Features | The Paper Pilot</title>
<meta name="description" content="The Paper Pilot's Digital Garden">
<meta name="generator" content="VitePress v1.2.2">
<link rel="preload stylesheet" href="/assets/style.DZitj0Al.css" as="style">
<script type="module" src="/assets/app.BEa_bwAj.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/framework.D8PMdl4T.js">
<link rel="modulepreload" href="/assets/chunks/theme.Do9MhceM.js">
<link rel="modulepreload" href="/assets/public_gamedevtree_docs_layer-features.md.DSg6NDQu.lean.js">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Pacifico&amp;family=Roboto+Mono:ital,wght@0,400;0,600;1,400&amp;display=swap">
<link rel="manifest" href="/site.webmanifest">
<link rel="alternate" type="text/mf2+html" href="/changelog">
<link rel="alternate" type="application/rss+xml" title="Changelog" href="/changelog/rss">
<link rel="alternate" type="application/atom+xml" title="Changelog" href="/changelog/atom">
<link rel="alternate" type="application/json+xml" title="Changelog" href="/changelog/json">
<meta name="og:description" content="The Paper Pilot's Digital Garden">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-5d98c3a5><!--[--><!--[--><!--]--><!--]--><!--[--><span tabindex="-1" data-v-0f60ec36></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-0f60ec36> Skip to content </a><!--]--><!----><header class="VPNav" data-v-5d98c3a5 data-v-ae24b3ad><div class="VPNavBar has-sidebar top" data-v-ae24b3ad data-v-ccf7ddec><div class="wrapper" data-v-ccf7ddec><div class="container" data-v-ccf7ddec><div class="title" data-v-ccf7ddec><div class="VPNavBarTitle has-sidebar" data-v-ccf7ddec data-v-ab179fa1><a class="title" href="/" data-v-ab179fa1><!--[--><!--]--><!----><span data-v-ab179fa1>The Paper Pilot</span><!--[--><!--]--></a></div></div><div class="content" data-v-ccf7ddec><div class="content-body" data-v-ccf7ddec><!--[--><!--]--><div class="VPNavBarSearch search" data-v-ccf7ddec><!----><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><span class="DocSearch-Button-Key">Meta</span><span class="DocSearch-Button-Key">K</span></span></button></div></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-ccf7ddec data-v-7f418b0f><span id="main-nav-aria-label" class="visually-hidden" data-v-7f418b0f>Main Navigation</span><!--[--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://moddingtree.com" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Profectus</span><!--]--></a><!--]--><!--[--><a class="VPLink link vp-external-link-icon VPNavBarMenuLink" href="https://incremental.social" target="_blank" rel="noreferrer" tabindex="0" data-v-7f418b0f data-v-9c663999><!--[--><span data-v-9c663999>Incremental Social</span><!--]--></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-ccf7ddec data-v-e6aabb21><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-e6aabb21 data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-ccf7ddec data-v-0394ad82 data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/thepaperpilot" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://www.linkedin.com/pub/anthony-lawn/a9/a98/2" aria-label="linkedin" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-linkedin" /></a><a class="VPSocialLink no-icon" href="https://matrix.to/#/@thepaperpilot:incremental.social" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" version="1.1" viewBox="0 0 27.9 32" style="background-color:white">
<g xmlns="http://www.w3.org/2000/svg" transform="translate(-.095 .005)" fill="#040404">
<path d="m27.1 31.2v-30.5h-2.19v-0.732h3.04v32h-3.04v-0.732z"/>
<path d="m8.23 10.4v1.54h0.044c0.385-0.564 0.893-1.03 1.49-1.37 0.58-0.323 1.25-0.485 1.99-0.485 0.72 0 1.38 0.14 1.97 0.42 0.595 0.279 1.05 0.771 1.36 1.48 0.338-0.5 0.796-0.941 1.38-1.32 0.58-0.383 1.27-0.574 2.06-0.574 0.602 0 1.16 0.074 1.67 0.22 0.514 0.148 0.954 0.383 1.32 0.707 0.366 0.323 0.653 0.746 0.859 1.27 0.205 0.522 0.308 1.15 0.308 1.89v7.63h-3.13v-6.46c0-0.383-0.015-0.743-0.044-1.08-0.0209-0.307-0.103-0.607-0.242-0.882-0.133-0.251-0.336-0.458-0.584-0.596-0.257-0.146-0.606-0.22-1.05-0.22-0.44 0-0.796 0.085-1.07 0.253-0.272 0.17-0.485 0.39-0.639 0.662-0.159 0.287-0.264 0.602-0.308 0.927-0.052 0.347-0.078 0.697-0.078 1.05v6.35h-3.13v-6.4c0-0.338-7e-3 -0.673-0.021-1-0.0114-0.314-0.0749-0.623-0.188-0.916-0.108-0.277-0.3-0.512-0.55-0.673-0.258-0.168-0.636-0.253-1.14-0.253-0.198 0.0083-0.394 0.042-0.584 0.1-0.258 0.0745-0.498 0.202-0.705 0.374-0.228 0.184-0.422 0.449-0.584 0.794-0.161 0.346-0.242 0.798-0.242 1.36v6.62h-3.13v-11.4z"/>
<path d="m0.936 0.732v30.5h2.19v0.732h-3.04v-32h3.03v0.732z"/>
</g>
</svg></a><a class="VPSocialLink no-icon" href="https://incremental.social/u/thepaperpilot" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="0 0 334.73599 334.736"
id="svg40"
sodipodi:docname="logo_condensed.svg"
inkscape:version="1.3.1 (5ab75fa947, 2023-11-03)"
width="334.73599"
height="334.73599"
inkscape:export-filename="logo_condensed_forgejo.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs44" />
<sodipodi:namedview
id="namedview42"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="2.8284271"
inkscape:cx="87.327687"
inkscape:cy="132.40574"
inkscape:window-width="2560"
inkscape:window-height="1369"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g4"
inkscape:showpageshadow="0"
inkscape:deskcolor="#d1d1d1"
showguides="true">
<sodipodi:guide
position="264.97068,-61.5051"
orientation="1,0"
id="guide1"
inkscape:locked="false" />
<sodipodi:guide
position="93.001002,77.044749"
orientation="1,0"
id="guide2"
inkscape:locked="false" />
<sodipodi:guide
position="109.56249,95.005809"
orientation="1,0"
id="guide3"
inkscape:locked="false" />
<sodipodi:guide
position="163.99999,77.505809"
orientation="1,0"
id="guide4"
inkscape:locked="false" />
<sodipodi:guide
position="179,1.5058096"
orientation="1,0"
id="guide5"
inkscape:locked="false" />
</sodipodi:namedview>
<g
id="g1"
transform="translate(-1,84.932692)">
<path
fill="#6b438b"
d="m 271.24983,105.65061 q -0.36,4.08 -0.31,8.47 0.05,4.56 -4.49,8.19 -9.11,7.28 -17.84,-0.35 c -5.3,-4.65 -3.99,-10.34 -4.42,-16.25 -11.33,-3.3 -21.65,-12.470005 -22.8,-24.590005 q -0.53,-5.59 -0.95,-11.21 -0.04,-0.52 -0.53,-0.64 c -4.87,-1.23 -7.99,-2.08 -10.29,-6.94 -3.9,-8.23 0.79,-15.35 8.92,-18.12 a 0.39,0.4 77.9 0 0 0.27,-0.41 c -0.74,-8.02 -1.4,-15.08 1.56,-22.79 3.11,-8.09 9.57,-14.2599996 17.53,-17.6199996 q 4.11,-1.73 10.44,-2.07 8.68,-0.46000001 17.4,-0.26 16.85,0.37 26.28,13.5899996 c 6.43,9.02 5.96,18.48 5.03,29.16 q -0.05,0.51 0.45,0.64 c 13.7,3.61 12.56,22.82 -1.42,24.78 a 0.71,0.71 0 0 0 -0.61,0.65 c -0.38,5.39 -0.17,11.34 -2.1,16.46 q -5.7,15.160005 -22.12,19.310005 z"
id="path28"
style="display:inline" />
<path
fill="#eceff4"
d="m 142.39,41.700605 -31,11.57 a 0.62,0.61 79.8 0 1 -0.83,-0.58 l 0.01,-19.31 q 0,-0.55 0.51,-0.74 23.03,-8.68 46.02,-17.25 c 2.57,-0.96 4.78,-0.76 7.42,-0.75 a 0.49,0.49 0 0 1 0.49,0.49 V 147.45061 a 0.79,0.79 0 0 1 -0.8,0.79 l -19.99,-0.01 q -1.17,0 -1.17,-1.16 V 42.160605 a 0.49,0.49 0 0 0 -0.66,-0.46 z"
id="path30"
style="display:inline" />
<path
fill="#eceff4"
d="m 59.21,74.480605 h 33.95 a 0.84,0.84 0 0 1 0.84,0.84 l -0.01,18.96 a 0.84,0.84 0 0 1 -0.84,0.84 l -33.88,0.03 a 0.84,0.84 0 0 0 -0.84,0.84 l -0.08,38.580005 a 0.84,0.84 0 0 1 -0.84,0.84 l -20.11,-0.01 a 0.84,0.84 0 0 1 -0.84,-0.84 L 36.55,95.980605 a 0.84,0.84 0 0 0 -0.84,-0.84 H 1.84 a 0.84,0.84 0 0 1 -0.84,-0.84 l 0.02,-19.02 a 0.84,0.84 0 0 1 0.84,-0.84 l 33.86,0.02 a 0.84,0.84 0 0 0 0.84,-0.84 v -35.79 a 0.84,0.84 0 0 1 0.84,-0.84 l 20.13,-0.02 a 0.84,0.84 0 0 1 0.84,0.84 v 35.83 a 0.84,0.84 0 0 0 0.84,0.84 z"
id="path32"
style="display:inline" />
<path
fill="#533566"
d="m 244.18983,105.71061 c 0.43,5.91 -0.88,11.6 4.42,16.25 q 8.73,7.63 17.84,0.35 4.54,-3.63 4.49,-8.19 -0.05,-4.39 0.31,-8.47 24.6,4 42.34,20.72 l -0.18,37.49 -110.93,0.01 -0.09,-37.61 q 17.53,-16.43 41.8,-20.55 z"
id="path34"
style="display:inline" />
<path
fill="#6b438b"
d="m 202.38983,126.26061 0.09,37.61 -21.38,-0.49 a 1.13,1.13 0 0 1 -1.04,-1.49 q 7.21,-21.29 22.33,-35.63 z"
id="path36"
style="display:inline" />
<path
fill="#6b438b"
d="m 313.58983,126.37061 q 12.71,12.03 19.9,29.52 1.79,4.36 2.23,6.86 0.11,0.61 -0.51,0.62 l -21.8,0.49 z"
id="path38"
style="display:inline" />
<g
transform="matrix(0.77226665,0,0,0.77226665,154.89692,5.2164554)"
id="g4"
style="display:none">
<path
d="M 58,168 V 70 a 50,50 0 0 1 50,-50 h 20"
class="orange"
id="path1"
style="fill:none;stroke:#ff6600;stroke-width:25" />
<path
d="m 58,168 v -30 a 50,50 0 0 1 50,-50 h 20"
class="red"
id="path2-3"
style="fill:none;stroke:#d40000;stroke-width:25" />
<circle
cx="142"
cy="20"
r="18"
class="orange"
id="circle2"
style="fill:none;stroke:#ff6600;stroke-width:15" />
<circle
cx="142"
cy="88"
r="18"
class="red"
id="circle3"
style="fill:none;stroke:#d40000;stroke-width:15" />
<circle
cx="58"
cy="180"
r="18"
class="red"
id="circle4"
style="fill:none;stroke:#d40000;stroke-width:15" />
</g>
</g>
</svg>
</a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-ccf7ddec data-v-d0bd9dde data-v-b6c34ac9><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-b6c34ac9><span class="vpi-more-horizontal icon" data-v-b6c34ac9></span></button><div class="menu" data-v-b6c34ac9><div class="VPMenu" data-v-b6c34ac9 data-v-e7ea1737><!----><!--[--><!--[--><!----><div class="group" data-v-d0bd9dde><div class="item appearance" data-v-d0bd9dde><p class="label" data-v-d0bd9dde>Appearance</p><div class="appearance-action" data-v-d0bd9dde><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title="Switch to dark theme" aria-checked="false" data-v-d0bd9dde data-v-d1f28634 data-v-1d5665e3><span class="check" data-v-1d5665e3><span class="icon" data-v-1d5665e3><!--[--><span class="vpi-sun sun" data-v-d1f28634></span><span class="vpi-moon moon" data-v-d1f28634></span><!--]--></span></span></button></div></div></div><div class="group" data-v-d0bd9dde><div class="item social-links" data-v-d0bd9dde><div class="VPSocialLinks social-links-list" data-v-d0bd9dde data-v-7bc22406><!--[--><a class="VPSocialLink no-icon" href="https://github.com/thepaperpilot" aria-label="github" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-github" /></a><a class="VPSocialLink no-icon" href="https://www.linkedin.com/pub/anthony-lawn/a9/a98/2" aria-label="linkedin" target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><span class="vpi-social-linkedin" /></a><a class="VPSocialLink no-icon" href="https://matrix.to/#/@thepaperpilot:incremental.social" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><svg xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" version="1.1" viewBox="0 0 27.9 32" style="background-color:white">
<g xmlns="http://www.w3.org/2000/svg" transform="translate(-.095 .005)" fill="#040404">
<path d="m27.1 31.2v-30.5h-2.19v-0.732h3.04v32h-3.04v-0.732z"/>
<path d="m8.23 10.4v1.54h0.044c0.385-0.564 0.893-1.03 1.49-1.37 0.58-0.323 1.25-0.485 1.99-0.485 0.72 0 1.38 0.14 1.97 0.42 0.595 0.279 1.05 0.771 1.36 1.48 0.338-0.5 0.796-0.941 1.38-1.32 0.58-0.383 1.27-0.574 2.06-0.574 0.602 0 1.16 0.074 1.67 0.22 0.514 0.148 0.954 0.383 1.32 0.707 0.366 0.323 0.653 0.746 0.859 1.27 0.205 0.522 0.308 1.15 0.308 1.89v7.63h-3.13v-6.46c0-0.383-0.015-0.743-0.044-1.08-0.0209-0.307-0.103-0.607-0.242-0.882-0.133-0.251-0.336-0.458-0.584-0.596-0.257-0.146-0.606-0.22-1.05-0.22-0.44 0-0.796 0.085-1.07 0.253-0.272 0.17-0.485 0.39-0.639 0.662-0.159 0.287-0.264 0.602-0.308 0.927-0.052 0.347-0.078 0.697-0.078 1.05v6.35h-3.13v-6.4c0-0.338-7e-3 -0.673-0.021-1-0.0114-0.314-0.0749-0.623-0.188-0.916-0.108-0.277-0.3-0.512-0.55-0.673-0.258-0.168-0.636-0.253-1.14-0.253-0.198 0.0083-0.394 0.042-0.584 0.1-0.258 0.0745-0.498 0.202-0.705 0.374-0.228 0.184-0.422 0.449-0.584 0.794-0.161 0.346-0.242 0.798-0.242 1.36v6.62h-3.13v-11.4z"/>
<path d="m0.936 0.732v30.5h2.19v0.732h-3.04v-32h3.03v0.732z"/>
</g>
</svg></a><a class="VPSocialLink no-icon" href="https://incremental.social/u/thepaperpilot" aria-label target="_blank" rel="noopener" data-v-7bc22406 data-v-eee4e7cb><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.1"
viewBox="0 0 334.73599 334.736"
id="svg40"
sodipodi:docname="logo_condensed.svg"
inkscape:version="1.3.1 (5ab75fa947, 2023-11-03)"
width="334.73599"
height="334.73599"
inkscape:export-filename="logo_condensed_forgejo.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs44" />
<sodipodi:namedview
id="namedview42"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
inkscape:zoom="2.8284271"
inkscape:cx="87.327687"
inkscape:cy="132.40574"
inkscape:window-width="2560"
inkscape:window-height="1369"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g4"
inkscape:showpageshadow="0"
inkscape:deskcolor="#d1d1d1"
showguides="true">
<sodipodi:guide
position="264.97068,-61.5051"
orientation="1,0"
id="guide1"
inkscape:locked="false" />
<sodipodi:guide
position="93.001002,77.044749"
orientation="1,0"
id="guide2"
inkscape:locked="false" />
<sodipodi:guide
position="109.56249,95.005809"
orientation="1,0"
id="guide3"
inkscape:locked="false" />
<sodipodi:guide
position="163.99999,77.505809"
orientation="1,0"
id="guide4"
inkscape:locked="false" />
<sodipodi:guide
position="179,1.5058096"
orientation="1,0"
id="guide5"
inkscape:locked="false" />
</sodipodi:namedview>
<g
id="g1"
transform="translate(-1,84.932692)">
<path
fill="#6b438b"
d="m 271.24983,105.65061 q -0.36,4.08 -0.31,8.47 0.05,4.56 -4.49,8.19 -9.11,7.28 -17.84,-0.35 c -5.3,-4.65 -3.99,-10.34 -4.42,-16.25 -11.33,-3.3 -21.65,-12.470005 -22.8,-24.590005 q -0.53,-5.59 -0.95,-11.21 -0.04,-0.52 -0.53,-0.64 c -4.87,-1.23 -7.99,-2.08 -10.29,-6.94 -3.9,-8.23 0.79,-15.35 8.92,-18.12 a 0.39,0.4 77.9 0 0 0.27,-0.41 c -0.74,-8.02 -1.4,-15.08 1.56,-22.79 3.11,-8.09 9.57,-14.2599996 17.53,-17.6199996 q 4.11,-1.73 10.44,-2.07 8.68,-0.46000001 17.4,-0.26 16.85,0.37 26.28,13.5899996 c 6.43,9.02 5.96,18.48 5.03,29.16 q -0.05,0.51 0.45,0.64 c 13.7,3.61 12.56,22.82 -1.42,24.78 a 0.71,0.71 0 0 0 -0.61,0.65 c -0.38,5.39 -0.17,11.34 -2.1,16.46 q -5.7,15.160005 -22.12,19.310005 z"
id="path28"
style="display:inline" />
<path
fill="#eceff4"
d="m 142.39,41.700605 -31,11.57 a 0.62,0.61 79.8 0 1 -0.83,-0.58 l 0.01,-19.31 q 0,-0.55 0.51,-0.74 23.03,-8.68 46.02,-17.25 c 2.57,-0.96 4.78,-0.76 7.42,-0.75 a 0.49,0.49 0 0 1 0.49,0.49 V 147.45061 a 0.79,0.79 0 0 1 -0.8,0.79 l -19.99,-0.01 q -1.17,0 -1.17,-1.16 V 42.160605 a 0.49,0.49 0 0 0 -0.66,-0.46 z"
id="path30"
style="display:inline" />
<path
fill="#eceff4"
d="m 59.21,74.480605 h 33.95 a 0.84,0.84 0 0 1 0.84,0.84 l -0.01,18.96 a 0.84,0.84 0 0 1 -0.84,0.84 l -33.88,0.03 a 0.84,0.84 0 0 0 -0.84,0.84 l -0.08,38.580005 a 0.84,0.84 0 0 1 -0.84,0.84 l -20.11,-0.01 a 0.84,0.84 0 0 1 -0.84,-0.84 L 36.55,95.980605 a 0.84,0.84 0 0 0 -0.84,-0.84 H 1.84 a 0.84,0.84 0 0 1 -0.84,-0.84 l 0.02,-19.02 a 0.84,0.84 0 0 1 0.84,-0.84 l 33.86,0.02 a 0.84,0.84 0 0 0 0.84,-0.84 v -35.79 a 0.84,0.84 0 0 1 0.84,-0.84 l 20.13,-0.02 a 0.84,0.84 0 0 1 0.84,0.84 v 35.83 a 0.84,0.84 0 0 0 0.84,0.84 z"
id="path32"
style="display:inline" />
<path
fill="#533566"
d="m 244.18983,105.71061 c 0.43,5.91 -0.88,11.6 4.42,16.25 q 8.73,7.63 17.84,0.35 4.54,-3.63 4.49,-8.19 -0.05,-4.39 0.31,-8.47 24.6,4 42.34,20.72 l -0.18,37.49 -110.93,0.01 -0.09,-37.61 q 17.53,-16.43 41.8,-20.55 z"
id="path34"
style="display:inline" />
<path
fill="#6b438b"
d="m 202.38983,126.26061 0.09,37.61 -21.38,-0.49 a 1.13,1.13 0 0 1 -1.04,-1.49 q 7.21,-21.29 22.33,-35.63 z"
id="path36"
style="display:inline" />
<path
fill="#6b438b"
d="m 313.58983,126.37061 q 12.71,12.03 19.9,29.52 1.79,4.36 2.23,6.86 0.11,0.61 -0.51,0.62 l -21.8,0.49 z"
id="path38"
style="display:inline" />
<g
transform="matrix(0.77226665,0,0,0.77226665,154.89692,5.2164554)"
id="g4"
style="display:none">
<path
d="M 58,168 V 70 a 50,50 0 0 1 50,-50 h 20"
class="orange"
id="path1"
style="fill:none;stroke:#ff6600;stroke-width:25" />
<path
d="m 58,168 v -30 a 50,50 0 0 1 50,-50 h 20"
class="red"
id="path2-3"
style="fill:none;stroke:#d40000;stroke-width:25" />
<circle
cx="142"
cy="20"
r="18"
class="orange"
id="circle2"
style="fill:none;stroke:#ff6600;stroke-width:15" />
<circle
cx="142"
cy="88"
r="18"
class="red"
id="circle3"
style="fill:none;stroke:#d40000;stroke-width:15" />
<circle
cx="58"
cy="180"
r="18"
class="red"
id="circle4"
style="fill:none;stroke:#d40000;stroke-width:15" />
</g>
</g>
</svg>
</a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-ccf7ddec data-v-e5dd9c1c><span class="container" data-v-e5dd9c1c><span class="top" data-v-e5dd9c1c></span><span class="middle" data-v-e5dd9c1c></span><span class="bottom" data-v-e5dd9c1c></span></span></button></div></div></div></div><div class="divider" data-v-ccf7ddec><div class="divider-line" data-v-ccf7ddec></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-5d98c3a5 data-v-a6f0e41e><div class="container" data-v-a6f0e41e><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-a6f0e41e><span class="vpi-align-left menu-icon" data-v-a6f0e41e></span><span class="menu-text" data-v-a6f0e41e>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-a6f0e41e data-v-17a5e62e><button data-v-17a5e62e>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-5d98c3a5 data-v-575e6a36><div class="curtain" data-v-575e6a36></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-575e6a36><span class="visually-hidden" id="sidebar-aria-label" data-v-575e6a36> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0" data-v-575e6a36 data-v-b8d55f3b><div class="item" role="button" tabindex="0" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><h2 class="text" data-v-b8d55f3b>Recommended Pages</h2><!----></div><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/garden/my-projects" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>My Projects</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/garden/guide-to-incrementals" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Guide to Incrementals</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/garden/the-small-web" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>The Small Web</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/garden/fedi-v2" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Fedi v2</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="group" data-v-575e6a36><section class="VPSidebarItem level-0" data-v-575e6a36 data-v-b8d55f3b><!----><div class="items" data-v-b8d55f3b><!--[--><div class="VPSidebarItem level-1 is-link" data-v-b8d55f3b data-v-b8d55f3b><div class="item" data-v-b8d55f3b><div class="indicator" data-v-b8d55f3b></div><a class="VPLink link link" href="/changelog" data-v-b8d55f3b><!--[--><p class="text" data-v-b8d55f3b>Changelog</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-5d98c3a5 data-v-1428d186><div class="VPDoc has-sidebar has-aside" data-v-1428d186 data-v-39a288b8><!--[--><!--]--><div class="container" data-v-39a288b8><div class="aside" data-v-39a288b8><div class="aside-curtain" data-v-39a288b8></div><div class="aside-container" data-v-39a288b8><div class="aside-content" data-v-39a288b8><div class="VPDocAside" data-v-39a288b8 data-v-3f215769><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline"
and statistics). Side layers are not affected by resets unless you add a doReset to them.
</code></pre></li><li><p>resource: Name of the main currency you gain by resetting on this layer.</p></li><li><p>effect(): <strong>optional</strong>, A function that calculates and returns the current values of any bonuses inherent to the main currency. Can return a value or an object containing multiple values. <em>You will also have to implement the effect where it is applied.</em></p></li><li><p>effectDescription: <strong>optional</strong>, A function that returns a description of this effect. If the text stays constant, it can just be a string.</p></li><li><p>layerShown(): A function returning a bool which determines if this layer&#39;s node should be visible on the tree. It can also return &quot;ghost&quot;, which will hide the layer, but its node will still take up space in the tree.</p></li><li><p>hotkeys: <strong>optional</strong>, An array containing information on any hotkeys associated with this layer:</p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">hotkeys</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {key: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;p&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// What the hotkey button is. Use uppercase if it&#39;s combined with shift, or &quot;ctrl+x&quot; if ctrl is.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> desc: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;p: reset your points for prestige points&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// The description of the hotkey used in the How To Play</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> onPress</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(){</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (player.p.unlocked) </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">doReset</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;p&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)}}, </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// This function is called when the hotkey is pressed.</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">],</span></span></code></pre></div></li><li><p>style: <strong>optional</strong>, a &quot;CSS object&quot; where the keys are CSS attributes ,containing any CSS that should affect this layer&#39;s entire tab.</p></li><li><p>tabFormat: <strong>optional</strong>, use this if you want to add extra things to your tab or change the layout. <a href="./custom-tab-layouts">See here for more info.</a></p></li><li><p>midsection: <strong>optional</strong>, an alternative to tabFormat, which is inserted in between Milestones and Buyables in the standard tab layout. (cannot do subtabs)</p></li></ul><h2 id="big-features-all-optional" tabindex="-1">Big features (all optional) <a class="header-anchor" href="#big-features-all-optional" aria-label="Permalink to &quot;Big features (all optional)&quot;"></a></h2><ul><li><p>upgrades: A grid of one-time purchases which can have unique upgrade conditions, currency costs, and bonuses. <a href="./upgrades">Explanations are in a separate file.</a></p></li><li><p>milestones: A list of bonuses gained upon reaching certain thresholds of a resource. Often used for automation/QOL. <a href="./milestones">Explanations are in a separate file.</a></p></li><li><p>challenges: The player can enter challenges, which make the game harder. If they reach a goal and beat the challenge, they recieve a bonus. <a href="./challenges">Explanations are in a separate file.</a></p></li><li><p>buyables: Effectively upgrades that can be bought multiple times, and are optionally respeccable. Many uses. <a href="./buyables">Explanations are in a separate file.</a></p></li><li><p>clickables: Extremely versatile and generalized buttons which can only be clicked sometimes. <a href="./clickables">Explanations are in a separate file.</a></p></li><li><p>microtabs: An area that functions like a set of subtabs, with buttons at the top changing the content within. (Advanced) <a href="./subtabs-and-microtabs">Explanations are in a separate file.</a></p></li><li><p>bars: Display some information as a progress bar, gague, or similar. They are highly customizable, and can be vertical as well. <a href="./bars">Explanations are in a separate file.</a></p></li><li><p>achievements: Kind of like milestones, but with a different display style and some other differences. Extra features are on the way at a later date! <a href="./achievements">Explanations are in a separate file.</a></p></li><li><p>infoboxes: Displays some text in a box that can be shown or hidden. <a href="./infoboxes">Explanations are in a separate file.</a></p></li></ul><h2 id="prestige-formula-features" tabindex="-1">Prestige formula features <a class="header-anchor" href="#prestige-formula-features" aria-label="Permalink to &quot;Prestige formula features&quot;"></a></h2><ul><li><p>type: <strong>optional</strong>, Determines which prestige formula you use. Defaults to &quot;none&quot;. &quot;normal&quot;: The amount of currency you gain is independent of its current amount (like Prestige). formula before bonuses is based on <code>baseResource^exponent</code> &quot;static&quot;: The cost is dependent on your total after reset. formula before bonuses is based on <code>base^(x^exponent)</code> &quot;custom&quot;: You can define everything, from the calculations to the text on the button, yourself. (See more at the bottom) &quot;none&quot;: This layer does not prestige, and therefore does not need any of the other features in this section.</p></li><li><p>baseResource: The name of the resource that determines how much of the main currency you gain on reset.</p></li><li><p>baseAmount(): A function that gets the current value of the base resource.</p></li><li><p>requires: A Decimal, the amount of the base needed to gain 1 of the prestige currency. Also the amount required to unlock the layer. You can instead make this a function, to make it harder if another layer was unlocked first (based on unlockOrder).</p></li><li><p>exponent: Used as described above.</p></li><li><p>base: <strong>sometimes requir
resetLayerData(layer, keep), where layer is this layer, and keep is an array of the names of things to keep.
It can include things like &quot;points&quot;, &quot;best&quot;, &quot;total&quot; (for this layer&#39;s prestige currency), &quot;upgrades&quot;,
any unique variables like &quot;generatorPower&quot;, etc.
If you want to only keep specific upgrades or something like that, save them in a separate variable, then
call layerDataReset, and then set player[layer].upgrades to the saved upgrades.
</code></pre></li><li><p>update(diff): <strong>optional</strong>, this function is called every game tick. Use it for any passive resource production or time-based things. diff is the time since the last tick. Suggestion: use addPoints(layer, gain) when generating points to automatically update the best and total amounts.</p></li><li><p>automate(): <strong>optional</strong>, this function is called every game tick, after production. Use it to activate any autobuyers or auto-resets or similar on this layer, if appropriate.</p></li><li><p>resetsNothing: <strong>optional</strong>, returns true if this layer shouldn&#39;t trigger any resets when you prestige.</p></li><li><p>increaseUnlockOrder: <strong>optional</strong>, an array of layer ids. When this layer is unlocked for the first time, the unlockOrder value for any not-yet-unlocked layers in this list increases. This can be used to make them harder to unlock.</p></li><li><p>shouldNotify: <strong>optional</strong>, a function to return true if this layer should be highlighted in the tree. The layer will automatically be highlighted if you can buy an upgrade whether you have this or not.</p></li><li><p>componentStyles: <strong>optional</strong>, An object that contains a set of functions returning CSS objects. Each of these will be applied to any components on the layer with the type of its id. Example:</p></li></ul><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> componentStyles</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;challenge&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;height&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;200px&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}},</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;prestige-button&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;color&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;#AA66AA&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}},</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span></code></pre></div><h2 id="custom-prestige-type" tabindex="-1">Custom Prestige type <a class="header-anchor" href="#custom-prestige-type" aria-label="Permalink to &quot;Custom Prestige type&quot;"></a></h2><ul><li><p>getResetGain(): <strong>For custom prestige type</strong>, Returns how many points you should get if you reset now. You can call getResetGain(this.layer, useType = &quot;static&quot;) or similar to calculate what your gain would be under another prestige type (provided you have all of the required features in the layer.)</p></li><li><p>getNextAt(canMax=false): <strong>For custom prestige type</strong>, Returns how many of the base currency you need to get to the next point. canMax is an optional variable used with Static-ish layers to differentiate between if it&#39;s looking for the first point you can reset at, or the requirement for any gain at all. (Supporting both is good). You can also call getNextAt(this.layer, canMax=false, useType = &quot;static&quot;) or similar to calculate what your next at would be under another prestige type (provided you have all of the required features in the layer.)</p></li><li><p>canReset(): <strong>For custom prestige type</strong>, return true only if you have the resources required to do a prestige here.</p></li></ul></div></div></main><footer class="VPDocFooter" data-v-39a288b8 data-v-d4a0bba5><!--[--><!--]--><div class="edit-info" data-v-d4a0bba5><!----><div class="last-updated" data-v-d4a0bba5><p class="VPLastUpdated" data-v-d4a0bba5 data-v-7e05ebdb>Last updated: <time datetime="2020-10-26T03:00:32.000Z" data-v-7e05ebdb></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-d4a0bba5><span class="visually-hidden" id="doc-footer-aria-label" data-v-d4a0bba5>Pager</span><div class="pager" data-v-d4a0bba5><!----></div><div class="pager" data-v-d4a0bba5><a class="VPLink link pager-link next" href="/garden/my-projects" data-v-d4a0bba5><!--[--><span class="desc" data-v-d4a0bba5>Next page</span><span class="title" data-v-d4a0bba5>My Projects</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"garden_davey-wreden_index.md\":\"BMlE9hYd\",\"garden_dice-armor_index.md\":\"CztXuY1B\",\"garden_decentralized_index.md\":\"DuxiPg9M\",\"public_kronos_docs_getting-started.md\":\"CvyktqWn\",\"garden_webrings_index.md\":\"57x1ZkEg\",\"garden_chronological_index.md\":\"g8ZA0BlN\",\"garden_mbin_index.md\":\"DHRumvWR\",\"garden_my-personal-website_index.md\":\"DryeDwGD\",\"garden_my-projects_index.md\":\"efagz0SF\",\"garden_babble-buds_index.md\":\"IVJV-9eu\",\"garden_nostr_index.md\":\"CnVfHGYc\",\"garden_open-source_index.md\":\"DFsY5O5E\",\"garden_chat-glue_index.md\":\"Cgbw8xnx\",\"garden_capture-the-citadel_index.md\":\"CcwwplwM\",\"garden_profectus_index.md\":\"0UR_Gmo7\",\"garden_social-media_index.md\":\"CZWs3kNq\",\"garden_the-beginner-s-guide_index.md\":\"vCAvuQfF\",\"garden_synapse_index.md\":\"DlkipkaT\",\"garden_the-cozy-web_index.md\":\"C9yKvylk\",\"garden_the-small-web_index.md\":\"2RHAQRcF\",\"garden_this-knowledge-hub_index.md\":\"BtDJLJGY\",\"garden_v-ecs_index.md\":\"CeXiyFwA\",\"garden_vitepress_index.md\":\"6SyjaoK2\",\"public_gamedevtree_docs_clickables.md\":\"9UR7Ajqa\",\"garden_wanderstop_index.md\":\"fcx7CNrA\",\"garden_weird_index.md\":\"Bd7l3f9l\",\"guide-to-incrementals_design_criticism_index.md\":\"f96IunmV\",\"guide-to-incrementals_ludology_appeal-gamers_index.md\":\"CjswzOO0\",\"guide-to-incrementals_index.md\":\"DKlWf0lO\",\"guide-to-incrementals_ludology_appeal-developers_index.md\":\"B3Lh8HIP\",\"guide-to-incrementals_ludology_content_index.md\":\"DrX3RUub\",\"guide-to-incrementals_ludology_definition_index.md\":\"DKOCC4rn\",\"public_gamedevtree_2.0-format-changes.md\":\"Cu7Ykz4Q\",\"public_gamedevtree_changelog.md\":\"BVckBzUe\",\"garden_fedi-v2_index.md\":\"B5ZguLke\",\"garden_fediverse_index.md\":\"UJiYbaK2\",\"garden_forgejo_index.md\":\"BIFTMSC0\",\"garden_freeform-vs-chronological-dichotomy_index.md\":\"C3LSUlA6\",\"garden_freeform_index.md\":\"BLA-ZZ3B\",\"garden_game-dev-tree_index.md\":\"DweE1Ysy\",\"garden_garden-rss_index.md\":\"CqqLm4uJ\",\"garden_guide-to-incrementals_appeal-to-developers_index.md\":\"C6gNawcM\",\"garden_guide-to-incrementals_what-is-content_index.md\":\"A83vET_y\",\"garden_guide-to-incrementals_navigating-criticism_index.md\":\"Djt_EVT5\",\"garden_guide-to-incrementals_defining-the-genre_index.md\":\"B-EmqxPI\",\"garden_guide-to-incrementals_index.md\":\"D-Qo_phb\",\"public_gamedevtree_readme.md\":\"D0kWmw3r\",\"public_gamedevtree_docs_upgrades.md\":\"DZ8OZlWu\",\"public_gamedevtree_docs_infoboxes.md\":\"CRUxoh5g\",\"public_gamedevtree_docs_custom-tab-layouts.md\":\"CuvyVAhF\",\"public_lit_docs_layer-features.md\":\"B06xG5cR\",\"public_lit_docs_main-mod-info.md\":\"DgSHm7mV\",\"public_lit_docs_milestones.md\":\"Cty1k_dD\",\"public_lit_docs_subtabs-and-microtabs.md\":\"BRlF9GbR\",\"garden_atproto_index.md\":\"BwFHx7Hd\",\"garden_commune_index.md\":\"Cz6o7qRH\",\"public_kronos_docs_infoboxes.md\":\"d7yspWU6\",\"public_lit_docs_updating-tmt.md\":\"Bx5ufyRr\",\"public_lit_docs_upgrades.md\":\"Bh4bFGTK\",\"garden_advent-incremental_index.md\":\"Bi867NSD\",\"public_kronos_docs_clickables.md\":\"CwRD8HLA\",\"public_kronos_docs_milestones.md\":\"_qurRXy3\",\"public_lit_docs_bars.md\":\"B1zVageA\",\"public_lit_docs_achievements.md\":\"Cz8mR7W2\",\"public_kronos_docs_particles.md\":\"BmR47K5y\",\"public_lit_docs_trees-and-tree-customization.md\":\"B4CePdZ2\",\"public_lit_docs_basic-layer-breakdown.md\":\"CZbO_awH\",\"garden_digital-gardens_index.md\":\"ChW8RG51\",\"public_kronos_docs_trees-and-tree-customization.md\":\"DNSPCGw2\",\"public_kronos_docs_grids.md\":\"D6eGDxZf\",\"public_lit_old things_2.0-format-changes.md\":\"C-yzF1yi\",\"public_kronos_docs_updating-tmt.md\":\"F3HiFsfM\",\"public_kronos_docs_main-mod-info.md\":\"59FtHiDt\",\"garden_activitypub_index.md\":\"BKxKk1GM\",\"changelog_index.md\":\"ApjhnUUz\",\"public_lit_docs_!general-info.md\":\"Bx73xrHN\",\"garden_planar-pioneers_index.md\":\"DjRmOjdq\",\"garden_opti-speech_index.md\":\"C1FMxL_Q\",\"public_gamedevtree_docs_achievements.md\":\"BgY9AsGa\",\"garde
</body>
</html>