feat: add render graph driven renderer architecture

Amp-Thread-ID: https://ampcode.com/threads/T-019f9d91-77c1-7206-a60f-ed6554ce92ab

Co-authored-by: Heaust Azure <heaust.azure@gmail.com>
This commit is contained in:
Amp
2026-07-27 02:53:44 +00:00
co-authored by heaust
parent 8a8369706b
commit d4e8634f67
290 changed files with 48804 additions and 1995 deletions
+21
View File
@@ -0,0 +1,21 @@
import { REFERENCE_IDS } from "./reference-types.js";
import type { ReferenceManifest, Sha256 } from "./reference-types.js";
const pendingReason = "Capture environment has no Blender 4.5.0 binary or Xvfb display server.";
const root = "docs/research/blender-references/4.5.0";
export const referenceManifest: ReferenceManifest = {
schemaVersion: 1,
baseline: {
blenderVersion: "4.5.0",
sourceCommit: "8cb6b388974a817afedf1317ce26f0c75aa5f181",
binarySha256: "1188b95cc12321c770b631939f7c25a096910b6f884a990bf9c0f62d52b38aec" as Sha256,
manualSnapshot: "f72fe39427bf150242dd6cfdd94d902e535d2286",
},
references: REFERENCE_IDS.map((id) => ({
id,
status: "pending",
relativePath: `${root}/${id}.png`,
reason: pendingReason,
})),
};
+48
View File
@@ -0,0 +1,48 @@
export type Sha256 = string & { readonly __sha256: unique symbol };
export type ReferenceStatus = "pending" | "captured";
export interface ResearchBaseline {
readonly blenderVersion: "4.5.0";
readonly sourceCommit: string;
readonly binarySha256: Sha256;
readonly manualSnapshot: string;
}
export interface PendingReference {
readonly id: ReferenceId;
readonly status: "pending";
readonly relativePath: string;
readonly reason: string;
}
export interface CapturedReference {
readonly id: ReferenceId;
readonly status: "captured";
readonly relativePath: string;
readonly sha256: Sha256;
readonly capturedAt: string;
readonly captureMethod: "self-captured-blender-window";
readonly width: number;
readonly height: number;
}
export type ReferenceRecord = PendingReference | CapturedReference;
export const REFERENCE_IDS = [
"shader-basic-linked-near",
"shader-basic-linked-far",
"shader-selected-active-hover-near",
"shader-collapsed-near",
"common-frame-reroute-near",
"shader-widget-rich-near",
"shader-socket-gallery-near",
"geometry-socket-gallery-near",
] as const;
export type ReferenceId = (typeof REFERENCE_IDS)[number];
export interface ReferenceManifest {
readonly schemaVersion: 1;
readonly baseline: ResearchBaseline;
readonly references: readonly ReferenceRecord[];
}