FRTL v1 SHIPPED (2026-07-11): Fractal Forest full-site rebuild live as Studio app "Fractal Forest — Earth Tek" — 8-route skeleton, co-host commerce, catalog mirrored for Cloud storefront
Xela owns fractalforest.co (Kauai earth-tek wellness, Shopify). Project FRTL = rebuild the business on The Cloud, co-host Shopify first, then surpass + hand back. Footer reads "© 2026, FRTL CO. · xelab™". Design = EARTH BRUTALISM (Archivo Black, 3px rules, hard slabs, marquee, spec counters, zero radius; bone #EFE9DB / ink #141A16 / moss-deep / gold #B9975B). Copy = SCENE GRAMMAR. Studio app zs7cxvzhjdta1tbqvvt275we6d8aagx0 (fractal-forest-earth-tek), Private.
Current state (2026-07-14 eve):
HERO: bordered viewport frame + dot carousel (2 clips, lazy). BRANDING: favicon.svg mark + frtl-logo.svg wordmark lockup, inverted in footer, favicon wired. NAV: "Plant a seed" removed. SOUND: primal ripple toggle. Shop: brutalist sort dropdown; mobile filter chips = cellular matrix (ink frame, 3px shared rules, ALL header slab spanning row 1, active cell inverts w/ gold bar — same grammar as nav).
IMAGES — COMPLETE: all 55 product images Cloud-owned at assets/products/product-media/<handle>.jpg|png; data.js fully rewired, zero Shopify hotlinks. ROOT CAUSE of old blank images: Studio /a/ CSP img-src 'self' blocks ALL external imgs — Cloud-owned is the only path (hard proof for Shopify-connector BuildDoc). Dupe incident: curiosity re-upload minted 55 silent <name>-2 copies; Ora verified byte-identical + unreferenced, deleted all 55 (deleteStudioAppFile works fine); dedupe addendum appended to drag-drop BuildDoc.
IMAGE CHOREOGRAPHY: aspect-ratio boxes (no shift), fade-up on .is-loaded via revealImages() (also called inside initShop's render — shop grid is injected post-route, was staying invisible), first-8 eager+fetchpriority, idle warmCatalog() prefetches all 55, reduced-motion safe. BOOT VEIL: #boot bone overlay + breathing favicon (object-fit:contain — never squished), lifted by app.js after first composed frame; kills the footer-flash on refresh.
PRODUCTS MATCHED (2026-07-14 eve): "FRTL — Products" table is the catalog master — now 77 rows = 55 LIVE products matched 1:1 to the studio app (Handle + Image URL cols filled with data.js handles + Cloud asset paths; 28 existing rows matched incl. "Blue"=methyleneblue, "Dream State Drops"=dream-state, "Blue Lotus"=blue-lotus-flowers; 27 rows inserted: sika/moss/pine-pollen/tongkat/cordyceps/lions-mane/reishi/osha/myrrh/earthdrops, MNRL×3, ĒTHR, MYST, PĒRL, herbal-consultation, all 10 kits) + 22 draft-only rows (Quantum/Phyto/Euphoria/Rejuvenate capsules, Kava Kava, Blue Turmeric, Red/White Lotus, Raw Kauai Honey, Ancient Essence Hair Oil, Anointing Oil, Body Butter, Hawaii Vetiver, Blue Yarrow, Gift Card, Biohacking Kit 003, Blue Lotus/Longevity/Dream/Spirit kits, Frankincense Ritual Set, Perfume Collection — future line from Xela's CSV, no handles, untouched). Known price drift table-vs-live: Flor/Etho/Natura 50 vs 55, Earth Mend 25 vs 33, Brahma 24 vs 25, Soma 55,70 vs 50, Elk Antler 50 vs 188 — table is draft pricing, data.js is live Shopify truth. Table: https://www.thecloud.so/tb/p18cjyjpc2f0889ek56mzf34xn8ae8vx
COMMERCE: getStorefrontState → owner has ZERO Cloud commerce products (embedState:table); product records only flow via Square connector today — the Shopify-connector BuildDoc is the path to real FRTL storefront products.
BUILDDOCS filed (both 2026-07-14): Shopify commerce port https://www.thecloud.so/p/builddoc-shopify-commerce-port-co-host-for-studio-qh7a92ej3ccajt7xm74991sxjn8ah63p · Surgical drag & drop + dedupe addendum https://www.thecloud.so/p/builddoc-surgical-drag-drop-in-the-studio-files-taqh7e51execreg2g85h81djrcts8ag8h7 (relayed to builders by Daniel).
FRTL Space: https://www.thecloud.so/workspace?openSpace=nn7b8y5f84j0q9rcskv5rwaq5h8ae0hr