1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
[]
= "bevy_markup"
= "0.2.0"
= "2024"
= "MIT OR Apache-2.0"
= "HTML templates (Tera), CSS and Fluent localization as native Bevy UI"
= "https://github.com/nchashch/bevy_markup"
= "README.md"
= ["bevy", "ui", "html", "css", "localization"]
= ["game-development", "gui", "internationalization"]
# Developer-only material; not needed to use the crate.
= [".github/", "docs/agents/", "scripts/", "tests/golden/", "AGENTS.md"]
[]
# Parley falls back to installed system fonts per script (e.g. CJK, which the
# bundled fonts lack). An app decision, so opt-in.
= ["bevy/system_font_discovery"]
# Exposes `bevy_markup::fuzz` (`#[doc(hidden)]`, not covered by semver): internal
# glue callable without a full Bevy app, for `fuzz/` targets.
= ["dep:wgpu-types", "dep:unic-langid"]
= ["dep:unic-langid"]
[]
# Only what the library's code uses; the app picks rendering, windowing,
# platform and everything else. Check with `cargo check --lib`.
= { = "0.19.1", = false, = [
# Node, ImageNode, Text/TextSpan (bevy_ui + bevy_text), assets, ECS.
"ui_api",
# Fallback when the CSS names no registered font family.
"default_font",
"bevy_log",
] }
# 9-slice style manifests (*.slice.ron).
= "0.12.1"
= { = "1", = ["derive"] }
= "1"
# HTML: Tera templating, then tl parsing.
= { = "2.4.0", = ["fast"] }
= "0.7.8"
# Localization; `fluent` must match bevy_fluent's version.
= "0.15"
= "0.16.0"
# CSS. `into_owned`: parsed StyleSheet<'i> → StyleSheet<'static> for storing as an asset.
= { = "1.0.0-alpha.72", = ["into_owned"] }
# Only for the `fuzzing` harness: `Image::new_fill` needs wgpu texture types,
# which bevy_image does not re-export.
= { = "29.0.3", = true }
= { = "0.9", = true }
[]
= "0.3.2"
= "0.1.92"
# Examples are full apps: Bevy defaults (window, renderer, …) plus system
# font fallback so the demo's Japanese locale renders.
= { = "0.19.1", = ["system_font_discovery"] }
# FTL AST for tests/content_lint.rs (message ids, pseudo-locale); fluent
# doesn't re-export it. Same version as fluent's, patched below.
= "0.11.1"
# Pinned: proptest-stateful 0.1.3 needs the rand-0.8 TestRng of proptest
# ≤1.5, so every proptest-based dev crate must share that line.
= "=1.5.0"
= "0.1.3"
= "1.1.0"
= "1.2.0"
# 0.4 requires proptest ≥1.6; 0.3.1 is the last line on ^1.1.
= "0.3.1"
# fluent-syntax from the fork with fixes for two bugs reachable from any FTL
# asset (docs/agents/bugs/UPSTREAM.md U1, U2): a panic on an invalid unicode
# escape before a multi-byte character, and a stack overflow on deeply nested
# expressions. Branch fix/fuzzing-bugs-0.11 is upstream's fluent-syntax 0.11.1
# tag plus the fixes; 0.11 is what bevy_fluent 0.15's fluent-bundle requires.
# Cargo.lock pins the commit. Applies only inside this repository: crates
# depending on bevy_markup need the same entry (see README). The fuzz
# workspaces repeat it.
[]
= { = "https://github.com/nchashch/fluent-rs", = "fix/fuzzing-bugs-0.11" }
# Mutation testing (scripts/mutants.sh, .github/workflows/mutants.yml).
# Every mutant rebuilds bevy_markup and relinks its test binaries: no debug info
# (it dominates Bevy link times) and optimized dependencies (faster tests;
# built once per target dir). Those runs also link Bevy dynamically
# (`--features bevy/dynamic_linking`) and build only the tests they run —
# measured ~35× faster per mutant than a default `cargo test --no-run`.
[]
= "dev"
= false
[]
= 3