Skip to main content

Crate cvkg_render_native

Crate cvkg_render_native 

Source
Expand description

§CVKG Agentic Development Guidelines (v1.3)

All AI agents contributing to this crate MUST follow ALL eight rules:

── Karpathy Guidelines (1–4) ────────────────────────────────────────────

  1. THINK FIRST – State assumptions. Surface ambiguity. Push back on complexity.
  2. STAY SIMPLE – Minimum code. No speculative features. No unasked-for abstractions.
  3. BE SURGICAL – Touch only what’s required. Own your orphans. Don’t improve neighbors.
  4. VERIFY GOALS – Turn tasks into checkable criteria. Loop until they pass. Never commit broken.

── CVKG Extended Protocols (5–8) ──────────────────────────────────────── 5. TRIPLE-PASS – Read the target, its surrounding context, and its full call graph at least THREE TIMES before making any edit or revision. 6. COMMENT ALL – Every major pub fn, unsafe block, and non-trivial algorithm in every .rs/.ts/.h/.wgsl file MUST have a descriptive doc comment. Comments describe WHY and WHAT CONTRACT, not HOW mechanically. 7. MONITOR LOOPS – Check every tool call / command for progress every 30 seconds. After 3 consecutive identical failures, stop, write BLOCKED.md, and move to unblocked work. Never silently accept a broken state. 8. HARDWARE VERIFIED – NEVER declare success based on mock data/rendering for native crates. Any change to input, rendering, or lifecycle MUST be verified via physical loopback (e.g., cargo run -p berserker) and signal path tracing.

Sources: Karpathy: https://github.com/multica-ai/andrej-karpathy-skills CVKG Extended: Section 14 of the CVKG Design Specification (v1.3) Platform-native widget delegation using winit and AccessKit

This crate provides platform-specific rendering backends for native desktop targets using winit for window/event handling and AccessKit for accessibility tree integration.

Re-exports§

pub use asset_manager::NativeAssetManager;
pub use audio::RodioAudioEngine;
pub use audio::VisualHapticEngine;
pub use contracts::RenderingMode;
pub use contracts::SemanticRoleMapping;
pub use contracts::SemanticRoleRegistry;
pub use contracts::StateSyncContract;
pub use contracts::StateSyncRegistry;
pub use contracts::SyncDirection;
pub use contracts::TranslationContract;
pub use contracts::TranslationContractRegistry;
pub use contracts::WidgetVirtualizationConfig;
pub use events::convert_ime_event;
pub use events::convert_keyboard_event;
pub use events::convert_mouse_event;
pub use events::load_icon;
pub use main_loop::AppEvent;
pub use main_loop::ShieldWall;
pub use regression::VisualRegressionTracker;
pub use renderer::NativeRenderer;
pub use window::MonitorConfig;
pub use window::MultiMonitorManager;
pub use window::NativeWindowWrapper;
pub use window::ResizeHitTest;
pub use window::SafeAreaInsets;
pub use window::WindowCapabilityMatrix;
pub use window::WindowData;
pub use window::WindowManager;
pub use window::WindowState;
pub use window::WindowStateDetector;
pub use window::WindowType;

Modules§

asset_manager
audio
contracts
error
Error types for the native rendering backend.
events
main_loop
regression
renderer
window