Migrate fonts to be stored as resources (#4165)

* Good start

* Impl

* allow responses.add(async { Message::NoOp });

* Fix

* Cache font blob in text node

* Refactor font handling to use Font struct direcly

* Fix fmt

* Embedd Font Resources by default

* Review

* Review

* Cache font info based on ResourceHash
This commit is contained in:
Timon
2026-06-05 13:27:25 -04:00
committed by Keavon Chambers
parent 7b9c480a8d
commit cd8ea1f554
46 changed files with 838 additions and 703 deletions
@@ -12,10 +12,10 @@ use crate::messages::portfolio::document::utility_types::wires::{WirePath, WireP
use crate::messages::portfolio::utility_types::WorkspacePanelLayout;
use crate::messages::prelude::*;
use crate::messages::tool::tool_messages::eyedropper_tool::PrimarySecondary;
use graph_craft::application_io::resource::ResourceId;
use graph_craft::document::NodeId;
use graphene_std::color::SRGBA8;
use graphene_std::raster::Image;
use graphene_std::text::Font;
use graphene_std::vector::style::FillChoiceUI;
use std::path::PathBuf;
@@ -112,8 +112,11 @@ pub enum FrontendMessage {
filename: String,
},
TriggerFontCatalogLoad,
TriggerFontDataLoad {
font: Font,
TriggerResolveResource {
#[serde(rename = "documentId")]
document_id: DocumentId,
#[serde(rename = "resourceId")]
resource_id: ResourceId,
url: String,
},
TriggerPersistenceReadState,