Discover page

Updated Oct 16, 2026 Open the tool

The discover page at /discover is the new landing page for the workspace at /app. It walks through the workspace tools on one scrolling page, shows the plans, answers common questions and ends on a drop target that opens a file straight in the workspace. It is the front page: zoov.dev/ shows it (its own address /discover redirects there). It is for people who have not signed up: a visitor who is already signed in goes straight to /app instead (since 2026-09-29).

What the discover page shows

It is the site's front page since 2026-09-20. With the workspace live, zoov.dev/ shows this page, and /discover sends people to / (query string kept), so the page has one address; its canonical and share links say /, and the sitemap lists it once. It is served rather than redirected to (reroute in src/hooks.ts maps / to the /discover route while the release step is live), so the old homepage's route is untouched: if the owner steps back to staging, / is the old homepage again and this page is back at /discover. Links to it read HOME_PATH from src/lib/config/release.ts, never a literal.

The discover page opens with the headline "The asset workspace for FiveM servers", a paragraph saying what Zoovdev does (convert 3D models into props, weapons and clothing, generate images, design liveries, optimize game files), two buttons (Open workspace and See plans) and a glowing prompt bar that types an example description, "A wooden crate with rope handles and worn green paint.", over and over. Behind the right side of the first screen, cards from the workspace float around a small tilted copy of the workspace; scrolling pushes through them, the cards fly out past the viewer and the workspace copy comes forward to full size.

A column on the left of the page is the page index, grouped the way the workspace groups its tools: Home, Create, Packs, Design and Optimize, then Plans and FAQ. The word for the part being shown lights up and fills as that group is read, and clicking a word scrolls to the start of that group. On a phone the same index is a bar at the bottom of the screen with Home, Create, Packs, Design, Optimize and Plans.

While the visitor scrolls, the small copy of the workspace stays on screen and plays each part in turn: a crate converted to a prop (the part is labelled "Props, weapons, clothing", since weapons and clothing use the same tool, under the headline "Turn 3D models into game-ready FiveM assets"), an AI part headed "AI generation built into every tool" where the screen fills with light while a model is generated from a description, images generated from a prompt, a clothing pack two people edit at once in Packs (headline "Clothing packs your whole team can work on at once": a teammate joins, adds a colourway to a top and answers a note on it, with How Packs works beside Open Packs leading to the Packs page), a livery painted in the Designer, a UV map made for a vehicle, and a batch of files made smaller in Optimize. Each part's title and text stop in the middle of the screen beside the workspace copy while that part plays, then move up as the next part arrives. For the Designer and the UV map (the Design tools) the workspace copy moves to the left and their text stands on the right. When the AI part's light fades, the workspace copy is already showing Images. Each part has an "Open" button that goes to that tool in /app (the AI part's button is Open workspace). The file names and results in these previews are examples, not real jobs.

Each part reads the same way: the tool's name in small type, a headline, one paragraph describing what the tool does for a server, and on a computer one small line with the price or the daily limit (for example "Free accounts convert 3 models a day. Conversions are unlimited on Standard and above."). On a phone that small line is left out; the plans further down say the same.

After the tools come the plans ("Plans that grow with your server") and credit packs, the Photoshop and Photopea plugin ("Preview textures on the model while you work in Photoshop"), "Frequently asked questions" with a link to Guides, a box to drop a file into ("Start with a file you already have") and the footer.

The prompt bar on the discover page

The prompt bar at the top of the discover page is a real text box. Clicking into it stops the example; the visitor types what they want made and presses Enter (Go on a phone keyboard). That opens Props in the workspace with the Generate model form open, "Describe it" selected and the typed description already in the form (up to 800 characters). Pressing Enter in an empty bar sends the example description instead. Nothing is generated and no credits are spent by the discover page: the model is only made when Generate is pressed inside the workspace, which asks for Discord sign-in first and shows the cost before it runs.

Plans on the discover page

The plans section on the discover page shows Free, Standard, Pro and Max with a Monthly / Yearly switch and the credit packs. The Plugin Pass is not offered in this section; the plugin section under it links to the plugin page. Prices, credits a month and plan features come from the same plan settings the workspace uses. The buttons do not buy anything on the page itself: "Choose Pro" (and the other Choose buttons) opens /app with the plans dialog already open and that plan drawn out, and "Buy credits" opens the same dialog at the credit packs. Checkout then works exactly as it does from inside the workspace; see the plans and subscriptions doc and the credit packs doc.

Reviews and the competition on the discover page

Between the tool parts and the plans, "From our Discord" shows reviews members posted in the #reviews channel of the Zoovdev Discord: one set large beside the heading, the rest as a list with the member's Discord picture, name, the plan role they held and the day they posted. The words are theirs, unedited. The list is copied from Discord by a script the team runs, so a new review appears after the next copy, not straight away, and a member who changed their Discord picture since shows their initial instead. There is no written stand-in copy: with no copied reviews the section is not on the page. "Join the Discord" opens the Discord invite.

While a competition is open, a row under the prompt bar on the first screen shows it: the prize picture, the competition's name, how entries come ("Entries with paid plans and packs" for a prize draw, "Subscribers pitch a feature" for a judged contest), the number of winners and the closing date. The row opens the competition page inside the workspace, /app/comp, where entries are counted and plans and credit packs that add entries can be bought. "18+ · Terms" beside it opens the competition terms. With no competition open, the row is not there. For how entries work, see the competitions doc.

Dropping a file on the discover page

A file can be dropped anywhere on the discover page. Dragging a file over the page lights the screen with a dashed frame, "Drop to open" and the formats the workspace takes: GLB, YDR, YDD, YFT, YTD, PNG, JPG and WebP. Letting go opens /app in the tool that owns that format with the file already loaded (a GLB opens in Props, for example), and the screen reads the file name and "Opening in" the tool. The "Drop a file" box near the end of the page works the same way and also has a Choose file button. Nothing is uploaded or charged by the drop itself. A file the workspace does not open stays on the page with the line "Could not open notes.txt · TXT is not a workspace format" (with the real file name and format). Open workspace goes to /app without a file.

Motion, themes and accessibility on the discover page

The discover page animates while scrolling: the workspace preview tilts into place, each part's text holds in the middle of the screen while its preview plays, a soft band of light passes behind the page as a new part begins, text that is not being read is dimmed and slightly blurred, and AI parts light the screen. Visitors who turn on reduced motion in their system settings get a still page: every preview shows its finished state, the light stands still, the prompt bar shows the example complete instead of typing it, the Design tools switch sides without sliding, and nothing tilts, sweeps or scrubs. The page follows the site theme, dark by default and light when the visitor has chosen light elsewhere on the site. All text stays readable without JavaScript (the prompt bar then shows the example as its placeholder and still opens Props when submitted), the index words are real links, and the cookie question is the same one the workspace asks (a choice made in either place counts in both).

Common questions

Is the discover page a different product from the workspace? No. The discover page is a tour of the workspace at /app. Every Open button, plan button, the prompt bar and the drop box lead into the same workspace, with the same account and the same credits.

I'm signed in. Why does zoov.dev open the workspace instead of the front page? On purpose (since 2026-09-29): the front page is for new visitors, so a signed-in visitor lands in /app straight away. /roblox, /packs and the guides still open for everyone. To see the front page again, sign out.

Do I need to sign in to use the discover page or open the workspace? No. The page and the workspace both open without an account. Sign-in (Discord only) is asked for at the first action that needs an account, such as a conversion, a generation or a purchase.

I typed a description into the bar on the discover page and pressed Enter. Did it make a model? No. It opens Props in the workspace with the Generate model form open and the description in it. Nothing runs and no credits are spent until Generate is pressed there, after signing in with Discord; the form shows the cost first.

I pressed Choose Pro and landed in the workspace. Did I pay? No. Choose opens the plans dialog inside the workspace with that plan drawn out. Nothing is charged until checkout on Stripe's page is completed.

Where is the Plugin Pass on the discover page? Not in the plans section. The plugin section under the plans links to the plugin page, which covers the Plugin Pass.

Is Zoovdev part of Rockstar, FiveM (Cfx.re) or Roblox? No. zoov.dev is independent and not affiliated with, endorsed by or sponsored by Cfx.re, FiveM, Rockstar Games, Take-Two Interactive or Roblox Corporation; the notice is at the foot of every page outside the workspace.

How do I change my answer to the cookie question? Press Cookie settings in the footer of any page outside the workspace (Legal column). The question comes back with Decline and Allow.

Where are the API docs, the status page or the guides? In the Docs menu of the top bar on any page outside the workspace (Guides, API, Status), and in the footer's Resources column. In the workspace, Ctrl+K finds them too.

Why do the files in the previews not exist in my library? The previews on the discover page use example files to show how each tool works. They are not jobs on anyone's account.

The page moves too much for me. Can I turn it off? Yes. Turn on reduced motion in the operating system's accessibility settings and reload the page. The previews then show their finished state without movement.

I dropped a file on the discover page and nothing opened. The file's format is not one the workspace opens; the page says which format was refused. The workspace takes GLB, YDR, YDD, YFT, YTD, PNG, JPG and WebP. A file can be dropped anywhere on the page, not only on the box at the end.

Every page outside the workspace wears the same top bar and the same footer: the front page, the Roblox page, the Packs page, the plugin page (/app/plugin), the guides (/kb), the API docs (/docs/api), the status page, the policies, the competition, sign-in and shared previews. Before 2026-10-02 each page had its own links, so the API docs and the status page were in no bar at all.

The top bar. The Zoovdev logo goes to the front page (on the Roblox page, to the Roblox page). Then FiveM, Roblox, Packs, Plugin, Pricing, and a Docs menu holding Guides, API and Status. The link for the page you are on is lit (Docs for any guide, the API docs and the status page). On the right: the language menu, Sign in (or your picture, which opens your profile) and Open workspace. Pricing scrolls to the plans on a page that has them; anywhere else it opens the front page's plans, or the plans window in the workspace if you are signed in.

On a smaller screen (under 1024px wide) the links fold into a menu button (three lines) at the right of the bar. On a phone, Sign in is inside that menu too, and Open workspace reads Open.

A second bar on the Packs and plugin pages. Under the top bar sits the page's own bar: its name and its sections (Packs: Sharing, Plans, FAQ; plugin: Ways in, Panel, Access, Questions), with the section being read lit. On these two pages the top bar scrolls away and this one stays at the top; once it does, it shows the page's button (Open Packs; Download).

The footer has five columns: FiveM tools (GLB to YDR, Weapons, Clothing (YDD), Vehicles, Livery editor, Peds, Chain creator (since 2026-10-13), Optimize, File converter), Roblox tools (ER:LC liveries, Shirts and pants), Product (Workspace, Packs, Plugin, Pricing), Resources (Guides, API, Status, Competition, Partner kit (/partners, since 2026-10-07; see the partner kit doc), Discord, Contact, which emails admin@zoov.dev) and Legal (Terms, Privacy, Competition terms, Cookie settings). Cookie settings brings back the analytics cookie question so an answer can be changed. The year and the light or dark switch sit beside the logo, and under everything the notice "zoov.dev is an independent platform and is not affiliated with, endorsed by, or sponsored by Cfx.re, FiveM, Rockstar Games, Take-Two Interactive, or Roblox Corporation. All product names, logos, and brands are the property of their respective owners."

Languages

Since 2026-09-20 this part of the site is available in English, French, German, Spanish, Portuguese, Polish and Dutch. It follows the browser's language on a first visit, and the language menu (the icon beside the profile in /app, or in the top navigation on public pages) changes it. Nothing about how it works, what it costs or what a plan includes differs by language; only the words do. File names, format names (GLB, YDR, YTD), product and model names, code, and some error lines that come from the server stay in English. Details and known gaps: Languages and translation.

The Packs page

Since 2026-09-25 /packs is the landing page of Packs, the clothing pack builder (built, not yet live: it ships with Packs itself). Unlike the front page and the Roblox page it has a look of its own: a clothing line sheet and its hang tags, printed on the workspace's own dark ground in the dark theme and its light ground in the light one, with a lavender field (the logo's indigo lifted; the owner picked this Zoovdev palette on 2026-09-26 over the first hi-vis yellow), white card and black print, and teal only for what is happening at that moment. The top bar is the site's own with "Packs" after the mark and Open Packs as its button.

Its first screen is a large yellow hang tag with the headline "Clothing packs your whole team can build together", a paragraph, Open Packs and See plans, "Free to start · sharing on Pro and Max", and a small card tag saying it opens DurtyClothTool and grzyClothTool projects and is not affiliated with either. Beside it, the line sheet of an example pack ("Harbour Winter", stamped Example: a quilted jacket, a flannel overshirt, a hi-vis vest, cargo trousers, work boots and a cap) with two people on it plays once: the second person's tag swings on, a new colourway drops onto the jacket and turns it hi-vis yellow (a real Recolor, Shift, of its red colourway), a note is stapled to the sheet, the sheet goes from Saving to Synced. Every garment on the page is a real item from horizon_one, one of the packs Packs is tested on, photographed on Packs' own stage the way Packs takes an item's picture (alone, on nothing, from the stage's home angle), and the swatches are the colours read off those pictures (since 2026-09-26, owner: the drawn flats went).

Then the tool itself (since 2026-09-26, "Your pack, open in Packs"): a working copy of /app/packs with the example pack open, in the workspace's own colours (dark or light with the site), under a tag in the page's field, "Example pack · click anything". It has the app's rail, the list by ped and slot with each item's picture, number, letters, notes and warnings, the stage with the outfit on the freemode ped, and the details in the app's four tabs. Clicking an item puts it on the stage, a colourway puts it on in that letter (the texture sheets are the real ones), the person button takes the ped off and on, a fix in Findings mends it (Allow DirectX 11 formats clears every BC7 finding at once, Make mipmaps turns the texture's 1 mip into 11), typing a name renames the row, and a note posts to the item. What only the real tool does (Recolour, the Designer, Build, sharing, adding files, credits) answers with one line, "Recolour works in Packs itself" and so on, with Open Packs beside it, for 5 seconds. On a phone it is the stage, the items as a strip, the details and Build under them; between the two, the list beside the stage with the details under both. Every fact in it is what the real app said about these files when they were dropped into it (sizes, formats, mips, bytes, findings); one finding it raised is left out (an embedded texture in the cap's model named after a sports team).

Then, one sheet per subject: what opens (a DurtyClothTool project with its data folder, named without a version since 2026-09-26 (owner: DurtyClothTool 4 is not out, an experimental build, so nothing public names it), a grzyClothTool project, a built resource or a zip of one, loose YDD and YTD files, up to 60,000 files in one drop; DurtyClothTool 4 projects are encrypted, so the resource it built is opened instead), working together (invites to members of the Zoovdev Discord server by name, the bot sending them the pack; owner, can edit and can view, a teammate's upload still landing, twenty more real items with seven landed and the rest still shadows, a thread on an item; sharing on Pro with 2 people and on Max with anyone), the history (a pile of dated versions that fans out as the page scrolls: every ten minutes of work, every build, named versions kept until deleted; 30, 90 and 365 days on Standard, Pro and Max), the checks (findings ringed in red and ticked as Fix all mends them: four of the example pack's real ones in the app's own words, a BC7 texture on Top 013, 1 of 11 mipmaps on Armor 004's b, Top 012's missing LODs, Shoes 007's missing diffuse sampler with no fix; and the 255 places of a slot drawn as a tally), the ped (the example's cap, flannel, cargo and boots worn together on the freemode ped, photographed on Packs' stage with the ped in the picture, each piece's tag on a string pinned to it and the cap's naming the head bone; the turn; the six item pictures and the name they export under), colourways (Recolour free, AI variations at the Designer's prices, the Designer, AI names and tags), the build (Legacy or Enhanced, the resource's folder written out, and what changed as a post for Discord), the plans as price tags (what each plan gets in Packs: 1 pack on the device on Free, then 3, 10 and 50 in the cloud; and under a rule, "Also in" the plan: its credits, 50 to start on Free or its monthly credits, and all the workspace's tools, counted from the tool list), questions, and a yellow close.

The page is in English only until the owner approves the copy; the other languages show the English until it is translated.

The clips (2026-09-26). After the tool chapter, Features.svelte, "See it in action": eight short clips of Packs doing a thing, each under (or over) a two-line pitch, criss-cross two to a row: on one side the words sit over the clip, on the other the clip sits over the words, and the next row swaps (owner: not a grid of previews; "title, small description, clip, then flipped"). The pitches say what the reader gets, nothing about the clips themselves (no count, no "no sound"; owner: only what the reader needs to know, in a professional site's register): New colourways in seconds, Try the whole outfit, See it move, Problems found fixed in a click, Work on it together, Keep a big pack organised, Every version kept, Share a link not a build. Each clip is cropped to the part of the tool that moves (the stage and the right panel, the dialog, the History list), 12 to 18 s, 800x600, muted, as a print with a stock border; it plays while at least a third of it is on screen and pauses off it (an IntersectionObserver), so eight decoders never run at once. A click opens it larger in a <dialog> on the page's stock with the browser's controls, and sends packspage_clip_opened. Reduced motion: nothing plays by itself, a "Play" word sits on the poster and the tap opens the clip; without JavaScript the posters and words stand. Under 768px one to a row, words over the clip. Files in static/assets/marketing/packs-features/ (<id>.mp4 H.264, <id>.webm VP9, <id>.webp poster, and <id>-big.mp4 at 1280x960 for the larger view, fetched only when one is opened; about 19 MB in all), made by scripts/marketing/art/packs-features.mjs from the owner's recordings in main/videos (the crops and cuts are in it): the recordings carry no colour tags, which is why heavy re-encodes went green elsewhere (a BT.601 guess on BT.709 content); every output is tagged BT.709 and kept at CRF 19/32. Walked in node_modules/.probe/packs-features.mjs.

Long words in the headings (2026-09-26). The German hero title, "Kleidungspakete, die dein ganzes Team gemeinsam erstellt", ran 177px past its five columns at 88px (Dutch 37px), and at 1024 wide German, Polish and Dutch chapter titles ran over their 381px boxes: .pk-display now hyphenates (hyphens: auto, the page's lang) and breaks a word no dictionary knows rather than overflowing. The Questions band's title follows the width (clamp(40px, 4.8vw, 60px)): at 1024 "Questions" was 27px over at 60px. Measured in every locale from 2560 to 390 with node_modules/.probe/packs-titles.mjs (the PARAGLIDE_LOCALE cookie picks the language on the dev server; a /de/ prefix hydrates back to English).

The Roblox page

Since 2026-09-21 /roblox is a landing page of its own for the tools Roblox has, built like the front page: the same top bar, index at the left, small copy of the workspace that plays each tool while the visitor scrolls, and the same plans. Its headline is "The design workspace for Roblox creators". It walks through three tools: Liveries ("ER:LC liveries that fit every vehicle": a police livery is described, generated as one picture and cut into the vehicle's five sides), Clothing ("Classic shirts and pants, mapped to the template": a shirt and pants generated onto Roblox's 585 x 559 template and shown on an avatar) and Images ("Artwork for your group and your game"). After them come the member reviews, the plans, "Frequently asked questions" with Roblox questions (what it costs, which ER:LC vehicles are supported, how to use a livery in ER:LC, whether clothing follows Roblox's template, how good the AI designs are, then credits expiring, signing in and cancelling) and a closing block, "Start designing for Roblox". There is no plugin section and no box to drop a file into.

Every button on the Roblox page opens the workspace with Roblox already chosen as the game, so the rail shows Roblox's tools. Until that day /roblox sent people straight into the workspace; /app/erlc, /app/outfit and /app?game=roblox&plans=all still do.

Both pages have a small FiveM / Roblox switch above the headline. Pressing the other game opens that game's page. The page is available in the same seven languages at /fr/roblox, /de/roblox and so on.

Front page speed (2026-09-28)

The competition strip under the hero is kept for a minute per server instance, so a competition that opens or closes shows within a minute. The Packs chapter's pictures are loaded as files rather than written into the page's script, and the layout imports its edge glow by file.

Scrolling through the tool chapters on the front page and /roblox does less work per frame since 2026-09-28: the page looks the same, and the chapters, the AI takeover and the chapter changes redraw less of the screen, so scrolling drops fewer frames, most of all on laptops. While a visitor reads the first screen, the page quietly prepares every tool's scene and the AI moment ahead of time, so moving from one tool to the next no longer stutters, even on a first visit.

On a computer that cannot keep up (the page notices a few seconds into scrolling, and remembers it for two weeks), the front page switches to lighter effects: the same page with fewer blur effects and a calmer light. Anyone can choose: add ?fx=full to the address for the full effects (this also forgets a remembered choice), or ?fx=lite for the lighter ones.

Search results and share cards (2026-09-29)

  • The card says which page it is. The front page, /roblox, /packs and /app/plugin built their share card with the headline "Zoovdev" (the masthead already says zoov.dev), so every landing's card looked the same. Each now puts its own search title on the card (discover_seo_title, discover_rbx_seo_title, packspage_seo_title, pluginpage_seo_title), which is also the image's alt text. A card's sentence is cut at a full stop by clampText (utils/og.ts).
  • The site's name. Google showed the front page as "Zoov Dev". The front page now carries WebSite and Organization data (siteSchemas() in src/lib/seo/site.ts): the name Zoovdev, the spellings people type ("Zoov Dev", "zoov.dev"), the logo (/site/logo.png) and the Discord and X accounts. The (discover) layout renders a page's pageMetaTags.jsonLd, as (pages) already did.
  • Card defaults under a page's own. svelte-meta-tags props are spread, not merged, so a page's openGraph replaced the layout's whole and KB and sign-in cards had no og:site_name, og:type or twitter:site. withSiteDefaults in seo/site.ts puts them back underneath in both the (discover) and (pages) layouts, with og:locale in the page's language (fr_FR, pt_BR and so on). Robots on the landings is index, follow, max-snippet:-1, max-image-preview:large, as on the tools.
  • The front page is back in the sitemap (/), with /roblox; see "What a crawler reads of a tool" in workspace.md for the rest of that pass.

Topics discoverlandinghomepagetourworkspaceplansdrop a filegenerate modelpromptpacks pagepacks landingclothing pack builderline sheet

Something missing? Ask on Discord