Skip to content

NovaSurface

Контракт surface, render order и создание nodes.

Практическая схема

  • Документация: NovaCore.
  • Раздел: Справочник.
  • Тема страницы: NovaSurface.
  • Переключатель TypeScript / DSL находится в панели навигации; вкладка Код в примере показывает файлы выбранного подхода.
surface · @endge/nova

NovaSurface

Logical render boundary: хранит node graph, retained frame, culling stats и composition order. Физическим canvas/backend владеет NovaApp.

class NovaSurface<E extends EventList> extends NovaNode<E>
Создание
ПолеТипОписание
app.createSurface(name)NovaSurfaceСоздает logical surface поверх app-level backend.
createNode(NodeClass)NovaNodeСоздает node, добавляет ее в surface graph и монтирует subtree.
Render policy
ПолеТипОписание
retained frameNovaRenderFrameSurface компилируется в retained frame и replay-ится через app-level backend.
frame dirtyNovaRenderCompileStatsDirty-политика основана на retained graph и явных dirty reasons.
renderCullingMode'off' | 'bounds''off'Отсекает nodes вне bounds surface.
Stats
ПолеТипОписание
renderMetricsNovaRenderMetricsCommands, batches, timings, draw calls и upload counters последнего frame.
renderCompileStatsNovaRenderCompileStatsСколько nodes rebuilt и cached.
renderCullingStatsNovaRenderCullingStatsСколько nodes tested и culled.

Как применять

Используйте страницу как короткую рабочую заметку: сначала определите границу ответственности, затем откройте пример и сравните TypeScript-реализацию с DSL-описанием. Runtime-код остается в Nova-слое, а Vue отвечает только за mount, layout shell и cleanup.