New demo artwork: "Parametric Dunescape"

This commit is contained in:
Keavon Chambers 2025-03-31 22:54:42 -07:00
parent c4e16e1aac
commit cdf896bf79
9 changed files with 22 additions and 11 deletions

File diff suppressed because one or more lines are too long

View file

@ -515,6 +515,7 @@ mod test {
// include_str!("../../demo-artwork/isometric-fountain.graphite"),
// include_str!("../../demo-artwork/painted-dreams.graphite"),
// include_str!("../../demo-artwork/procedural-string-lights.graphite"),
// include_str!("../../demo-artwork/parametric-dunescape.graphite"),
// include_str!("../../demo-artwork/red-dress.graphite"),
// include_str!("../../demo-artwork/valley-of-spires.graphite"),
// ];

View file

@ -5,10 +5,11 @@ use crate::messages::prelude::*;
pub struct DemoArtworkDialog;
/// `(name, thumbnail, filename)`
pub const ARTWORK: [(&str, &str, &str); 6] = [
pub const ARTWORK: [(&str, &str, &str); 7] = [
("Isometric Fountain", "ThumbnailIsometricFountain", "isometric-fountain.graphite"),
("Changing Seasons", "ThumbnailChangingSeasons", "changing-seasons.graphite"),
("Painted Dreams", "ThumbnailPaintedDreams", "painted-dreams.graphite"),
("Parametric Dunescape", "ThumbnailParametricDunescape", "parametric-dunescape.graphite"),
("Red Dress", "ThumbnailRedDress", "red-dress.graphite"),
("Procedural String Lights", "ThumbnailProceduralStringLights", "procedural-string-lights.graphite"),
("Valley of Spires", "ThumbnailValleyOfSpires", "valley-of-spires.graphite"),
@ -28,7 +29,7 @@ impl DialogLayoutHolder for DemoArtworkDialog {
impl LayoutHolder for DemoArtworkDialog {
fn layout(&self) -> Layout {
let mut rows_of_images_with_buttons: Vec<_> = ARTWORK
.chunks(3)
.chunks(4)
.flat_map(|chunk| {
fn make_dialog(name: &str, filename: &str) -> Message {
DialogMessage::CloseDialogAndThen {

View file

@ -2,8 +2,8 @@ use super::node_properties;
use super::utility_types::FrontendNodeType;
use crate::messages::layout::utility_types::widget_prelude::*;
use crate::messages::portfolio::document::utility_types::network_interface::{
DocumentNodeMetadata, DocumentNodePersistentMetadata, NodeNetworkInterface, NodeNetworkMetadata, NodeNetworkPersistentMetadata, NodePersistentMetadata, NodePosition, NodeTemplate,
NodeTypePersistentMetadata, NumberInputSettings, PropertiesRow, Vec2InputSettings, WidgetOverride,
DocumentNodeMetadata, DocumentNodePersistentMetadata, NodeNetworkInterface, NodeNetworkMetadata, NodeNetworkPersistentMetadata, NodeTemplate, NodeTypePersistentMetadata, NumberInputSettings,
PropertiesRow, Vec2InputSettings, WidgetOverride,
};
use crate::messages::portfolio::utility_types::PersistentData;
use crate::messages::prelude::Message;

View file

@ -16,11 +16,7 @@ pub struct OverlaysMessageHandler {
impl MessageHandler<OverlaysMessage, OverlaysMessageData<'_>> for OverlaysMessageHandler {
fn process_message(&mut self, message: OverlaysMessage, responses: &mut VecDeque<Message>, data: OverlaysMessageData) {
let OverlaysMessageData {
overlays_visible,
ipp,
device_pixel_ratio,
} = data;
let OverlaysMessageData { overlays_visible, ipp, .. } = data;
match message {
#[cfg(target_arch = "wasm32")]
@ -30,6 +26,8 @@ impl MessageHandler<OverlaysMessage, OverlaysMessageData<'_>> for OverlaysMessag
use glam::{DAffine2, DVec2};
use wasm_bindgen::JsCast;
let device_pixel_ratio = data.device_pixel_ratio;
let canvas = match &self.canvas {
Some(canvas) => canvas,
None => {

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View file

@ -4,6 +4,7 @@
import ThumbnailChangingSeasons from "@graphite-frontend/assets/images/demo-artwork/thumbnail-changing-seasons.png";
import ThumbnailIsometricFountain from "@graphite-frontend/assets/images/demo-artwork/thumbnail-isometric-fountain.png";
import ThumbnailPaintedDreams from "@graphite-frontend/assets/images/demo-artwork/thumbnail-painted-dreams.png";
import ThumbnailParametricDunescape from "@graphite-frontend/assets/images/demo-artwork/thumbnail-parametric-dunescape.png";
import ThumbnailProceduralStringLights from "@graphite-frontend/assets/images/demo-artwork/thumbnail-procedural-string-lights.png";
import ThumbnailRedDress from "@graphite-frontend/assets/images/demo-artwork/thumbnail-red-dress.png";
import ThumbnailValleyOfSpires from "@graphite-frontend/assets/images/demo-artwork/thumbnail-valley-of-spires.png";
@ -12,6 +13,7 @@ const DEMO_ARTWORK = {
ThumbnailChangingSeasons,
ThumbnailIsometricFountain,
ThumbnailPaintedDreams,
ThumbnailParametricDunescape,
ThumbnailProceduralStringLights,
ThumbnailRedDress,
ThumbnailValleyOfSpires,

View file

@ -3,7 +3,7 @@ use graph_craft::util::*;
use iai_callgrind::{black_box, library_benchmark, library_benchmark_group, main};
#[library_benchmark]
#[benches::with_setup(args = ["isometric-fountain", "painted-dreams", "procedural-string-lights", "red-dress", "valley-of-spires"], setup = load_from_name)]
#[benches::with_setup(args = ["isometric-fountain", "painted-dreams", "procedural-string-lights", "parametric-dunescape", "red-dress", "valley-of-spires"], setup = load_from_name)]
pub fn compile_to_proto(_input: NodeNetwork) {
black_box(compile(_input));
}

View file

@ -18,4 +18,12 @@ pub fn load_from_name(name: &str) -> NodeNetwork {
load_network(content)
}
pub static DEMO_ART: [&str; 6] = ["changing-seasons", "painted-dreams", "red-dress", "valley-of-spires", "isometric-fountain", "procedural-string-lights"];
pub static DEMO_ART: [&str; 7] = [
"changing-seasons",
"painted-dreams",
"red-dress",
"valley-of-spires",
"isometric-fountain",
"procedural-string-lights",
"parametric-dunescape",
];