diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 0d7a407..e9545eb 100755 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -2,6 +2,7 @@ import type { Metadata } from "next"; import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; import { Toaster } from "@/components/ui/toaster"; +import { APP_NAME, APP_SHORT, APP_VERSION } from "@/lib/version"; const geistSans = Geist({ variable: "--font-geist-sans", @@ -14,10 +15,10 @@ const geistMono = Geist_Mono({ }); export const metadata: Metadata = { - title: "AVA — Advanced Visualization Agent", + title: `${APP_SHORT} — ${APP_NAME} (v${APP_VERSION})`, description: - "Audio-reactive visualization agent for clubs: 3-band spectrum detection, predictive beat tracking and AVS-style visualization scripting.", - keywords: ["AVA", "visualization", "VJ", "audio-reactive", "beat detection", "AVS", "Winamp"], + "Open Visualization Engine: audio-reactive visuals for clubs — 3-band spectrum detection, predictive beat tracking and AVS-style visualization scripting.", + keywords: ["OVE", "visualization", "VJ", "audio-reactive", "beat detection", "AVS", "Winamp"], icons: { icon: "/logo.svg", }, diff --git a/src/components/ava/footer-bar.tsx b/src/components/ava/footer-bar.tsx index 698ae23..ece12fb 100755 --- a/src/components/ava/footer-bar.tsx +++ b/src/components/ava/footer-bar.tsx @@ -1,8 +1,9 @@ -// AVA — sticky footer status bar: micro-stats + engine health. +// OVE — sticky footer status bar: micro-stats + version stamp + engine health. 'use client' import { useAvaStore } from '@/lib/store' +import { APP_NAME, APP_VERSION } from '@/lib/version' import { cn } from '@/lib/utils' export function FooterBar() { @@ -45,16 +46,25 @@ export function FooterBar() { SCRIPT: {scriptName} - + {/* version stamp (left of the engine-health dot) + engine health */} +
- {error ? 'script error' : 'engine ok'} - + className="text-zinc-600" + title={`${APP_NAME} — version ${APP_VERSION}`} + > + version {APP_VERSION} + + + + {error ? 'script error' : 'engine ok'} + +
) diff --git a/src/components/ava/header.tsx b/src/components/ava/header.tsx index 7b86997..357c1b6 100755 --- a/src/components/ava/header.tsx +++ b/src/components/ava/header.tsx @@ -12,6 +12,7 @@ import { BeatDot } from '@/components/ava/beat-dot' import { LinkDialog } from '@/components/ava/link-dialog' import { tapBeat, useAudioSource } from '@/components/ava/audio-source' import { useAvaStore } from '@/lib/store' +import { APP_NAME, APP_SHORT } from '@/lib/version' import { cn } from '@/lib/utils' function SourceSegmentButton({ @@ -149,9 +150,9 @@ export function AppHeader() {
-

AVA

+

{APP_SHORT}

- ADVANCED VISUALIZATION AGENT + {APP_NAME.toUpperCase()}

diff --git a/src/lib/version.ts b/src/lib/version.ts new file mode 100644 index 0000000..1328fde --- /dev/null +++ b/src/lib/version.ts @@ -0,0 +1,16 @@ +// OVE — app identity + version stamp. +// +// Single source of truth for the product name and version shown in the UI +// (header, footer, document title). Bump APP_VERSION whenever we ship a +// large change so the running build can always be identified at a glance — +// useful both for the z.ai Version History and for naming local backups +// (v6.0 = rename to Open Visualization Engine + version indicator). +// +// History: +// 6.0 — renamed to "Open Visualization Engine" + footer version stamp +// 5.0 — folder-tree Presets page (Task 9–11 state, restored in Task 12) +// 4.0 — link audio source (yt-dlp resolve + stream proxy) + +export const APP_NAME = 'Open Visualization Engine' +export const APP_SHORT = 'OVE' +export const APP_VERSION = '6.0' diff --git a/tool-results/ove-v6-desktop.png b/tool-results/ove-v6-desktop.png new file mode 100644 index 0000000..4907689 Binary files /dev/null and b/tool-results/ove-v6-desktop.png differ diff --git a/tool-results/ove-v6-mobile.png b/tool-results/ove-v6-mobile.png new file mode 100644 index 0000000..894e2c6 Binary files /dev/null and b/tool-results/ove-v6-mobile.png differ diff --git a/worklog.md b/worklog.md index 504f75e..d940bf1 100755 --- a/worklog.md +++ b/worklog.md @@ -728,3 +728,39 @@ Stage Summary: now matches the archive's HEAD (2a23db4) on top of the current workspace. - NOTE for the future: commit snapshots are the source of truth when an environment rebuild is suspected — compare git log before re-implementing. + +--- +Task ID: 13 +Agent: main (Z.ai Code) +Task: v6.0 — rename to "Open Visualization Engine" (AVA → OVE) + footer +version indicator (establishes the versioning convention) + +Work Log: +- New src/lib/version.ts — single source of truth: APP_NAME + "Open Visualization Engine", APP_SHORT "OVE", APP_VERSION "6.0" + a + short version-history comment (6.0 rename+stamp, 5.0 folder-tree, 4.0 + link source) so future bumps are a one-line change. +- src/app/layout.tsx — document title now "OVE — Open Visualization Engine + (v6.0)" (built from the constants); description + keywords updated + (AVA→OVE, "agent"→"engine"). +- src/components/ava/header.tsx — logo block h1 "AVA" → "OVE" (APP_SHORT), + subtitle "ADVANCED VISUALIZATION AGENT" → "OPEN VISUALIZATION ENGINE" + (APP_NAME.toUpperCase()), both imported from version.ts. +- src/components/ava/footer-bar.tsx — right cluster is now a ml-auto wrapper + holding: "version 6.0" stamp (text-zinc-600, tooltip "Open Visualization + Engine — version 6.0") immediately LEFT of the engine-ok dot + label, + exactly as requested. Stamp is visible on mobile too (fits: no horizontal + scroll at 390px). +- Internal code identifiers (ava store/lib/component paths, ava-agent rust + crate) intentionally left unchanged — the rename is user-facing only. +- VERIFIED in agent-browser: title "OVE — Open Visualization Engine (v6.0)"; + header logo/subtitle; footer text "...version 6.0\nengine ok" with the + stamp on the same row, right of the stats, left of the dot; mobile 390×844 + no horizontal scroll + stamp visible; zero console/page errors; lint clean. +- Committed as "v6.0 — rename to Open Visualization Engine + version stamp". + +Stage Summary: +- Versioning convention established: bump APP_VERSION in src/lib/version.ts + on every large change; the stamp renders bottom-right of the footer and the + document title carries it too. Users can name local backups by the stamp + (e.g. "OVE v6.0") and cross-check against z.ai Version History.