Sign in

    Milky2018/mgstudio/render2d does not have a README file

    HasRes_RenderState

    pub(open) trait HasRes_RenderState {
    get_render_state_resource(self : Self) ->
    Resource
    [RenderState]
    }

    Has_Anchor

    pub(open) trait Has_Anchor {
    get_anchor_store(self : Self) ->
    ComponentStore
    [Anchor]
    }

    Has_Camera

    pub(open) trait Has_Camera {
    get_camera_store(self : Self) ->
    ComponentStore
    [Camera]
    }

    Has_Camera2d

    pub(open) trait Has_Camera2d {
    get_camera2d_store(self : Self) ->
    ComponentStore
    [Camera2d]
    }

    Has_ColorMaterial

    pub(open) trait Has_ColorMaterial {
    get_color_material_store(self : Self) ->
    ComponentStore
    [ColorMaterial]
    }

    Has_GpuMesh2d

    pub(open) trait Has_GpuMesh2d {
    get_gpu_mesh2d_store(self : Self) ->
    ComponentStore
    [GpuMesh2d]
    }

    Has_Mesh2d

    pub(open) trait Has_Mesh2d {
    get_mesh2d_store(self : Self) ->
    ComponentStore
    [Mesh2d]
    }

    Has_Projection

    pub(open) trait Has_Projection {
    get_projection_store(self : Self) ->
    ComponentStore
    [Projection]
    }

    Has_RenderLayers

    pub(open) trait Has_RenderLayers {
    get_render_layers_store(self : Self) ->
    ComponentStore
    [RenderLayers]
    }

    Has_RenderTarget

    pub(open) trait Has_RenderTarget {
    get_render_target_store(self : Self) ->
    ComponentStore
    [RenderTarget]
    }

    Has_ScissorRect

    pub(open) trait Has_ScissorRect {
    get_scissor_rect_store(self : Self) ->
    ComponentStore
    [ScissorRect]
    }

    Has_Sprite

    pub(open) trait Has_Sprite {
    get_sprite_store(self : Self) ->
    ComponentStore
    [Sprite]
    }

    AlphaMode2d

    pub(all) enum AlphaMode2d {
    Opaque
    Mask(Float)
    Blend
    }

    Anchor

    pub struct Anchor {
    value :
    Vec2

    }

    Anchor::as_vec

    Anchor::bottom_center

    fn Anchor::bottom_center() -> Anchor

    Anchor::bottom_left

    fn Anchor::bottom_left() -> Anchor

    Anchor::bottom_right

    fn Anchor::bottom_right() -> Anchor

    Anchor::center

    fn Anchor::center() -> Anchor

    Anchor::center_left

    fn Anchor::center_left() -> Anchor

    Anchor::center_right

    fn Anchor::center_right() -> Anchor

    Anchor::default

    fn Anchor::default() -> Anchor

    Anchor::new

    Anchor::top_center

    fn Anchor::top_center() -> Anchor

    Anchor::top_left

    fn Anchor::top_left() -> Anchor

    Anchor::top_right

    fn Anchor::top_right() -> Anchor

    Annulus

    pub struct Annulus {
    inner_radius : Float
    outer_radius : Float
    vertices : Int
    }

    Annulus::default

    fn Annulus::default() -> Annulus

    Annulus::new

    fn Annulus::new(inner_radius : Float, outer_radius : Float) -> Annulus

    Annulus::with_vertices

    fn Annulus::with_vertices(self : Annulus, vertices : Int) -> Annulus

    Arc2dBuilder

    pub struct Arc2dBuilder {
    id : Int
    }

    Arc2dBuilder::resolution

    fn Arc2dBuilder::resolution(self : Arc2dBuilder, segments : Int) -> Arc2dBuilder

    ArrowBuilder

    pub struct ArrowBuilder {
    id : Int
    }

    ArrowBuilder::with_double_end

    fn ArrowBuilder::with_double_end(self : ArrowBuilder) -> ArrowBuilder

    ArrowBuilder::with_tip_length

    fn ArrowBuilder::with_tip_length(self : ArrowBuilder, length : Float) -> ArrowBuilder

    BorderRect

    pub struct BorderRect {
    left : Float
    right : Float
    top : Float
    bottom : Float
    }

    BorderRect::default

    fn BorderRect::default() -> BorderRect

    BorderRect::new

    fn BorderRect::new(left : Float, right : Float, top : Float, bottom : Float) -> BorderRect

    BorderRect::square

    fn BorderRect::square(value : Float) -> BorderRect

    Camera

    pub struct Camera {
    viewport : Viewport?
    order : Int
    clear_color : Color
    }

    Camera::clear_viewport

    fn Camera::clear_viewport(self : Camera) -> Camera

    Camera::default

    fn Camera::default() -> Camera

    Camera::new

    fn Camera::new(clear_color : Color) -> Camera

    Camera::with_order

    fn Camera::with_order(self : Camera, order : Int) -> Camera

    Camera::with_viewport

    fn Camera::with_viewport(self : Camera, viewport : Viewport) -> Camera

    Camera2d

    pub struct Camera2d {
    }

    Marker component that enables 2D camera semantics (mirrors Bevy's Camera2d).

    Camera2d::default

    fn Camera2d::default() -> Camera2d

    Camera2dBundle

    pub struct Camera2dBundle {
    camera : Camera
    projection : Projection
    camera2d : Camera2d
    transform :
    Transform

    target : RenderTarget
    layers : RenderLayers
    }

    Capsule2d

    pub struct Capsule2d {
    radius : Float
    half_length : Float
    segments : Int
    }

    Capsule2d::default

    fn Capsule2d::default() -> Capsule2d

    Capsule2d::new

    fn Capsule2d::new(radius : Float, half_length : Float, segments : Int) -> Capsule2d

    Circle

    pub struct Circle {
    radius : Float
    vertices : Int
    }

    Circle::default

    fn Circle::default() -> Circle

    Circle::new

    fn Circle::new(radius : Float) -> Circle

    Circle::with_vertices

    fn Circle::with_vertices(self : Circle, vertices : Int) -> Circle

    CircularSector

    pub struct CircularSector {
    radius : Float
    half_angle : Float
    vertices : Int
    }

    CircularSector::angle

    fn CircularSector::angle(self : CircularSector) -> Float

    CircularSector::default

    CircularSector::from_turns

    fn CircularSector::from_turns(radius : Float, fraction : Float) -> CircularSector

    CircularSector::half_angle

    fn CircularSector::half_angle(self : CircularSector) -> Float

    CircularSector::new

    fn CircularSector::new(radius : Float, half_angle : Float) -> CircularSector

    CircularSector::with_vertices

    fn CircularSector::with_vertices(self : CircularSector, vertices : Int) -> CircularSector

    CircularSegment

    pub struct CircularSegment {
    radius : Float
    half_angle : Float
    vertices : Int
    }

    CircularSegment::angle

    fn CircularSegment::angle(self : CircularSegment) -> Float

    CircularSegment::default

    CircularSegment::from_turns

    fn CircularSegment::from_turns(radius : Float, fraction : Float) -> CircularSegment

    CircularSegment::half_angle

    fn CircularSegment::half_angle(self : CircularSegment) -> Float

    CircularSegment::new

    fn CircularSegment::new(radius : Float, half_angle : Float) -> CircularSegment

    CircularSegment::with_vertices

    fn CircularSegment::with_vertices(self : CircularSegment, vertices : Int) -> CircularSegment

    Color

    pub struct Color {
    r : Float
    g : Float
    b : Float
    a : Float
    }

    Color::black

    fn Color::black() -> Color

    Color::new

    fn Color::new(r : Float, g : Float, b : Float, a : Float) -> Color

    Color::white

    fn Color::white() -> Color

    ColorMaterial

    pub struct ColorMaterial {
    handle :
    Handle
    [ColorMaterialAsset]
    }

    ColorMaterial::alpha_mode

    fn ColorMaterial::alpha_mode(self : ColorMaterial) -> AlphaMode2d

    ColorMaterial::color

    fn ColorMaterial::color(self : ColorMaterial) -> Color

    ColorMaterial::new

    fn ColorMaterial::new(color : Color) -> ColorMaterial

    ColorMaterial::new_with_alpha_mode

    fn ColorMaterial::new_with_alpha_mode(color : Color, alpha_mode : AlphaMode2d) -> ColorMaterial

    ColorMaterial::uv_offset

    ColorMaterial::uv_scale

    ColorMaterial::with_alpha_mode

    fn ColorMaterial::with_alpha_mode(self : ColorMaterial, alpha_mode : AlphaMode2d) -> ColorMaterial

    ColorMaterial::with_uv_offset

    ColorMaterial::with_uv_scale

    Ellipse

    pub struct Ellipse {
    half_size :
    Vec2

    vertices : Int
    }

    Ellipse::default

    fn Ellipse::default() -> Ellipse

    Ellipse::new

    fn Ellipse::new(half_width : Float, half_height : Float) -> Ellipse

    Ellipse::with_vertices

    fn Ellipse::with_vertices(self : Ellipse, vertices : Int) -> Ellipse

    Ellipse2dBuilder

    pub struct Ellipse2dBuilder {
    id : Int
    }

    Ellipse2dBuilder::resolution

    fn Ellipse2dBuilder::resolution(self : Ellipse2dBuilder, segments : Int) -> Ellipse2dBuilder

    GizmoConfig

    pub(all) struct GizmoConfig {
    enabled : Bool
    line : GizmoLineConfig
    depth_bias : Float
    render_layers : RenderLayers
    }

    GizmoConfig::default

    fn GizmoConfig::default() -> GizmoConfig

    GizmoLineConfig

    pub(all) struct GizmoLineConfig {
    width : Float
    perspective : Bool
    style : GizmoLineStyle
    joints : GizmoLineJoint
    }

    GizmoLineConfig::default

    GizmoLineJoint

    pub(all) enum GizmoLineJoint {
    None
    Miter
    Round(Int)
    Bevel
    }

    GizmoLineStyle

    pub(all) enum GizmoLineStyle {
    Solid
    Dotted
    Dashed(Float, Float)
    }

    Gizmos

    pub struct Gizmos {
    layers : RenderLayers
    }

    Gizmos::arc_2d

    fn Gizmos::arc_2d(self : Gizmos, isometry : Isometry2d, arc_angle : Float, radius : Float, color : Color) -> Arc2dBuilder

    Gizmos::arrow_2d

    Gizmos::axes_2d

    fn Gizmos::axes_2d(self : Gizmos, isometry : Isometry2d, length : Float) -> Unit

    Gizmos::circle_2d

    fn Gizmos::circle_2d(self : Gizmos, isometry : Isometry2d, radius : Float, color : Color) -> Ellipse2dBuilder

    Gizmos::cross_2d

    fn Gizmos::cross_2d(self : Gizmos, isometry : Isometry2d, half_size : Float, color : Color) -> Unit

    Gizmos::curve_2d

    fn Gizmos::curve_2d(self : Gizmos, points : Array[
    Vec2
    ], color : Color) -> Unit

    Gizmos::curve_gradient_2d

    fn Gizmos::curve_gradient_2d(self : Gizmos, points : Array[(
    Vec2
    , Color)]) -> Unit

    Gizmos::ellipse_2d

    fn Gizmos::ellipse_2d(self : Gizmos, isometry : Isometry2d, half_size :
    Vec2
    , color : Color) -> Ellipse2dBuilder

    Gizmos::grid_2d

    fn Gizmos::grid_2d(self : Gizmos, isometry : Isometry2d, cell_count :
    IVec2
    , spacing :
    Vec2
    , color : Color) -> Grid2dBuilder

    Gizmos::line_2d

    fn Gizmos::line_2d(self : Gizmos, start :
    Vec2
    , end :
    Vec2
    , color : Color) -> Unit

    Gizmos::line_gradient_2d

    fn Gizmos::line_gradient_2d(self : Gizmos, start :
    Vec2
    , end :
    Vec2
    , start_color : Color, end_color : Color) -> Unit

    Gizmos::lineloop_2d

    fn Gizmos::lineloop_2d(self : Gizmos, positions : Array[
    Vec2
    ], color : Color) -> Unit

    Gizmos::linestrip_2d

    fn Gizmos::linestrip_2d(self : Gizmos, positions : Array[
    Vec2
    ], color : Color) -> Unit

    Gizmos::linestrip_gradient_2d

    fn Gizmos::linestrip_gradient_2d(self : Gizmos, positions : Array[(
    Vec2
    , Color)]) -> Unit

    Gizmos::long_arc_2d_between

    Gizmos::new

    fn Gizmos::new() -> Gizmos

    Gizmos::ray_2d

    fn Gizmos::ray_2d(self : Gizmos, start :
    Vec2
    , vector :
    Vec2
    , color : Color) -> Unit

    Gizmos::ray_gradient_2d

    fn Gizmos::ray_gradient_2d(self : Gizmos, start :
    Vec2
    , vector :
    Vec2
    , start_color : Color, end_color : Color) -> Unit

    Gizmos::rect_2d

    fn Gizmos::rect_2d(self : Gizmos, isometry : Isometry2d, size :
    Vec2
    , color : Color) -> Unit

    Gizmos::rounded_rect_2d

    fn Gizmos::rounded_rect_2d(self : Gizmos, isometry : Isometry2d, size :
    Vec2
    , color : Color) -> RoundedRectBuilder

    Gizmos::short_arc_2d_between

    Gizmos::with_layers

    fn Gizmos::with_layers(_self : Gizmos, layers : RenderLayers) -> Gizmos

    GpuMesh2d

    pub struct GpuMesh2d {
    mesh_id : Int
    }

    GpuMesh2d::new

    fn GpuMesh2d::new(mesh_id : Int) -> GpuMesh2d

    Grid2dBuilder

    pub struct Grid2dBuilder {
    id : Int
    }

    Grid2dBuilder::outer_edges

    fn Grid2dBuilder::outer_edges(self : Grid2dBuilder) -> Grid2dBuilder

    Grid2dBuilder::outer_edges_x

    fn Grid2dBuilder::outer_edges_x(self : Grid2dBuilder) -> Grid2dBuilder

    Grid2dBuilder::outer_edges_y

    fn Grid2dBuilder::outer_edges_y(self : Grid2dBuilder) -> Grid2dBuilder

    Grid2dBuilder::skew_x

    fn Grid2dBuilder::skew_x(self : Grid2dBuilder, skew : Float) -> Grid2dBuilder

    Grid2dBuilder::skew_y

    fn Grid2dBuilder::skew_y(self : Grid2dBuilder, skew : Float) -> Grid2dBuilder

    Isometry2d

    pub struct Isometry2d {
    translation :
    Vec2

    rotation : Float
    }

    Isometry2d::identity

    fn Isometry2d::identity() -> Isometry2d

    Isometry2d::new

    fn Isometry2d::new(translation :
    Vec2
    , rotation : Float) -> Isometry2d

    Isometry2d::transform_point

    Mesh2d

    Mesh2d::from_annulus

    fn Mesh2d::from_annulus(annulus : Annulus) -> Mesh2d

    Mesh2d::from_capsule

    fn Mesh2d::from_capsule(capsule : Capsule2d) -> Mesh2d

    Mesh2d::from_circle

    fn Mesh2d::from_circle(circle : Circle) -> Mesh2d

    Mesh2d::from_circular_sector

    fn Mesh2d::from_circular_sector(sector : CircularSector) -> Mesh2d

    Mesh2d::from_circular_segment

    fn Mesh2d::from_circular_segment(segment : CircularSegment) -> Mesh2d

    Mesh2d::from_ellipse

    fn Mesh2d::from_ellipse(ellipse : Ellipse) -> Mesh2d

    Mesh2d::from_geometry

    Mesh2d::from_polyline

    fn Mesh2d::from_polyline(polyline : Polyline2d) -> Mesh2d

    Mesh2d::from_rectangle

    fn Mesh2d::from_rectangle(rectangle : Rectangle) -> Mesh2d

    Mesh2d::from_regular_polygon

    fn Mesh2d::from_regular_polygon(polygon : RegularPolygon) -> Mesh2d

    Mesh2d::from_rhombus

    fn Mesh2d::from_rhombus(rhombus : Rhombus) -> Mesh2d

    Mesh2d::from_ring

    fn Mesh2d::from_ring(ring : Ring2d) -> Mesh2d

    Mesh2d::from_segment

    fn Mesh2d::from_segment(segment : Segment2d) -> Mesh2d

    Mesh2d::from_triangle

    fn Mesh2d::from_triangle(triangle : Triangle2d) -> Mesh2d

    OrthographicProjection

    pub struct OrthographicProjection {
    scale : Float
    }

    The projection parameters for an orthographic camera. Stored inside Projection (mirrors Bevy's Projection::Orthographic).

    OrthographicProjection::default_2d

    OrthographicProjection::new

    OrthographicProjection::with_scale

    Polyline2d

    pub struct Polyline2d {
    points : Array[
    Vec2
    ]
    half_thickness : Float
    }

    Polyline2d::with_half_thickness

    fn Polyline2d::with_half_thickness(self : Polyline2d, half_thickness : Float) -> Polyline2d

    Projection

    pub(all) enum Projection {
    Orthographic(OrthographicProjection)
    }

    Camera projection type (mirrors Bevy's Projection component).

    Projection::orthographic_2d

    fn Projection::orthographic_2d() -> Projection

    Rectangle

    pub struct Rectangle {
    half_size :
    Vec2

    }

    Rectangle::default

    fn Rectangle::default() -> Rectangle

    Rectangle::from_size

    Rectangle::new

    fn Rectangle::new(width : Float, height : Float) -> Rectangle

    RegularPolygon

    pub struct RegularPolygon {
    radius : Float
    sides : Int
    }

    RegularPolygon::default

    RegularPolygon::new

    fn RegularPolygon::new(radius : Float, sides : Int) -> RegularPolygon

    RenderLayers

    pub struct RenderLayers {
    mask : Int
    }

    RenderLayers::default

    fn RenderLayers::default() -> RenderLayers

    RenderLayers::layer

    fn RenderLayers::layer(index : Int) -> RenderLayers

    RenderLayers::matches

    fn RenderLayers::matches(self : RenderLayers, other : RenderLayers) -> Bool

    RenderState

    type RenderState

    RenderTarget

    Rhombus

    pub struct Rhombus {
    half_diagonal :
    Vec2

    }

    Rhombus::default

    fn Rhombus::default() -> Rhombus

    Rhombus::new

    fn Rhombus::new(width : Float, height : Float) -> Rhombus

    Ring2d

    pub struct Ring2d {
    outer_radius : Float
    inner_radius : Float
    vertices : Int
    }

    Ring2d::default

    fn Ring2d::default() -> Ring2d

    Ring2d::new

    fn Ring2d::new(outer_radius : Float, inner_radius : Float) -> Ring2d

    Ring2d::with_vertices

    fn Ring2d::with_vertices(self : Ring2d, vertices : Int) -> Ring2d

    RoundedRectBuilder

    pub struct RoundedRectBuilder {
    id : Int
    }

    RoundedRectBuilder::arc_resolution

    fn RoundedRectBuilder::arc_resolution(self : RoundedRectBuilder, resolution : Int) -> RoundedRectBuilder

    RoundedRectBuilder::corner_radius

    fn RoundedRectBuilder::corner_radius(self : RoundedRectBuilder, radius : Float) -> RoundedRectBuilder

    ScissorRect

    pub struct ScissorRect {
    rect :
    Rect

    }

    A per-entity scissor rectangle in logical pixels, relative to the active camera's view (top-left origin).

    When present, render_execute_system converts it into physical pixels using the camera's scale factor and viewport offset, then applies it via host_gpu_set_scissor.

    This is primarily used by UI clipping (overflow/scroll).

    Segment2d

    pub struct Segment2d {
    start :
    Vec2

    end :
    Vec2

    half_thickness : Float
    }

    Segment2d::with_half_thickness

    fn Segment2d::with_half_thickness(self : Segment2d, half_thickness : Float) -> Segment2d

    SliceScaleMode

    pub(all) enum SliceScaleMode {
    Stretch
    Tile(Float)
    }

    SliceScaleMode::default

    Sprite

    Sprite::with_color

    fn Sprite::with_color(self : Sprite, color : Color) -> Sprite

    Sprite::with_custom_size

    fn Sprite::with_custom_size(self : Sprite, custom_size :
    Vec2
    ?) -> Sprite

    Sprite::with_flip_x

    fn Sprite::with_flip_x(self : Sprite, flip_x : Bool) -> Sprite

    Sprite::with_flip_y

    fn Sprite::with_flip_y(self : Sprite, flip_y : Bool) -> Sprite

    Sprite::with_image_mode

    fn Sprite::with_image_mode(self : Sprite, image_mode : SpriteImageMode) -> Sprite

    Sprite::with_rect

    fn Sprite::with_rect(self : Sprite, rect :
    Rect
    ?) -> Sprite

    Sprite::with_texture_atlas

    fn Sprite::with_texture_atlas(self : Sprite, texture_atlas :
    TextureAtlas
    ?) -> Sprite

    SpriteImageMode

    pub(all) enum SpriteImageMode {
    Auto
    Sliced(TextureSlicer)
    Tiled(SpriteTiling)
    }

    SpriteImageMode::default

    SpriteImageMode::tiled

    fn SpriteImageMode::tiled(tile_x? : Bool, tile_y? : Bool, stretch_value? : Float) -> SpriteImageMode

    SpriteTiling

    pub struct SpriteTiling {
    tile_x : Bool
    tile_y : Bool
    stretch_value : Float
    }

    SpriteTiling::default

    fn SpriteTiling::default() -> SpriteTiling

    SpriteTiling::new

    fn SpriteTiling::new(tile_x : Bool, tile_y : Bool, stretch_value : Float) -> SpriteTiling

    SpriteTiling::with_stretch_value

    fn SpriteTiling::with_stretch_value(self : SpriteTiling, stretch_value : Float) -> SpriteTiling

    SpriteTiling::with_tile_x

    fn SpriteTiling::with_tile_x(self : SpriteTiling, tile_x : Bool) -> SpriteTiling

    SpriteTiling::with_tile_y

    fn SpriteTiling::with_tile_y(self : SpriteTiling, tile_y : Bool) -> SpriteTiling

    TextureSlicer

    pub struct TextureSlicer {
    border : BorderRect
    center_scale_mode : SliceScaleMode
    sides_scale_mode : SliceScaleMode
    max_corner_scale : Float
    }

    TextureSlicer::default

    fn TextureSlicer::default() -> TextureSlicer

    TextureSlicer::new

    TextureSlicer::with_center_scale_mode

    fn TextureSlicer::with_center_scale_mode(self : TextureSlicer, center_scale_mode : SliceScaleMode) -> TextureSlicer

    TextureSlicer::with_max_corner_scale

    fn TextureSlicer::with_max_corner_scale(self : TextureSlicer, max_corner_scale : Float) -> TextureSlicer

    TextureSlicer::with_sides_scale_mode

    fn TextureSlicer::with_sides_scale_mode(self : TextureSlicer, sides_scale_mode : SliceScaleMode) -> TextureSlicer

    UiBorderRect

    pub struct UiBorderRect {
    left : Float
    top : Float
    right : Float
    bottom : Float
    }

    UI border thickness (left, top, right, bottom) in logical pixels.

    UiBorderRect::new

    fn UiBorderRect::new(left : Float, top : Float, right : Float, bottom : Float) -> UiBorderRect

    UiBorderRect::zero

    UiCornerRadii

    pub struct UiCornerRadii {
    top_left : Float
    top_right : Float
    bottom_right : Float
    bottom_left : Float
    }

    UI corner radii (top-left, top-right, bottom-right, bottom-left) in logical pixels.

    UiCornerRadii::new

    fn UiCornerRadii::new(top_left : Float, top_right : Float, bottom_right : Float, bottom_left : Float) -> UiCornerRadii

    UiCornerRadii::zero

    Viewport

    pub struct Viewport {
    physical_position :
    IVec2

    physical_size :
    IVec2

    }

    Viewport::new

    ecs_components

    let ecs_components : Array[String]

    ECS component types discovered via #ecs.component.

    ecs_resources

    let ecs_resources : Array[String]

    ECS resource types discovered via #ecs.resource.

    gizmo_config

    fn gizmo_config() -> GizmoConfig

    gizmo_set_config

    fn gizmo_set_config(config : GizmoConfig) -> Unit

    render2d_camera_system

    fn[W] render2d_camera_system(_world : W) -> Unit

    render2d_camera_viewport_to_world_2d

    fn render2d_camera_viewport_to_world_2d(screen :
    Vec2
    , camera : Camera, projection : OrthographicProjection, camera_transform :
    Transform
    , target_size :
    IVec2
    , scale_factor : Float) ->
    Vec2
    ?

    Shared math for camera viewport conversions. screen is in logical pixels.

    render2d_camera_world_to_viewport_2d

    fn render2d_camera_world_to_viewport_2d(world :
    Vec2
    , camera : Camera, projection : OrthographicProjection, camera_transform :
    Transform
    , target_size :
    IVec2
    , scale_factor : Float) ->
    Vec2
    ?

    Shared math for camera viewport conversions. Return value is in logical pixels.

    render2d_clear_overlay_sprite_texture_slices

    fn[W : HasRes_RenderState +
    ChangeTickWorld
    ] render2d_clear_overlay_sprite_texture_slices(world : W) -> Unit

    render2d_clear_overlay_sprites

    fn[W : HasRes_RenderState +
    ChangeTickWorld
    ] render2d_clear_overlay_sprites(world : W) -> Unit

    render2d_clear_overlay_ui_box_shadows

    fn[W : HasRes_RenderState +
    ChangeTickWorld
    ] render2d_clear_overlay_ui_box_shadows(world : W) -> Unit

    render2d_clear_overlay_ui_rects

    fn[W : HasRes_RenderState +
    ChangeTickWorld
    ] render2d_clear_overlay_ui_rects(world : W) -> Unit

    render2d_clear_overlay_ui_texture_slices

    fn[W : HasRes_RenderState +
    ChangeTickWorld
    ] render2d_clear_overlay_ui_texture_slices(world : W) -> Unit

    render2d_create_render_target

    fn[W : HasRes_RenderState +
    ChangeTickWorld
    ] render2d_create_render_target(world : W, width : Int, height : Int, nearest : Bool) ->
    Handle
    [
    Image
    ]

    render2d_debug_log_primary_camera

    fn[W : HasRes_RenderState] render2d_debug_log_primary_camera(world : W) -> Unit

    render2d_viewport_to_world_2d

    fn[W : HasRes_RenderState] render2d_viewport_to_world_2d(world : W, screen :
    Vec2
    ) ->
    Vec2
    ?

    render2d_world_to_viewport

    fn[W : HasRes_RenderState] render2d_world_to_viewport(world_ : W, world :
    Vec2
    ) ->
    Vec2
    ?

    render_execute_system

    fn[W : HasRes_RenderState +
    ChangeTickWorld
    ] render_execute_system(world : W) -> Unit

    render_prepare_system

    fn[W] render_prepare_system(_world : W) -> Unit

    render_queue_system

    fn[W] render_queue_system(_world : W) -> Unit