2026-05-23 09:23:12 -05:00

124 lines
116 KiB
HTML

<!DOCTYPE html><html lang="en" dir="ltr"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><style id="nuxt-ui-colors">@layer theme {
:root, :host {
--ui-color-primary-50: var(--color-emerald-50, oklch(97.9% 0.021 166.113));
--ui-color-primary-100: var(--color-emerald-100, oklch(95% 0.052 163.051));
--ui-color-primary-200: var(--color-emerald-200, oklch(90.5% 0.093 164.15));
--ui-color-primary-300: var(--color-emerald-300, oklch(84.5% 0.143 164.978));
--ui-color-primary-400: var(--color-emerald-400, oklch(76.5% 0.177 163.223));
--ui-color-primary-500: var(--color-emerald-500, oklch(69.6% 0.17 162.48));
--ui-color-primary-600: var(--color-emerald-600, oklch(59.6% 0.145 163.225));
--ui-color-primary-700: var(--color-emerald-700, oklch(50.8% 0.118 165.612));
--ui-color-primary-800: var(--color-emerald-800, oklch(43.2% 0.095 166.913));
--ui-color-primary-900: var(--color-emerald-900, oklch(37.8% 0.077 168.94));
--ui-color-primary-950: var(--color-emerald-950, oklch(26.2% 0.051 172.552));
--ui-color-secondary-50: var(--color-blue-50, oklch(97% 0.014 254.604));
--ui-color-secondary-100: var(--color-blue-100, oklch(93.2% 0.032 255.585));
--ui-color-secondary-200: var(--color-blue-200, oklch(88.2% 0.059 254.128));
--ui-color-secondary-300: var(--color-blue-300, oklch(80.9% 0.105 251.813));
--ui-color-secondary-400: var(--color-blue-400, oklch(70.7% 0.165 254.624));
--ui-color-secondary-500: var(--color-blue-500, oklch(62.3% 0.214 259.815));
--ui-color-secondary-600: var(--color-blue-600, oklch(54.6% 0.245 262.881));
--ui-color-secondary-700: var(--color-blue-700, oklch(48.8% 0.243 264.376));
--ui-color-secondary-800: var(--color-blue-800, oklch(42.4% 0.199 265.638));
--ui-color-secondary-900: var(--color-blue-900, oklch(37.9% 0.146 265.522));
--ui-color-secondary-950: var(--color-blue-950, oklch(28.2% 0.091 267.935));
--ui-color-success-50: var(--color-green-50, oklch(98.2% 0.018 155.826));
--ui-color-success-100: var(--color-green-100, oklch(96.2% 0.044 156.743));
--ui-color-success-200: var(--color-green-200, oklch(92.5% 0.084 155.995));
--ui-color-success-300: var(--color-green-300, oklch(87.1% 0.15 154.449));
--ui-color-success-400: var(--color-green-400, oklch(79.2% 0.209 151.711));
--ui-color-success-500: var(--color-green-500, oklch(72.3% 0.219 149.579));
--ui-color-success-600: var(--color-green-600, oklch(62.7% 0.194 149.214));
--ui-color-success-700: var(--color-green-700, oklch(52.7% 0.154 150.069));
--ui-color-success-800: var(--color-green-800, oklch(44.8% 0.119 151.328));
--ui-color-success-900: var(--color-green-900, oklch(39.3% 0.095 152.535));
--ui-color-success-950: var(--color-green-950, oklch(26.6% 0.065 152.934));
--ui-color-info-50: var(--color-blue-50, oklch(97% 0.014 254.604));
--ui-color-info-100: var(--color-blue-100, oklch(93.2% 0.032 255.585));
--ui-color-info-200: var(--color-blue-200, oklch(88.2% 0.059 254.128));
--ui-color-info-300: var(--color-blue-300, oklch(80.9% 0.105 251.813));
--ui-color-info-400: var(--color-blue-400, oklch(70.7% 0.165 254.624));
--ui-color-info-500: var(--color-blue-500, oklch(62.3% 0.214 259.815));
--ui-color-info-600: var(--color-blue-600, oklch(54.6% 0.245 262.881));
--ui-color-info-700: var(--color-blue-700, oklch(48.8% 0.243 264.376));
--ui-color-info-800: var(--color-blue-800, oklch(42.4% 0.199 265.638));
--ui-color-info-900: var(--color-blue-900, oklch(37.9% 0.146 265.522));
--ui-color-info-950: var(--color-blue-950, oklch(28.2% 0.091 267.935));
--ui-color-warning-50: var(--color-yellow-50, oklch(98.7% 0.026 102.212));
--ui-color-warning-100: var(--color-yellow-100, oklch(97.3% 0.071 103.193));
--ui-color-warning-200: var(--color-yellow-200, oklch(94.5% 0.129 101.54));
--ui-color-warning-300: var(--color-yellow-300, oklch(90.5% 0.182 98.111));
--ui-color-warning-400: var(--color-yellow-400, oklch(85.2% 0.199 91.936));
--ui-color-warning-500: var(--color-yellow-500, oklch(79.5% 0.184 86.047));
--ui-color-warning-600: var(--color-yellow-600, oklch(68.1% 0.162 75.834));
--ui-color-warning-700: var(--color-yellow-700, oklch(55.4% 0.135 66.442));
--ui-color-warning-800: var(--color-yellow-800, oklch(47.6% 0.114 61.907));
--ui-color-warning-900: var(--color-yellow-900, oklch(42.1% 0.095 57.708));
--ui-color-warning-950: var(--color-yellow-950, oklch(28.6% 0.066 53.813));
--ui-color-error-50: var(--color-red-50, oklch(97.1% 0.013 17.38));
--ui-color-error-100: var(--color-red-100, oklch(93.6% 0.032 17.717));
--ui-color-error-200: var(--color-red-200, oklch(88.5% 0.062 18.334));
--ui-color-error-300: var(--color-red-300, oklch(80.8% 0.114 19.571));
--ui-color-error-400: var(--color-red-400, oklch(70.4% 0.191 22.216));
--ui-color-error-500: var(--color-red-500, oklch(63.7% 0.237 25.331));
--ui-color-error-600: var(--color-red-600, oklch(57.7% 0.245 27.325));
--ui-color-error-700: var(--color-red-700, oklch(50.5% 0.213 27.518));
--ui-color-error-800: var(--color-red-800, oklch(44.4% 0.177 26.899));
--ui-color-error-900: var(--color-red-900, oklch(39.6% 0.141 25.723));
--ui-color-error-950: var(--color-red-950, oklch(25.8% 0.092 26.042));
--ui-color-neutral-50: var(--color-zinc-50, oklch(98.5% 0 0));
--ui-color-neutral-100: var(--color-zinc-100, oklch(96.7% 0.001 286.375));
--ui-color-neutral-200: var(--color-zinc-200, oklch(92% 0.004 286.32));
--ui-color-neutral-300: var(--color-zinc-300, oklch(87.1% 0.006 286.286));
--ui-color-neutral-400: var(--color-zinc-400, oklch(70.5% 0.015 286.067));
--ui-color-neutral-500: var(--color-zinc-500, oklch(55.2% 0.016 285.938));
--ui-color-neutral-600: var(--color-zinc-600, oklch(44.2% 0.017 285.786));
--ui-color-neutral-700: var(--color-zinc-700, oklch(37% 0.013 285.805));
--ui-color-neutral-800: var(--color-zinc-800, oklch(27.4% 0.006 286.033));
--ui-color-neutral-900: var(--color-zinc-900, oklch(21% 0.006 285.885));
--ui-color-neutral-950: var(--color-zinc-950, oklch(14.1% 0.005 285.823));
}
:root, :host, .light {
--ui-primary: var(--ui-color-primary-500);
--ui-secondary: var(--ui-color-secondary-500);
--ui-success: var(--ui-color-success-500);
--ui-info: var(--ui-color-info-500);
--ui-warning: var(--ui-color-warning-500);
--ui-error: var(--ui-color-error-500);
}
.dark {
--ui-primary: var(--ui-color-primary-400);
--ui-secondary: var(--ui-color-secondary-400);
--ui-success: var(--ui-color-success-400);
--ui-info: var(--ui-color-info-400);
--ui-warning: var(--ui-color-warning-400);
--ui-error: var(--ui-color-error-400);
}
}</style><title>Client Garage Usage Guide - forge-docus</title><meta property="og:image" content="https://innovativedevsolutions.github.io/forge/_og/s/o_mjfbqk.png"><meta property="og:image:type" content="image/png"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:image" content="https://innovativedevsolutions.github.io/forge/_og/s/o_mjfbqk.png"><meta name="twitter:image:src" content="https://innovativedevsolutions.github.io/forge/_og/s/o_mjfbqk.png"><meta property="og:image:width" content="1200"><meta name="twitter:image:width" content="1200"><meta property="og:image:height" content="600"><meta name="twitter:image:height" content="600"><style>@media(min-width:1024px){.docus-sub-header{--ui-header-height:112px}}</style><link rel="stylesheet" href="/forge/_nuxt/entry.B0IIbxeE.css" crossorigin><style>@layer base {:where(.i-lucide\:alert-circle){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4m0 4h.01'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:arrow-left){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m12 19l-7-7l7-7m7 7H5'/%3E%3C/svg%3E")}:where(.i-lucide\:arrow-right){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14m-7-7l7 7l-7 7'/%3E%3C/svg%3E")}:where(.i-lucide\:chevron-down){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m6 9l6 6l6-6'/%3E%3C/svg%3E")}:where(.i-lucide\:copy){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Crect width='14' height='14' x='8' y='8' rx='2' ry='2'/%3E%3Cpath d='M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:hash){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 9h16M4 15h16M10 3L8 21m8-18l-2 18'/%3E%3C/svg%3E")}:where(.i-lucide\:layers-3){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z'/%3E%3Cpath d='m6.08 9.5l-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59'/%3E%3Cpath d='m6.08 14.5l-3.5 1.6a1 1 0 0 0 0 1.81l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9a1 1 0 0 0 0-1.83l-3.5-1.59'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:monitor-smartphone){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8m-2 4v-3.96v3.15M7 19h5'/%3E%3Crect width='6' height='10' x='16' y='12' rx='2'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:moon){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401'/%3E%3C/svg%3E")}:where(.i-lucide\:pen){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z'/%3E%3C/svg%3E")}:where(.i-lucide\:rocket){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09'/%3E%3Cpath d='M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z'/%3E%3Cpath d='M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:search){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='m21 21l-4.34-4.34'/%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-lucide\:sun){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cg fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32l1.41 1.41M2 12h2m16 0h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/g%3E%3C/svg%3E")}:where(.i-simple-icons\:github){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}}</style><link rel="preload" as="fetch" crossorigin="anonymous" href="/forge/client-addons/garage/_payload.json?3a1bf7b7-6f51-4d2c-9c98-142f71e69a9a"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/B3fabVUf.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/C0AA5UMg.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/Dq00p3Sb.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/DXQrCARz.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/AFG10c_a.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/DJxuwfoz.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/n8vERajx.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/BN_7HF1G.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/D5E4Znt1.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/DB_5vY_E.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/CDym3zc6.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/p9GVdgbx.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/B91fwRQf.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/C-sCiTCq.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/CFOqH6J8.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/B4xqMpdT.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/CamoC0EK.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/BKwruWNQ.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/CSnfmutH.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/DLv9Mxsp.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/D_gYX37v.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/C6Z5zZ8h.js"><link rel="modulepreload" as="script" crossorigin href="/forge/_nuxt/4YIHfatS.js"><script type="module" src="/forge/_nuxt/B3fabVUf.js" crossorigin></script><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"><link rel="icon" href="/favicon.ico"><meta name="description" content="The client garage addon provides player vehicle storage UI, vehicle
store/retrieve actions, selected nearby vehicle service requests, vehicle
context building, and the virtual garage view."><meta property="og:site_name" content="forge-docus"><meta property="og:title" content="Client Garage Usage Guide"><meta property="og:description" content="The client garage addon provides player vehicle storage UI, vehicle
store/retrieve actions, selected nearby vehicle service requests, vehicle
context building, and the virtual garage view."><meta property="og:type" content="article"><meta property="og:url" content="https://innovativedevsolutions.github.io/client-addons/garage"><link rel="canonical" href="https://innovativedevsolutions.github.io/client-addons/garage"><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"Client Garage Usage Guide","description":"The client garage addon provides player vehicle storage UI, vehicle\nstore/retrieve actions, selected nearby vehicle service requests, vehicle\ncontext building, and the virtual garage view.","url":"https://innovativedevsolutions.github.io/client-addons/garage","mainEntityOfPage":{"@type":"WebPage","@id":"https://innovativedevsolutions.github.io/client-addons/garage"},"publisher":{"@type":"Organization","name":"forge-docus"}}</script><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Client Addons","item":"https://innovativedevsolutions.github.io/client-addons"},{"@type":"ListItem","position":2,"name":"Client Garage Usage Guide","item":"https://innovativedevsolutions.github.io/client-addons/garage"}]}</script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"><!--[--><!--[--><!--[--><!--[--><!--[--><div class="nuxt-loading-indicator" style="position:fixed;top:0;right:0;left:0;pointer-events:none;width:auto;height:3px;opacity:0;background:var(--ui-primary);background-size:0% auto;transform:scaleX(0%);transform-origin:left;transition:transform 0.1s, height 0.4s, opacity 0.4s;z-index:999999;"></div><div class="transition-[margin-right] duration-200 ease-linear will-change-[margin-right]" style="margin-right:0;"><!--[--><!----><!----><!----><header data-slot="root" class="bg-default/75 backdrop-blur border-b border-default h-(--ui-header-height) sticky top-0 z-50"><!--[--><!--]--><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8 flex items-center justify-between gap-3 h-full" data-slot="container"><!--[--><div data-slot="left" class="lg:flex-1 flex items-center gap-1.5"><!----><!--[--><a href="/forge/" class="" aria-label="forge-docus"><span class="h-6 w-auto shrink-0">forge-docus</span></a><!--]--></div><div data-slot="center" class="hidden lg:flex flex-1"><!--[--><!--[--><!----><!--[--><!--[--><button type="button" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors px-2.5 py-1.5 text-sm gap-1.5 text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated w-full"><!--[--><!--[--><span class="iconify i-lucide:search shrink-0 size-4 mr-1" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><span data-slot="label" class="truncate">Search…</span><!--]--><!--[--><div data-slot="trailing" class="hidden lg:flex items-center gap-0.5 ms-auto"><!--[--><!--[--><kbd class="inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase h-5 min-w-[20px] text-[11px] ring ring-inset ring-accented text-default bg-elevated"><!--[--> <!--]--></kbd><kbd class="inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase h-5 min-w-[20px] text-[11px] ring ring-inset ring-accented text-default bg-elevated"><!--[-->k<!--]--></kbd><!--]--><!--]--></div><!--]--><!--]--></button><!--]--><!--]--><!--]--><!--]--></div><div data-slot="right" class="flex items-center justify-end lg:flex-1 gap-1.5"><!--[--><div></div><!----><!----><!--[--><!----><!--[--><!--[--><button type="button" aria-label="Search…" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-sm gap-1.5 text-default hover:bg-elevated active:bg-elevated focus:outline-none focus-visible:bg-elevated hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-1.5 lg:hidden"><!--[--><!--[--><span class="iconify i-lucide:search shrink-0 size-5" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><span data-slot="label" class="truncate hidden">Search…</span><!--]--><!--[--><div data-slot="trailing" class="hidden items-center gap-0.5 ms-auto lg:hidden"><!--[--><!--[--><kbd class="inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase h-5 min-w-[20px] text-[11px] ring ring-inset ring-accented text-default bg-elevated"><!--[--> <!--]--></kbd><kbd class="inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans uppercase h-5 min-w-[20px] text-[11px] ring ring-inset ring-accented text-default bg-elevated"><!--[-->k<!--]--></kbd><!--]--><!--]--></div><!--]--><!--]--></button><!--]--><!--]--><!--]--><!--[--><div class="h-8 w-8 animate-pulse bg-neutral-200 dark:bg-neutral-800 rounded-md"></div><!--]--><!--[--><!--[--><!--[--><a href="https://github.com/InnovativeDevSolutions/forge" rel="noopener noreferrer" target="_blank" aria-label="GitHub" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-sm gap-1.5 text-default hover:bg-elevated active:bg-elevated focus:outline-none focus-visible:bg-elevated hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-1.5"><!--[--><!--[--><span class="iconify i-simple-icons:github shrink-0 size-5" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></a><!--]--><!--]--><!--]--><!--]--><!--[--><!--[--><!--[--><button type="button" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-xs gap-1.5 text-default hover:bg-elevated active:bg-elevated focus:outline-none focus-visible:bg-elevated hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-1.5 -me-1.5 lg:hidden"><!--[--><!--[--><!----><!--]--><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="size-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="4" y1="6" x2="20" y2="6" class="outline-none"></line><line x1="4" y1="12" x2="20" y2="12" class="outline-none"></line><line x1="4" y1="18" x2="20" y2="18" class="outline-none"></line></svg><!--]--><!--[--><!----><!--]--><!--]--></button><!--]--><!--]--><!--]--></div><!--]--></div><!--[--><!--]--></header><!--[--><!----><!----><!--v-if--><!--]--><!--]--><main class="min-h-[calc(100vh-var(--ui-header-height))]"><!--[--><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8"><!--[--><div data-slot="root" class="flex flex-col lg:grid lg:grid-cols-10 lg:gap-10"><aside data-slot="left" class="hidden overflow-y-auto lg:block lg:max-h-[calc(100vh-var(--ui-header-height))] lg:sticky lg:top-(--ui-header-height) py-8 lg:ps-4 lg:-ms-4 lg:pe-6.5 lg:col-span-2"><div data-slot="container" class="relative"><!----><!--[--><div></div><!--[--><!----><nav data-slot="root"><ul class="isolate -mx-2.5 -mt-1.5"><!--[--><!--[--><!--[--><li data-state="open" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5"><!--[--><!--[--><button type="button" aria-controls aria-expanded="true" data-state="open" id="reka-accordion-trigger-v-0-3-0" data-reka-collection-item data-orientation="vertical" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted hover:text-highlighted data-[state=open]:text-highlighted transition-colors font-semibold focus-visible:ring-primary"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-lucide:rocket shrink-0 size-4 mr-1 text-dimmed group-hover:text-default group-data-[state=open]:text-default transition-colors" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Getting Started<!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto gap-1.5 items-center hidden"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-3-0" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-3-1"><!--[--><!--[--><!--[--><!----><ul data-slot="root" class="ms-5 border-s border-default"><!--[--><!--[--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/getting-started" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Getting Started<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/getting-started/architecture" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Framework Architecture<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/getting-started/module-reference" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Module Reference<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/getting-started/development" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Development Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/getting-started/surrealdb-setup" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->SurrealDB Setup<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--]--><!--]--></ul><!--]--><!--]--><!--]--></div><!--]--><!--]--></li><!--]--><!--[--><li data-state="open" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5"><!--[--><!--[--><button type="button" aria-controls aria-expanded="true" data-state="open" id="reka-accordion-trigger-v-0-3-2" data-reka-collection-item data-orientation="vertical" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted hover:text-highlighted data-[state=open]:text-highlighted transition-colors font-semibold focus-visible:ring-primary"><!--[--><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Forge Server Extension<!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto gap-1.5 items-center hidden"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-3-2" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-3-3"><!--[--><!--[--><!--[--><!----><ul data-slot="root" class="ms-5 border-s border-default"><!--[--><!--[--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-extension" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Forge Server Extension<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-extension/api-reference" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Forge Server API Reference<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-extension/usage-examples" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Forge Server Usage Examples<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--]--><!--]--></ul><!--]--><!--]--><!--]--></div><!--]--><!--]--></li><!--]--><!--[--><li data-state="open" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5"><!--[--><!--[--><button type="button" aria-controls aria-expanded="true" data-state="open" id="reka-accordion-trigger-v-0-3-4" data-reka-collection-item data-orientation="vertical" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted hover:text-highlighted data-[state=open]:text-highlighted transition-colors font-semibold focus-visible:ring-primary"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-lucide:layers-3 shrink-0 size-4 mr-1 text-dimmed group-hover:text-default group-data-[state=open]:text-default transition-colors" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Server Modules<!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto gap-1.5 items-center hidden"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-3-4" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-3-5"><!--[--><!--[--><!--[--><!----><ul data-slot="root" class="ms-5 border-s border-default"><!--[--><!--[--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Server Module Guides<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/actor" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Actor Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/store" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Store Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/task" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Task Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/bank" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Bank Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/cad" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->CAD Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/economy" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Economy Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/garage" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Garage Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/locker" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Locker Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/organization" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Organization Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/owned-storage" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Owned Storage Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/server-modules/phone" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Phone Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--]--><!--]--></ul><!--]--><!--]--><!--]--></div><!--]--><!--]--></li><!--]--><!--[--><li data-state="open" data-orientation="vertical" data-slot="itemWithChildren" class="flex flex-col data-[state=open]:mb-1.5"><!--[--><!--[--><button type="button" aria-controls aria-expanded="true" data-state="open" id="reka-accordion-trigger-v-0-3-6" data-reka-collection-item data-orientation="vertical" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted hover:text-highlighted data-[state=open]:text-highlighted transition-colors font-semibold focus-visible:ring-primary"><!--[--><!--[--><!--[--><!--[--><span class="iconify i-lucide:monitor-smartphone shrink-0 size-4 mr-1 text-dimmed group-hover:text-default group-data-[state=open]:text-default transition-colors" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Addons<!--]--><!----></span><span data-slot="linkTrailing" class="ms-auto gap-1.5 items-center hidden"><!--[--><!----><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180" aria-hidden="true" style="" data-slot="linkTrailingIcon"></span><!--]--></span><!--]--><!--]--><!--]--></button><div role="region" aria-labelledby="reka-accordion-trigger-v-0-3-6" data-orientation="vertical" style="--reka-accordion-content-width:var(--reka-collapsible-content-width);--reka-accordion-content-height:var(--reka-collapsible-content-height);--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;" data-slot="content" class="data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] overflow-hidden focus:outline-none" id="reka-collapsible-content-v-0-3-7"><!--[--><!--[--><!--[--><!----><ul data-slot="root" class="ms-5 border-s border-default"><!--[--><!--[--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/main" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Main Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/phone" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Phone Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/store" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Store Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/common" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Common Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/actor" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Actor Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/bank" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Bank Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/cad" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client CAD Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/garage" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary font-medium after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors text-primary after:bg-primary"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Garage Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/locker" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Locker Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/notifications" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Notifications Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--[--><li data-slot="item" class="ps-1.5 -ms-px"><!--[--><a href="/forge/client-addons/organization" data-slot="link" class="group relative w-full px-2.5 py-1.5 before:inset-y-px before:inset-x-0 flex items-center gap-1.5 text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2 focus-visible:before:ring-primary text-muted after:absolute after:-left-1.5 after:inset-y-0.5 after:block after:w-px after:rounded-full after:transition-colors hover:text-highlighted data-[state=open]:text-highlighted transition-colors"><!--[--><!--[--><!--[--><!----><!--]--><span data-slot="linkTitle" class="truncate"><!--[-->Client Organization Usage Guide<!--]--><!----></span><!----><!--]--><!--]--></a><!--]--></li><!--]--><!--]--><!--]--></ul><!--]--><!--]--><!--]--></div><!--]--><!--]--></li><!--]--><!--]--><!--]--></ul></nav><!--]--><!--]--><!--[--><!--]--></div></aside><div data-slot="center" class="lg:col-span-8"><!--[--><!--[--><div data-slot="root" class="flex flex-col lg:grid lg:grid-cols-10 lg:gap-10"><!----><div data-slot="center" class="lg:col-span-8"><!--[--><div data-slot="root" class="relative border-b border-default py-8"><div data-slot="headline" class="mb-2.5 text-sm font-semibold text-primary flex items-center gap-1.5"><!--[-->Client Addons<!--]--></div><div data-slot="container" class=""><div data-slot="wrapper" class="flex lg:flex-row lg:items-center lg:justify-between gap-4 flex-row items-center flex-wrap justify-between"><h1 data-slot="title" class="text-3xl sm:text-4xl text-pretty font-bold text-highlighted"><!--[-->Client Garage Usage Guide<!--]--></h1><div data-slot="links" class="flex flex-wrap items-center gap-1.5"><!--[--><!--[--><!--]--><div data-orientation="horizontal" class="relative inline-flex -space-x-px"><!--[--><!--[--><!--[--><button type="button" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1] px-2.5 py-1.5 text-xs gap-1.5 text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated"><!--[--><!--[--><span class="iconify i-lucide:copy shrink-0 text-neutral size-3.5" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><span data-slot="label" class="truncate">Copy page</span><!--]--><!--[--><!----><!--]--><!--]--></button><!--]--><!--]--><!--[--><!--[--><!--[--><!--[--><!--[--><button type="button" id="reka-dropdown-menu-trigger-v-0-3-7-0" aria-haspopup="menu" aria-expanded="false" data-state="closed" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1] text-xs gap-1.5 text-default bg-elevated hover:bg-accented/75 active:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated p-1.5 border-l border-muted"><!--[--><!--[--><span class="iconify i-lucide:chevron-down shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><!--]--><!--]--><!--[--><!----><!--v-if--><!--]--><!--]--><!--]--><!--]--><!--]--></div><!--]--></div></div><div data-slot="description" class="text-lg text-pretty text-muted mt-4"><!--[-->The client garage addon provides player vehicle storage UI, vehicle
store/retrieve actions, selected nearby vehicle service requests, vehicle
context building, and the virtual garage view.<!--]--></div><!--[--><!--]--></div></div><div class="mt-8 pb-24 space-y-12"><!--[--><div><h1 id="client-garage-usage-guide" class="text-4xl text-highlighted font-bold mb-8 scroll-mt-[calc(45px+var(--ui-header-height))] lg:scroll-mt-(--ui-header-height)"><!--[-->Client Garage Usage Guide<!--]--></h1><p class="my-5 leading-7 text-pretty"><!--[-->The client garage addon provides player vehicle storage UI, vehicle
store/retrieve actions, selected nearby vehicle service requests, vehicle
context building, and the virtual garage view.<!--]--></p><h2 id="open-garage-ui" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&amp;&gt;a]:focus-visible:outline-primary [&amp;&gt;a&gt;code]:border-dashed hover:[&amp;&gt;a&gt;code]:border-primary hover:[&amp;&gt;a&gt;code]:text-primary [&amp;&gt;a&gt;code]:text-xl/7 [&amp;&gt;a&gt;code]:font-bold [&amp;&gt;a&gt;code]:transition-colors"><a href="#open-garage-ui" class="group lg:ps-2 lg:-ms-2"><span class="absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted transition"><span class="iconify i-lucide:hash size-4 shrink-0" aria-hidden="true" style=""></span></span><!--[-->Open Garage UI<!--]--></a></h2><div class="relative my-5 group" style=""><!----><!--[--><!--[--><button type="button" aria-label="Copy code to clipboard" tabindex="-1" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 text-xs gap-1.5 ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted p-1.5 absolute top-[11px] right-[11px] lg:opacity-0 lg:group-hover:opacity-100 transition"><!--[--><!--[--><span class="iconify i-lucide:copy shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><!--]--><!--]--><pre class="group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap break-words overflow-x-auto focus:outline-none **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50! language-sqf shiki shiki-themes material-theme-lighter material-theme material-theme-palenight" style=""><!--[--><code><span class="line" line="1"><span>call forge_client_garage_fnc_openUI;
</span></span></code><!--]--></pre></div><p class="my-5 leading-7 text-pretty"><!--[-->The garage UI opens <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->RscGarage<!--]--></code>, loads <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->ui/_site/index.html<!--]--></code>, and routes
browser events through <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->forge_client_garage_fnc_handleUIEvents<!--]--></code>.<!--]--></p><h2 id="open-virtual-garage" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&amp;&gt;a]:focus-visible:outline-primary [&amp;&gt;a&gt;code]:border-dashed hover:[&amp;&gt;a&gt;code]:border-primary hover:[&amp;&gt;a&gt;code]:text-primary [&amp;&gt;a&gt;code]:text-xl/7 [&amp;&gt;a&gt;code]:font-bold [&amp;&gt;a&gt;code]:transition-colors"><a href="#open-virtual-garage" class="group lg:ps-2 lg:-ms-2"><span class="absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted transition"><span class="iconify i-lucide:hash size-4 shrink-0" aria-hidden="true" style=""></span></span><!--[-->Open Virtual Garage<!--]--></a></h2><div class="relative my-5 group" style=""><!----><!--[--><!--[--><button type="button" aria-label="Copy code to clipboard" tabindex="-1" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 text-xs gap-1.5 ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted p-1.5 absolute top-[11px] right-[11px] lg:opacity-0 lg:group-hover:opacity-100 transition"><!--[--><!--[--><span class="iconify i-lucide:copy shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><!--]--><!--]--><pre class="group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap break-words overflow-x-auto focus:outline-none **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50! language-sqf shiki shiki-themes material-theme-lighter material-theme material-theme-palenight" style=""><!--[--><code><span class="line" line="1"><span>call forge_client_garage_fnc_openVG;
</span></span></code><!--]--></pre></div><p class="my-5 leading-7 text-pretty"><!--[-->The virtual garage uses mission-configured <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->FORGE_CfgGarages<!--]--></code> locations to set
the spawn/preview position, opens the BIS garage interface, and restricts the
available vehicle lists from the virtual garage repository.<!--]--></p><h2 id="client-services" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&amp;&gt;a]:focus-visible:outline-primary [&amp;&gt;a&gt;code]:border-dashed hover:[&amp;&gt;a&gt;code]:border-primary hover:[&amp;&gt;a&gt;code]:text-primary [&amp;&gt;a&gt;code]:text-xl/7 [&amp;&gt;a&gt;code]:font-bold [&amp;&gt;a&gt;code]:transition-colors"><a href="#client-services" class="group lg:ps-2 lg:-ms-2"><span class="absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted transition"><span class="iconify i-lucide:hash size-4 shrink-0" aria-hidden="true" style=""></span></span><!--[-->Client Services<!--]--></a></h2><div class="relative my-5 overflow-x-auto"><table class="w-full border-separate border-spacing-0 rounded-md"><!--[--><thead class="bg-muted"><!--[--><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-left"><!--[-->Service<!--]--></th><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-left"><!--[-->Purpose<!--]--></th><!--]--></tr><!--]--></thead><tbody><!--[--><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->GarageRepository<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Player garage view state.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->VGRepository<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Virtual garage unlock view state.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->GarageHelperService<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Vehicle names, hit points, and payload helpers.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->GarageContextService<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Nearby/current vehicle context.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->GaragePayloadService<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Browser hydrate payload construction.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->GarageActionService<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Store/retrieve request handling and selected nearby vehicle refuel/repair request forwarding.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->GarageUIBridge<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Browser ready, hydrate, and sync delivery.<!--]--></td><!--]--></tr><!--]--></tbody><!--]--></table></div><h2 id="browser-events" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&amp;&gt;a]:focus-visible:outline-primary [&amp;&gt;a&gt;code]:border-dashed hover:[&amp;&gt;a&gt;code]:border-primary hover:[&amp;&gt;a&gt;code]:text-primary [&amp;&gt;a&gt;code]:text-xl/7 [&amp;&gt;a&gt;code]:font-bold [&amp;&gt;a&gt;code]:transition-colors"><a href="#browser-events" class="group lg:ps-2 lg:-ms-2"><span class="absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted transition"><span class="iconify i-lucide:hash size-4 shrink-0" aria-hidden="true" style=""></span></span><!--[-->Browser Events<!--]--></a></h2><div class="relative my-5 overflow-x-auto"><table class="w-full border-separate border-spacing-0 rounded-md"><!--[--><thead class="bg-muted"><!--[--><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-left"><!--[-->Event<!--]--></th><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-left"><!--[-->Client behavior<!--]--></th><!--]--></tr><!--]--></thead><tbody><!--[--><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::ready<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Mark browser ready and send <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::hydrate<!--]--></code>.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::refresh<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Send current garage payload as <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::sync<!--]--></code>.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::vehicle::retrieve::request<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Forward retrieve request through the action service.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::vehicle::store::request<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Forward store request through the action service.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::vehicle::refuel::request<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Forward selected nearby vehicle refuel request to the server economy service.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::vehicle::repair::request<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Forward selected nearby vehicle repair request to the server economy service.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::close<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Dispose bridge screen state and close the display.<!--]--></td><!--]--></tr><!--]--></tbody><!--]--></table></div><h2 id="browser-response-events" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&amp;&gt;a]:focus-visible:outline-primary [&amp;&gt;a&gt;code]:border-dashed hover:[&amp;&gt;a&gt;code]:border-primary hover:[&amp;&gt;a&gt;code]:text-primary [&amp;&gt;a&gt;code]:text-xl/7 [&amp;&gt;a&gt;code]:font-bold [&amp;&gt;a&gt;code]:transition-colors"><a href="#browser-response-events" class="group lg:ps-2 lg:-ms-2"><span class="absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted transition"><span class="iconify i-lucide:hash size-4 shrink-0" aria-hidden="true" style=""></span></span><!--[-->Browser Response Events<!--]--></a></h2><div class="relative my-5 overflow-x-auto"><table class="w-full border-separate border-spacing-0 rounded-md"><!--[--><thead class="bg-muted"><!--[--><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-left"><!--[-->Event<!--]--></th><th class="py-3 px-4 font-semibold text-sm border-e border-b first:border-s border-t border-muted text-left"><!--[-->Purpose<!--]--></th><!--]--></tr><!--]--></thead><tbody><!--[--><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::hydrate<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Initial vehicle and session payload.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::sync<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Refreshed vehicle payload.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::service::success<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Browser notice for accepted refuel/repair requests.<!--]--></td><!--]--></tr><tr class="[&amp;:first-child&gt;th:first-child]:rounded-tl-md [&amp;:first-child&gt;th:last-child]:rounded-tr-md [&amp;:last-child&gt;td:first-child]:rounded-bl-md [&amp;:last-child&gt;td:last-child]:rounded-br-md"><!--[--><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[--><code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->garage::service::failure<!--]--></code><!--]--></td><td class="py-3 px-4 text-sm align-top border-e border-b first:border-s border-muted [&amp;_code]:text-xs/5 [&amp;_p]:my-0 [&amp;_p]:leading-6 [&amp;_ul]:my-0 [&amp;_ol]:my-0 [&amp;_ul]:ps-4.5 [&amp;_ol]:ps-4.5 [&amp;_li]:leading-6 [&amp;_li]:my-0.5 text-left"><!--[-->Browser notice for rejected refuel/repair requests.<!--]--></td><!--]--></tr><!--]--></tbody><!--]--></table></div><p class="my-5 leading-7 text-pretty"><!--[-->Server action responses are handled by the action service and notification
flow.<!--]--></p><h2 id="vehicle-service" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&amp;&gt;a]:focus-visible:outline-primary [&amp;&gt;a&gt;code]:border-dashed hover:[&amp;&gt;a&gt;code]:border-primary hover:[&amp;&gt;a&gt;code]:text-primary [&amp;&gt;a&gt;code]:text-xl/7 [&amp;&gt;a&gt;code]:font-bold [&amp;&gt;a&gt;code]:transition-colors"><a href="#vehicle-service" class="group lg:ps-2 lg:-ms-2"><span class="absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted transition"><span class="iconify i-lucide:hash size-4 shrink-0" aria-hidden="true" style=""></span></span><!--[-->Vehicle Service<!--]--></a></h2><p class="my-5 leading-7 text-pretty"><!--[-->The selected vehicle detail panel includes refuel and repair actions for nearby
world vehicles. Stored records must be retrieved first because server economy
services operate on live vehicle objects, not stored garage records.<!--]--></p><p class="my-5 leading-7 text-pretty"><!--[-->Refuel requests use the server economy <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->RefuelService<!--]--></code> event. Repair requests
use the server economy <code class="px-1.5 py-0.5 text-sm font-mono font-medium rounded-md inline-block border border-muted text-highlighted bg-muted"><!--[-->RepairService<!--]--></code> event. Both services are billed by the
server economy addon through organization funds.<!--]--></p><h2 id="mission-setup" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&amp;&gt;a]:focus-visible:outline-primary [&amp;&gt;a&gt;code]:border-dashed hover:[&amp;&gt;a&gt;code]:border-primary hover:[&amp;&gt;a&gt;code]:text-primary [&amp;&gt;a&gt;code]:text-xl/7 [&amp;&gt;a&gt;code]:font-bold [&amp;&gt;a&gt;code]:transition-colors"><a href="#mission-setup" class="group lg:ps-2 lg:-ms-2"><span class="absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted transition"><span class="iconify i-lucide:hash size-4 shrink-0" aria-hidden="true" style=""></span></span><!--[-->Mission Setup<!--]--></a></h2><p class="my-5 leading-7 text-pretty"><!--[-->Garage interactions are normally surfaced through the actor menu when nearby
objects have garage variables such as:<!--]--></p><div class="relative my-5 group" style=""><!----><!--[--><!--[--><button type="button" aria-label="Copy code to clipboard" tabindex="-1" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 text-xs gap-1.5 ring ring-inset ring-accented text-default bg-default hover:bg-elevated active:bg-elevated disabled:bg-default aria-disabled:bg-default focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted p-1.5 absolute top-[11px] right-[11px] lg:opacity-0 lg:group-hover:opacity-100 transition"><!--[--><!--[--><span class="iconify i-lucide:copy shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><!--]--><!--]--><pre class="group font-mono text-sm/6 border border-muted bg-muted rounded-md px-4 py-3 whitespace-pre-wrap break-words overflow-x-auto focus:outline-none **:[.line]:block **:[.line.highlight]:-mx-4 **:[.line.highlight]:px-4 **:[.line.highlight]:bg-accented/50! language-sqf shiki shiki-themes material-theme-lighter material-theme material-theme-palenight" style=""><!--[--><code><span class="line" line="1"><span>_object setVariable [&quot;isGarage&quot;, true, true];
</span></span><span class="line" line="2"><span>_object setVariable [&quot;garageType&quot;, &quot;cars&quot;, true];
</span></span></code><!--]--></pre></div><p class="my-5 leading-7 text-pretty"><!--[-->Virtual garage access also requires configured garage locations in mission
config so the preview/spawn position can be resolved.<!--]--></p><h2 id="authoritative-state" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&amp;&gt;a]:focus-visible:outline-primary [&amp;&gt;a&gt;code]:border-dashed hover:[&amp;&gt;a&gt;code]:border-primary hover:[&amp;&gt;a&gt;code]:text-primary [&amp;&gt;a&gt;code]:text-xl/7 [&amp;&gt;a&gt;code]:font-bold [&amp;&gt;a&gt;code]:transition-colors"><a href="#authoritative-state" class="group lg:ps-2 lg:-ms-2"><span class="absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted transition"><span class="iconify i-lucide:hash size-4 shrink-0" aria-hidden="true" style=""></span></span><!--[-->Authoritative State<!--]--></a></h2><p class="my-5 leading-7 text-pretty"><!--[-->The client gathers vehicle context and sends store/retrieve requests. Stored
vehicle state, validation, spawning, removal, and persistence are owned by the
server garage addon and extension.<!--]--></p><h2 id="related-guides" class="relative text-2xl text-highlighted font-bold mt-12 mb-6 scroll-mt-[calc(48px+45px+var(--ui-header-height))] lg:scroll-mt-[calc(48px+var(--ui-header-height))] [&amp;&gt;a]:focus-visible:outline-primary [&amp;&gt;a&gt;code]:border-dashed hover:[&amp;&gt;a&gt;code]:border-primary hover:[&amp;&gt;a&gt;code]:text-primary [&amp;&gt;a&gt;code]:text-xl/7 [&amp;&gt;a&gt;code]:font-bold [&amp;&gt;a&gt;code]:transition-colors"><a href="#related-guides" class="group lg:ps-2 lg:-ms-2"><span class="absolute -ms-8 top-1 opacity-0 group-hover:opacity-100 group-focus:opacity-100 p-1 bg-elevated hover:text-primary rounded-md hidden lg:flex text-muted transition"><span class="iconify i-lucide:hash size-4 shrink-0" aria-hidden="true" style=""></span></span><!--[-->Related Guides<!--]--></a></h2><ul class="list-disc ps-6 my-5 marker:text-(--ui-border-accented)"><!--[--><li class="my-1.5 ps-1.5 leading-7 [&amp;&gt;ul]:my-0"><!--[--><a href="/forge/server-modules/garage" class="text-primary border-b border-transparent hover:border-primary font-medium focus-visible:outline-primary focus-visible:has-[&gt;code]:outline-0 [&amp;&gt;code]:border-dashed hover:[&amp;&gt;code]:border-primary hover:[&amp;&gt;code]:text-primary focus-visible:[&amp;&gt;code]:border-primary focus-visible:[&amp;&gt;code]:text-primary transition-colors [&amp;&gt;code]:transition-colors"><!--[--><!--[--><!--[-->Garage Usage Guide<!--]--><!--]--><!--]--></a><!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&amp;&gt;ul]:my-0"><!--[--><a href="/forge/client-addons/actor" class="text-primary border-b border-transparent hover:border-primary font-medium focus-visible:outline-primary focus-visible:has-[&gt;code]:outline-0 [&amp;&gt;code]:border-dashed hover:[&amp;&gt;code]:border-primary hover:[&amp;&gt;code]:text-primary focus-visible:[&amp;&gt;code]:border-primary focus-visible:[&amp;&gt;code]:text-primary transition-colors [&amp;&gt;code]:transition-colors"><!--[--><!--[--><!--[-->Client Actor Usage Guide<!--]--><!--]--><!--]--></a><!--]--></li><li class="my-1.5 ps-1.5 leading-7 [&amp;&gt;ul]:my-0"><!--[--><a href="/forge/client-addons/notifications" class="text-primary border-b border-transparent hover:border-primary font-medium focus-visible:outline-primary focus-visible:has-[&gt;code]:outline-0 [&amp;&gt;code]:border-dashed hover:[&amp;&gt;code]:border-primary hover:[&amp;&gt;code]:text-primary focus-visible:[&amp;&gt;code]:border-primary focus-visible:[&amp;&gt;code]:text-primary transition-colors [&amp;&gt;code]:transition-colors"><!--[--><!--[--><!--[-->Client Notifications Usage Guide<!--]--><!--]--><!--]--></a><!--]--></li><!--]--></ul><style>html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}</style></div><div data-orientation="horizontal" role="separator" data-slot="root" class="flex items-center align-center text-center w-full flex-row"><!--[--><!--[--><div data-slot="border" class="border-default w-full border-solid border-t"></div><!--[--><div data-slot="container" class="font-medium text-default flex mx-3 whitespace-nowrap"><!--[--><div class="flex items-center gap-2 text-sm text-muted"><!--[--><!--[--><a href="https://github.com/InnovativeDevSolutions/forge/edit/master/docus/content/4.client-addons/6.garage.md" rel="noopener noreferrer" target="_blank" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors px-2.5 py-1.5 text-sm gap-1.5 text-muted hover:text-default active:text-default disabled:text-muted aria-disabled:text-muted focus:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-inverted"><!--[--><!--[--><span class="iconify i-lucide:pen shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[-->Edit this page<!--]--><!--[--><!----><!--]--><!--]--></a><!--]--><!--]--><!--[--><span>or</span><!--[--><!--[--><a href="https://github.com/InnovativeDevSolutions/forge/issues/new/choose" rel="noopener noreferrer" target="_blank" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors px-2.5 py-1.5 text-sm gap-1.5 text-muted hover:text-default active:text-default disabled:text-muted aria-disabled:text-muted focus:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-inverted"><!--[--><!--[--><span class="iconify i-lucide:alert-circle shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[-->Report an issue<!--]--><!--[--><!----><!--]--><!--]--></a><!--]--><!--]--><!--]--></div><!--]--></div><div data-slot="border" class="border-default w-full border-solid border-t"></div><!--]--><!--]--><!--]--></div><!--[--><!----><div data-slot="root" class="grid grid-cols-1 sm:grid-cols-2 gap-8"><a href="/forge/client-addons/cad" data-slot="link" class="group block px-6 py-8 rounded-lg border border-default hover:bg-elevated/50 focus-visible:outline-primary transition-colors"><!--[--><!--[--><!--[--><div data-slot="linkLeading" class="inline-flex items-center rounded-full p-1.5 bg-elevated group-hover:bg-primary/10 ring ring-accented mb-4 group-hover:ring-primary/50 transition"><!--[--><span class="iconify i-lucide:arrow-left size-5 shrink-0 text-highlighted group-hover:text-primary transition-[color,translate] group-active:-translate-x-0.5" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--></div><p data-slot="linkTitle" class="font-medium text-[15px] text-highlighted mb-1 truncate"><!--[-->Client CAD Usage Guide<!--]--></p><p data-slot="linkDescription" class="text-sm text-muted line-clamp-2"><!--[-->The client CAD addon provides the map and dispatch UI for groups, active
tasks, task assignment, dispatch orders, support requests, and task
acknowledge/decline workflows.<!--]--></p><!--]--><!--]--><!--]--></a><a href="/forge/client-addons/locker" data-slot="link" class="group block px-6 py-8 rounded-lg border border-default hover:bg-elevated/50 focus-visible:outline-primary transition-colors text-end"><!--[--><!--[--><!--[--><div data-slot="linkLeading" class="inline-flex items-center rounded-full p-1.5 bg-elevated group-hover:bg-primary/10 ring ring-accented mb-4 group-hover:ring-primary/50 transition"><!--[--><span class="iconify i-lucide:arrow-right size-5 shrink-0 text-highlighted group-hover:text-primary transition-[color,translate] group-active:translate-x-0.5" aria-hidden="true" style="" data-slot="linkLeadingIcon"></span><!--]--></div><p data-slot="linkTitle" class="font-medium text-[15px] text-highlighted mb-1 truncate"><!--[-->Client Locker Usage Guide<!--]--></p><p data-slot="linkDescription" class="text-sm text-muted line-clamp-2"><!--[-->The client locker addon manages personal locker display state, local locker
container behavior, and virtual arsenal unlock state.<!--]--></p><!--]--><!--]--><!--]--></a></div><!--]--><!--]--></div><!--]--></div><div data-slot="right" class="lg:col-span-2 order-first lg:order-last"><!--[--><!----><!----><!----><nav data-state="closed" data-slot="root" class="sticky top-(--ui-header-height) z-10 bg-default/75 lg:bg-[initial] backdrop-blur -mx-4 px-4 sm:px-6 sm:-mx-6 lg:ms-0 overflow-y-auto max-h-[calc(100vh-var(--ui-header-height))]"><!--[--><div data-slot="container" class="pt-4 sm:pt-6 pb-2.5 sm:pb-4.5 lg:py-8 border-b border-dashed border-default lg:border-0 flex flex-col"><!----><!--[--><button type="button" aria-controls aria-expanded="false" data-state="closed" data-slot="trigger" class="group text-sm font-semibold flex-1 flex items-center gap-1.5 py-1.5 -mt-1.5 focus-visible:outline-primary lg:hidden"><!--[--><!--[--><!--[--><!--]--><span data-slot="title" class="truncate"><!--[-->On this page<!--]--></span><span data-slot="trailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180 lg:hidden" aria-hidden="true" style="" data-slot="trailingIcon"></span><!--]--></span><!--]--><!--]--></button><div data-slot="content" class="relative data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden focus:outline-none lg:hidden" id="reka-collapsible-content-v-0-3-7-1" hidden data-state="closed" style="--reka-collapsible-content-height:0px;--reka-collapsible-content-width:0px;"><!--v-if--></div><p data-slot="trigger" class="group text-sm font-semibold flex-1 items-center gap-1.5 py-1.5 -mt-1.5 focus-visible:outline-primary hidden lg:flex"><!--[--><!--[--><!--]--><span data-slot="title" class="truncate"><!--[-->On this page<!--]--></span><span data-slot="trailing" class="ms-auto inline-flex gap-1.5 items-center"><!--[--><span class="iconify i-lucide:chevron-down size-5 transform transition-transform duration-200 shrink-0 group-data-[state=open]:rotate-180 lg:hidden" aria-hidden="true" style="" data-slot="trailingIcon"></span><!--]--></span><!--]--></p><div data-slot="content" class="relative data-[state=open]:animate-[collapsible-down_200ms_ease-out] data-[state=closed]:animate-[collapsible-up_200ms_ease-out] overflow-hidden focus:outline-none hidden lg:flex"><!--[--><div data-slot="indicator" class="absolute ms-2.5 transition-[translate,height] duration-200 h-(--indicator-size) translate-y-(--indicator-position) w-px rounded-full" style=""><div data-slot="indicatorLine" class="hidden"></div><!----></div><!--[--><ul class="min-w-0 ms-2.5 ps-4 border-s border-default"><!--[--><li class="min-w-0 -ms-px"><a href="#open-garage-ui" data-slot="link" class="group relative text-sm flex items-center focus-visible:outline-primary py-1 text-muted hover:text-default transition-colors"><!--[--><span data-slot="linkText" class="truncate">Open Garage UI</span><!--]--></a><!----></li><li class="min-w-0 -ms-px"><a href="#open-virtual-garage" data-slot="link" class="group relative text-sm flex items-center focus-visible:outline-primary py-1 text-muted hover:text-default transition-colors"><!--[--><span data-slot="linkText" class="truncate">Open Virtual Garage</span><!--]--></a><!----></li><li class="min-w-0 -ms-px"><a href="#client-services" data-slot="link" class="group relative text-sm flex items-center focus-visible:outline-primary py-1 text-muted hover:text-default transition-colors"><!--[--><span data-slot="linkText" class="truncate">Client Services</span><!--]--></a><!----></li><li class="min-w-0 -ms-px"><a href="#browser-events" data-slot="link" class="group relative text-sm flex items-center focus-visible:outline-primary py-1 text-muted hover:text-default transition-colors"><!--[--><span data-slot="linkText" class="truncate">Browser Events</span><!--]--></a><!----></li><li class="min-w-0 -ms-px"><a href="#browser-response-events" data-slot="link" class="group relative text-sm flex items-center focus-visible:outline-primary py-1 text-muted hover:text-default transition-colors"><!--[--><span data-slot="linkText" class="truncate">Browser Response Events</span><!--]--></a><!----></li><li class="min-w-0 -ms-px"><a href="#vehicle-service" data-slot="link" class="group relative text-sm flex items-center focus-visible:outline-primary py-1 text-muted hover:text-default transition-colors"><!--[--><span data-slot="linkText" class="truncate">Vehicle Service</span><!--]--></a><!----></li><li class="min-w-0 -ms-px"><a href="#mission-setup" data-slot="link" class="group relative text-sm flex items-center focus-visible:outline-primary py-1 text-muted hover:text-default transition-colors"><!--[--><span data-slot="linkText" class="truncate">Mission Setup</span><!--]--></a><!----></li><li class="min-w-0 -ms-px"><a href="#authoritative-state" data-slot="link" class="group relative text-sm flex items-center focus-visible:outline-primary py-1 text-muted hover:text-default transition-colors"><!--[--><span data-slot="linkText" class="truncate">Authoritative State</span><!--]--></a><!----></li><li class="min-w-0 -ms-px"><a href="#related-guides" data-slot="link" class="group relative text-sm flex items-center focus-visible:outline-primary py-1 text-muted hover:text-default transition-colors"><!--[--><span data-slot="linkText" class="truncate">Related Guides</span><!--]--></a><!----></li><!--]--></ul><!--]--><!--]--></div><!--]--><div data-slot="bottom" class="hidden lg:flex lg:flex-col gap-6 mt-6"><!--[--><!----><!--]--></div></div><!--]--></nav><!--]--><!----></div></div><!--]--><!--]--></div><!----></div><!--]--></div><!--]--></main><footer data-slot="root"><!----><div class="w-full max-w-(--ui-container) mx-auto px-4 sm:px-6 lg:px-8 py-8 lg:py-4 lg:flex lg:items-center lg:justify-between lg:gap-x-3" data-slot="container"><!--[--><div data-slot="right" class="lg:flex-1 flex items-center justify-center lg:justify-end gap-x-1.5 lg:order-3"><!--[--><!--[--><!--[--><!--[--><!--[--><a href="https://github.com/InnovativeDevSolutions/forge" rel="noopener noreferrer" target="_blank" aria-label="GitHub repository" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-xs gap-1.5 text-default hover:bg-elevated active:bg-elevated focus:outline-none focus-visible:bg-elevated hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-1.5"><!--[--><!--[--><span class="iconify i-simple-icons:github shrink-0 size-4" aria-hidden="true" style="" data-slot="leadingIcon"></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></a><!--]--><!--]--><!--]--><!--[--><!--[--><button type="button" aria-label="Switch to dark mode" data-slot="base" class="rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75 transition-colors text-sm gap-1.5 text-default hover:bg-elevated active:bg-elevated focus:outline-none focus-visible:bg-elevated hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent p-1.5"><!--[--><!--[--><span class="iconify i-lucide:moon shrink-0 size-5 hidden dark:inline-block" aria-hidden="true" style=""></span><span class="iconify i-lucide:sun shrink-0 size-5 dark:hidden" aria-hidden="true" style=""></span><!--]--><!--[--><!----><!--]--><!--[--><!----><!--]--><!--]--></button><!--]--><!--]--><!--]--><!--]--></div><div data-slot="center" class="mt-3 lg:mt-0 lg:order-2 flex items-center justify-center"><!--[--><!--]--></div><div data-slot="left" class="flex items-center justify-center lg:justify-start lg:flex-1 gap-x-1.5 mt-3 lg:mt-0 lg:order-1"><!--[--><div class="text-sm text-muted"> Copyright © 2026</div><!--]--></div><!--]--></div><!----></footer></div><span></span><!--]--><!--]--><!--[--><!--]--><!--v-if--><!--]--><!--[--><!--]--><!--]--><!--]--></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{assistant:{enabled:false,apiPath:"/__docus__/assistant"},mdc:{components:{prose:true,map:{accordion:"ProseAccordion","accordion-item":"ProseAccordionItem",badge:"ProseBadge",callout:"ProseCallout",card:"ProseCard","card-group":"ProseCardGroup",caution:"ProseCaution","code-collapse":"ProseCodeCollapse","code-group":"ProseCodeGroup","code-icon":"ProseCodeIcon","code-preview":"ProseCodePreview","code-tree":"ProseCodeTree",collapsible:"ProseCollapsible",field:"ProseField","field-group":"ProseFieldGroup",icon:"ProseIcon",kbd:"ProseKbd",note:"ProseNote",steps:"ProseSteps",tabs:"ProseTabs","tabs-item":"ProseTabsItem",tip:"ProseTip",warning:"ProseWarning"},customElements:[]},headings:{anchorLinks:{h1:false,h2:true,h3:true,h4:true,h5:false,h6:false}},highlight:{noApiRoute:true,theme:{light:"material-theme-lighter",default:"material-theme",dark:"material-theme-palenight"},shikiEngine:"javascript",langs:["bash","diff","json","js","ts","html","css","vue","shell","mdc","md","yaml"],highlighter:"shiki"}},content:{wsUrl:""},"nuxt-robots":{version:"6.0.7",isNuxtContentV2:false,debug:false,credits:true,groups:[{userAgent:["*"],allow:["/"],disallow:[],contentUsage:[],contentSignal:[],_indexable:true,_rules:[{pattern:"/",allow:true}],_normalized:true}],sitemap:["/sitemap.xml"],header:true,robotsEnabledValue:"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1",robotsDisabledValue:"noindex, nofollow",cacheControl:"max-age=14400, must-revalidate",botDetection:true,pageMetaRobots:{}},"nuxt-og-image":{defaults:{emojis:"noto",extension:"png",width:1200,height:600,cacheMaxAgeSeconds:259200},hasServerRuntime:true}},app:{baseURL:"/forge/",buildId:"3a1bf7b7-6f51-4d2c-9c98-142f71e69a9a",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="true" id="__NUXT_DATA__" data-src="/forge/client-addons/garage/_payload.json?3a1bf7b7-6f51-4d2c-9c98-142f71e69a9a">[{"state":1,"once":16,"_errors":17,"serverRendered":5,"path":19,"prerenderedAt":20},["Reactive",2],{"$scolor-mode":3,"$sassistant-open":6,"$sassistant-expanded":6,"$sassistant-messages":7,"$sassistant-pending":-1,"$stoasts":8,"$ssite-config":9},{"preference":4,"value":4,"unknown":5,"forced":6},"system",true,false,[],[],{"_priority":10,"env":13,"name":14,"url":15},{"env":11,"url":12,"name":12},-15,-3,"production","forge-docus","https:\u002F\u002Finnovativedevsolutions.github.io",["Set"],["ShallowReactive",18],{"navigation_docs":-1,"search_docs":-1,"-client-addons-garage":-1,"-client-addons-garage-surround":-1},"\u002Fclient-addons\u002Fgarage",1776806627742]</script></body></html>