forked from 1b-agent/opencadstudio-upstream
fix(web): render UI icons as SVG instead of font glyphs
UI chrome (dropdown carets, undo/redo, checkmarks, close/menu/osnap, layer/file-menu icons) and ribbon tool icons were drawn as Unicode glyphs. Desktop fills missing glyphs via system-font fallback, but the web build bundles only Fira Sans with no fallback, so they rendered as empty tofu boxes (issue #116). Add a shared src/ui/icons.rs (SVG-backed, tintable) plus bundled assets, and switch every glyph site and IconKind::Glyph tool def to SVG. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
1 parent
4954551808
commit
864dd6cef7
81 files changed
+782
-372
No files matched your search
@@ -3,7 +3,7 @@ pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "BOX",
|
||||
label: "Box",
|
||||
icon: IconKind::Glyph("⬜"),
|
||||
icon: IconKind::Svg(include_bytes!("../../../assets/icons/box3d.svg")),
|
||||
event: ModuleEvent::Command("BOX".to_string()),
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "CLEAR",
|
||||
label: "Clear",
|
||||
icon: IconKind::Glyph("🗑"),
|
||||
icon: IconKind::Svg(include_bytes!("../../../assets/icons/clear_tool.svg")),
|
||||
event: ModuleEvent::ClearModels,
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "CYLINDER",
|
||||
label: "Cylinder",
|
||||
icon: IconKind::Glyph("⬡"),
|
||||
icon: IconKind::Svg(include_bytes!("../../../assets/icons/cylinder3d.svg")),
|
||||
event: ModuleEvent::Command("CYLINDER".to_string()),
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "OPEN",
|
||||
label: "Open",
|
||||
icon: IconKind::Glyph("📂"),
|
||||
icon: IconKind::Svg(include_bytes!("../../../assets/icons/import_obj.svg")),
|
||||
event: ModuleEvent::OpenFileDialog,
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@ pub fn tool() -> ToolDef {
|
||||
ToolDef {
|
||||
id: "SPHERE",
|
||||
label: "Sphere",
|
||||
icon: IconKind::Glyph("⬤"),
|
||||
icon: IconKind::Svg(include_bytes!("../../../assets/icons/sphere3d.svg")),
|
||||
event: ModuleEvent::Command("SPHERE".to_string()),
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user