diff --git a/Cargo.lock b/Cargo.lock index d285a2f..9828b4d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -309,6 +309,17 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "displaydoc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + [[package]] name = "either" version = "1.18.0" @@ -413,7 +424,7 @@ dependencies = [ [[package]] name = "ferroui" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-controls", @@ -432,22 +443,24 @@ dependencies = [ [[package]] name = "ferroui-base" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "bitflags", "ferroui-build-scan", "ferroui-system", + "icu_locale_core", "libc", "paste", "rust_decimal", "rustc-hash", "smallvec", "time", + "url", ] [[package]] name = "ferroui-browser" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-controls", @@ -459,7 +472,7 @@ dependencies = [ [[package]] name = "ferroui-build" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build-scan", @@ -471,7 +484,7 @@ dependencies = [ [[package]] name = "ferroui-build-scan" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "proc-macro2", "quote", @@ -480,7 +493,7 @@ dependencies = [ [[package]] name = "ferroui-controls" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "bitflags", "ferroui-base", @@ -492,7 +505,7 @@ dependencies = [ [[package]] name = "ferroui-desktop" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-controls", @@ -505,7 +518,7 @@ dependencies = [ [[package]] name = "ferroui-dialogs" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build", @@ -516,7 +529,7 @@ dependencies = [ [[package]] name = "ferroui-fonts-inter" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-controls", @@ -524,7 +537,7 @@ dependencies = [ [[package]] name = "ferroui-freedesktop" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "bitflags", "ferroui-base", @@ -536,7 +549,7 @@ dependencies = [ [[package]] name = "ferroui-harfbuzz" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-controls", @@ -545,7 +558,7 @@ dependencies = [ [[package]] name = "ferroui-headless" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-controls", @@ -554,14 +567,14 @@ dependencies = [ [[package]] name = "ferroui-markup" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", ] [[package]] name = "ferroui-markup-xaml" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build-scan", @@ -571,7 +584,7 @@ dependencies = [ [[package]] name = "ferroui-markup-xaml-loader" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build-scan", @@ -582,21 +595,21 @@ dependencies = [ [[package]] name = "ferroui-metal" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", ] [[package]] name = "ferroui-microcom" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "uuid", ] [[package]] name = "ferroui-native" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "cc", "ferroui-base", @@ -610,7 +623,7 @@ dependencies = [ [[package]] name = "ferroui-opengl" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build-scan", @@ -621,14 +634,14 @@ dependencies = [ [[package]] name = "ferroui-remote-protocol" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "uuid", ] [[package]] name = "ferroui-skia" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "cc", "ferroui-base", @@ -641,14 +654,14 @@ dependencies = [ [[package]] name = "ferroui-system" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "smallvec", ] [[package]] name = "ferroui-themes-fluent" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ferroui-base", "ferroui-build", @@ -659,7 +672,7 @@ dependencies = [ [[package]] name = "ferroui-vulkan" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "ash", "ferroui-base", @@ -667,7 +680,7 @@ dependencies = [ [[package]] name = "ferroui-win32" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "bitflags", "ferroui-base", @@ -682,7 +695,7 @@ dependencies = [ [[package]] name = "ferroui-x11" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "bitflags", "ferroui-base", @@ -722,6 +735,15 @@ dependencies = [ "zlib-rs", ] +[[package]] +name = "form_urlencoded" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" +dependencies = [ + "percent-encoding", +] + [[package]] name = "futures-core" version = "0.3.34" @@ -839,6 +861,111 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "icu_collections" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe090a42a0d3140fed8c63263ed1fecc02422cb2f4bfe55cd8de2de1b8e105dd" +dependencies = [ + "displaydoc", + "potential_utf", + "utf8_iter", + "yoke", + "zerofrom", + "zerovec", +] + +[[package]] +name = "icu_locale_core" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25d29b57c17c6528d0dc4c2141cfa2d08200465acb537a3909c8b9b8a4a984c0" +dependencies = [ + "displaydoc", + "litemap", + "serde", + "tinystr", + "writeable", + "zerovec", +] + +[[package]] +name = "icu_normalizer" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "404a3b8c486f205c87fe7f23ab6894d84a4ad76d6e4671ae1981ba7def87c599" +dependencies = [ + "icu_collections", + "icu_normalizer_data", + "icu_properties", + "icu_provider", + "smallvec", + "zerovec", +] + +[[package]] +name = "icu_normalizer_data" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20f0088bfb7441f7a37fa0c9e20cb1e9cba1cac6b9ce8cd2a6dc44294f8e8cbc" + +[[package]] +name = "icu_properties" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ea83d991c56158f7cf898bf86436c1dfe7c07ee82fe88951f2695c9f37a379f" +dependencies = [ + "displaydoc", + "icu_collections", + "icu_locale_core", + "icu_properties_data", + "icu_provider", + "zerotrie", + "zerovec", +] + +[[package]] +name = "icu_properties_data" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98f29af82d02b163fe50161388350e743bb3107cc8e8c2f7314cb505faddfcf" + +[[package]] +name = "icu_provider" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413099315636c588ee8f011190b329b971a09a8fae9d157e01dcae8379468514" +dependencies = [ + "displaydoc", + "icu_locale_core", + "writeable", + "yoke", + "zerofrom", + "zerotrie", + "zerovec", +] + +[[package]] +name = "idna" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b0875f23caa03898994f6ddc501886a45c7d3d62d04d2d90788d47be1b1e4de" +dependencies = [ + "idna_adapter", + "smallvec", + "utf8_iter", +] + +[[package]] +name = "idna_adapter" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb68373c0d6620ef8105e855e7745e18b0d00d3bdb07fb532e434244cdb9a714" +dependencies = [ + "icu_normalizer", + "icu_properties", +] + [[package]] name = "indexmap" version = "2.14.2" @@ -934,6 +1061,12 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53" +[[package]] +name = "litemap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47d9d19d1d6efa0109d2f65ff4c85cddd50bd572e5a00127ab10987290bcefae" + [[package]] name = "log" version = "0.4.34" @@ -957,7 +1090,7 @@ dependencies = [ [[package]] name = "microcom-codegen" -version = "0.4.0" +version = "0.5.0-preview.1" [[package]] name = "minimal-lexical" @@ -1066,6 +1199,12 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" +[[package]] +name = "percent-encoding" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" + [[package]] name = "pin-project-lite" version = "0.2.17" @@ -1103,6 +1242,15 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "potential_utf" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d83eb9bc6d8e5cf568e7a1101d60ee05e81ed50ea106026f3d18deeb046d7661" +dependencies = [ + "zerovec", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -1415,6 +1563,12 @@ version = "1.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f9395f0f0eee849a9b707b2f06bb92a6a422090e2123bb2ef8e87a0e61892a8e" +[[package]] +name = "stable_deref_trait" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" + [[package]] name = "syn" version = "2.0.119" @@ -1437,6 +1591,17 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "synstructure" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "901704edd0dfe137f1987838ee4f259e4e063c31371bdb423f7ae38ec6f77f02" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + [[package]] name = "sysinfo" version = "0.37.2" @@ -1511,6 +1676,17 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1c906769ad99c88eaa54e728060edef082f8e358ff32030cb7c7d315e81109" +[[package]] +name = "tinystr" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abc840c238154d58f9e86b2792261edfde565a17696e1cda1a449de27979801a" +dependencies = [ + "displaydoc", + "serde_core", + "zerovec", +] + [[package]] name = "toml" version = "1.1.6+spec-1.1.0" @@ -1610,6 +1786,33 @@ version = "1.0.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d245f478577f809a851594d02313b640fb437e0bb33866753cff937863096954" +[[package]] +name = "url" +version = "2.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff67a8a4397373c3ef660812acab3268222035010ab8680ec4215f38ba3d0eed" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", + "serde", +] + +[[package]] +name = "utf8_iter" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af3bd9d3e571c26fcce9d033b87ea5ab061b8d2ffe9b7a5675d810d68f03edf0" +dependencies = [ + "utf_types", +] + +[[package]] +name = "utf_types" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a3b425286980a367278453f3b6d28cdcb134b574e5a35824a6ff5eebad50bb6" + [[package]] name = "uuid" version = "1.28.0" @@ -1842,6 +2045,12 @@ version = "0.57.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" +[[package]] +name = "writeable" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" + [[package]] name = "x11-dl" version = "2.21.0" @@ -1855,7 +2064,7 @@ dependencies = [ [[package]] name = "xamlx" -version = "0.4.0" +version = "0.5.0-preview.1" dependencies = [ "roxmltree", ] @@ -1876,6 +2085,29 @@ version = "0.8.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7" +[[package]] +name = "yoke" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "417ef3fcf6c300b7dbd25c85531a746931c02ad536f3cf4786ed1e88223340b3" +dependencies = [ + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec8ebde2db3681e8c9980cc27822030e68752690ddfa9473e739aeb4dbde6d71" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", + "synstructure", +] + [[package]] name = "zbus" version = "5.19.0" @@ -1966,6 +2198,61 @@ dependencies = [ "syn 2.0.119", ] +[[package]] +name = "zerofrom" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ec05a11813ea801ff6d75110ad09cd0824ddba17dfe17128ea0d5f68e6c5272" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f75b4683f6c7f45248d4d64056a24298c6281e0993356d7d1b4a1a962ef10d4a" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", + "synstructure", +] + +[[package]] +name = "zerotrie" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea269c3bd32f0a32c321907a2ae912ba6f4649bb0fc764a15627e99a7095a3f" +dependencies = [ + "displaydoc", + "yoke", + "zerofrom", +] + +[[package]] +name = "zerovec" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f58a2799cfe9a1670c7ea8edbd52ef8edb93cb37a7f83bf31ba9e35d9dae6a40" +dependencies = [ + "serde", + "yoke", + "zerofrom", + "zerovec-derive", +] + +[[package]] +name = "zerovec-derive" +version = "0.11.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3743ddbf47738d929cd1ae2e199d40d0162979dfe31aef8ae646d2bf00bf97a" +dependencies = [ + "proc-macro2", + "quote", + "syn 3.0.6", +] + [[package]] name = "zlib-rs" version = "0.6.8" diff --git a/Cargo.toml b/Cargo.toml index 4c7c925..97e5ebd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,118 +14,118 @@ repository = "https://github.com/FerroUI/Solitaire" [workspace.dependencies] # >>> FerroUI workspace dependencies (written by FerroUI/scripts/apps/sync-workspace.py from FerroUI/Cargo.toml; do not edit) # The Dock port (docs/porting/dock): its crates and the dependencies only it has. -ferrodock-controls-recycling-model = { path = "FerroUI/src/Dock/FerroDock.Controls.Recycling.Model" } -ferrodock-controls-recycling-model-ferro = { path = "FerroUI/src/Dock/FerroDock.Controls.Recycling.Model.Ferro" } -ferrodock-model = { path = "FerroUI/src/Dock/FerroDock.Model" } -ferrodock-model-ferro = { path = "FerroUI/src/Dock/FerroDock.Model.Ferro" } -ferrodock-runtime = { path = "FerroUI/src/Dock/FerroDock.Runtime" } -ferrodock-settings = { path = "FerroUI/src/Dock/FerroDock.Settings" } +ferrodock-controls-recycling-model = { version = "=0.5.0-preview.1", path = "FerroUI/src/Dock/FerroDock.Controls.Recycling.Model" } +ferrodock-controls-recycling-model-ferro = { version = "=0.5.0-preview.1", path = "FerroUI/src/Dock/FerroDock.Controls.Recycling.Model.Ferro" } +ferrodock-model = { version = "=0.5.0-preview.1", path = "FerroUI/src/Dock/FerroDock.Model" } +ferrodock-model-ferro = { version = "=0.5.0-preview.1", path = "FerroUI/src/Dock/FerroDock.Model.Ferro" } +ferrodock-runtime = { version = "=0.5.0-preview.1", path = "FerroUI/src/Dock/FerroDock.Runtime" } +ferrodock-settings = { version = "=0.5.0-preview.1", path = "FerroUI/src/Dock/FerroDock.Settings" } ryu = "1.0" serde = "1.0" serde_json = { version = "1.0", features = ["raw_value"] } -ferroui-pretext-contracts = { version = "=0.4.0", path = "FerroUI/src/Pretext/FerroUI.Pretext.Contracts" } -ferroui-pretext = { version = "=0.4.0", path = "FerroUI/src/Pretext/FerroUI.Pretext" } -ferroui-pretext-layout = { version = "=0.4.0", path = "FerroUI/src/Pretext/FerroUI.Pretext.Layout" } -ferroui-pretext-media = { version = "=0.4.0", path = "FerroUI/src/Pretext/FerroUI.Pretext.Media" } -ferroui-designer-core = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Designer.Core" } -ferroui-designer-project = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Designer.Project" } -ferroui-designer-tools = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Designer.Tools" } -ferroui-designer-language = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Designer.Language" } -ferroui-designer-animation = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Designer.Animation" } -ferroui-designer-collaboration = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Designer.Collaboration" } -ferroui-designer-collaboration-host = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Designer.Collaboration.Host" } -ferroui-designer = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Designer" } -ferroui-hot-reload = { version = "=0.4.0", path = "FerroUI/src/FerroUI.HotReload" } -ferroui-hot-patch = { version = "=0.4.0", path = "FerroUI/src/FerroUI.HotPatch" } -ferroui-inspect = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Inspect" } -ferroui-devtools = { version = "=0.4.0", path = "FerroUI/src/FerroUI.DevTools", default-features = false } -ferroui-mcp = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Mcp" } -ferroui-system = { version = "=0.4.0", path = "FerroUI/src/FerroUI.System" } -ferroui-protranslate-core = { version = "=0.4.0", path = "FerroUI/src/ProTranslate/FerroUI.ProTranslate.Core" } -ferroui-protranslate-formats = { version = "=0.4.0", path = "FerroUI/src/ProTranslate/FerroUI.ProTranslate.Formats" } -ferroui-protranslate-build = { version = "=0.4.0", path = "FerroUI/src/ProTranslate/FerroUI.ProTranslate.Build" } -ferroui-protranslate-studio = { version = "=0.4.0", path = "FerroUI/src/ProTranslate/FerroUI.ProTranslate.Studio" } -ferroui-protranslate = { version = "=0.4.0", path = "FerroUI/src/ProTranslate/FerroUI.ProTranslate" } -ferroui-reactive = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Reactive" } -ferroui-reactive-testing = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Reactive.Testing" } -ferroui-dependency-injection = { version = "=0.4.0", path = "FerroUI/src/FerroUI.DependencyInjection" } -ferroui-splat = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Splat" } -ferroui-dynamic-data = { version = "=0.4.0", path = "FerroUI/src/FerroUI.DynamicData" } -ferroui-reactiveui = { version = "=0.4.0", path = "FerroUI/src/FerroUI.ReactiveUI" } -ferroui-reactiveui-testing = { version = "=0.4.0", path = "FerroUI/src/FerroUI.ReactiveUI.Testing" } -ferroui-reactiveui-controls = { version = "=0.4.0", path = "FerroUI/src/FerroUI.ReactiveUI.Controls" } -ferroui-base = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Base" } -ferroui-controls = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Controls" } -ferroui-view = { version = "=0.4.0", path = "FerroUI/src/FerroUI.View" } -ferroui-view-macros = { version = "=0.4.0", path = "FerroUI/src/FerroUI.View.Macros" } -ferroui-controls-color-picker = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Controls.ColorPicker" } -ferroui-controls-charts = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Controls.Charts" } -ferroui-livecharts = { version = "=0.4.0", path = "FerroUI/src/FerroUI.LiveCharts" } -ferroui-controls-livecharts = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Controls.LiveCharts" } -ferroui-controls-repeater = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Controls.Repeater" } -ferroui-controls-inking = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Controls.Inking" } -ferroui-treedatagrid-core = { version = "=0.4.0", path = "FerroUI/src/TreeDataGrid/FerroUI.TreeDataGrid.Core" } -ferroui-controls-treedatagrid = { version = "=0.4.0", path = "FerroUI/src/TreeDataGrid/FerroUI.Controls.TreeDataGrid" } -ferroui-static-view-locator = { version = "=0.4.0", path = "FerroUI/src/StaticViewLocator/FerroUI.StaticViewLocator" } -ferroui-static-view-locator-macros = { version = "=0.4.0", path = "FerroUI/src/StaticViewLocator/FerroUI.StaticViewLocator.Macros" } -ferroui-static-view-locator-build = { version = "=0.4.0", path = "FerroUI/src/StaticViewLocator/FerroUI.StaticViewLocator.Build" } -ferroui-markup = { version = "=0.4.0", path = "FerroUI/src/Markup/FerroUI.Markup" } -ferroui-markup-xaml = { version = "=0.4.0", path = "FerroUI/src/Markup/FerroUI.Markup.Xaml" } -ferroui-markup-xaml-winui = { version = "=0.4.0", path = "FerroUI/src/Markup/FerroUI.Markup.Xaml.WinUI" } +ferroui-pretext-contracts = { version = "=0.5.0-preview.1", path = "FerroUI/src/Pretext/FerroUI.Pretext.Contracts" } +ferroui-pretext = { version = "=0.5.0-preview.1", path = "FerroUI/src/Pretext/FerroUI.Pretext" } +ferroui-pretext-layout = { version = "=0.5.0-preview.1", path = "FerroUI/src/Pretext/FerroUI.Pretext.Layout" } +ferroui-pretext-media = { version = "=0.5.0-preview.1", path = "FerroUI/src/Pretext/FerroUI.Pretext.Media" } +ferroui-designer-core = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Designer.Core" } +ferroui-designer-project = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Designer.Project" } +ferroui-designer-tools = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Designer.Tools" } +ferroui-designer-language = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Designer.Language" } +ferroui-designer-animation = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Designer.Animation" } +ferroui-designer-collaboration = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Designer.Collaboration" } +ferroui-designer-collaboration-host = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Designer.Collaboration.Host" } +ferroui-designer = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Designer" } +ferroui-hot-reload = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.HotReload" } +ferroui-hot-patch = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.HotPatch" } +ferroui-inspect = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Inspect" } +ferroui-devtools = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.DevTools", default-features = false } +ferroui-mcp = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Mcp" } +ferroui-system = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.System" } +ferroui-protranslate-core = { version = "=0.5.0-preview.1", path = "FerroUI/src/ProTranslate/FerroUI.ProTranslate.Core" } +ferroui-protranslate-formats = { version = "=0.5.0-preview.1", path = "FerroUI/src/ProTranslate/FerroUI.ProTranslate.Formats" } +ferroui-protranslate-build = { version = "=0.5.0-preview.1", path = "FerroUI/src/ProTranslate/FerroUI.ProTranslate.Build" } +ferroui-protranslate-studio = { version = "=0.5.0-preview.1", path = "FerroUI/src/ProTranslate/FerroUI.ProTranslate.Studio" } +ferroui-protranslate = { version = "=0.5.0-preview.1", path = "FerroUI/src/ProTranslate/FerroUI.ProTranslate" } +ferroui-reactive = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Reactive" } +ferroui-reactive-testing = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Reactive.Testing" } +ferroui-dependency-injection = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.DependencyInjection" } +ferroui-splat = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Splat" } +ferroui-dynamic-data = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.DynamicData" } +ferroui-reactiveui = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.ReactiveUI" } +ferroui-reactiveui-testing = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.ReactiveUI.Testing" } +ferroui-reactiveui-controls = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.ReactiveUI.Controls" } +ferroui-base = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Base" } +ferroui-controls = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Controls" } +ferroui-view = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.View" } +ferroui-view-macros = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.View.Macros" } +ferroui-controls-color-picker = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Controls.ColorPicker" } +ferroui-controls-charts = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Controls.Charts" } +ferroui-livecharts = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.LiveCharts" } +ferroui-controls-livecharts = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Controls.LiveCharts" } +ferroui-controls-repeater = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Controls.Repeater" } +ferroui-controls-inking = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Controls.Inking" } +ferroui-treedatagrid-core = { version = "=0.5.0-preview.1", path = "FerroUI/src/TreeDataGrid/FerroUI.TreeDataGrid.Core" } +ferroui-controls-treedatagrid = { version = "=0.5.0-preview.1", path = "FerroUI/src/TreeDataGrid/FerroUI.Controls.TreeDataGrid" } +ferroui-static-view-locator = { version = "=0.5.0-preview.1", path = "FerroUI/src/StaticViewLocator/FerroUI.StaticViewLocator" } +ferroui-static-view-locator-macros = { version = "=0.5.0-preview.1", path = "FerroUI/src/StaticViewLocator/FerroUI.StaticViewLocator.Macros" } +ferroui-static-view-locator-build = { version = "=0.5.0-preview.1", path = "FerroUI/src/StaticViewLocator/FerroUI.StaticViewLocator.Build" } +ferroui-markup = { version = "=0.5.0-preview.1", path = "FerroUI/src/Markup/FerroUI.Markup" } +ferroui-markup-xaml = { version = "=0.5.0-preview.1", path = "FerroUI/src/Markup/FerroUI.Markup.Xaml" } +ferroui-markup-xaml-winui = { version = "=0.5.0-preview.1", path = "FerroUI/src/Markup/FerroUI.Markup.Xaml.WinUI" } # Without the default features: the default is the run-time back end, which links the XAML runtime library # and the controls, and the build tool (`ferroui-build`) takes the compiler alone. Every crate that loads # markup at run time states the `runtime` feature. -ferroui-markup-xaml-loader = { version = "=0.4.0", path = "FerroUI/src/Markup/FerroUI.Markup.Xaml.Loader", default-features = false } -ferroui-build-scan = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Build.Scan" } -ferroui-build = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Build.Tasks" } -xamlx = { version = "=0.4.0", path = "FerroUI/external/XamlX/src/XamlX" } -ferroui-microcom = { version = "=0.4.0", path = "FerroUI/src/FerroUI.MicroCom" } -microcom-codegen = { version = "=0.4.0", path = "FerroUI/src/tools/MicroCom.CodeGenerator" } -ferroui-native = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Native" } +ferroui-markup-xaml-loader = { version = "=0.5.0-preview.1", path = "FerroUI/src/Markup/FerroUI.Markup.Xaml.Loader", default-features = false } +ferroui-build-scan = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Build.Scan" } +ferroui-build = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Build.Tasks" } +xamlx = { version = "=0.5.0-preview.1", path = "FerroUI/external/XamlX/src/XamlX" } +ferroui-microcom = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.MicroCom" } +microcom-codegen = { version = "=0.5.0-preview.1", path = "FerroUI/src/tools/MicroCom.CodeGenerator" } +ferroui-native = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Native" } # Without its default feature `angle`: a crate that wants ANGLE asks for it (ferroui-desktop, the # desktop catalog, the integration tests), and ferroui-winui, which does not need it to compile, is # checked for a Windows target on any host. -ferroui-win32 = { version = "=0.4.0", path = "FerroUI/src/Windows/FerroUI.Win32", default-features = false } -ferroui-desktop = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Desktop" } -ferroui-x11 = { version = "=0.4.0", path = "FerroUI/src/FerroUI.X11" } -ferroui-wayland = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Wayland" } -ferroui-ios = { version = "=0.4.0", path = "FerroUI/src/iOS/FerroUI.iOS" } -ferroui-freedesktop = { version = "=0.4.0", path = "FerroUI/src/FerroUI.FreeDesktop" } -ferroui-android = { version = "=0.4.0", path = "FerroUI/src/Android/FerroUI.Android" } -ferroui-browser = { version = "=0.4.0", path = "FerroUI/src/Browser/FerroUI.Browser" } -ferroui-headless = { version = "=0.4.0", path = "FerroUI/src/Headless/FerroUI.Headless" } -ferroui-headless-vnc = { version = "=0.4.0", path = "FerroUI/src/Headless/FerroUI.Headless.Vnc" } +ferroui-win32 = { version = "=0.5.0-preview.1", path = "FerroUI/src/Windows/FerroUI.Win32", default-features = false } +ferroui-desktop = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Desktop" } +ferroui-x11 = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.X11" } +ferroui-wayland = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Wayland" } +ferroui-ios = { version = "=0.5.0-preview.1", path = "FerroUI/src/iOS/FerroUI.iOS" } +ferroui-freedesktop = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.FreeDesktop" } +ferroui-android = { version = "=0.5.0-preview.1", path = "FerroUI/src/Android/FerroUI.Android" } +ferroui-browser = { version = "=0.5.0-preview.1", path = "FerroUI/src/Browser/FerroUI.Browser" } +ferroui-headless = { version = "=0.5.0-preview.1", path = "FerroUI/src/Headless/FerroUI.Headless" } +ferroui-headless-vnc = { version = "=0.5.0-preview.1", path = "FerroUI/src/Headless/FerroUI.Headless.Vnc" } # Reserved names: empty placeholders until the ports exist (docs/release.md, section 2.2). -ferroui = { version = "=0.4.0", path = "FerroUI/src/FerroUI" } -ferroui-vulkan = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Vulkan" } -ferroui-linuxframebuffer = { version = "=0.4.0", path = "FerroUI/src/Linux/FerroUI.LinuxFramebuffer" } -ferroui-winui = { version = "=0.4.0", path = "FerroUI/src/Windows/FerroUI.WinUI" } -ferroui-fonts-inter = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Fonts.Inter" } -ferroui-dialogs = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Dialogs" } -ferroui-diagnostics = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Diagnostics" } -ferroui-xaml-interactivity = { version = "=0.4.0", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactivity" } -ferroui-xaml-behaviors-animations = { version = "=0.4.0", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Behaviors.Animations" } -ferroui-xaml-interactions = { version = "=0.4.0", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions" } -ferroui-xaml-interactions-reactiveui = { version = "=0.4.0", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.ReactiveUI" } -ferroui-xaml-interactions-custom = { version = "=0.4.0", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.Custom" } -ferroui-xaml-behaviors = { version = "=0.4.0", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Behaviors" } -ferroui-xaml-interactions-draggable = { version = "=0.4.0", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.Draggable" } -ferroui-xaml-interactions-draganddrop = { version = "=0.4.0", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.DragAndDrop" } -ferroui-xaml-interactions-events = { version = "=0.4.0", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.Events" } -ferroui-xaml-interactions-responsive = { version = "=0.4.0", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.Responsive" } -ferroui-themes-simple = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Themes.Simple" } -ferroui-themes-fluent = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Themes.Fluent" } -ferroui-themes-winui = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Themes.WinUI" } -ferroui-themes-macos = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Themes.MacOS" } -ferroui-themes-material = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Themes.Material" } -ferroui-opengl = { version = "=0.4.0", path = "FerroUI/src/FerroUI.OpenGL" } -ferroui-metal = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Metal" } -ferroui-remote-protocol = { version = "=0.4.0", path = "FerroUI/src/FerroUI.Remote.Protocol" } -ferroui-designer-support = { version = "=0.4.0", path = "FerroUI/src/FerroUI.DesignerSupport" } -ferroui-skia = { version = "=0.4.0", path = "FerroUI/src/Skia/FerroUI.Skia" } -ferroui-vello = { version = "=0.4.0", path = "FerroUI/src/Vello/FerroUI.Vello" } -ferroui-harfbuzz = { version = "=0.4.0", path = "FerroUI/src/HarfBuzz/FerroUI.HarfBuzz" } +ferroui = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI" } +ferroui-vulkan = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Vulkan" } +ferroui-linuxframebuffer = { version = "=0.5.0-preview.1", path = "FerroUI/src/Linux/FerroUI.LinuxFramebuffer" } +ferroui-winui = { version = "=0.5.0-preview.1", path = "FerroUI/src/Windows/FerroUI.WinUI" } +ferroui-fonts-inter = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Fonts.Inter" } +ferroui-dialogs = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Dialogs" } +ferroui-diagnostics = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Diagnostics" } +ferroui-xaml-interactivity = { version = "=0.5.0-preview.1", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactivity" } +ferroui-xaml-behaviors-animations = { version = "=0.5.0-preview.1", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Behaviors.Animations" } +ferroui-xaml-interactions = { version = "=0.5.0-preview.1", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions" } +ferroui-xaml-interactions-reactiveui = { version = "=0.5.0-preview.1", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.ReactiveUI" } +ferroui-xaml-interactions-custom = { version = "=0.5.0-preview.1", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.Custom" } +ferroui-xaml-behaviors = { version = "=0.5.0-preview.1", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Behaviors" } +ferroui-xaml-interactions-draggable = { version = "=0.5.0-preview.1", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.Draggable" } +ferroui-xaml-interactions-draganddrop = { version = "=0.5.0-preview.1", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.DragAndDrop" } +ferroui-xaml-interactions-events = { version = "=0.5.0-preview.1", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.Events" } +ferroui-xaml-interactions-responsive = { version = "=0.5.0-preview.1", path = "FerroUI/src/Behaviors/FerroUI.Xaml.Interactions.Responsive" } +ferroui-themes-simple = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Themes.Simple" } +ferroui-themes-fluent = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Themes.Fluent" } +ferroui-themes-winui = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Themes.WinUI" } +ferroui-themes-macos = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Themes.MacOS" } +ferroui-themes-material = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Themes.Material" } +ferroui-opengl = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.OpenGL" } +ferroui-metal = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Metal" } +ferroui-remote-protocol = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.Remote.Protocol" } +ferroui-designer-support = { version = "=0.5.0-preview.1", path = "FerroUI/src/FerroUI.DesignerSupport" } +ferroui-skia = { version = "=0.5.0-preview.1", path = "FerroUI/src/Skia/FerroUI.Skia" } +ferroui-vello = { version = "=0.5.0-preview.1", path = "FerroUI/src/Vello/FerroUI.Vello" } +ferroui-harfbuzz = { version = "=0.5.0-preview.1", path = "FerroUI/src/HarfBuzz/FerroUI.HarfBuzz" } bitflags = "2" # The legacy code pages of RTF (the optional feature `rtf-codepages` of ferroui-controls, # docs/porting/winui-rich-text.md, decision D2): strict byte decoding, no platform code page. @@ -142,6 +142,9 @@ icu_locale = "2.4" icu_decimal = { version = "2.4", features = ["alloc"] } icu_calendar = { version = "2.4", default-features = false, features = ["compiled_data"] } icu_datetime = { version = "2.4", default-features = false, features = ["compiled_data"] } +# Maps and sets that enumerate in the order of insertion, where a caller depends on that order +# (docs/idiomatic-rust.md, section 2.2); std's HashMap and HashSet everywhere else. +indexmap = "2.14" # A fast hasher for maps keyed by identities and short keys (the TreeDataGrid's recycle pools). rustc-hash = "2.1" smallvec = "1.16" @@ -149,6 +152,9 @@ smallvec = "1.16" # of Splat, the remote protocol and MicroCom are built on it. Without the random generator here; a # crate that makes random identifiers adds the feature `v4`. uuid = { version = "1.28", default-features = false, features = ["std"] } +# URLs, one type for the workspace (docs/idiomatic-rust.md, section 2.2): the `Uri` of ferroui-base +# converts to and from its `Url`. +url = "2.5.8" # The bindings of the Windows API for the Windows platform backend (docs/porting/win32-platform.md, # section 2). Without features here: the backend names the API namespaces it calls. windows-sys = { version = "0.61.2" } diff --git a/FerroUI b/FerroUI index 5318b82..c4c4cf8 160000 --- a/FerroUI +++ b/FerroUI @@ -1 +1 @@ -Subproject commit 5318b82a393d4181912ca074c61020fe47455c9d +Subproject commit c4c4cf872a3f57166ebb00b343ca4b6c41a55eef