From c7fd9cfc21cd004a0ae58b2ee5341276841d0185 Mon Sep 17 00:00:00 2001 From: Keavon Chambers Date: Fri, 5 Jan 2024 06:24:13 -0800 Subject: [PATCH] New demo artwork: Procedural String Lights --- demo-artwork/procedural-string-lights.graphite | 1 + editor/src/dispatcher.rs | 1 + .../dialog/simple_dialogs/demo_artwork_dialog.rs | 3 ++- .../thumbnail-procedural-string-lights.png | Bin 0 -> 8271 bytes frontend/src/utility-functions/images.ts | 2 ++ frontend/src/wasm-communication/editor.ts | 3 ++- ...01-01-looking-back-on-2023-and-what's-next.md | 2 +- 7 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 demo-artwork/procedural-string-lights.graphite create mode 100644 frontend/assets/images/demo-artwork/thumbnail-procedural-string-lights.png diff --git a/demo-artwork/procedural-string-lights.graphite b/demo-artwork/procedural-string-lights.graphite new file mode 100644 index 00000000..2900603e --- /dev/null +++ b/demo-artwork/procedural-string-lights.graphite @@ -0,0 +1 @@ +{"network":{"inputs":[],"outputs":[{"node_id":0,"node_output_index":0}],"nodes":{"6315702878481394765":{"alias":"","name":"Fill","inputs":[{"Node":{"node_id":5510431876617456229,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"FillType":"Gradient"},"exposed":false}},{"Value":{"tagged_value":{"OptionalColor":{"red":0.16470589,"green":0.54901963,"blue":0.8862745,"alpha":1.0}},"exposed":false}},{"Value":{"tagged_value":{"GradientType":"Radial"},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.49551110871305326,0.3428571428571424]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5034913598898481,0.9947089947089944]},"exposed":false}},{"Value":{"tagged_value":{"DAffine2":[250.61867799546343,0.0,0.0,472.4999999999999,809.8156610022683,336.0000000000002]},"exposed":false}},{"Value":{"tagged_value":{"GradientPositions":[[0.0,{"red":0.7104492,"green":0.83106995,"blue":0.9375,"alpha":1.0}],[1.0,{"red":0.16470589,"green":0.54901963,"blue":0.8862745,"alpha":1.0}]]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetFillNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-29,44]},"skip_deduplication":false,"world_state_hash":0},"3773322085315920844":{"alias":"","name":"Fill","inputs":[{"Node":{"node_id":1005063698578632777,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"FillType":"Gradient"},"exposed":false}},{"Value":{"tagged_value":{"OptionalColor":{"red":1.0,"green":0.0,"blue":1.0,"alpha":0.5}},"exposed":false}},{"Value":{"tagged_value":{"GradientType":"Radial"},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.4703098217208352,0.4995258072961386]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.9924395932459462,0.5005395053456176]},"exposed":false}},{"Value":{"tagged_value":{"DAffine2":[237.34320332463173,-71.34811668265112,75.01984946235177,249.55741247555255,995.9008094918244,343.8953521035491]},"exposed":false}},{"Value":{"tagged_value":{"GradientPositions":[[0.0,{"red":1.0,"green":0.94460994,"blue":0.79296875,"alpha":1.0}],[1.0,{"red":0.89411765,"green":0.654902,"blue":0.0,"alpha":1.0}]]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetFillNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-20,58]},"skip_deduplication":false,"world_state_hash":0},"2908374490615384647":{"alias":"","name":"Fill","inputs":[{"Node":{"node_id":1279981353152889207,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"FillType":"Solid"},"exposed":false}},{"Value":{"tagged_value":{"OptionalColor":{"red":0.078431375,"green":0.14901961,"blue":0.20784314,"alpha":1.0}},"exposed":false}},{"Value":{"tagged_value":{"GradientType":"Linear"},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.5]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[1.0,0.5]},"exposed":false}},{"Value":{"tagged_value":{"DAffine2":[1.0,0.0,0.0,1.0,0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"GradientPositions":[[0.0,{"red":0.0,"green":0.0,"blue":0.0,"alpha":1.0}],[1.0,{"red":1.0,"green":1.0,"blue":1.0,"alpha":1.0}]]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetFillNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-20,67]},"skip_deduplication":false,"world_state_hash":0},"4331062027851128032":{"alias":"","name":"Fill","inputs":[{"Node":{"node_id":17502675364388740750,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"FillType":"Gradient"},"exposed":false}},{"Value":{"tagged_value":{"OptionalColor":{"red":1.0,"green":0.0,"blue":1.0,"alpha":0.5}},"exposed":false}},{"Value":{"tagged_value":{"GradientType":"Linear"},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.3769992978075994,0.1888891278143931]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.9861902161192166,0.9200728483862376]},"exposed":false}},{"Value":{"tagged_value":{"DAffine2":[801.0625,0.0,0.0,820.5871973335948,698.0,185.0]},"exposed":false}},{"Value":{"tagged_value":{"GradientPositions":[[0.0,{"red":0.1764706,"green":0.25882354,"blue":0.32156864,"alpha":1.0}],[1.0,{"red":0.16577148,"green":0.37890625,"blue":0.36788198,"alpha":1.0}]]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetFillNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-20,64]},"skip_deduplication":false,"world_state_hash":0},"17353194629844448524":{"alias":"","name":"Sample Points","inputs":[{"Node":{"node_id":3958246774416220131,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"F32":300.0},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"Bool":true},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SamplePoints<_, _, _, _>"}},"metadata":{"position":[-41,21]},"skip_deduplication":false,"world_state_hash":0},"12437938754636694806":{"alias":"","name":"Layer","inputs":[{"Node":{"node_id":11130614062948033510,"output_index":0,"lambda":false}},{"Node":{"node_id":14944076597430308366,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-22,24]},"skip_deduplication":false,"world_state_hash":0},"6966673029998204780":{"alias":"Star","name":"Layer","inputs":[{"Node":{"node_id":1488551925732670841,"output_index":0,"lambda":false}},{"Node":{"node_id":4534782777857480744,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-4,58]},"skip_deduplication":false,"world_state_hash":0},"7331575674671647159":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":8309013977031955578,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"DVec2":[499.32116017766305,139.74585648084397]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[25.393705016577044,25.003032631706716]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5,0.5]},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Network":{"inputs":[0,1,1,1,1,1],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"Monitor","inputs":[{"Network":{"Concrete":{"name":"graphene_core::vector::vector_data::VectorData","size":256,"align":8}}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"1":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"f32","size":4,"align":4}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::TransformNode<_, _, _, _, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-28,61]},"skip_deduplication":false,"world_state_hash":0},"17502675364388740750":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":665049002420596388,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"DVec2":[426.3181429104577,532.1958874904515]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[1.9777789484064812,1.9777789484064812]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5,0.5]},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Network":{"inputs":[0,1,1,1,1,1],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"f32","size":4,"align":4}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::TransformNode<_, _, _, _, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"Monitor","inputs":[{"Network":{"Concrete":{"name":"graphene_core::vector::vector_data::VectorData","size":256,"align":8}}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-28,64]},"skip_deduplication":false,"world_state_hash":0},"11407829185230551056":{"alias":"","name":"Stroke","inputs":[{"Node":{"node_id":15889416971203221938,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"OptionalColor":null},"exposed":false}},{"Value":{"tagged_value":{"F32":5.0},"exposed":false}},{"Value":{"tagged_value":{"VecF32":[]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"LineCap":"Butt"},"exposed":false}},{"Value":{"tagged_value":{"LineJoin":"Miter"},"exposed":false}},{"Value":{"tagged_value":{"F32":4.0},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetStrokeNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-12,61]},"skip_deduplication":false,"world_state_hash":0},"3958246774416220131":{"alias":"","name":"Splines from Points","inputs":[{"Node":{"node_id":655907162126315358,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SplinesFromPointsNode"}},"metadata":{"position":[-49,35]},"skip_deduplication":false,"world_state_hash":0},"15888652418311111787":{"alias":"","name":"Stroke","inputs":[{"Node":{"node_id":2908374490615384647,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"OptionalColor":null},"exposed":false}},{"Value":{"tagged_value":{"F32":5.0},"exposed":false}},{"Value":{"tagged_value":{"VecF32":[]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"LineCap":"Butt"},"exposed":false}},{"Value":{"tagged_value":{"LineJoin":"Miter"},"exposed":false}},{"Value":{"tagged_value":{"F32":4.0},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetStrokeNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-12,67]},"skip_deduplication":false,"world_state_hash":0},"13449829627181121540":{"alias":"","name":"Fill","inputs":[{"Node":{"node_id":5510431876617456229,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"FillType":"Gradient"},"exposed":false}},{"Value":{"tagged_value":{"OptionalColor":{"red":0.8862745,"green":0.16470589,"blue":0.16470589,"alpha":1.0}},"exposed":false}},{"Value":{"tagged_value":{"GradientType":"Radial"},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.4915209831246563,0.36613756613756576]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.49551110871305326,0.9947089947089944]},"exposed":false}},{"Value":{"tagged_value":{"DAffine2":[250.61867799546343,0.0,0.0,472.4999999999999,809.8156610022683,336.0000000000002]},"exposed":false}},{"Value":{"tagged_value":{"GradientPositions":[[0.0,{"red":0.91796875,"green":0.68489075,"blue":0.68489075,"alpha":1.0}],[1.0,{"red":0.8862745,"green":0.16470589,"blue":0.16470589,"alpha":1.0}]]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetFillNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-29,34]},"skip_deduplication":false,"world_state_hash":0},"5510431876617456229":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":15965443467772892221,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"DVec2":[674.6856534818174,385.8339304530032]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[17.212796374136204,27.61219418351016]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5,0.5]},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Network":{"inputs":[0,1,1,1,1,1],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"f32","size":4,"align":4}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::TransformNode<_, _, _, _, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"Monitor","inputs":[{"Network":{"Concrete":{"name":"graphene_core::vector::vector_data::VectorData","size":256,"align":8}}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-35,34]},"skip_deduplication":false,"world_state_hash":0},"12790418218700356896":{"alias":"","name":"Layer","inputs":[{"Node":{"node_id":14972365039974884537,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"GraphicGroup":{"elements":[],"transform":[1.0,0.0,0.0,1.0,0.0,0.0],"alpha_blending":{"opacity":1.0,"blend_mode":"Normal"}}},"exposed":true}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[6,19]},"skip_deduplication":false,"world_state_hash":0},"17242155852300745672":{"alias":"","name":"Stroke","inputs":[{"Node":{"node_id":4331062027851128032,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"OptionalColor":null},"exposed":false}},{"Value":{"tagged_value":{"F32":5.0},"exposed":false}},{"Value":{"tagged_value":{"VecF32":[]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"LineCap":"Butt"},"exposed":false}},{"Value":{"tagged_value":{"LineJoin":"Miter"},"exposed":false}},{"Value":{"tagged_value":{"F32":4.0},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetStrokeNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-12,64]},"skip_deduplication":false,"world_state_hash":0},"11290294795523603764":{"alias":"","name":"Sample Points","inputs":[{"Node":{"node_id":3958246774416220131,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"F32":300.0},"exposed":false}},{"Value":{"tagged_value":{"F32":100.0},"exposed":false}},{"Value":{"tagged_value":{"F32":200.0},"exposed":false}},{"Value":{"tagged_value":{"Bool":true},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SamplePoints<_, _, _, _>"}},"metadata":{"position":[-41,31]},"skip_deduplication":false,"world_state_hash":0},"15965443467772892221":{"alias":"","name":"Shape","inputs":[{"Value":{"tagged_value":{"Subpaths":[{"manipulator_groups":[{"anchor":[0.5,0.0],"in_handle":[0.07318650757716938,0.0],"out_handle":[0.9268134924228306,0.0],"id":17411061371239299476},{"anchor":[1.2735144382576031,0.5],"in_handle":[1.2735144382576031,0.22410761111049293],"out_handle":[1.2735144382576031,0.7758923888895062],"id":9374539045640554469},{"anchor":[0.4999999999999982,1.8181818181818177],"in_handle":[0.7603282378542868,1.8181818181818177],"out_handle":[0.2396717621457114,1.8181818181818177],"id":11738099752431315156},{"anchor":[-0.27351443825760313,0.5],"in_handle":[-0.27351443825760313,0.7758923888895062],"out_handle":[-0.27351443825760313,0.22410761111049293],"id":6048384928646807781}],"closed":true}]},"exposed":false}},{"Value":{"tagged_value":{"ManipulatorGroupIds":[17411061371239299476,9374539045640554469,11738099752431315156,6048384928646807781]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,0],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Cull","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::CullNode<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"Path Generator","inputs":[{"Network":{"Concrete":{"name":"alloc::vec::Vec>","size":12,"align":4}}},{"Network":{"Concrete":{"name":"alloc::vec::Vec","size":12,"align":4}}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::generator_nodes::PathGenerator<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-41,34]},"skip_deduplication":false,"world_state_hash":0},"4534782777857480744":{"alias":"Star Base","name":"Layer","inputs":[{"Node":{"node_id":11407829185230551056,"output_index":0,"lambda":false}},{"Node":{"node_id":183562335973647865,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-4,61]},"skip_deduplication":false,"world_state_hash":0},"16765094648901305481":{"alias":"","name":"Layer","inputs":[{"Node":{"node_id":2550166071846864271,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"GraphicGroup":{"elements":[],"transform":[1.0,0.0,0.0,1.0,0.0,0.0],"alpha_blending":{"opacity":1.0,"blend_mode":"Normal"}}},"exposed":true}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-22,37]},"skip_deduplication":false,"world_state_hash":0},"17339085479159577045":{"alias":"","name":"Shape","inputs":[{"Value":{"tagged_value":{"Subpaths":[{"manipulator_groups":[{"anchor":[88.4444444444444,151.55555555555554],"in_handle":[88.4444444444444,151.55555555555554],"out_handle":[88.4444444444444,151.55555555555554],"id":14237658187363817063},{"anchor":[122.22222222222224,196.4444444444444],"in_handle":[90.22222222222224,192.88888888888889],"out_handle":[122.22222222222224,196.4444444444444],"id":10365474939830860786},{"anchor":[123.55555555555554,199.1111111111111],"in_handle":[123.55555555555554,199.1111111111111],"out_handle":[123.55555555555554,199.1111111111111],"id":4109246593800547547},{"anchor":[28.296296296296305,198.96296296296293],"in_handle":[28.296296296296305,198.96296296296293],"out_handle":[28.296296296296305,198.96296296296293],"id":3671345045987042142},{"anchor":[28.296296296296305,197.33333333333331],"in_handle":[28.296296296296305,197.33333333333331],"out_handle":[28.296296296296305,197.33333333333331],"id":8747947169598042921},{"anchor":[58.962962962962976,152.74074074074073],"in_handle":[64.88888888888889,198.5185185185186],"out_handle":[58.962962962962976,152.74074074074073],"id":10921007090975078447},{"anchor":[66.51851851851853,147.1111111111111],"in_handle":[66.51851851851853,147.1111111111111],"out_handle":[66.51851851851853,147.1111111111111],"id":10733773696880555352}],"closed":true}]},"exposed":false}},{"Value":{"tagged_value":{"ManipulatorGroupIds":[]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,0],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Cull","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::CullNode<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"Path Generator","inputs":[{"Network":{"Concrete":{"name":"alloc::vec::Vec>","size":12,"align":4}}},{"Network":{"Concrete":{"name":"alloc::vec::Vec","size":12,"align":4}}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::generator_nodes::PathGenerator<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-36,67]},"skip_deduplication":false,"world_state_hash":0},"665049002420596388":{"alias":"","name":"Shape","inputs":[{"Value":{"tagged_value":{"Subpaths":[{"manipulator_groups":[{"anchor":[-103.55555555555554,126.66666666666664],"in_handle":[-37.77777777777774,139.1111111111111],"out_handle":[-103.55555555555554,126.66666666666664],"id":5137685238696701713},{"anchor":[-67.55555555555554,158.22222222222217],"in_handle":[-98.22222222222216,155.5555555555555],"out_handle":[-36.888888888888914,160.88888888888886],"id":10349149476918669943},{"anchor":[45.77777777777777,145.33333333333331],"in_handle":[-5.333333333333314,160.0],"out_handle":[45.77777777777777,145.33333333333331],"id":15777752779448746803},{"anchor":[18.66666666666663,157.77777777777771],"in_handle":[27.11111111111103,156.8888888888888],"out_handle":[18.66666666666663,157.77777777777771],"id":14911865974833225081},{"anchor":[66.22222222222223,152.88888888888886],"in_handle":[34.666666666666686,171.1111111111111],"out_handle":[66.22222222222223,152.88888888888886],"id":14106726470037375831},{"anchor":[123.99999999999994,148.4444444444444],"in_handle":[110.66666666666656,162.66666666666663],"out_handle":[123.99999999999994,148.4444444444444],"id":11411841702773087978},{"anchor":[229.33333333333331,152.4444444444444],"in_handle":[204.4444444444444,167.5555555555555],"out_handle":[254.22222222222223,137.33333333333331],"id":4172777474455727102},{"anchor":[252.4444444444444,124.88888888888886],"in_handle":[252.4444444444444,124.88888888888886],"out_handle":[252.4444444444444,124.88888888888886],"id":2435884934966232555},{"anchor":[156.4444444444444,97.33333333333331],"in_handle":[192.4444444444444,139.1111111111111],"out_handle":[156.4444444444444,97.33333333333331],"id":47350109196208952},{"anchor":[216.4444444444444,72.4444444444444],"in_handle":[182.22222222222211,108.4444444444444],"out_handle":[216.4444444444444,72.4444444444444],"id":12672076925927621110},{"anchor":[136.88888888888886,39.111111111111086],"in_handle":[163.5555555555555,83.55555555555554],"out_handle":[136.88888888888886,39.111111111111086],"id":3095729341078152823},{"anchor":[199.5555555555555,10.666666666666629],"in_handle":[175.5555555555555,42.22222222222217],"out_handle":[199.5555555555555,10.666666666666629],"id":11967596188552629860},{"anchor":[153.77777777777777,-1.3333333333333712],"in_handle":[172.4444444444444,14.666666666666629],"out_handle":[153.77777777777777,-1.3333333333333712],"id":11671566486943985619},{"anchor":[183.11111111111103,-19.111111111111143],"in_handle":[169.77777777777766,-4.888888888888914],"out_handle":[183.11111111111103,-19.111111111111143],"id":3038942643602818950},{"anchor":[111.11111111111114,-60.888888888888914],"in_handle":[140.4444444444445,-3.1111111111111427],"out_handle":[111.11111111111114,-60.888888888888914],"id":13626227150877454323},{"anchor":[159.5555555555555,-75.55555555555557],"in_handle":[147.11111111111103,-47.111111111111114],"out_handle":[159.5555555555555,-75.55555555555557],"id":1119098226818031829},{"anchor":[123.99999999999994,-84.00000000000003],"in_handle":[130.66666666666657,-70.66666666666671],"out_handle":[123.99999999999994,-84.00000000000003],"id":10997408063317098666},{"anchor":[145.77777777777777,-97.7777777777778],"in_handle":[135.5555555555556,-85.33333333333334],"out_handle":[145.77777777777777,-97.7777777777778],"id":2339009349782210168},{"anchor":[90.66666666666664,-129.33333333333334],"in_handle":[103.99999999999994,-88.0],"out_handle":[90.66666666666664,-129.33333333333334],"id":9431773360702063651},{"anchor":[128.4444444444444,-142.22222222222223],"in_handle":[118.66666666666656,-118.66666666666666],"out_handle":[128.4444444444444,-142.22222222222223],"id":1989378433791183960},{"anchor":[76.0,-202.22222222222223],"in_handle":[89.33333333333337,-132.0],"out_handle":[76.0,-202.22222222222223],"id":16944713475106576916},{"anchor":[71.11111111111109,-201.7777777777778],"in_handle":[71.11111111111109,-201.7777777777778],"out_handle":[71.11111111111109,-201.7777777777778],"id":4948582696306250614},{"anchor":[19.555555555555543,-139.55555555555557],"in_handle":[57.77777777777777,-134.66666666666669],"out_handle":[19.555555555555543,-139.55555555555557],"id":3181603876853011370},{"anchor":[57.77777777777777,-129.33333333333334],"in_handle":[22.22222222222223,-118.22222222222224],"out_handle":[57.77777777777777,-129.33333333333334],"id":15558279495719164749},{"anchor":[0.8888888888888573,-94.66666666666669],"in_handle":[48.4444444444444,-89.7777777777778],"out_handle":[0.8888888888888573,-94.66666666666669],"id":15075453980114134632},{"anchor":[22.66666666666663,-81.33333333333337],"in_handle":[11.555555555555486,-83.11111111111117],"out_handle":[22.66666666666663,-81.33333333333337],"id":5981516608977551106},{"anchor":[-11.111111111111144,-72.00000000000003],"in_handle":[15.111111111111086,-69.33333333333337],"out_handle":[-11.111111111111144,-72.00000000000003],"id":3581874514940550643},{"anchor":[39.111111111111086,-58.22222222222226],"in_handle":[-0.4444444444444571,-45.77777777777783],"out_handle":[39.111111111111086,-58.22222222222226],"id":8795573422394602362},{"anchor":[-32.888888888888914,-14.666666666666686],"in_handle":[21.777777777777715,-8.0],"out_handle":[-32.888888888888914,-14.666666666666686],"id":7814715082243043442},{"anchor":[-9.333333333333371,0.0],"in_handle":[-27.111111111111143,-3.555555555555543],"out_handle":[-9.333333333333371,0.0],"id":5320482707593397404},{"anchor":[-53.33333333333337,13.777777777777771],"in_handle":[-18.222222222222285,15.111111111111144],"out_handle":[-53.33333333333337,13.777777777777771],"id":17942055575296353161},{"anchor":[9.333333333333314,38.66666666666663],"in_handle":[-32.888888888888914,43.99999999999994],"out_handle":[9.333333333333314,38.66666666666663],"id":10624636379930636709},{"anchor":[-78.22222222222223,75.55555555555554],"in_handle":[-23.111111111111143,85.33333333333331],"out_handle":[-78.22222222222223,75.55555555555554],"id":289637618588071417},{"anchor":[-5.333333333333371,99.11111111111109],"in_handle":[-69.77777777777783,102.22222222222224],"out_handle":[-5.333333333333371,99.11111111111109],"id":5831793300190377775}],"closed":true}]},"exposed":false}},{"Value":{"tagged_value":{"ManipulatorGroupIds":[10349149476918669943,4172777474455727102,17203642997636495534]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,0],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"Path Generator","inputs":[{"Network":{"Concrete":{"name":"alloc::vec::Vec>","size":12,"align":4}}},{"Network":{"Concrete":{"name":"alloc::vec::Vec","size":12,"align":4}}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::generator_nodes::PathGenerator<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Cull","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::CullNode<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-36,64]},"skip_deduplication":false,"world_state_hash":0},"4279275325545336233":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":9651014509053896646,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"DVec2":[8.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[1.0,1.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5,0.5]},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Network":{"inputs":[0,1,1,1,1,1],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"f32","size":4,"align":4}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::TransformNode<_, _, _, _, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"Monitor","inputs":[{"Network":{"Concrete":{"name":"graphene_core::vector::vector_data::VectorData","size":256,"align":8}}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-11,31]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"Output","inputs":[{"Node":{"node_id":12790418218700356896,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"graphene_core::application_io::EditorApi","size":184,"align":8}}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[3,0],"outputs":[{"node_id":3,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"EditorApi","inputs":[{"Network":{"Concrete":{"name":"graphene_core::application_io::EditorApi","size":184,"align":8}}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ops::IdentityNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"3":{"alias":"","name":"RenderNode","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Generic":"T"}]}},{"Node":{"node_id":2,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_std::wasm_application_io::RenderNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"2":{"alias":"","name":"Cache","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"()","size":0,"align":1}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MemoNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Create Canvas","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_std::wasm_application_io::CreateSurfaceNode"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[10,17]},"skip_deduplication":false,"world_state_hash":0},"655907162126315358":{"alias":"","name":"Shape","inputs":[{"Value":{"tagged_value":{"Subpaths":[{"manipulator_groups":[{"anchor":[408.0,304.5999999999999],"in_handle":[408.0,304.5999999999999],"out_handle":[408.0,304.5999999999999],"id":14295162783162130675},{"anchor":[579.0,325.5999999999999],"in_handle":[579.0,325.5999999999999],"out_handle":[579.0,325.5999999999999],"id":17235651057772975540},{"anchor":[365.0,406.5999999999999],"in_handle":[365.0,406.5999999999999],"out_handle":[365.0,406.5999999999999],"id":11062587772478366343},{"anchor":[476.0,480.5999999999999],"in_handle":[476.0,480.5999999999999],"out_handle":[476.0,480.5999999999999],"id":13905111493229779048},{"anchor":[631.0,472.5999999999999],"in_handle":[631.0,472.5999999999999],"out_handle":[631.0,472.5999999999999],"id":9818595361384120279},{"anchor":[487.0,567.5999999999999],"in_handle":[487.0,567.5999999999999],"out_handle":[487.0,567.5999999999999],"id":6558449122167484557},{"anchor":[296.0,645.5999999999999],"in_handle":[296.0,645.5999999999999],"out_handle":[296.0,645.5999999999999],"id":984077780188855675},{"anchor":[467.0,705.5999999999999],"in_handle":[467.0,705.5999999999999],"out_handle":[467.0,705.5999999999999],"id":13728222455061026873},{"anchor":[742.0,737.5999999999999],"in_handle":[742.0,737.5999999999999],"out_handle":[742.0,737.5999999999999],"id":13024161242572909643},{"anchor":[447.0,858.5999999999999],"in_handle":[447.0,858.5999999999999],"out_handle":[447.0,858.5999999999999],"id":6910875099560930892},{"anchor":[178.0,858.5999999999999],"in_handle":[178.0,858.5999999999999],"out_handle":[178.0,858.5999999999999],"id":11714154815938872622}],"closed":false}]},"exposed":false}},{"Value":{"tagged_value":{"ManipulatorGroupIds":[]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,0],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"Path Generator","inputs":[{"Network":{"Concrete":{"name":"alloc::vec::Vec>","size":12,"align":4}}},{"Network":{"Concrete":{"name":"alloc::vec::Vec","size":12,"align":4}}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::generator_nodes::PathGenerator<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Cull","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::CullNode<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-55,35]},"skip_deduplication":false,"world_state_hash":0},"11411423299989984040":{"alias":"Wire (Drag Points w/ Path Tool)","name":"Layer","inputs":[{"Node":{"node_id":3353108093362009815,"output_index":0,"lambda":false}},{"Node":{"node_id":6966673029998204780,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-4,50]},"skip_deduplication":false,"world_state_hash":0},"183562335973647865":{"alias":"Tree","name":"Layer","inputs":[{"Node":{"node_id":17242155852300745672,"output_index":0,"lambda":false}},{"Node":{"node_id":4248875763694880456,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-4,64]},"skip_deduplication":false,"world_state_hash":0},"8051777741243064505":{"alias":"","name":"Copy to Points","inputs":[{"Node":{"node_id":1675279265349691422,"output_index":0,"lambda":false}},{"Node":{"node_id":9387390658960403506,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::CopyToPoints<_, _>"}},"metadata":{"position":[-18,41]},"skip_deduplication":false,"world_state_hash":0},"1609067788579460449":{"alias":"","name":"Shape","inputs":[{"Value":{"tagged_value":{"Subpaths":[{"manipulator_groups":[{"anchor":[1.0,0.5],"in_handle":[1.0,0.5],"out_handle":[1.0,0.5],"id":8537272728237707047},{"anchor":[0.7022542485937369,0.6469463130731183],"in_handle":[0.7022542485937369,0.6469463130731183],"out_handle":[0.7022542485937369,0.6469463130731183],"id":1482685404339037426},{"anchor":[0.6545084971874737,0.9755282581475768],"in_handle":[0.6545084971874737,0.9755282581475768],"out_handle":[0.6545084971874737,0.9755282581475768],"id":1620480325020014679},{"anchor":[0.42274575140626314,0.7377641290737884],"in_handle":[0.42274575140626314,0.7377641290737884],"out_handle":[0.42274575140626314,0.7377641290737884],"id":10542706155850513475},{"anchor":[0.09549150281252632,0.7938926261462367],"in_handle":[0.09549150281252632,0.7938926261462367],"out_handle":[0.09549150281252632,0.7938926261462367],"id":12109594763546059584},{"anchor":[0.25,0.5],"in_handle":[0.25,0.5],"out_handle":[0.25,0.5],"id":9696915690640326047},{"anchor":[0.09549150281252627,0.2061073738537635],"in_handle":[0.09549150281252627,0.2061073738537635],"out_handle":[0.09549150281252627,0.2061073738537635],"id":18010527605457217766},{"anchor":[0.42274575140626314,0.2622358709262116],"in_handle":[0.42274575140626314,0.2622358709262116],"out_handle":[0.42274575140626314,0.2622358709262116],"id":14000031798497855347},{"anchor":[0.6545084971874736,0.02447174185242318],"in_handle":[0.6545084971874736,0.02447174185242318],"out_handle":[0.6545084971874736,0.02447174185242318],"id":14944354297122388339},{"anchor":[0.7022542485937369,0.35305368692688166],"in_handle":[0.7022542485937369,0.35305368692688166],"out_handle":[0.7022542485937369,0.35305368692688166],"id":17647837293038806680}],"closed":true}]},"exposed":false}},{"Value":{"tagged_value":{"ManipulatorGroupIds":[]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,0],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"Path Generator","inputs":[{"Network":{"Concrete":{"name":"alloc::vec::Vec>","size":12,"align":4}}},{"Network":{"Concrete":{"name":"alloc::vec::Vec","size":12,"align":4}}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::generator_nodes::PathGenerator<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Cull","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::CullNode<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-36,58]},"skip_deduplication":false,"world_state_hash":0},"4248875763694880456":{"alias":"Tree Stump","name":"Layer","inputs":[{"Node":{"node_id":15888652418311111787,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"GraphicGroup":{"elements":[],"transform":[1.0,0.0,0.0,1.0,0.0,0.0],"alpha_blending":{"opacity":1.0,"blend_mode":"Normal"}}},"exposed":true}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-4,67]},"skip_deduplication":false,"world_state_hash":0},"12158802623647295905":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":1930981090497863830,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"DVec2":[8.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[1.0,1.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5,0.5]},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Network":{"inputs":[0,1,1,1,1,1],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"f32","size":4,"align":4}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::TransformNode<_, _, _, _, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"Monitor","inputs":[{"Network":{"Concrete":{"name":"graphene_core::vector::vector_data::VectorData","size":256,"align":8}}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-11,21]},"skip_deduplication":false,"world_state_hash":0},"8309013977031955578":{"alias":"","name":"Shape","inputs":[{"Value":{"tagged_value":{"Subpaths":[{"manipulator_groups":[{"anchor":[0.0,0.0],"in_handle":[0.0,0.0],"out_handle":[0.0,0.0],"id":1980203248399978225},{"anchor":[1.0,0.0],"in_handle":[1.0,0.0],"out_handle":[1.0,0.0],"id":6040860589979410580},{"anchor":[1.0,1.0],"in_handle":[1.0,1.0],"out_handle":[1.0,1.0],"id":5680533130302393152},{"anchor":[0.0,1.0],"in_handle":[0.0,1.0],"out_handle":[0.0,1.0],"id":13547805951820623445}],"closed":true}]},"exposed":false}},{"Value":{"tagged_value":{"ManipulatorGroupIds":[]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,0],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"Path Generator","inputs":[{"Network":{"Concrete":{"name":"alloc::vec::Vec>","size":12,"align":4}}},{"Network":{"Concrete":{"name":"alloc::vec::Vec","size":12,"align":4}}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::generator_nodes::PathGenerator<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Cull","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::CullNode<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-36,61]},"skip_deduplication":false,"world_state_hash":0},"15087384306214154157":{"alias":"","name":"Layer","inputs":[{"Node":{"node_id":2550166071846864271,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"GraphicGroup":{"elements":[],"transform":[1.0,0.0,0.0,1.0,0.0,0.0],"alpha_blending":{"opacity":1.0,"blend_mode":"Normal"}}},"exposed":true}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-22,47]},"skip_deduplication":false,"world_state_hash":0},"11777015489064910999":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":10118219203151732555,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"DVec2":[674.6856534818176,354.3276280850499]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[19.575820179122296,20.31995768166037]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5,0.5]},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Network":{"inputs":[0,1,1,1,1,1],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"Monitor","inputs":[{"Network":{"Concrete":{"name":"graphene_core::vector::vector_data::VectorData","size":256,"align":8}}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"1":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"f32","size":4,"align":4}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::TransformNode<_, _, _, _, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-35,37]},"skip_deduplication":false,"world_state_hash":0},"15889416971203221938":{"alias":"","name":"Fill","inputs":[{"Node":{"node_id":7331575674671647159,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"FillType":"Solid"},"exposed":false}},{"Value":{"tagged_value":{"OptionalColor":{"red":0.89411765,"green":0.654902,"blue":0.0,"alpha":1.0}},"exposed":false}},{"Value":{"tagged_value":{"GradientType":"Linear"},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.5]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[1.0,0.5]},"exposed":false}},{"Value":{"tagged_value":{"DAffine2":[1.0,0.0,0.0,1.0,0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"GradientPositions":[[0.0,{"red":0.0,"green":0.0,"blue":0.0,"alpha":1.0}],[1.0,{"red":1.0,"green":1.0,"blue":1.0,"alpha":1.0}]]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetFillNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-20,61]},"skip_deduplication":false,"world_state_hash":0},"2550166071846864271":{"alias":"","name":"Fill","inputs":[{"Node":{"node_id":11777015489064910999,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"FillType":"Solid"},"exposed":false}},{"Value":{"tagged_value":{"OptionalColor":{"red":0.33553314,"green":0.33325195,"blue":0.40625,"alpha":1.0}},"exposed":false}},{"Value":{"tagged_value":{"GradientType":"Linear"},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.5]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[1.0,0.5]},"exposed":false}},{"Value":{"tagged_value":{"DAffine2":[1.0,0.0,0.0,1.0,0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"GradientPositions":[[0.0,{"red":0.0,"green":0.0,"blue":0.0,"alpha":1.0}],[1.0,{"red":1.0,"green":1.0,"blue":1.0,"alpha":1.0}]]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetFillNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-29,37]},"skip_deduplication":false,"world_state_hash":0},"15465970086096837636":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":8051777741243064505,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"DVec2":[8.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[1.0,1.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5,0.5]},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Network":{"inputs":[0,1,1,1,1,1],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"Monitor","inputs":[{"Network":{"Concrete":{"name":"graphene_core::vector::vector_data::VectorData","size":256,"align":8}}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"1":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"f32","size":4,"align":4}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::TransformNode<_, _, _, _, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-11,41]},"skip_deduplication":false,"world_state_hash":0},"1675279265349691422":{"alias":"","name":"Sample Points","inputs":[{"Node":{"node_id":3958246774416220131,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"F32":300.0},"exposed":false}},{"Value":{"tagged_value":{"F32":200.0},"exposed":false}},{"Value":{"tagged_value":{"F32":100.0},"exposed":false}},{"Value":{"tagged_value":{"Bool":true},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SamplePoints<_, _, _, _>"}},"metadata":{"position":[-41,41]},"skip_deduplication":false,"world_state_hash":0},"1005063698578632777":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":1609067788579460449,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"DVec2":[503.7983132089414,104.19466945763644]},"exposed":false}},{"Value":{"tagged_value":{"F32":-0.2920178},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[110.93416360223218,110.93416360223218]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[-1.6012712240474374e-16,0.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5,0.5]},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Network":{"inputs":[0,1,1,1,1,1],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"f32","size":4,"align":4}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::TransformNode<_, _, _, _, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"Monitor","inputs":[{"Network":{"Concrete":{"name":"graphene_core::vector::vector_data::VectorData","size":256,"align":8}}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-28,58]},"skip_deduplication":false,"world_state_hash":0},"1279981353152889207":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":17339085479159577045,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"DVec2":[427.7531240523346,720.8882779290919]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[1.9777789484064812,1.9777789484064812]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5,0.5]},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Network":{"inputs":[0,1,1,1,1,1],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"Monitor","inputs":[{"Network":{"Concrete":{"name":"graphene_core::vector::vector_data::VectorData","size":256,"align":8}}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"1":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"f32","size":4,"align":4}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::TransformNode<_, _, _, _, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-28,67]},"skip_deduplication":false,"world_state_hash":0},"9651014509053896646":{"alias":"","name":"Copy to Points","inputs":[{"Node":{"node_id":11290294795523603764,"output_index":0,"lambda":false}},{"Node":{"node_id":13371003476981866369,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::CopyToPoints<_, _>"}},"metadata":{"position":[-18,31]},"skip_deduplication":false,"world_state_hash":0},"3471929742275053204":{"alias":"Red Lights","name":"Layer","inputs":[{"Node":{"node_id":4279275325545336233,"output_index":0,"lambda":false}},{"Node":{"node_id":9015611177809361449,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-4,31]},"skip_deduplication":false,"world_state_hash":0},"1930981090497863830":{"alias":"","name":"Copy to Points","inputs":[{"Node":{"node_id":17353194629844448524,"output_index":0,"lambda":false}},{"Node":{"node_id":12437938754636694806,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::CopyToPoints<_, _>"}},"metadata":{"position":[-18,21]},"skip_deduplication":false,"world_state_hash":0},"1488551925732670841":{"alias":"","name":"Stroke","inputs":[{"Node":{"node_id":3773322085315920844,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"OptionalColor":null},"exposed":false}},{"Value":{"tagged_value":{"F32":5.0},"exposed":false}},{"Value":{"tagged_value":{"VecF32":[]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"LineCap":"Butt"},"exposed":false}},{"Value":{"tagged_value":{"LineJoin":"Miter"},"exposed":false}},{"Value":{"tagged_value":{"F32":4.0},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetStrokeNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-12,58]},"skip_deduplication":false,"world_state_hash":0},"10118219203151732555":{"alias":"","name":"Shape","inputs":[{"Value":{"tagged_value":{"Subpaths":[{"manipulator_groups":[{"anchor":[0.20700027123845288,8.881784197001252e-16],"in_handle":[0.20700027123845288,8.881784197001252e-16],"out_handle":[0.20700027123845288,8.881784197001252e-16],"id":1958734888954831773},{"anchor":[0.7929997287615471,8.881784197001252e-16],"in_handle":[0.7929997287615471,8.881784197001252e-16],"out_handle":[0.7929997287615471,8.881784197001252e-16],"id":17346008195852984323},{"anchor":[0.95924568875469,1.0],"in_handle":[0.95924568875469,1.0],"out_handle":[0.95924568875469,1.0],"id":10466619161429748464},{"anchor":[0.04075431124530837,1.0],"in_handle":[0.04075431124530837,1.0],"out_handle":[0.04075431124530837,1.0],"id":3124419244608947754}],"closed":true}]},"exposed":false}},{"Value":{"tagged_value":{"ManipulatorGroupIds":[]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,0],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"Path Generator","inputs":[{"Network":{"Concrete":{"name":"alloc::vec::Vec>","size":12,"align":4}}},{"Network":{"Concrete":{"name":"alloc::vec::Vec","size":12,"align":4}}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::generator_nodes::PathGenerator<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Cull","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::CullNode<_>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-41,37]},"skip_deduplication":false,"world_state_hash":0},"13371003476981866369":{"alias":"","name":"Layer","inputs":[{"Node":{"node_id":13449829627181121540,"output_index":0,"lambda":false}},{"Node":{"node_id":16765094648901305481,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-22,34]},"skip_deduplication":false,"world_state_hash":0},"14972365039974884537":{"alias":"","name":"Artboard","inputs":[{"Node":{"node_id":16739612568321095920,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"IVec2":[0,0]},"exposed":false}},{"Value":{"tagged_value":{"IVec2":[1000,1000]},"exposed":false}},{"Value":{"tagged_value":{"Color":{"red":1.0,"green":1.0,"blue":1.0,"alpha":1.0}},"exposed":false}},{"Value":{"tagged_value":{"Bool":false},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructArtboardNode<_, _, _, _, _>"}},"metadata":{"position":[0,19]},"skip_deduplication":false,"world_state_hash":0},"9387390658960403506":{"alias":"","name":"Layer","inputs":[{"Node":{"node_id":6315702878481394765,"output_index":0,"lambda":false}},{"Node":{"node_id":15087384306214154157,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-22,44]},"skip_deduplication":false,"world_state_hash":0},"11130614062948033510":{"alias":"","name":"Fill","inputs":[{"Node":{"node_id":5510431876617456229,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"FillType":"Gradient"},"exposed":false}},{"Value":{"tagged_value":{"OptionalColor":{"red":0.16470589,"green":0.8862745,"blue":0.4117647,"alpha":1.0}},"exposed":false}},{"Value":{"tagged_value":{"GradientType":"Radial"},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.4915209831246563,0.3534391534391531]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.49551110871305326,0.9968253968253964]},"exposed":false}},{"Value":{"tagged_value":{"DAffine2":[250.61867799546343,0.0,0.0,472.4999999999999,809.8156610022683,336.0000000000002]},"exposed":false}},{"Value":{"tagged_value":{"GradientPositions":[[0.0,{"red":0.96484375,"green":1.0,"blue":0.9765626,"alpha":1.0}],[1.0,{"red":0.16470589,"green":0.8862745,"blue":0.4117647,"alpha":1.0}]]},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetFillNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-29,24]},"skip_deduplication":false,"world_state_hash":0},"14944076597430308366":{"alias":"","name":"Layer","inputs":[{"Node":{"node_id":2550166071846864271,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"GraphicGroup":{"elements":[],"transform":[1.0,0.0,0.0,1.0,0.0,0.0],"alpha_blending":{"opacity":1.0,"blend_mode":"Normal"}}},"exposed":true}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-22,27]},"skip_deduplication":false,"world_state_hash":0},"9015611177809361449":{"alias":"Blue Lights","name":"Layer","inputs":[{"Node":{"node_id":15465970086096837636,"output_index":0,"lambda":false}},{"Node":{"node_id":11411423299989984040,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-4,41]},"skip_deduplication":false,"world_state_hash":0},"3353108093362009815":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":897792489865808013,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"DVec2":[8.0,-33.59999999999991]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[1.0,1.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.0,0.0]},"exposed":false}},{"Value":{"tagged_value":{"DVec2":[0.5,0.5]},"exposed":false}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Network":{"inputs":[0,1,1,1,1,1],"outputs":[{"node_id":1,"node_output_index":0}],"nodes":{"1":{"alias":"","name":"Transform","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"f32","size":4,"align":4}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}},{"Network":{"Concrete":{"name":"glam::f64::dvec2::DVec2","size":16,"align":8}}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::transform::TransformNode<_, _, _, _, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"0":{"alias":"","name":"Monitor","inputs":[{"Network":{"Concrete":{"name":"graphene_core::vector::vector_data::VectorData","size":256,"align":8}}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-11,50]},"skip_deduplication":false,"world_state_hash":0},"16739612568321095920":{"alias":"Green Lights","name":"Layer","inputs":[{"Node":{"node_id":12158802623647295905,"output_index":0,"lambda":false}},{"Node":{"node_id":3471929742275053204,"output_index":0,"lambda":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Network":{"inputs":[0,2],"outputs":[{"node_id":2,"node_output_index":0}],"nodes":{"0":{"alias":"","name":"To Graphic Element","inputs":[{"Network":{"Generic":"T"}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ToGraphicElementNode"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0},"1":{"alias":"","name":"Monitor","inputs":[{"Node":{"node_id":0,"output_index":0,"lambda":false}}],"manual_composition":{"Generic":"T"},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::memo::MonitorNode<_, _, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":true,"world_state_hash":0},"2":{"alias":"","name":"ConstructLayer","inputs":[{"Node":{"node_id":1,"output_index":0,"lambda":false}},{"Network":{"Fn":[{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},{"Concrete":{"name":"graphene_core::graphic_element::GraphicGroup","size":72,"align":8}}]}}],"manual_composition":{"Concrete":{"name":"graphene_core::transform::Footprint","size":72,"align":8}},"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::ConstructLayerNode<_, _>"}},"metadata":{"position":[0,0]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[],"previous_outputs":null}},"metadata":{"position":[-4,21]},"skip_deduplication":false,"world_state_hash":0},"897792489865808013":{"alias":"","name":"Stroke","inputs":[{"Node":{"node_id":3958246774416220131,"output_index":0,"lambda":false}},{"Value":{"tagged_value":{"OptionalColor":{"red":0.18629456,"green":0.18054199,"blue":0.2265625,"alpha":1.0}},"exposed":false}},{"Value":{"tagged_value":{"F32":8.0},"exposed":false}},{"Value":{"tagged_value":{"VecF32":[]},"exposed":false}},{"Value":{"tagged_value":{"F32":0.0},"exposed":false}},{"Value":{"tagged_value":{"LineCap":"Round"},"exposed":false}},{"Value":{"tagged_value":{"LineJoin":"Miter"},"exposed":false}},{"Value":{"tagged_value":{"F32":4.0},"exposed":false}}],"manual_composition":null,"has_primary_output":true,"implementation":{"Unresolved":{"name":"graphene_core::vector::SetStrokeNode<_, _, _, _, _, _, _>"}},"metadata":{"position":[-41,50]},"skip_deduplication":false,"world_state_hash":0}},"disabled":[5580793685805333643],"previous_outputs":[{"node_id":0,"node_output_index":0}]},"name":"procedural-string-lights.graphite","version":"0.1.2","commit_hash":"3a455c0f5b2316efdf84dbcbec59c49ec5bb039d","navigation":{"pan":[-500.0488004358591,-500.45804953406633],"tilt":0.0,"zoom":0.8844499999999998},"document_mode":"DesignMode","view_mode":"Normal","overlays_visible":true,"rulers_visible":true,"collapsed":[]} \ No newline at end of file diff --git a/editor/src/dispatcher.rs b/editor/src/dispatcher.rs index 00052593..0abbd2b7 100644 --- a/editor/src/dispatcher.rs +++ b/editor/src/dispatcher.rs @@ -478,6 +478,7 @@ mod test { let test_files = [ ("Just a Potted Cactus", include_str!("../../demo-artwork/just-a-potted-cactus.graphite")), + ("Valley of Spires", include_str!("../../demo-artwork/procedural-string-lights.graphite")), ("Valley of Spires", include_str!("../../demo-artwork/valley-of-spires.graphite")), ]; diff --git a/editor/src/messages/dialog/simple_dialogs/demo_artwork_dialog.rs b/editor/src/messages/dialog/simple_dialogs/demo_artwork_dialog.rs index 9c800693..7ec2bf32 100644 --- a/editor/src/messages/dialog/simple_dialogs/demo_artwork_dialog.rs +++ b/editor/src/messages/dialog/simple_dialogs/demo_artwork_dialog.rs @@ -5,9 +5,10 @@ use crate::messages::prelude::*; pub struct DemoArtworkDialog; /// `(name, thumbnail, filename)` -const ARTWORK: [(&str, &str, &str); 2] = [ +const ARTWORK: [(&str, &str, &str); 3] = [ ("Valley of Spires", "ThumbnailValleyOfSpires", "valley-of-spires.graphite"), ("Just a Potted Cactus", "ThumbnailJustAPottedCactus", "just-a-potted-cactus.graphite"), + ("Procedural String Lights", "ThumbnailProceduralStringLights", "procedural-string-lights.graphite"), ]; impl DialogLayoutHolder for DemoArtworkDialog { diff --git a/frontend/assets/images/demo-artwork/thumbnail-procedural-string-lights.png b/frontend/assets/images/demo-artwork/thumbnail-procedural-string-lights.png new file mode 100644 index 0000000000000000000000000000000000000000..d216763722be094b5b092b83750e45d44352256e GIT binary patch literal 8271 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 literal 0 HcmV?d00001 diff --git a/frontend/src/utility-functions/images.ts b/frontend/src/utility-functions/images.ts index c90941bf..9b7885c6 100644 --- a/frontend/src/utility-functions/images.ts +++ b/frontend/src/utility-functions/images.ts @@ -2,10 +2,12 @@ // Demo artwork import ThumbnailJustAPottedCactus from "@graphite-frontend/assets/images/demo-artwork/thumbnail-just-a-potted-cactus.png"; +import ThumbnailProceduralStringLights from "@graphite-frontend/assets/images/demo-artwork/thumbnail-procedural-string-lights.png"; import ThumbnailValleyOfSpires from "@graphite-frontend/assets/images/demo-artwork/thumbnail-valley-of-spires.png"; const DEMO_ARTWORK = { ThumbnailJustAPottedCactus, + ThumbnailProceduralStringLights, ThumbnailValleyOfSpires, } as const; diff --git a/frontend/src/wasm-communication/editor.ts b/frontend/src/wasm-communication/editor.ts index 9b670fe8..75cabfe6 100644 --- a/frontend/src/wasm-communication/editor.ts +++ b/frontend/src/wasm-communication/editor.ts @@ -69,8 +69,9 @@ export function createEditor() { if (!demoArtwork) return; try { - const url = new URL(`https://raw.githubusercontent.com/GraphiteEditor/Graphite/master/demo-artwork/${demoArtwork}.graphite`); + const url = new URL(`/${demoArtwork}.graphite`, document.location.href); const data = await fetch(url); + if (!data.ok) throw new Error(); const filename = url.pathname.split("/").pop() || "Untitled"; const content = await data.text(); diff --git a/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md b/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md index 954caf04..b1f58b33 100644 --- a/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md +++ b/website/content/blog/2024-01-01-looking-back-on-2023-and-what's-next.md @@ -24,7 +24,7 @@ I am grateful to everyone who has placed their faith in my vision for Graphite s -
Happy Holidays from the Graphite team!
These procedural light strands are powered by the newly completed node graph features.
+
Happy Holidays from the Graphite team!
These procedural light strands are powered by the newly completed node graph features.
Click here to explore this demo — drag the wire layer's points with the Path tool.
## The Alpha Milestone 2 release series