Change project name;

This commit is contained in:
2026-01-05 16:22:26 +08:00
parent 86e82b13e2
commit b8669f6a11
1236 changed files with 1654 additions and 1347 deletions
+63
View File
@@ -0,0 +1,63 @@
import { defineUserConfig } from "vuepress";
import { hopeTheme } from "vuepress-theme-hope";
export default defineUserConfig({
base: process.env.BASE || "/",
locales: {
"/": {
lang: "en-US",
title: "Oak Video Editor",
description:
"Open-source, non-linear video editor focused on speed and clarity.",
},
"/zh/": {
lang: "zh-CN",
title: "Oak 视频编辑器",
description: "面向创作者的开源非线性剪辑软件。",
},
},
theme: hopeTheme({
logo: "/images/oak-icon.png",
locales: {
"/": {
selectLanguageName: "English",
navbar: [
{ text: "Home", link: "/" },
{ text: "Build", link: "/build.html" },
{ text: "Project Files", link: "/project-file-reference.html" },
{ text: "Test Plan", link: "/test-plan.html" },
],
sidebar: [
{
text: "Documentation",
children: [
"/build.md",
"/project-file-reference.md",
"/test-plan.md",
],
},
],
},
"/zh/": {
selectLanguageName: "简体中文",
navbar: [
{ text: "首页", link: "/zh/" },
{ text: "构建", link: "/zh/build.html" },
{ text: "工程文件", link: "/zh/project-file-reference.html" },
{ text: "测试计划", link: "/zh/test-plan.html" },
],
sidebar: [
{
text: "文档",
children: [
"/zh/build.md",
"/zh/project-file-reference.md",
"/zh/test-plan.md",
"/zh/structure.md",
],
},
],
},
},
}),
});
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

+33
View File
@@ -0,0 +1,33 @@
---
home: true
title: Oak Video Editor
heroImage: /images/oak-icon.png
heroText: Oak Video Editor
heroFullScreen: false
tagline: A modern, open-source, non-linear editor with a focus on speed and clarity.
actions:
- text: Read the Docs
link: /build.html
type: primary
- text: View Project Files
link: /project-file-reference.html
type: secondary
features:
- title: Fast Editing
details: Responsive timeline, smart caching, and efficient media handling.
- title: Built for Creators
details: Clean UI, configurable shortcuts, and clear project structure.
- title: Open Source
details: Transparent development with room for community ideas.
footer: Copyright © Oak Video Editor
---
## About Oak
Oak Video Editor is a renamed fork of Olive, focused on delivering a polished, creator-friendly editing experience. This site hosts build notes, project file references, and test plans for contributors.
## Quick Start
- Build from source on Windows, macOS, or Linux using the Build guide.
- Learn how project data is stored in the Project File Reference.
- Keep releases solid by following the Test Plan.
+1 -1
View File
@@ -1,6 +1,6 @@
# Build Guide
This document describes how to build Olive from source. For Chinese, see
This document describes how to build Oak Video Editor from source. For Chinese, see
[`docs/build-zh.md`](docs/build-zh.md).
## Prerequisites
+4 -5
View File
@@ -1,6 +1,6 @@
# Olive Project File Reference
# Oak Video Editor Project File Reference
This document describes Olive's XML project format as implemented in the current codebase. It is intended to be detailed enough to implement a compatible reader/writer.
This document describes Oak Video Editor's XML project format as implemented in the current codebase. It is intended to be detailed enough to implement a compatible reader/writer.
> Source of truth: `app/node/project.cpp`, `app/node/node.cpp`, `app/node/value.*`, `app/node/keyframe.*`, `app/node/project/serializer/*`.
@@ -61,7 +61,7 @@ Attributes:
- `file`: plugin binary path (fallback).
Loading behavior:
- If `plugins` exists, Olive adds each `bundle` (or `file` if `bundle` empty) to the OFX plugin path, scans, then registers plugin nodes before parsing `<nodes>`.
- If `plugins` exists, Oak Video Editor adds each `bundle` (or `file` if `bundle` empty) to the OFX plugin path, scans, then registers plugin nodes before parsing `<nodes>`.
### 3.3 `nodes`
The node graph. Each `<node>` is written by `Node::Save()` and read by `Node::Load()`.
@@ -307,11 +307,10 @@ These are written by `ProjectSerializer230220::Save()` depending on SaveData.
## 8. OpenFX Node Compatibility Notes
- OpenFX nodes are identified by OFX plugin identifier (`Plugin::getIdentifier()`).
- The `plugins` list ensures Olive can locate external plugins before instantiating nodes.
- The `plugins` list ensures Oak Video Editor can locate external plugins before instantiating nodes.
- If a plugin cannot be found at load time, the node cannot be instantiated and will be skipped.
## 9. Versioning
- Root `olive` element `version` controls which serializer is used.
- Newer files may be rejected with `kProjectTooNew` if no serializer exists.
+2 -2
View File
@@ -1,6 +1,6 @@
# Olive Testing Strategy and Plan
# Oak Video Editor Testing Strategy and Plan
This document describes the automated testing strategy for Olive, including unit tests, integration tests, and CI execution.
This document describes the automated testing strategy for Oak Video Editor, including unit tests, integration tests, and CI execution.
## Goals
+33
View File
@@ -0,0 +1,33 @@
---
home: true
title: Oak 视频编辑器
heroImage: /images/oak-icon.png
heroText: Oak 视频编辑器
heroFullScreen: false
tagline: 现代开源的非线性剪辑器,强调速度与清晰度。
actions:
- text: 阅读文档
link: /zh/build.html
type: primary
- text: 查看工程文件
link: /zh/project-file-reference.html
type: secondary
features:
- title: 快速剪辑
details: 响应式时间线、智能缓存与高效媒体管理。
- title: 面向创作者
details: 简洁界面、可配置快捷键与清晰的工程结构。
- title: 开源透明
details: 公开开发流程,欢迎社区参与。
footer: Copyright © Oak Video Editor
---
## 关于 Oak
Oak 视频编辑器是 Olive 的重命名分支,目标是打造更完善、更友好的剪辑体验。本网站提供构建说明、工程文件参考与测试计划等贡献者文档。
## 快速开始
- 按《构建指南》在 Windows/macOS/Linux 上从源码构建。
- 在《工程文件参考》了解项目数据结构。
- 按《测试计划》确保发布质量。
+116
View File
@@ -0,0 +1,116 @@
# 构建指南
本文档介绍如何从源码构建 Oak Video Editor。
## 依赖
- CMake 3.20+
- Ninja(推荐)
- Qt 6(含私有头文件)
- FFmpeg 开发库
- OpenImageIO
- OpenColorIO2.x
- OpenEXR
- Expat
- PortAudio
- OpenGL 头文件
- XKB commonLinux
## LinuxUbuntu/Debian
安装依赖:
```bash
sudo apt-get update
sudo apt-get install -y \
ninja-build pkg-config \
qt6-base-dev qt6-base-dev-tools qt6-base-private-dev qt6-tools-dev qt6-tools-dev-tools \
libavcodec-dev libavformat-dev libavfilter-dev libavutil-dev libswscale-dev libswresample-dev \
libopencolorio-dev libopenimageio-dev libopenexr-dev libexpat1-dev \
portaudio19-dev libgl1-mesa-dev libxkbcommon-dev
```
配置并构建:
```bash
cmake -S . -B build -G Ninja -DBUILD_TESTS=ON -DBUILD_QT6=ON
cmake --build build --config Release
```
运行测试:
```bash
ctest --test-dir build --output-on-failure -C Release
```
## macOS(非官方支持)
说明:macOS **非官方支持**,目前只做 CI 自动化测试,不做人工测试。
安装依赖:
```bash
brew update
brew install ninja pkg-config qt@6 ffmpeg openimageio opencolorio openexr portaudio expat
```
构建 OpenTimelineIO(可选,如需 OTIO 支持):
```bash
git clone --depth 1 --branch v0.16.0 https://github.com/PixarAnimationStudios/OpenTimelineIO.git
cmake -S OpenTimelineIO -B OpenTimelineIO/build -G Ninja \
-DOTIO_SHARED_LIBS=ON \
-DOTIO_PYTHON_BINDINGS=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="${PWD}/otio-install"
cmake --build OpenTimelineIO/build
cmake --install OpenTimelineIO/build
```
配置并构建:
```bash
export PATH="$(brew --prefix qt@6)/bin:$PATH"
export CMAKE_PREFIX_PATH="$(brew --prefix qt@6)"
export OTIO_LOCATION="${PWD}/otio-install"
export OCIO_LOCATION="$(brew --prefix opencolorio)"
cmake -S . -B build -G Ninja -DBUILD_TESTS=ON -DBUILD_QT6=ON \
-DOTIO_LOCATION="${OTIO_LOCATION}" \
-DOCIO_LOCATION="${OCIO_LOCATION}"
cmake --build build --config Release
```
运行测试:
```bash
ctest --test-dir build --output-on-failure -C Release
```
## Windows
Qt 6 请使用系统安装器或 CI action。其余依赖建议用 vcpkg。
```powershell
choco install -y ninja
$env:VCPKG_ROOT = "C:\vcpkg"
& "$env:VCPKG_ROOT\vcpkg.exe" install ffmpeg openimageio opencolorio openexr expat portaudio --triplet x64-windows
```
配置并构建:
```powershell
cmake -S . -B build -G Ninja `
-DBUILD_TESTS=ON `
-DBUILD_QT6=ON `
-DCMAKE_BUILD_TYPE=Release `
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" `
-DCMAKE_PREFIX_PATH="$env:Qt6_DIR"
cmake --build build --config Release
```
运行测试:
```powershell
ctest --test-dir build --output-on-failure -C Release
```
@@ -1,6 +1,6 @@
# Olive 项目文件参考手册(详细版)
# Oak Video Editor 项目文件参考手册(详细版)
本文档基于当前源代码实现,描述 Olive 的 XML 项目文件格式,目标是足够详细以实现兼容读写器。
本文档基于当前源代码实现,描述 Oak Video Editor 的 XML 项目文件格式,目标是足够详细以实现兼容读写器。
> 代码来源:`app/node/project.cpp``app/node/node.cpp``app/node/value.*``app/node/keyframe.*``app/node/project/serializer/*`
@@ -303,4 +303,3 @@
- 根元素 `version` 决定使用哪个序列化器。
- 若缺少对应版本,会报 `kProjectTooNew``kProjectTooOld`
@@ -1,4 +1,4 @@
Olive 项目结构概览(中文)
Oak Video Editor 项目结构概览(中文)
==========================
这份文档是基于当前仓库目录组织的快速导航,便于后续查找代码位置。
@@ -1,6 +1,6 @@
# Olive 测试策略与计划
# Oak Video Editor 测试策略与计划
本文档描述 Olive 的自动化测试策略,包括单元测试、集成测试以及 CI 执行方式。
本文档描述 Oak Video Editor 的自动化测试策略,包括单元测试、集成测试以及 CI 执行方式。
## 目标