[{"data":1,"prerenderedAt":883},["ShallowReactive",2],{"doc:\u002Freverse-proxy\u002Fgetting-started":3,"surround:\u002Freverse-proxy\u002Fgetting-started":637,"navigation":646},{"id":4,"title":5,"body":6,"description":630,"extension":631,"meta":632,"navigation":335,"path":633,"seo":634,"stem":635,"__hash__":636},"docs\u002F02.reverse-proxy\u002F02.getting-started.md","Szybki start",{"type":7,"value":8,"toc":622},"minimark",[9,14,64,124,128,166,189,193,314,318,364,367,484,488,538,542,563,571,586,590,618],[10,11,13],"h2",{"id":12},"docker-compose-najszybciej","Docker Compose (najszybciej)",[15,16,21],"pre",{"className":17,"code":18,"language":19,"meta":20,"style":20},"language-bash shiki shiki-themes github-light github-dark","cd reverse-proxy\nADMIN_TOKEN=change-me docker compose up --build\n","bash","",[22,23,24,37],"code",{"__ignoreMap":20},[25,26,29,33],"span",{"class":27,"line":28},"line",1,[25,30,32],{"class":31},"sj4cs","cd",[25,34,36],{"class":35},"sZZnC"," reverse-proxy\n",[25,38,40,44,48,51,55,58,61],{"class":27,"line":39},2,[25,41,43],{"class":42},"sVt8B","ADMIN_TOKEN",[25,45,47],{"class":46},"szBVR","=",[25,49,50],{"class":35},"change-me",[25,52,54],{"class":53},"sScJk"," docker",[25,56,57],{"class":35}," compose",[25,59,60],{"class":35}," up",[25,62,63],{"class":31}," --build\n",[65,66,67,80],"table",{},[68,69,70],"thead",{},[71,72,73,77],"tr",{},[74,75,76],"th",{},"Endpoint",[74,78,79],{},"Opis",[81,82,83,94,104,114],"tbody",{},[71,84,85,91],{},[86,87,88],"td",{},[22,89,90],{},"http:\u002F\u002Flocalhost:8080",[86,92,93],{},"Reverse proxy",[71,95,96,101],{},[86,97,98],{},[22,99,100],{},"http:\u002F\u002Flocalhost:8080\u002Fhealthz",[86,102,103],{},"Liveness proxy",[71,105,106,111],{},[86,107,108],{},[22,109,110],{},"http:\u002F\u002Flocalhost:8080\u002Fmetrics",[86,112,113],{},"Metryki Prometheus",[71,115,116,121],{},[86,117,118],{},[22,119,120],{},"http:\u002F\u002Flocalhost:8080\u002Fadmin\u002Fbackends",[86,122,123],{},"Admin API (wymaga tokenu)",[125,126,127],"p",{},"Opcjonalne stacki:",[15,129,131],{"className":17,"code":130,"language":19,"meta":20,"style":20},"docker compose --profile monitoring up -d\ndocker compose --profile redis up -d\n",[22,132,133,151],{"__ignoreMap":20},[25,134,135,138,140,143,146,148],{"class":27,"line":28},[25,136,137],{"class":53},"docker",[25,139,57],{"class":35},[25,141,142],{"class":31}," --profile",[25,144,145],{"class":35}," monitoring",[25,147,60],{"class":35},[25,149,150],{"class":31}," -d\n",[25,152,153,155,157,159,162,164],{"class":27,"line":39},[25,154,137],{"class":53},[25,156,57],{"class":35},[25,158,142],{"class":31},[25,160,161],{"class":35}," redis",[25,163,60],{"class":35},[25,165,150],{"class":31},[167,168,169,183],"ul",{},[170,171,172,175,176,179,180],"li",{},[22,173,174],{},"monitoring"," → Prometheus ",[22,177,178],{},":9090",", Grafana ",[22,181,182],{},":3000",[170,184,185,188],{},[22,186,187],{},"redis"," → Redis dla rozproszonego rate limitingu",[10,190,192],{"id":191},"lokalny-development","Lokalny development",[194,195,196],"steps",{},[197,198,199,237,258],"ol",{},[170,200,201,205],{},[202,203,204],"strong",{},"Przetestuj i zbuduj",[15,206,208],{"className":17,"code":207,"language":19,"meta":20,"style":20},"go test .\u002F...\ngo build -o proxy .\u002Fcmd\u002Fserver\n",[22,209,210,221],{"__ignoreMap":20},[25,211,212,215,218],{"class":27,"line":28},[25,213,214],{"class":53},"go",[25,216,217],{"class":35}," test",[25,219,220],{"class":35}," .\u002F...\n",[25,222,223,225,228,231,234],{"class":27,"line":39},[25,224,214],{"class":53},[25,226,227],{"class":35}," build",[25,229,230],{"class":31}," -o",[25,232,233],{"class":35}," proxy",[25,235,236],{"class":35}," .\u002Fcmd\u002Fserver\n",[170,238,239,242],{},[202,240,241],{},"Uruchom z konfiguracją",[15,243,245],{"className":17,"code":244,"language":19,"meta":20,"style":20},".\u002Fproxy -config config\u002Fconfig.yaml\n",[22,246,247],{"__ignoreMap":20},[25,248,249,252,255],{"class":27,"line":28},[25,250,251],{"class":53},".\u002Fproxy",[25,253,254],{"class":31}," -config",[25,256,257],{"class":35}," config\u002Fconfig.yaml\n",[170,259,260,263,266,267,270,271,274,275],{},[202,261,262],{},"Wystaw demo backendy",[264,265],"br",{},"Domyślna konfiguracja oczekuje backendów na ",[22,268,269],{},"localhost:8081"," i ",[22,272,273],{},"localhost:8082",":",[15,276,278],{"className":17,"code":277,"language":19,"meta":20,"style":20},"docker run --rm -p 8081:80 nginx:alpine\ndocker run --rm -p 8082:80 nginx:alpine\n",[22,279,280,299],{"__ignoreMap":20},[25,281,282,284,287,290,293,296],{"class":27,"line":28},[25,283,137],{"class":53},[25,285,286],{"class":35}," run",[25,288,289],{"class":31}," --rm",[25,291,292],{"class":31}," -p",[25,294,295],{"class":35}," 8081:80",[25,297,298],{"class":35}," nginx:alpine\n",[25,300,301,303,305,307,309,312],{"class":27,"line":39},[25,302,137],{"class":53},[25,304,286],{"class":35},[25,306,289],{"class":31},[25,308,292],{"class":31},[25,310,311],{"class":35}," 8082:80",[25,313,298],{"class":35},[10,315,317],{"id":316},"pierwsze-requesty","Pierwsze requesty",[15,319,321],{"className":17,"code":320,"language":19,"meta":20,"style":20},"curl http:\u002F\u002Flocalhost:8080\u002Fhealthz\n\ncurl http:\u002F\u002Flocalhost:8080\u002F\n\ncurl -H \"Authorization: Bearer change-me\" http:\u002F\u002Flocalhost:8080\u002Fadmin\u002Fbackends\n",[22,322,323,331,337,345,350],{"__ignoreMap":20},[25,324,325,328],{"class":27,"line":28},[25,326,327],{"class":53},"curl",[25,329,330],{"class":35}," http:\u002F\u002Flocalhost:8080\u002Fhealthz\n",[25,332,333],{"class":27,"line":39},[25,334,336],{"emptyLinePlaceholder":335},true,"\n",[25,338,340,342],{"class":27,"line":339},3,[25,341,327],{"class":53},[25,343,344],{"class":35}," http:\u002F\u002Flocalhost:8080\u002F\n",[25,346,348],{"class":27,"line":347},4,[25,349,336],{"emptyLinePlaceholder":335},[25,351,353,355,358,361],{"class":27,"line":352},5,[25,354,327],{"class":53},[25,356,357],{"class":31}," -H",[25,359,360],{"class":35}," \"Authorization: Bearer change-me\"",[25,362,363],{"class":35}," http:\u002F\u002Flocalhost:8080\u002Fadmin\u002Fbackends\n",[125,365,366],{},"Odpowiedź admin API:",[15,368,372],{"className":369,"code":370,"language":371,"meta":20,"style":20},"language-json shiki shiki-themes github-light github-dark","{\n  \"backends\": [\n    { \"url\": \"http:\u002F\u002Flocalhost:8081\", \"healthy\": true, \"admin_down\": false, \"in_flight\": 0 },\n    { \"url\": \"http:\u002F\u002Flocalhost:8082\", \"healthy\": true, \"admin_down\": false, \"in_flight\": 0 }\n  ]\n}\n","json",[22,373,374,379,387,435,473,478],{"__ignoreMap":20},[25,375,376],{"class":27,"line":28},[25,377,378],{"class":42},"{\n",[25,380,381,384],{"class":27,"line":39},[25,382,383],{"class":31},"  \"backends\"",[25,385,386],{"class":42},": [\n",[25,388,389,392,395,398,401,404,407,409,412,414,417,419,422,424,427,429,432],{"class":27,"line":339},[25,390,391],{"class":42},"    { ",[25,393,394],{"class":31},"\"url\"",[25,396,397],{"class":42},": ",[25,399,400],{"class":35},"\"http:\u002F\u002Flocalhost:8081\"",[25,402,403],{"class":42},", ",[25,405,406],{"class":31},"\"healthy\"",[25,408,397],{"class":42},[25,410,411],{"class":31},"true",[25,413,403],{"class":42},[25,415,416],{"class":31},"\"admin_down\"",[25,418,397],{"class":42},[25,420,421],{"class":31},"false",[25,423,403],{"class":42},[25,425,426],{"class":31},"\"in_flight\"",[25,428,397],{"class":42},[25,430,431],{"class":31},"0",[25,433,434],{"class":42}," },\n",[25,436,437,439,441,443,446,448,450,452,454,456,458,460,462,464,466,468,470],{"class":27,"line":347},[25,438,391],{"class":42},[25,440,394],{"class":31},[25,442,397],{"class":42},[25,444,445],{"class":35},"\"http:\u002F\u002Flocalhost:8082\"",[25,447,403],{"class":42},[25,449,406],{"class":31},[25,451,397],{"class":42},[25,453,411],{"class":31},[25,455,403],{"class":42},[25,457,416],{"class":31},[25,459,397],{"class":42},[25,461,421],{"class":31},[25,463,403],{"class":42},[25,465,426],{"class":31},[25,467,397],{"class":42},[25,469,431],{"class":31},[25,471,472],{"class":42}," }\n",[25,474,475],{"class":27,"line":352},[25,476,477],{"class":42},"  ]\n",[25,479,481],{"class":27,"line":480},6,[25,482,483],{"class":42},"}\n",[10,485,487],{"id":486},"wyłączenie-backendu-z-rotacji","Wyłączenie backendu z rotacji",[15,489,491],{"className":17,"code":490,"language":19,"meta":20,"style":20},"curl -X POST -H \"Authorization: Bearer change-me\" \\\n  http:\u002F\u002Flocalhost:8080\u002Fadmin\u002Fbackends\u002F0\u002Fdown\n\ncurl -X POST -H \"Authorization: Bearer change-me\" \\\n  http:\u002F\u002Flocalhost:8080\u002Fadmin\u002Fbackends\u002F0\u002Fup\n",[22,492,493,510,515,519,533],{"__ignoreMap":20},[25,494,495,497,500,503,505,507],{"class":27,"line":28},[25,496,327],{"class":53},[25,498,499],{"class":31}," -X",[25,501,502],{"class":35}," POST",[25,504,357],{"class":31},[25,506,360],{"class":35},[25,508,509],{"class":31}," \\\n",[25,511,512],{"class":27,"line":39},[25,513,514],{"class":35},"  http:\u002F\u002Flocalhost:8080\u002Fadmin\u002Fbackends\u002F0\u002Fdown\n",[25,516,517],{"class":27,"line":339},[25,518,336],{"emptyLinePlaceholder":335},[25,520,521,523,525,527,529,531],{"class":27,"line":347},[25,522,327],{"class":53},[25,524,499],{"class":31},[25,526,502],{"class":35},[25,528,357],{"class":31},[25,530,360],{"class":35},[25,532,509],{"class":31},[25,534,535],{"class":27,"line":352},[25,536,537],{"class":35},"  http:\u002F\u002Flocalhost:8080\u002Fadmin\u002Fbackends\u002F0\u002Fup\n",[10,539,541],{"id":540},"sprawdzenie-metryk","Sprawdzenie metryk",[15,543,545],{"className":17,"code":544,"language":19,"meta":20,"style":20},"curl http:\u002F\u002Flocalhost:8080\u002Fmetrics | grep proxy_requests_total\n",[22,546,547],{"__ignoreMap":20},[25,548,549,551,554,557,560],{"class":27,"line":28},[25,550,327],{"class":53},[25,552,553],{"class":35}," http:\u002F\u002Flocalhost:8080\u002Fmetrics",[25,555,556],{"class":46}," |",[25,558,559],{"class":53}," grep",[25,561,562],{"class":35}," proxy_requests_total\n",[15,564,569],{"className":565,"code":567,"language":568,"meta":20},[566],"language-text","proxy_requests_total{method=\"GET\",route=\"healthz\",backend=\"\",status=\"200\"} 1\nproxy_requests_total{method=\"GET\",route=\"\",backend=\"http:\u002F\u002Flocalhost:8081\",status=\"200\"} 3\n","text",[22,570,567],{"__ignoreMap":20},[572,573,576],"callout",{"title":574,"type":575},"ADMIN_TOKEN jest wymagany","warning",[125,577,578,579,581,582,585],{},"Bez ",[22,580,43],{}," admin API ",[202,583,584],{},"nie jest serwowane wcale"," (fail-closed). Ustaw silny token przez zmienną środowiskową, nie w pliku YAML.",[10,587,589],{"id":588},"co-dalej","Co dalej?",[167,591,592,604,611],{},[170,593,594,599,600,603],{},[595,596,598],"a",{"href":597},"\u002Freverse-proxy\u002Fconfiguration","Konfiguracja"," — pełna referencja ",[22,601,602],{},"config.yaml",".",[170,605,606,610],{},[595,607,609],{"href":608},"\u002Freverse-proxy\u002Ftraffic\u002Fload-balancing","Load balancing"," — wybór strategii.",[170,612,613,617],{},[595,614,616],{"href":615},"\u002Freverse-proxy\u002Foperations\u002Fobservability","Monitoring"," — Prometheus + Grafana.",[619,620,621],"style",{},"html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}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);}",{"title":20,"searchDepth":339,"depth":339,"links":623},[624,625,626,627,628,629],{"id":12,"depth":39,"text":13},{"id":191,"depth":39,"text":192},{"id":316,"depth":39,"text":317},{"id":486,"depth":39,"text":487},{"id":540,"depth":39,"text":541},{"id":588,"depth":39,"text":589},"Uruchom reverse proxy przez Docker Compose albo lokalnie z Go. Endpointy, pierwsze requesty i opcjonalne stacki monitoringu.","md",{},"\u002Freverse-proxy\u002Fgetting-started",{"title":5,"description":630},"02.reverse-proxy\u002F02.getting-started","8gvVshUPwqHteMdcNbNrXCyePtcFNBPEKM7iAsGPKkU",[638,643],{"title":639,"path":640,"stem":641,"description":642,"children":-1},"Przegląd","\u002Freverse-proxy","02.reverse-proxy\u002F01.index","Lekki, produkcyjny reverse proxy w Go — load balancing, health checks, circuit breaker, rate limiting, metryki Prometheus i graceful shutdown.",{"title":598,"path":597,"stem":644,"description":645,"children":-1},"02.reverse-proxy\u002F03.configuration","Pełna referencja config.yaml — backendy, load balancing, health checks, rate limit, timeouty, retry, circuit breaker, TLS, logi i Redis.",[647,764,816],{"title":648,"path":649,"stem":650,"children":651},"2D Game Engine","\u002Fgame-engine","01.game-engine\u002F01.index",[652,653,656,659,663,689,718,731,752,756,760],{"title":639,"path":649,"stem":650},{"title":5,"path":654,"stem":655},"\u002Fgame-engine\u002Fgetting-started","01.game-engine\u002F02.getting-started",{"title":598,"path":657,"stem":658},"\u002Fgame-engine\u002Fconfiguration","01.game-engine\u002F03.configuration",{"title":660,"path":661,"stem":662},"Architektura","\u002Fgame-engine\u002Farchitecture","01.game-engine\u002F04.architecture",{"title":664,"path":665,"stem":666,"children":667,"page":688},"Rdzeń","\u002Fgame-engine\u002Fcore","01.game-engine\u002F05.core",[668,672,676,680,684],{"title":669,"path":670,"stem":671},"Silnik i cykl życia","\u002Fgame-engine\u002Fcore\u002Fengine","01.game-engine\u002F05.core\u002F01.engine",{"title":673,"path":674,"stem":675},"Czas i pętla gry","\u002Fgame-engine\u002Fcore\u002Ftime","01.game-engine\u002F05.core\u002F02.time",{"title":677,"path":678,"stem":679},"Sceny","\u002Fgame-engine\u002Fcore\u002Fscenes","01.game-engine\u002F05.core\u002F03.scenes",{"title":681,"path":682,"stem":683},"Obiekty i komponenty","\u002Fgame-engine\u002Fcore\u002Fobjects","01.game-engine\u002F05.core\u002F04.objects",{"title":685,"path":686,"stem":687},"Zdarzenia i harmonogram","\u002Fgame-engine\u002Fcore\u002Fevents","01.game-engine\u002F05.core\u002F05.events",false,{"title":690,"path":691,"stem":692,"children":693,"page":688},"Systemy","\u002Fgame-engine\u002Fsystems","01.game-engine\u002F06.systems",[694,698,702,706,710,714],{"title":695,"path":696,"stem":697},"Zasoby (AssetManager)","\u002Fgame-engine\u002Fsystems\u002Fassets","01.game-engine\u002F06.systems\u002F01.assets",{"title":699,"path":700,"stem":701},"Wejście (InputManager)","\u002Fgame-engine\u002Fsystems\u002Finput","01.game-engine\u002F06.systems\u002F02.input",{"title":703,"path":704,"stem":705},"Fizyka (PhysicsManager)","\u002Fgame-engine\u002Fsystems\u002Fphysics","01.game-engine\u002F06.systems\u002F03.physics",{"title":707,"path":708,"stem":709},"Kamera (CameraManager)","\u002Fgame-engine\u002Fsystems\u002Fcamera","01.game-engine\u002F06.systems\u002F04.camera",{"title":711,"path":712,"stem":713},"Audio (AudioManager)","\u002Fgame-engine\u002Fsystems\u002Faudio","01.game-engine\u002F06.systems\u002F05.audio",{"title":715,"path":716,"stem":717},"Tweeny i easing","\u002Fgame-engine\u002Fsystems\u002Ftweens","01.game-engine\u002F06.systems\u002F06.tweens",{"title":719,"path":720,"stem":721,"children":722,"page":688},"Dane i zapisy","\u002Fgame-engine\u002Fdata","01.game-engine\u002F07.data",[723,727],{"title":724,"path":725,"stem":726},"Format projektu","\u002Fgame-engine\u002Fdata\u002Fproject-format","01.game-engine\u002F07.data\u002F01.project-format",{"title":728,"path":729,"stem":730},"Zapisy gry","\u002Fgame-engine\u002Fdata\u002Fsaves","01.game-engine\u002F07.data\u002F02.saves",{"title":732,"path":733,"stem":734,"children":735,"page":688},"Zaawansowane","\u002Fgame-engine\u002Fadvanced","01.game-engine\u002F08.advanced",[736,740,744,748],{"title":737,"path":738,"stem":739},"Pluginy","\u002Fgame-engine\u002Fadvanced\u002Fplugins","01.game-engine\u002F08.advanced\u002F01.plugins",{"title":741,"path":742,"stem":743},"WebAssembly","\u002Fgame-engine\u002Fadvanced\u002Fwasm","01.game-engine\u002F08.advanced\u002F02.wasm",{"title":745,"path":746,"stem":747},"Debugowanie","\u002Fgame-engine\u002Fadvanced\u002Fdebugging","01.game-engine\u002F08.advanced\u002F03.debugging",{"title":749,"path":750,"stem":751},"Wydajność i benchmarki","\u002Fgame-engine\u002Fadvanced\u002Fperformance","01.game-engine\u002F08.advanced\u002F04.performance",{"title":753,"path":754,"stem":755},"Wdrożenie","\u002Fgame-engine\u002Fdeployment","01.game-engine\u002F09.deployment",{"title":757,"path":758,"stem":759},"Przykłady","\u002Fgame-engine\u002Fexamples","01.game-engine\u002F10.examples",{"title":761,"path":762,"stem":763},"Decyzje architektoniczne","\u002Fgame-engine\u002Fadr","01.game-engine\u002F11.adr",{"title":765,"path":640,"stem":641,"children":766},"Reverse Proxy",[767,768,769,770,789],{"title":639,"path":640,"stem":641},{"title":5,"path":633,"stem":635},{"title":598,"path":597,"stem":644},{"title":771,"path":772,"stem":773,"children":774,"page":688},"Ruch i odporność","\u002Freverse-proxy\u002Ftraffic","02.reverse-proxy\u002F04.traffic",[775,777,781,785],{"title":609,"path":608,"stem":776},"02.reverse-proxy\u002F04.traffic\u002F01.load-balancing",{"title":778,"path":779,"stem":780},"Health checks","\u002Freverse-proxy\u002Ftraffic\u002Fhealth-checks","02.reverse-proxy\u002F04.traffic\u002F02.health-checks",{"title":782,"path":783,"stem":784},"Circuit breaker i retry","\u002Freverse-proxy\u002Ftraffic\u002Fresilience","02.reverse-proxy\u002F04.traffic\u002F03.resilience",{"title":786,"path":787,"stem":788},"Rate limiting","\u002Freverse-proxy\u002Ftraffic\u002Frate-limiting","02.reverse-proxy\u002F04.traffic\u002F04.rate-limiting",{"title":790,"path":791,"stem":792,"children":793,"page":688},"Operacje i wdrożenie","\u002Freverse-proxy\u002Foperations","02.reverse-proxy\u002F05.operations",[794,798,801,805,808,812],{"title":795,"path":796,"stem":797},"Admin API","\u002Freverse-proxy\u002Foperations\u002Fadmin-api","02.reverse-proxy\u002F05.operations\u002F01.admin-api",{"title":799,"path":615,"stem":800},"Metryki i monitoring","02.reverse-proxy\u002F05.operations\u002F02.observability",{"title":802,"path":803,"stem":804},"Bezpieczeństwo","\u002Freverse-proxy\u002Foperations\u002Fsecurity","02.reverse-proxy\u002F05.operations\u002F03.security",{"title":753,"path":806,"stem":807},"\u002Freverse-proxy\u002Foperations\u002Fdeployment","02.reverse-proxy\u002F05.operations\u002F04.deployment",{"title":809,"path":810,"stem":811},"Benchmarki","\u002Freverse-proxy\u002Foperations\u002Fbenchmarks","02.reverse-proxy\u002F05.operations\u002F05.benchmarks",{"title":813,"path":814,"stem":815},"Troubleshooting","\u002Freverse-proxy\u002Foperations\u002Ftroubleshooting","02.reverse-proxy\u002F05.operations\u002F06.troubleshooting",{"title":817,"path":818,"stem":819,"children":820},"Vector Engine","\u002Fvector-engine","03.vector-engine\u002F01.index",[821,822,825,846,859,879],{"title":639,"path":818,"stem":819},{"title":5,"path":823,"stem":824},"\u002Fvector-engine\u002Fgetting-started","03.vector-engine\u002F02.getting-started",{"title":826,"path":827,"stem":828,"children":829,"page":688},"Scena","\u002Fvector-engine\u002Fscene","03.vector-engine\u002F03.scene",[830,834,838,842],{"title":831,"path":832,"stem":833},"Format sceny 1.0","\u002Fvector-engine\u002Fscene\u002Fscene-format","03.vector-engine\u002F03.scene\u002F01.scene-format",{"title":835,"path":836,"stem":837},"Obiekty sceny","\u002Fvector-engine\u002Fscene\u002Fobjects","03.vector-engine\u002F03.scene\u002F02.objects",{"title":839,"path":840,"stem":841},"Gradienty i warstwy","\u002Fvector-engine\u002Fscene\u002Fgradients-layers","03.vector-engine\u002F03.scene\u002F03.gradients-layers",{"title":843,"path":844,"stem":845},"Przykłady scen","\u002Fvector-engine\u002Fscene\u002Fexamples","03.vector-engine\u002F03.scene\u002F04.examples",{"title":847,"path":848,"stem":849,"children":850,"page":688},"Eksport","\u002Fvector-engine\u002Fexport","03.vector-engine\u002F04.export",[851,855],{"title":852,"path":853,"stem":854},"Formaty eksportu","\u002Fvector-engine\u002Fexport\u002Fexport-formats","03.vector-engine\u002F04.export\u002F01.export-formats",{"title":856,"path":857,"stem":858},"Proces eksportu","\u002Fvector-engine\u002Fexport\u002Fexport-workflow","03.vector-engine\u002F04.export\u002F02.export-workflow",{"title":860,"path":861,"stem":862,"children":863,"page":688},"Wnętrze silnika","\u002Fvector-engine\u002Finternals","03.vector-engine\u002F05.internals",[864,867,871,875],{"title":660,"path":865,"stem":866},"\u002Fvector-engine\u002Finternals\u002Farchitecture","03.vector-engine\u002F05.internals\u002F01.architecture",{"title":868,"path":869,"stem":870},"WebAssembly i workery","\u002Fvector-engine\u002Finternals\u002Fwasm","03.vector-engine\u002F05.internals\u002F02.wasm",{"title":872,"path":873,"stem":874},"Workspace i panele","\u002Fvector-engine\u002Finternals\u002Fworkspace","03.vector-engine\u002F05.internals\u002F03.workspace",{"title":876,"path":877,"stem":878},"Breakpointy","\u002Fvector-engine\u002Finternals\u002Fbreakpoints","03.vector-engine\u002F05.internals\u002F04.breakpoints",{"title":880,"path":881,"stem":882},"Wdrożenie na Vercel","\u002Fvector-engine\u002Fdeployment","03.vector-engine\u002F06.deployment",1793986308263]