[package]
edition = "2024"
name = "kui-core"
version = "0.1.0-alpha.45"
build = false
publish = [
"crates-io",
"drydock9",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "kui contract: flat per-frame tree, clay-style flex layout, text stack, events as data, quad display list"
homepage = "https://kui-book.qxuken.dev"
readme = "README.md"
keywords = [
"gui",
"ui",
"layout",
"wgpu",
]
categories = ["gui"]
license = "MIT"
repository = "https://github.com/qxuken/kui"
[features]
conformance = []
default = ["devtools"]
derive = ["dep:kui-derive"]
devtools = []
[lib]
name = "kui_core"
path = "src/lib.rs"
[[test]]
name = "access"
path = "tests/access.rs"
[[test]]
name = "access_clip"
path = "tests/access_clip.rs"
[[test]]
name = "access_text"
path = "tests/access_text.rs"
[[test]]
name = "align_layout"
path = "tests/align_layout.rs"
[[test]]
name = "anchor"
path = "tests/anchor.rs"
[[test]]
name = "anim"
path = "tests/anim.rs"
[[test]]
name = "atlas_turnover"
path = "tests/atlas_turnover.rs"
[[test]]
name = "audio"
path = "tests/audio.rs"
[[test]]
name = "backdrop_blur"
path = "tests/backdrop_blur.rs"
[[test]]
name = "break_spaces"
path = "tests/break_spaces.rs"
[[test]]
name = "buttons"
path = "tests/buttons.rs"
[[test]]
name = "caret"
path = "tests/caret.rs"
[[test]]
name = "cells"
path = "tests/cells.rs"
[[test]]
name = "cells_selection"
path = "tests/cells_selection.rs"
[[test]]
name = "column_squeeze"
path = "tests/column_squeeze.rs"
[[test]]
name = "composite_keyboard"
path = "tests/composite_keyboard.rs"
[[test]]
name = "composites"
path = "tests/composites.rs"
[[test]]
name = "conformance"
path = "tests/conformance.rs"
[[test]]
name = "context_menu"
path = "tests/context_menu.rs"
[[test]]
name = "controls"
path = "tests/controls.rs"
[[test]]
name = "conveniences"
path = "tests/conveniences.rs"
[[test]]
name = "cursor"
path = "tests/cursor.rs"
[[test]]
name = "decorations"
path = "tests/decorations.rs"
[[test]]
name = "deferred_labels"
path = "tests/deferred_labels.rs"
[[test]]
name = "degenerate_text_style"
path = "tests/degenerate_text_style.rs"
[[test]]
name = "devtools_tab"
path = "tests/devtools_tab.rs"
[[test]]
name = "docs"
path = "tests/docs.rs"
[[test]]
name = "drag"
path = "tests/drag.rs"
[[test]]
name = "drop"
path = "tests/drop.rs"
[[test]]
name = "editing"
path = "tests/editing.rs"
[[test]]
name = "env"
path = "tests/env.rs"
[[test]]
name = "event_views"
path = "tests/event_views.rs"
[[test]]
name = "exit"
path = "tests/exit.rs"
[[test]]
name = "exit_scope"
path = "tests/exit_scope.rs"
[[test]]
name = "field"
path = "tests/field.rs"
[[test]]
name = "fit_across"
path = "tests/fit_across.rs"
[[test]]
name = "float"
path = "tests/float.rs"
[[test]]
name = "focus"
path = "tests/focus.rs"
[[test]]
name = "focus_events"
path = "tests/focus_events.rs"
[[test]]
name = "focus_regions"
path = "tests/focus_regions.rs"
[[test]]
name = "follow"
path = "tests/follow.rs"
[[test]]
name = "font_features"
path = "tests/font_features.rs"
[[test]]
name = "fonts"
path = "tests/fonts.rs"
[[test]]
name = "frame_cause"
path = "tests/frame_cause.rs"
[[test]]
name = "gradient"
path = "tests/gradient.rs"
[[test]]
name = "hit"
path = "tests/hit.rs"
[[test]]
name = "hover"
path = "tests/hover.rs"
[[test]]
name = "images"
path = "tests/images.rs"
[[test]]
name = "ime"
path = "tests/ime.rs"
[[test]]
name = "joined_backgrounds"
path = "tests/joined_backgrounds.rs"
[[test]]
name = "keep_focus"
path = "tests/keep_focus.rs"
[[test]]
name = "key_bubbling"
path = "tests/key_bubbling.rs"
[[test]]
name = "key_of"
path = "tests/key_of.rs"
[[test]]
name = "keys"
path = "tests/keys.rs"
[[test]]
name = "layers"
path = "tests/layers.rs"
[[test]]
name = "layout_events"
path = "tests/layout_events.rs"
[[test]]
name = "leaf_tooltip"
path = "tests/leaf_tooltip.rs"
[[test]]
name = "line"
path = "tests/line.rs"
[[test]]
name = "list_widgets"
path = "tests/list_widgets.rs"
[[test]]
name = "live"
path = "tests/live.rs"
[[test]]
name = "long_line"
path = "tests/long_line.rs"
[[test]]
name = "measure"
path = "tests/measure.rs"
[[test]]
name = "menu"
path = "tests/menu.rs"
[[test]]
name = "menu_bar"
path = "tests/menu_bar.rs"
[[test]]
name = "metrics"
path = "tests/metrics.rs"
[[test]]
name = "named_family"
path = "tests/named_family.rs"
[[test]]
name = "opacity"
path = "tests/opacity.rs"
[[test]]
name = "open_documents"
path = "tests/open_documents.rs"
[[test]]
name = "open_from"
path = "tests/open_from.rs"
[[test]]
name = "path"
path = "tests/path.rs"
[[test]]
name = "pixel_snap"
path = "tests/pixel_snap.rs"
[[test]]
name = "radius"
path = "tests/radius.rs"
[[test]]
name = "readback"
path = "tests/readback.rs"
[[test]]
name = "relative_shrink"
path = "tests/relative_shrink.rs"
[[test]]
name = "resize"
path = "tests/resize.rs"
[[test]]
name = "rewrap"
path = "tests/rewrap.rs"
[[test]]
name = "root_scroll"
path = "tests/root_scroll.rs"
[[test]]
name = "rounded_clip"
path = "tests/rounded_clip.rs"
[[test]]
name = "scroll"
path = "tests/scroll.rs"
[[test]]
name = "scroll_axes"
path = "tests/scroll_axes.rs"
[[test]]
name = "scroll_gestures"
path = "tests/scroll_gestures.rs"
[[test]]
name = "scroll_mods"
path = "tests/scroll_mods.rs"
[[test]]
name = "select"
path = "tests/select.rs"
[[test]]
name = "selection"
path = "tests/selection.rs"
[[test]]
name = "session"
path = "tests/session.rs"
[[test]]
name = "shadow"
path = "tests/shadow.rs"
[[test]]
name = "sink_caret"
path = "tests/sink_caret.rs"
[[test]]
name = "sink_pointer"
path = "tests/sink_pointer.rs"
[[test]]
name = "size_expressions"
path = "tests/size_expressions.rs"
[[test]]
name = "size_spellings"
path = "tests/size_spellings.rs"
[[test]]
name = "size_table_full"
path = "tests/size_table_full.rs"
[[test]]
name = "slots"
path = "tests/slots.rs"
[[test]]
name = "span_face"
path = "tests/span_face.rs"
[[test]]
name = "state_budget"
path = "tests/state_budget.rs"
[[test]]
name = "submenu"
path = "tests/submenu.rs"
[[test]]
name = "subpixel"
path = "tests/subpixel.rs"
[[test]]
name = "tab_focus"
path = "tests/tab_focus.rs"
[[test]]
name = "table_layout"
path = "tests/table_layout.rs"
[[test]]
name = "table_rules"
path = "tests/table_rules.rs"
[[test]]
name = "text_budget"
path = "tests/text_budget.rs"
[[test]]
name = "text_hit"
path = "tests/text_hit.rs"
[[test]]
name = "theme"
path = "tests/theme.rs"
[[test]]
name = "tokens"
path = "tests/tokens.rs"
[[test]]
name = "undo"
path = "tests/undo.rs"
[[test]]
name = "virtual_selection"
path = "tests/virtual_selection.rs"
[[test]]
name = "warnings"
path = "tests/warnings.rs"
[[test]]
name = "window"
path = "tests/window.rs"
[[test]]
name = "windows"
path = "tests/windows.rs"
[[test]]
name = "wrap"
path = "tests/wrap.rs"
[[test]]
name = "wrap_layout"
path = "tests/wrap_layout.rs"
[[bench]]
name = "cells"
path = "benches/cells.rs"
harness = false
[[bench]]
name = "editing"
path = "benches/editing.rs"
harness = false
[[bench]]
name = "frame"
path = "benches/frame.rs"
harness = false
[[bench]]
name = "highlight"
path = "benches/highlight.rs"
harness = false
[[bench]]
name = "long_line"
path = "benches/long_line.rs"
harness = false
[[bench]]
name = "sizes"
path = "benches/sizes.rs"
harness = false
[[bench]]
name = "stream"
path = "benches/stream.rs"
harness = false
[dependencies.cosmic-text]
version = "0.19"
features = ["shape-run-cache"]
[dependencies.kui-derive]
version = "0.1.0-alpha.45"
optional = true
[dependencies.naga]
version = "30"
features = ["wgsl-in"]
default-features = false
[dependencies.rustc-hash]
version = "2"
[dependencies.slotmap]
version = "1.1.1"
[dependencies.swash]
version = "0.2"
[dependencies.unicode-linebreak]
version = "0.1"
[dependencies.unicode-script]
version = "0.5"
[dependencies.unicode-segmentation]
version = "1"
[dev-dependencies.divan]
version = "0.1"
[dev-dependencies.serde_json]
version = "1"