mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-30 04:57:54 -06:00
Keep the PR building with main: Layers stays off psd documents; preview merge and fmt
This commit is contained in:
@@ -24,7 +24,7 @@ const BLUE: [f32; 4] = [0.0, 0.0, 1.0, 1.0];
|
||||
/// A one-colour document; `extra` adds a hidden layer, so the file's size changes too.
|
||||
fn flat(rgba: [f32; 4], extra: bool) -> Vec<u8> {
|
||||
let mut d = WDoc::new(64, 48);
|
||||
d.layers = vec![WLayer::solid("Background", Rect::new(0, 0, 64, 48), rgba)].into();
|
||||
d.layers = vec![WLayer::solid("Background", Rect::new(0, 0, 64, 48), rgba)];
|
||||
if extra {
|
||||
let mut hidden = WLayer::solid("Hidden", Rect::new(0, 0, 8, 8), RED);
|
||||
hidden.hidden = true;
|
||||
@@ -86,7 +86,7 @@ fn reload_footage_shows_the_new_pixels() {
|
||||
fn reload_keeps_a_photoshop_layer_item_on_its_layer() {
|
||||
let path = tmp("layers.psd");
|
||||
let mut d = WDoc::new(64, 48);
|
||||
d.layers = vec![WLayer::solid("Background", Rect::new(0, 0, 64, 48), RED), WLayer::solid("Patch", Rect::new(0, 0, 32, 48), BLUE)].into();
|
||||
d.layers = vec![WLayer::solid("Background", Rect::new(0, 0, 64, 48), RED), WLayer::solid("Patch", Rect::new(0, 0, 32, 48), BLUE)];
|
||||
std::fs::write(&path, write(&d)).unwrap();
|
||||
let mut s = effectcraft_host::session();
|
||||
let r = s.execute_checked("file.import", json!({"paths": [path], "importAs": "compositionLayerSizes"})).unwrap();
|
||||
@@ -100,7 +100,7 @@ fn reload_keeps_a_photoshop_layer_item_on_its_layer() {
|
||||
WLayer::solid("Background", Rect::new(0, 0, 64, 48), RED),
|
||||
WLayer::solid("Added", Rect::new(40, 0, 8, 8), RED),
|
||||
WLayer::solid("Patch", Rect::new(0, 0, 24, 48), GREEN),
|
||||
].into();
|
||||
];
|
||||
save(&path, &write(&d));
|
||||
let footage_items: Vec<u64> = items.iter().filter(|i| matches!(s.project.item(**i).map(|x| &x.kind), Some(ItemKind::Footage(_)))).map(|i| i.0).collect();
|
||||
s.execute_checked("file.reloadFootage", json!({"items": footage_items})).unwrap();
|
||||
|
||||
@@ -39,8 +39,8 @@ mod settings;
|
||||
pub use comp::{Comp, Guide, Renderer, Resolution};
|
||||
pub use footage::{AlphaMode, CineonSettings, CineonUnits, FieldOrder, Footage, FootageKind, Proxy, Solid, SourceLayer, cineon_log_to_lin};
|
||||
pub use item::{Item, ItemId, ItemKind, LayerId};
|
||||
pub use layers::Layers;
|
||||
pub use layer::{AutoOrient, FrameBlend, Layer, LayerSource, LightKind, MatteKind, PrimitiveKind, Quality, Sampling, Switches, TrackMatte};
|
||||
pub use layers::Layers;
|
||||
pub use settings::{
|
||||
APP_VERSION, BitDepth, ColorEngine, CuePoint, HdrMode, Marker, ProjectError, ProjectSettings, SCHEMA_EFFECT_SPACE, SCHEMA_VERSION, SavedView,
|
||||
TimeDisplayStyle, is_newer_version, saved_by, saved_view,
|
||||
|
||||
@@ -255,7 +255,7 @@ fn doc(depth: u16, mode: ColorMode, rle: bool) -> WDoc {
|
||||
let mut masked = WLayer::pixels("masked", Rect::new(10, 8, 12, 12), grad(12, 12));
|
||||
masked.mask =
|
||||
Some(WMask { rect: Rect::new(12, 10, 12, 12), data: (0..144).map(|i| (i % 12) as f32 / 11.0).collect(), default_color: 255, disabled: false });
|
||||
d.layers = vec![bg, off, solid, masked].into();
|
||||
d.layers = vec![bg, off, solid, masked];
|
||||
d
|
||||
}
|
||||
|
||||
|
||||
@@ -184,7 +184,7 @@ impl Psd {
|
||||
r.skip(c.len)?;
|
||||
}
|
||||
}
|
||||
self.layers = layers.into();
|
||||
self.layers = layers;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ fn doc_with_layers(depth: u16, mode: ColorMode, rle: bool) -> WDoc {
|
||||
// Mask: left half opaque, right half transparent; default (outside) black.
|
||||
let mrect = Rect::new(20, 10, 12, 12);
|
||||
masked.mask = Some(WMask { rect: mrect, data: (0..144).map(|i| if i % 12 < 6 { 1.0 } else { 0.0 }).collect(), default_color: 0, disabled: false });
|
||||
d.layers = vec![bg, red, masked].into();
|
||||
d.layers = vec![bg, red, masked];
|
||||
d
|
||||
}
|
||||
|
||||
|
||||
@@ -407,7 +407,7 @@ fn base() -> Psd {
|
||||
let mut masked = WLayer::solid("Masked", Rect::new(20, 10, 12, 12), [0.0, 0.5, 1.0, 1.0]);
|
||||
let data = (0..144).map(|i| if i % 12 < 6 { 1.0 } else { 0.25 }).collect();
|
||||
masked.mask = Some(WMask { rect: Rect::new(20, 10, 12, 12), data, default_color: 0, disabled: false });
|
||||
d.layers = vec![bg, red, masked].into();
|
||||
d.layers = vec![bg, red, masked];
|
||||
Psd::parse(write(&d)).unwrap()
|
||||
}
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ fn comp(before: &Comp, after: &Comp, now: &Comp) -> Comp {
|
||||
layers.insert(at.min(layers.len()), back);
|
||||
}
|
||||
}
|
||||
merged.layers = layers;
|
||||
merged.layers = layers.into();
|
||||
merged
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user