[package]
edition = "2024"
rust-version = "1.85"
name = "noesis_runtime"
version = "0.12.1"
authors = ["Brandon Reinhart <brandon@deadmoney.gg>"]
build = "build.rs"
links = "Noesis"
exclude = [
".github/",
".claude/",
"scripts/",
"CLAUDE.md",
"RELEASING.md",
"release.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust bindings for the Noesis GUI Native SDK: load XAML UI, drive the view and renderer, and write custom controls in Rust. Renderer-agnostic; Bevy integration lives in noesis_bevy."
documentation = "https://docs.rs/noesis_runtime"
readme = "README.md"
keywords = [
"noesis",
"xaml",
"gui",
"gamedev",
"ui",
]
categories = [
"external-ffi-bindings",
"gui",
"game-development",
"graphics",
]
license = "MIT"
repository = "https://github.com/dead-money/noesis_runtime"
[package.metadata.docs.rs]
all-features = true
[features]
default = []
test-utils = []
[lib]
name = "noesis_runtime"
path = "src/lib.rs"
[[test]]
name = "animation_begin_on"
path = "tests/animation_begin_on.rs"
[[test]]
name = "animation_color"
path = "tests/animation_color.rs"
[[test]]
name = "animation_controllable"
path = "tests/animation_controllable.rs"
[[test]]
name = "animation_double"
path = "tests/animation_double.rs"
[[test]]
name = "animation_easing"
path = "tests/animation_easing.rs"
[[test]]
name = "animation_keyframe"
path = "tests/animation_keyframe.rs"
[[test]]
name = "animation_keyframe_types"
path = "tests/animation_keyframe_types.rs"
[[test]]
name = "animation_value_types"
path = "tests/animation_value_types.rs"
[[test]]
name = "binding"
path = "tests/binding.rs"
[[test]]
name = "binding_clear"
path = "tests/binding_clear.rs"
[[test]]
name = "binding_expression"
path = "tests/binding_expression.rs"
[[test]]
name = "binding_extras"
path = "tests/binding_extras.rs"
[[test]]
name = "binding_find_ancestor"
path = "tests/binding_find_ancestor.rs"
[[test]]
name = "brushes_transforms"
path = "tests/brushes_transforms.rs"
[[test]]
name = "builder_animation"
path = "tests/builder_animation.rs"
[[test]]
name = "builder_brushes_effects"
path = "tests/builder_brushes_effects.rs"
[[test]]
name = "builder_geometry"
path = "tests/builder_geometry.rs"
[[test]]
name = "builder_style"
path = "tests/builder_style.rs"
[[test]]
name = "classes"
path = "tests/classes.rs"
[[test]]
name = "collection_view"
path = "tests/collection_view.rs"
[[test]]
name = "commands"
path = "tests/commands.rs"
[[test]]
name = "controls_props"
path = "tests/controls_props.rs"
[[test]]
name = "controls_s8_remainder"
path = "tests/controls_s8_remainder.rs"
[[test]]
name = "controls_scroll"
path = "tests/controls_scroll.rs"
[[test]]
name = "controls_selection"
path = "tests/controls_selection.rs"
[[test]]
name = "cross_dict_static_resource"
path = "tests/cross_dict_static_resource.rs"
[[test]]
name = "custom_attached"
path = "tests/custom_attached.rs"
[[test]]
name = "custom_bases"
path = "tests/custom_bases.rs"
[[test]]
name = "custom_dp_coerce_point"
path = "tests/custom_dp_coerce_point.rs"
[[test]]
name = "custom_dp_metadata"
path = "tests/custom_dp_metadata.rs"
[[test]]
name = "custom_dp_readonly_value_types"
path = "tests/custom_dp_readonly_value_types.rs"
[[test]]
name = "custom_dp_reentrant_change"
path = "tests/custom_dp_reentrant_change.rs"
[[test]]
name = "custom_dp_string_default"
path = "tests/custom_dp_string_default.rs"
[[test]]
name = "custom_dp_value_type_callbacks"
path = "tests/custom_dp_value_type_callbacks.rs"
[[test]]
name = "custom_dp_value_types"
path = "tests/custom_dp_value_types.rs"
[[test]]
name = "custom_freezable"
path = "tests/custom_freezable.rs"
[[test]]
name = "custom_layout"
path = "tests/custom_layout.rs"
[[test]]
name = "datacontext_u64"
path = "tests/datacontext_u64.rs"
[[test]]
name = "dependency_extras"
path = "tests/dependency_extras.rs"
[[test]]
name = "dependency_property"
path = "tests/dependency_property.rs"
[[test]]
name = "diagnostics_handlers"
path = "tests/diagnostics_handlers.rs"
[[test]]
name = "diagnostics_memory"
path = "tests/diagnostics_memory.rs"
[[test]]
name = "diagnostics_num_references"
path = "tests/diagnostics_num_references.rs"
[[test]]
name = "drawing"
path = "tests/drawing.rs"
[[test]]
name = "element_ergonomics"
path = "tests/element_ergonomics.rs"
[[test]]
name = "element_props"
path = "tests/element_props.rs"
[[test]]
name = "element_resources"
path = "tests/element_resources.rs"
[[test]]
name = "element_tree"
path = "tests/element_tree.rs"
[[test]]
name = "element_tree_access"
path = "tests/element_tree_access.rs"
[[test]]
name = "element_tree_build"
path = "tests/element_tree_build.rs"
[[test]]
name = "events"
path = "tests/events.rs"
[[test]]
name = "font_provider"
path = "tests/font_provider.rs"
[[test]]
name = "font_scoped_providers"
path = "tests/font_scoped_providers.rs"
[[test]]
name = "formatted_text"
path = "tests/formatted_text.rs"
[[test]]
name = "geometry"
path = "tests/geometry.rs"
[[test]]
name = "imaging"
path = "tests/imaging.rs"
[[test]]
name = "input"
path = "tests/input.rs"
[[test]]
name = "input_bindings"
path = "tests/input_bindings.rs"
[[test]]
name = "input_capture_focus"
path = "tests/input_capture_focus.rs"
[[test]]
name = "input_keyboard_nav"
path = "tests/input_keyboard_nav.rs"
[[test]]
name = "input_mouse_bindings"
path = "tests/input_mouse_bindings.rs"
[[test]]
name = "inspector"
path = "tests/inspector.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "lifecycle"
path = "tests/lifecycle.rs"
[[test]]
name = "lifecycle_events"
path = "tests/lifecycle_events.rs"
[[test]]
name = "markup"
path = "tests/markup.rs"
[[test]]
name = "mesh"
path = "tests/mesh.rs"
[[test]]
name = "mouse_position"
path = "tests/mouse_position.rs"
[[test]]
name = "multi_binding"
path = "tests/multi_binding.rs"
[[test]]
name = "multi_data_trigger"
path = "tests/multi_data_trigger.rs"
[[test]]
name = "observable_collection"
path = "tests/observable_collection.rs"
[[test]]
name = "observable_collection_move"
path = "tests/observable_collection_move.rs"
[[test]]
name = "panic_containment"
path = "tests/panic_containment.rs"
[[test]]
name = "parse_xaml"
path = "tests/parse_xaml.rs"
[[test]]
name = "pen_dash"
path = "tests/pen_dash.rs"
[[test]]
name = "plain_vm_binding"
path = "tests/plain_vm_binding.rs"
[[test]]
name = "plain_vm_twoway"
path = "tests/plain_vm_twoway.rs"
[[test]]
name = "reflection_depends_on"
path = "tests/reflection_depends_on.rs"
[[test]]
name = "reflection_enums"
path = "tests/reflection_enums.rs"
[[test]]
name = "reflection_factory"
path = "tests/reflection_factory.rs"
[[test]]
name = "reflection_routed_events"
path = "tests/reflection_routed_events.rs"
[[test]]
name = "reflection_type_converter"
path = "tests/reflection_type_converter.rs"
[[test]]
name = "render_device"
path = "tests/render_device.rs"
[[test]]
name = "renderer_handle"
path = "tests/renderer_handle.rs"
[[test]]
name = "resource_dictionary"
path = "tests/resource_dictionary.rs"
[[test]]
name = "resource_dictionary_set_source"
path = "tests/resource_dictionary_set_source.rs"
[[test]]
name = "routed_commands"
path = "tests/routed_commands.rs"
[[test]]
name = "routed_events"
path = "tests/routed_events.rs"
[[test]]
name = "routed_events_typed_args"
path = "tests/routed_events_typed_args.rs"
[[test]]
name = "safety_smoke"
path = "tests/safety_smoke.rs"
[[test]]
name = "selector_selection_changed"
path = "tests/selector_selection_changed.rs"
[[test]]
name = "shapes"
path = "tests/shapes.rs"
[[test]]
name = "spike_bench"
path = "tests/spike_bench.rs"
[[test]]
name = "spike_mount"
path = "tests/spike_mount.rs"
[[test]]
name = "spike_move"
path = "tests/spike_move.rs"
[[test]]
name = "style_from_code"
path = "tests/style_from_code.rs"
[[test]]
name = "svg"
path = "tests/svg.rs"
[[test]]
name = "teardown_safety"
path = "tests/teardown_safety.rs"
[[test]]
name = "teardown_safety_markup"
path = "tests/teardown_safety_markup.rs"
[[test]]
name = "templates"
path = "tests/templates.rs"
[[test]]
name = "templates_triggers"
path = "tests/templates_triggers.rs"
[[test]]
name = "text_and_keys"
path = "tests/text_and_keys.rs"
[[test]]
name = "text_inlines"
path = "tests/text_inlines.rs"
[[test]]
name = "texture_scoped_providers"
path = "tests/texture_scoped_providers.rs"
[[test]]
name = "typography"
path = "tests/typography.rs"
[[test]]
name = "view_renderer_extras"
path = "tests/view_renderer_extras.rs"
[[test]]
name = "view_timers"
path = "tests/view_timers.rs"
[[test]]
name = "visibility"
path = "tests/visibility.rs"
[[test]]
name = "visual_brushes_3d"
path = "tests/visual_brushes_3d.rs"
[[test]]
name = "visual_state"
path = "tests/visual_state.rs"
[[test]]
name = "xaml_dependencies"
path = "tests/xaml_dependencies.rs"
[[test]]
name = "xaml_scoped_providers"
path = "tests/xaml_scoped_providers.rs"
[dependencies]
[build-dependencies.cc]
version = "1"
[lints.clippy]
as_underscore = "warn"
branches_sharing_code = "warn"
clone_on_ref_ptr = "warn"
cloned_instead_of_copied = "warn"
dbg_macro = "warn"
doc_markdown = "warn"
equatable_if_let = "warn"
explicit_into_iter_loop = "warn"
explicit_iter_loop = "warn"
float_cmp = "allow"
if_not_else = "warn"
implicit_saturating_sub = "warn"
inconsistent_struct_constructor = "warn"
index_refutable_slice = "warn"
indexing_slicing = "allow"
inefficient_to_string = "warn"
invalid_upcast_comparisons = "warn"
large_types_passed_by_value = "warn"
manual_assert = "warn"
many_single_char_names = "allow"
mem_forget = "allow"
mismatching_type_param_order = "warn"
mixed_read_write_in_expression = "warn"
mut_mut = "warn"
needless_continue = "warn"
option_option = "warn"
panic = "allow"
ptr_as_ptr = "warn"
range_minus_one = "warn"
range_plus_one = "warn"
redundant_else = "warn"
ref_option_ref = "warn"
string_slice = "warn"
todo = "warn"
too_many_arguments = "allow"
type_complexity = "allow"
unimplemented = "warn"
unnecessary_cast = "warn"
unneeded_field_pattern = "warn"
unnested_or_patterns = "warn"
wildcard_dependencies = "warn"
zero_sized_map_values = "warn"