Files
oak-editor/docs
Mike-Solar 29204d1f63 node: virtual graph endpoints and the Kahn-order BFS sweep (M0b core)
Per docs/zh/plans/render-pipeline-threads.md §3.8:

- oak-node/nodes/graphendpoints.rs: the GraphInput/GraphOutput
  virtual node pair — factory-registered but hidden from every create
  menu, duplicate refused, real value() semantics (the input forwards
  its feed_in row, the output publishes its tex_in as the frame).
  The input endpoint also declares a connectable feed_in port
  (documented deviation: footage/generator sources have no connectable
  inputs, so the walk needs a feeder anchor).
- graph.rs: ensure_endpoints/endpoints/is_endpoint — idempotent,
  identified by type id, default input->output edge only while the
  output's tex_in is free; remove_node refuses endpoints.
- project.rs + serializer.rs: every project graph carries the pair;
  a legacy file without endpoints migrates on load (roundtrip and
  legacy-migration tests, re-save is idempotent).
- traverser.rs: eval_graph_bfs — the endpoint-to-endpoint Kahn
  sweep. Live set = (input's forward cone U its feeder cone) INTERSECT
  (output's backward cone); multi-input nodes dequeue at zero
  in-degree over the live subgraph; deterministic ascending-id ready
  order (Graph::edges is a BTreeSet, so insertion order is
  unrecoverable — documented); time-shifted upstreams pull through
  the shared DFS memo (walk_dfs, factored out of evaluate);
  un-orderable remainder reports a named cycle; missing endpoints /
  unreachable output are errors. Eight BFS tests cover the plan's
  acceptance bullets.
- oak-render: bfs_endpoint_sweep_renders_footage_through_position —
  real clip through a real Position node via the sweep, shifted
  pixels asserted against a reference decode.
- Endpoint names localized in all eight i18n packs; storage/structure
  tests updated for the two extra nodes.
2026-09-11 15:13:53 +08:00
..

home, title, heroImage, heroText, heroFullScreen, tagline, actions, features, footer
home title heroImage heroText heroFullScreen tagline actions features footer
true Oak Video Editor /images/oak-icon.png Oak Video Editor false A modern, open-source, non-linear editor with a focus on speed and clarity.
text link type
Read the Docs /build.html primary
text link type
View Project Files /project-file-reference.html secondary
title details
Fast Editing Responsive timeline, smart caching, and efficient media handling.
title details
Built for Creators Clean UI, configurable shortcuts, and clear project structure.
title details
Open Source Transparent development with room for community ideas.
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.
  • Understand the database write-through persistence in the Project Storage Architecture.
  • Keep releases solid by following the Test Plan.