import type { Metadata } from "next";
import { PageIntro, SiteShell, StatusNote } from "../_components/SiteShell";

export const metadata: Metadata = { title: "Features", description: "SmartCut64 editing, smart-render, preview, Ad-Detective, Joiner, batch, project and hardware-acceleration features." };

const nav = [["Editing", "editing"], ["Smart rendering", "smart-render"], ["Workflows", "workflows"], ["Quality controls", "quality"], ["Hardware", "hardware"], ["Deliberate limits", "limits"]] as const;

export default function FeaturesPage() {
  return <SiteShell>
    <PageIntro eyebrow="Capabilities" title="A precise editor with an inspectable media engine"><p>SmartCut64 keeps the editing surface direct while moving indexing, decoding, export and validation into isolated workers.</p></PageIntro>
    <div className="section"><div className="content-wide prose-layout">
      <aside className="side-nav" aria-label="On this page">{nav.map(([label,id]) => <a href={`#${id}`} key={id}>{label}</a>)}</aside>
      <article className="prose">
        <section id="editing"><h2>Frame-accurate editing</h2><p>The main editor works from an indexed source-frame model rather than rounded wall-clock guesses. Mark In/Out, Cut Selection, Trim Unselected, undo/redo, cut inversion and list selection all update the same kept/removed ranges.</p><ul><li>Single-frame centred thumbnails with inactive edge placeholders</li><li>Decoded dB audio waveform and exact frame ruler</li><li>Chapter markers, bookmarks, keyframe and configurable time jumps</li><li>Resizable preview, light/dark themes and configurable keyboard shortcuts</li><li>Preview Your Edits maps navigation and playback onto kept output only</li></ul></section>
        <section id="smart-render"><h2>Smart rendering with visible phases</h2><p>Intelligent smart render identifies reusable compressed packets between cut boundaries. Complete safe GOPs are copied. Boundary pictures are decoded and encoded with the selected source-compatible software codec, then joined onto one monotonic output timeline.</p><StatusNote tone="good"><strong>Fast where it can be, conservative where it must be.</strong> The export window distinguishes boundary encoding, fast packet copy and validation. A failed validation removes the temporary destination instead of presenting it as finished.</StatusNote><p>Keyframe-only copy and full-transcode profiles remain explicit alternatives. Container conflicts are surfaced before export with a compatible-container or transcode route.</p></section>
        <section id="workflows"><h2>Complete desktop workflows</h2><h3>Ad-Detective</h3><p>Scene and black-frame analysis, configurable regions and thresholds, I/P-picture filtering, candidate review, chapter navigation, automatic cut creation and batch scans.</p><h3>Joiner and titles</h3><p>Combine source media, edited projects and multi-object title cards. Reorder, revise, save a Joiner project and produce one validated output.</p><h3>Batch Manager and watch folders</h3><p>Queue editor exports, QuickStream Fix, Ad scans, Joiner jobs and supported project interchange. Watch folders wait for stable input and record completed identities.</p><h3>Repair and interchange tools</h3><p>QuickStream Fix, dimension filtering, trimmed copy, elementary stream multiplex/demultiplex, metadata editing, stream selection, project recovery, and supported VideoReDo project/batch/Joiner interchange.</p></section>
        <section id="quality"><h2>Evidence instead of a green tick alone</h2><p>Exports record the requested and delivered container, stream set, output mode, kept/removed ranges, copied-packet policy, timestamps, metadata, frame counts and applicable PCM/payload comparisons. Reports stay available from the Tools menu.</p><ul><li>Crash-recovery journal with strict parsing and source identity checks</li><li>Background index/cache validation and bounded worker IPC</li><li>Explicit failure for incompatible subtitle/container combinations</li><li>HDR and colour metadata inspection with operation-specific reporting</li><li>Installer, portable package, symbols, notices, SBOM, source and checksums as one immutable release set</li></ul></section>
        <section id="hardware"><h2>One GPU, per-codec decisions, software fallback</h2><p>Preview, thumbnails and Ad-Detective can use D3D11VA or supported Vulkan decode. Optional full transcode can use NVIDIA NVENC, Intel Quick Sync, AMD AMF or Vulkan FFV1/ProRes. The self-test opens the real codec/device path, validates output and compares it with CPU performance.</p><p>Preferences are independent for MPEG-2, H.264, HEVC, AV1, VP9, FFV1 and ProRes. Hardware full transcode is off by default, and smart-render boundary GOPs always use software.</p></section>
        <section id="limits"><h2>Deliberate limits</h2><ul><li>No DVD authoring, menu design or disc burning</li><li>No claim of universal support for every damaged file, proprietary recorder header or legal codec/container combination</li><li>No Dolby, player or hardware certification claim</li><li>No sample-accurate splice claim for copied compressed audio frames</li><li>No silent fallback that labels an incompatible or unvalidated output successful</li></ul></section>
      </article>
    </div></div>
  </SiteShell>;
}
