v6.0 — rename to Open Visualization Engine (AVA→OVE) + footer version stamp
This commit is contained in:
parent
df39d16b61
commit
1538e83222
7 changed files with 79 additions and 15 deletions
|
|
@ -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",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -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: <span className="ml-1 truncate text-zinc-300">{scriptName}</span>
|
||||
</span>
|
||||
|
||||
<span className={cn('ml-auto flex shrink-0 items-center gap-1.5', error ? 'text-rose-400' : 'text-emerald-400')}>
|
||||
{/* version stamp (left of the engine-health dot) + engine health */}
|
||||
<div className="ml-auto flex shrink-0 items-center gap-3 sm:gap-4">
|
||||
<span
|
||||
className={cn(
|
||||
'size-1.5 rounded-full',
|
||||
error ? 'animate-pulse bg-rose-400 shadow-[0_0_8px_rgba(251,113,133,0.8)]' : 'bg-emerald-400 shadow-[0_0_8px_rgba(52,211,153,0.8)]',
|
||||
)}
|
||||
aria-hidden
|
||||
/>
|
||||
<span className="text-zinc-400">{error ? 'script error' : 'engine ok'}</span>
|
||||
</span>
|
||||
className="text-zinc-600"
|
||||
title={`${APP_NAME} — version ${APP_VERSION}`}
|
||||
>
|
||||
version {APP_VERSION}
|
||||
</span>
|
||||
<span className={cn('flex items-center gap-1.5', error ? 'text-rose-400' : 'text-emerald-400')}>
|
||||
<span
|
||||
className={cn(
|
||||
'size-1.5 rounded-full',
|
||||
error ? 'animate-pulse bg-rose-400 shadow-[0_0_8px_rgba(251,113,133,0.8)]' : 'bg-emerald-400 shadow-[0_0_8px_rgba(52,211,153,0.8)]',
|
||||
)}
|
||||
aria-hidden
|
||||
/>
|
||||
<span className="text-zinc-400">{error ? 'script error' : 'engine ok'}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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() {
|
|||
<AudioWaveform className="size-5 text-zinc-950" aria-hidden />
|
||||
</div>
|
||||
<div>
|
||||
<h1 className="text-base font-bold leading-none tracking-wide">AVA</h1>
|
||||
<h1 className="text-base font-bold leading-none tracking-wide">{APP_SHORT}</h1>
|
||||
<p className="mt-1 hidden text-[10px] leading-none tracking-[0.14em] text-zinc-500 sm:block">
|
||||
ADVANCED VISUALIZATION AGENT
|
||||
{APP_NAME.toUpperCase()}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
16
src/lib/version.ts
Normal file
16
src/lib/version.ts
Normal file
|
|
@ -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'
|
||||
BIN
tool-results/ove-v6-desktop.png
Normal file
BIN
tool-results/ove-v6-desktop.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 83 KiB |
BIN
tool-results/ove-v6-mobile.png
Normal file
BIN
tool-results/ove-v6-mobile.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 50 KiB |
36
worklog.md
36
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.
|
||||
|
|
|
|||
Loading…
Reference in a new issue