mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-23 04:08:11 +08:00
Instance tables refactor part 6: unwrap VectorData and ImageFrame from single-row to multi-row tables (#2684)
* Start refactoring the boolean operations code * Switch to iterators in the boolean operations code * Make boolean operations work on rows of a table, not Vecs of single-row tables * Remove more .transform() * Simplify brush code * Attempt to remove .transform() by using Instance<Image<Color>> in brush code, but a regression is introduced * Improve blend_image_closure * Simplify * Remove leading underscore from type arguments * Remove .transform() from ImageFrameTable<P> and fix Mask node behavior on stencils not fully overlapping its target image * Remove more .one_instance_ref() * Fully remove .one_instance_ref() and improve the 'Combine Channels' node robustness * Fully remove .once_instance_mut() * Fix tests * Remove .one_empty_image() * Make Instances<T>::default() return an empty table for images, but still not yet vector --------- Co-authored-by: hypercube <0hypercube@gmail.com>
This commit is contained in:
co-authored by
hypercube
parent
76ecdc8f1b
commit
cb4289169d
@@ -266,11 +266,11 @@ pub struct DynAnyNode<I, O, Node> {
|
||||
_o: PhantomData<O>,
|
||||
}
|
||||
|
||||
impl<'input, _I, _O, N> Node<'input, Any<'input>> for DynAnyNode<_I, _O, N>
|
||||
impl<'input, I, O, N> Node<'input, Any<'input>> for DynAnyNode<I, O, N>
|
||||
where
|
||||
_I: 'input + dyn_any::StaticType + WasmNotSend,
|
||||
_O: 'input + dyn_any::StaticType + WasmNotSend,
|
||||
N: 'input + Node<'input, _I, Output = DynFuture<'input, _O>>,
|
||||
I: 'input + dyn_any::StaticType + WasmNotSend,
|
||||
O: 'input + dyn_any::StaticType + WasmNotSend,
|
||||
N: 'input + Node<'input, I, Output = DynFuture<'input, O>>,
|
||||
{
|
||||
type Output = FutureAny<'input>;
|
||||
#[inline]
|
||||
@@ -294,11 +294,11 @@ where
|
||||
self.node.serialize()
|
||||
}
|
||||
}
|
||||
impl<'input, _I, _O, N> DynAnyNode<_I, _O, N>
|
||||
impl<'input, I, O, N> DynAnyNode<I, O, N>
|
||||
where
|
||||
_I: 'input + dyn_any::StaticType,
|
||||
_O: 'input + dyn_any::StaticType,
|
||||
N: 'input + Node<'input, _I, Output = DynFuture<'input, _O>>,
|
||||
I: 'input + dyn_any::StaticType,
|
||||
O: 'input + dyn_any::StaticType,
|
||||
N: 'input + Node<'input, I, Output = DynFuture<'input, O>>,
|
||||
{
|
||||
pub const fn new(node: N) -> Self {
|
||||
Self {
|
||||
|
||||
Reference in New Issue
Block a user