Image Prompt & Brief Creator
Run ID: 69cce5d43e7fb09ff16a60d02026-04-01Design
PantheraHive BOS
BOS Dashboard

Generate 10 professional AI image prompts, creative briefs, and visual direction specs

As a professional AI assistant, I have generated 10 comprehensive AI image prompts, creative briefs, and visual direction specifications. Each entry is designed to be highly actionable, providing a clear vision for generating professional-grade imagery.


Image Prompt & Brief Creator: Detailed Output

Here are 10 distinct image prompts, each accompanied by a creative brief and specific visual direction, designed for high-quality AI image generation.


1. Futuristic Urban Oasis

Image Prompt:

A sprawling, vertical smart city at twilight, featuring interconnected sky bridges and illuminated drone pathways. Hyper-realistic, intricate architecture with reflective glass facades. Flying autonomous vehicles navigate between glowing towers. Below, bustling street-level activity is hinted at with blurred light trails. High-angle shot, cinematic, with strong cyberpunk influences, dominated by deep purples, electric blues, and neon greens. Volumetric fog adds atmospheric depth.

Creative Brief:

  • Purpose: To evoke a sense of awe and inspire a vision of advanced technological progress and sustainable urban living. Ideal for a technology company's future concept presentation or an urban development initiative.
  • Target Audience: Tech enthusiasts, urban planners, investors in smart infrastructure, forward-thinking consumers.
  • Key Message: The future is here, intelligent, interconnected, and vibrant. Innovation creates a harmonious urban ecosystem.
  • Desired Emotional Response: Excitement, wonder, optimism, aspiration.

Visual Direction Specs:

  • Architecture: Focus on clean lines, modular designs, and vertical gardens integrated into buildings. Avoid dystopian elements; aim for an optimistic, clean future.
  • Lighting: Emphasize neon glow from advertisements and building lights. Use strong backlighting and rim lighting on flying vehicles. Create a sense of depth with varying light intensities.
  • Color Palette: Dominant cool tones (purples, blues, greens) with strategic pops of warm light (orange, yellow) for contrast.
  • Composition: High-angle (bird's-eye view) to showcase the scale and complexity. Ensure a clear focal point, perhaps a particularly striking building or a cluster of activity.
  • Details: Intricate details in building facades, reflections on glass surfaces. Subtle movement blur for vehicles to imply motion.

2. Serene Forest Meditation

Image Prompt:

A lone, indistinct figure meditating peacefully on a moss-covered ancient stone in a tranquil, sun-dappled forest. Hyper-realistic, with soft, diffused golden light filtering through a dense canopy of old-growth trees. Gentle mist rises from the forest floor. Earthy tones dominate, creating a serene, spiritual atmosphere. Wide shot, low-angle perspective looking up slightly, emphasizing the majesty of the trees.

Creative Brief:

  • Purpose: To promote mindfulness, wellness, and the restorative power of nature. Suitable for a meditation app, yoga retreat, or sustainable lifestyle brand.
  • Target Audience: Individuals seeking peace, stress relief, spiritual connection, nature lovers.
  • Key Message: Find your inner calm and reconnect with nature's serenity. Embrace tranquility and introspection.
  • Desired Emotional Response: Serenity, peace, calm, introspection, spiritual connection.

Visual Direction Specs:

  • Lighting: Soft, dappled sunlight creating glowing rays through the trees. Avoid harsh shadows. Emphasize the warmth of the golden hour.
  • Textures: Rich detail on moss, tree bark, fallen leaves, and the texture of the stone.
  • Atmosphere: Subtle mist or fog adding to the ethereal quality.
  • Figure: The meditating figure should be an silhouette or very subtly detailed, allowing viewers to project themselves into the scene. Gender-neutral.
  • Color Palette: Predominantly greens, browns, and soft yellows/golds, with subtle touches of muted earthy colors.
  • Composition: Wide shot to capture the grandeur of the forest. Low-angle helps convey the height of the trees.

3. Abstract AI Brainstorm

Image Prompt:

A dynamic, conceptual abstract representation of data flowing into and outwards from a glowing, stylized human brain. Intricate, crystalline neural networks interweave with geometric patterns and vibrant light trails. This is a conceptual digital painting, rendered in 8k, with a dominant color palette of deep blues, electric greens, and bright whites, symbolizing intelligence and connectivity.

Creative Brief:

  • Purpose: To visually articulate the power and complexity of artificial intelligence and data processing. Ideal for an AI software company, data analytics platform, or a technology innovation report.
  • Target Audience: B2B clients, tech investors, researchers, developers.
  • Key Message: AI powers intelligent thought, drives innovation, and uncovers complex insights. Visualizing the intelligent core of data.
  • Desired Emotional Response: Intelligence, innovation, complexity, sophistication, inspiration.

Visual Direction Specs:

  • Metaphor: Clearly represent a "brain" and "data flow" without being literal or anatomical. Use abstract shapes and light.
  • Style: Modern, clean, conceptual art. Avoid organic or overly fluid forms; geometric precision is key.
  • Lighting: Emphasize glowing elements and light trails to convey energy and movement.
  • Color Palette: Strong contrast between deep background blues/greens and bright, energetic whites/light blues for data paths.
  • Details: Focus on intricate, interconnected lines and nodes within the neural network. Smooth gradients and sharp edges.

4. Artisan Coffee Roaster

Image Prompt:

A close-up, shallow depth of field shot of a barista's hands expertly pouring delicate latte art into a pristine white ceramic cup. Rich, dark roasted coffee beans are scattered artfully on a rustic, warm wooden counter in the foreground. The background is a soft bokeh blur, hinting at a cozy cafe atmosphere. Soft, natural light illuminates the scene, creating a warm, inviting, and intimate food photography style.

Creative Brief:

  • Purpose: To highlight craftsmanship, quality, and the sensory experience of premium coffee. Perfect for a gourmet coffee brand, high-end cafe, or specialty food magazine.
  • Target Audience: Coffee connoisseurs, foodies, individuals who appreciate artisanal products.
  • Key Message: Experience the art and passion in every cup. Quality, craft, and the perfect coffee moment.
  • Desired Emotional Response: Warmth, comfort, indulgence, appreciation for craftsmanship.

Visual Direction Specs:

  • Focus: Sharp focus on the latte art and the barista's hands. The coffee beans in the foreground should also be in focus to emphasize texture.
  • Lighting: Soft, warm natural light, possibly from a window, creating gentle highlights and shadows. Avoid harsh overhead lighting.
  • Textures: Emphasize the rich texture of coffee beans, the smoothness of the ceramic cup, and the grain of the wooden counter.
  • Atmosphere: The bokeh background should suggest a cozy, welcoming cafe environment without being distracting.
  • Color Palette: Warm browns, creams, and whites, with subtle hints of natural wood and cafe decor.

5. Dynamic Tech Startup Team

Image Prompt:

A diverse, energetic team of young professionals (2-4 people) collaborating actively in a modern, open-plan office space. One person points at a whiteboard filled with ideas, another types on a laptop, and a third engages in discussion. Natural light streams in through large windows. The style is candid, documentary-like, with vibrant colors and a medium shot composition, conveying a positive, optimistic, and innovative atmosphere.

Creative Brief:

  • Purpose: To showcase a vibrant, collaborative, and inclusive work culture. Ideal for recruitment campaigns, startup accelerator promotions, or corporate branding for a tech company.
  • Target Audience: Potential employees, investors, partners, clients seeking dynamic innovation.
  • Key Message: Innovation happens through diverse collaboration and passionate teamwork. Our team drives the future.
  • Desired Emotional Response: Energy, teamwork, ambition, positivity, inspiration.

Visual Direction Specs:

  • Interaction: Focus on genuine interaction and engagement between team members. Avoid stiff or posed shots.
  • Diversity: Ensure representation across gender, ethnicity, and potentially age (within a young professional range).
  • Environment: The office space should be bright, clean, and modern, with elements like whiteboards, ergonomic furniture, and potted plants.
  • Lighting: Abundant natural light to create an open and airy feel.
  • Color Palette: Bright and vibrant, reflecting a positive and energetic environment. Use natural skin tones.
  • Composition: Medium shot to capture expressions and interactions. Dynamic angles to convey movement and energy.

6. Mystical Ancient Ruins

Image Prompt:

Grand, overgrown ancient ruins, reminiscent of a lost civilization, bathed in ethereal moonlight. Intricate, weathered carvings adorn massive stone structures. Swirling mist gently blankets the ground, and subtle bioluminescent flora emits a soft glow from crevices. Fantasy art style, mysterious, epic, and awe-inspiring. Wide-angle perspective, deep blues, greens, and subtle glowing elements create a magical atmosphere.

Creative Brief:

  • Purpose: To ignite imagination and convey a sense of ancient mystery and forgotten grandeur. Perfect for a fantasy game, book cover, historical fantasy film poster, or a travel blog focused on mythical locations.
  • Target Audience: Fantasy enthusiasts, history buffs, adventurers, gamers, readers of epic fiction.
  • Key Message: Uncover ancient secrets and explore the mysteries of forgotten worlds. Where history meets enchantment.
  • Desired Emotional Response: Mystery, awe, wonder, enchantment, intrigue.

Visual Direction Specs:

  • Scale: Emphasize the immense scale of the ruins against the natural environment.
  • Detail: Intricate, weathered details on stone carvings, suggesting a rich history. Overgrowth (vines, moss) should be present but not completely obscure the structures.
  • Atmosphere: Heavy use of mist and moonlight to create an ethereal, mysterious mood.
  • Bioluminescence: Subtle, organic glows from plants or fungi, adding to the magical quality without being overly bright or artificial.
  • Color Palette: Dominant cool tones (deep blues, dark greens, grays) with soft, glowing accents.
  • Composition: Wide-angle to capture the vastness and epic scope. Consider a foreground element to add depth.

7

image_prompt___brief_creator.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react' import ReactDOM from 'react-dom/client' import App from './App' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( ) "); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react' import './App.css' function App(){ return(

"+slugTitle(pn)+"

Built with PantheraHive BOS

) } export default App "); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e} .app{min-height:100vh;display:flex;flex-direction:column} .app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px} h1{font-size:2.5rem;font-weight:700} "); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` ## Open in IDE Open the project folder in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.5.13", "vue-router": "^4.4.5", "pinia": "^2.3.0", "axios": "^1.7.9" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.3", "vite": "^6.0.5", "vue-tsc": "^2.2.0" } } '); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname,'src') } } }) "); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} '); zip.file(folder+"tsconfig.app.json",'{ "compilerOptions":{ "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"], "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true, "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue", "strict":true,"paths":{"@/*":["./src/*"]} }, "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"] } '); zip.file(folder+"env.d.ts","/// "); zip.file(folder+"index.html"," "+slugTitle(pn)+"
"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue' import { createPinia } from 'pinia' import App from './App.vue' import './assets/main.css' const app = createApp(App) app.use(createPinia()) app.mount('#app') "); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue"," "); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547} "); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` Open in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{ "name": "'+pn+'", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test" }, "dependencies": { "@angular/animations": "^19.0.0", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "typescript": "~5.6.0" } } '); zip.file(folder+"angular.json",'{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "'+pn+'": { "projectType": "application", "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/'+pn+'", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "styles": ["src/styles.css"], "scripts": [] } }, "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"} } } } } '); zip.file(folder+"tsconfig.json",'{ "compileOnSave": false, "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]}, "references":[{"path":"./tsconfig.app.json"}] } '); zip.file(folder+"tsconfig.app.json",'{ "extends":"./tsconfig.json", "compilerOptions":{"outDir":"./dist/out-tsc","types":[]}, "files":["src/main.ts"], "include":["src/**/*.d.ts"] } '); zip.file(folder+"src/index.html"," "+slugTitle(pn)+" "); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch(err => console.error(err)); "); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; } "); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { title = '"+pn+"'; } "); zip.file(folder+"src/app/app.component.html","

"+slugTitle(pn)+"

Built with PantheraHive BOS

"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1} "); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes) ] }; "); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router'; export const routes: Routes = []; "); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+" Generated by PantheraHive BOS. ## Setup ```bash npm install ng serve # or: npm start ``` ## Build ```bash ng build ``` Open in VS Code with Angular Language Service extension. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local .angular/ "); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join(" "):"# add dependencies here "; zip.file(folder+"main.py",src||"# "+title+" # Generated by PantheraHive BOS print(title+" loaded") "); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## Run ```bash python main.py ``` "); zip.file(folder+".gitignore",".venv/ __pycache__/ *.pyc .env .DS_Store "); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+" "; zip.file(folder+"package.json",pkgJson); var fallback="const express=require("express"); const app=express(); app.use(express.json()); app.get("/",(req,res)=>{ res.json({message:""+title+" API"}); }); const PORT=process.env.PORT||3000; app.listen(PORT,()=>console.log("Server on port "+PORT)); "; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000 "); zip.file(folder+".gitignore","node_modules/ .env .DS_Store "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash npm install ``` ## Run ```bash npm run dev ``` "); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:" "+title+" "+code+" "; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */ *{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e} "); zip.file(folder+"script.js","/* "+title+" — scripts */ "); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Open Double-click `index.html` in your browser. Or serve locally: ```bash npx serve . # or python3 -m http.server 3000 ``` "); zip.file(folder+".gitignore",".DS_Store node_modules/ .env "); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/**(.+?)**/g,"$1"); hc=hc.replace(/ {2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. Files: - "+app+".md (Markdown) - "+app+".html (styled HTML) "); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); }function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}