2D

Camera2D

Active 2D camera.

Renders a 2D view. Scene fields include zoom, post_processing, and active.

Base node: Node2D

Source: perro_source/core/perro_nodes/src/nodes/camera_2d.rs

Fields

zoompost_processingactive
pub struct Camera2D {    pub base: Node2D,    pub zoom: f32,    pub post_processing: Vec<PostProcessID>,    pub active: bool,}

Scene template

[node_instance]tags = ["runtime", "demo"]parent = @rootscript = "res://script.rs"script_vars = { speed = 4.0, health = 100 }   [Camera2D]    zoom = 0    post_processing = []    active = true  [/Camera2D][/node_instance]

Script API

Create

let node_id = create_node!(ctx, Camera2D, "Spawned Node", ["enemy", "runtime"], parent_id);

Access / mutate

let value = with_node!(ctx, Camera2D, node_id, |node| {    node.zoom}); let pair = with_node!(ctx, Camera2D, node_id, |node| {    (node.zoom, node.post_processing)}); with_node_mut!(ctx, Camera2D, node_id, |node| {    node.zoom = Default::default();});