Move font cache to text folder as static var

This commit is contained in:
Adam
2025-09-04 17:26:03 -07:00
parent 24ceb179b9
commit c5ab893f46
6 changed files with 13 additions and 31 deletions

View File

@@ -52,8 +52,7 @@ impl Editor {
previewed_node,
};
let opacity = active_document.graph_fade_artwork_percentage;
let font_cache = self.dispatcher.message_handlers.portfolio_message_handler.persistent_data.font_cache.clone();
let node_graph_overlay_node = generate_node_graph_overlay(node_graph_render_data, opacity, font_cache);
let node_graph_overlay_node = generate_node_graph_overlay(node_graph_render_data, opacity);
Some(NodeNetwork {
exports: vec![NodeInput::node(NodeId(0), 0)],
nodes: vec![(NodeId(0), node_graph_overlay_node)].into_iter().collect(),

View File

@@ -1,5 +1,3 @@
use std::sync::Arc;
use graph_craft::{
concrete,
document::{DocumentNode, DocumentNodeImplementation, NodeInput, NodeNetwork, value::TaggedValue},
@@ -7,14 +5,11 @@ use graph_craft::{
use graphene_std::{
node_graph_overlay::{types::NodeGraphOverlayData, ui_context::UIContext},
table::Table,
text::FontCache,
uuid::NodeId,
};
/// https://excalidraw.com/#json=LgKS6I4lQvGPmke06ZJyp,D9aON9vVZJAjNnZWfwy_SQ
pub fn generate_node_graph_overlay(node_graph_overlay_data: NodeGraphOverlayData, opacity: f64, font_cache: Arc<FontCache>) -> DocumentNode {
let font_cache_id = NodeId::new();
pub fn generate_node_graph_overlay(node_graph_overlay_data: NodeGraphOverlayData, opacity: f64) -> DocumentNode {
let generate_nodes_id = NodeId::new();
let cache_nodes_id = NodeId::new();
let transform_nodes_id = NodeId::new();
@@ -39,20 +34,12 @@ pub fn generate_node_graph_overlay(node_graph_overlay_data: NodeGraphOverlayData
implementation: DocumentNodeImplementation::Network(NodeNetwork {
exports: vec![NodeInput::node(send_overlay_id, 0)],
nodes: vec![
(
font_cache_id,
DocumentNode {
inputs: vec![NodeInput::value(TaggedValue::FontCache(font_cache), false)],
implementation: DocumentNodeImplementation::ProtoNode(graphene_std::ops::identity::IDENTIFIER),
..Default::default()
},
),
// Create the nodes
(
generate_nodes_id,
DocumentNode {
call_argument: concrete!(UIContext),
inputs: vec![NodeInput::network(concrete!(UIContext), 1), NodeInput::node(font_cache_id, 0)],
inputs: vec![NodeInput::network(concrete!(UIContext), 1)],
implementation: DocumentNodeImplementation::ProtoNode("graphene_core::node_graph_overlay::GenerateNodesNode".into()),
..Default::default()
},

View File

@@ -1022,8 +1022,7 @@ impl OverlayContextInternal {
align: TextAlign::Left,
};
const FONT_DATA: &[u8] = SOURCE_SANS_FONT_DATA;
let font_blob = Some(load_font(FONT_DATA));
let font_blob = Some(load_font(SOURCE_SANS_FONT_DATA));
// Convert text to paths and calculate actual bounds
let text_table = to_path(text, font_blob, typesetting, false);