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

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 => {