* installing to library ‘/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages’ * installing *source* package ‘triptych’ ... ** package ‘triptych’ successfully unpacked and MD5 sums checked ** using staged installation ** libs using C++ compiler: ‘Debian clang version 18.1.4 (1)’ using C++20 make[1]: Entering directory '/tmp/Rtmpit6C1n/R.INSTALL1c81846b975a28/triptych/src' clang++-18 -std=gnu++20 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I'/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/cpp11/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fpic -g -O3 -Wall -pedantic -c cpp11.cpp -o cpp11.o clang++-18 -std=gnu++20 -I"/home/hornik/tmp/R.check/r-devel-clang/Work/build/include" -DNDEBUG -I'/home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/cpp11/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fpic -g -O3 -Wall -pedantic -c md.cpp -o md.o In file included from md.cpp:1: In file included from /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/cpp11/include/cpp11.hpp:5: In file included from /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/cpp11/include/cpp11/as.hpp:3: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/cmath:3898: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/specfun.h:43: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algobase.h:67: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_iterator.h:78: /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88:2: warning: destructor called on non-final 'contribution_median' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] 88 | __location->~_Tp(); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at' requested here 149 | std::destroy_at(__pointer); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:163:11: note: in instantiation of function template specialization 'std::_Destroy' requested here 163 | std::_Destroy(std::__addressof(*__first)); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:193:35: note: in instantiation of function template specialization 'std::_Destroy_aux::__destroy' requested here 193 | return std::_Destroy_aux::__destroy(__first, __last); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_uninitialized.h:125:9: note: in instantiation of function template specialization 'std::_Destroy' requested here 125 | std::_Destroy(__result, __cur); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_uninitialized.h:371:14: note: in instantiation of function template specialization 'std::__do_uninit_copy' requested here 371 | return std::__do_uninit_copy(__first, __last, __result); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:1697:11: note: in instantiation of function template specialization 'std::__uninitialized_copy_a' requested here 1697 | std::__uninitialized_copy_a(__first, __last, | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:682:2: note: in instantiation of function template specialization 'std::vector::_M_range_initialize' requested here 682 | _M_range_initialize(__l.begin(), __l.end(), | ^ ./mdiag.h:255:44: note: in instantiation of member function 'std::vector::vector' requested here 255 | std::vector contribs{ {0.0, { 0 }} }; | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88:15: note: qualify call to silence this warning 88 | __location->~_Tp(); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88:2: warning: destructor called on non-final 'contribution_quant' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] 88 | __location->~_Tp(); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at' requested here 149 | std::destroy_at(__pointer); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:163:11: note: in instantiation of function template specialization 'std::_Destroy' requested here 163 | std::_Destroy(std::__addressof(*__first)); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:193:35: note: in instantiation of function template specialization 'std::_Destroy_aux::__destroy' requested here 193 | return std::_Destroy_aux::__destroy(__first, __last); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_uninitialized.h:125:9: note: in instantiation of function template specialization 'std::_Destroy' requested here 125 | std::_Destroy(__result, __cur); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_uninitialized.h:371:14: note: in instantiation of function template specialization 'std::__do_uninit_copy' requested here 371 | return std::__do_uninit_copy(__first, __last, __result); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:1697:11: note: in instantiation of function template specialization 'std::__uninitialized_copy_a' requested here 1697 | std::__uninitialized_copy_a(__first, __last, | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:682:2: note: in instantiation of function template specialization 'std::vector::_M_range_initialize' requested here 682 | _M_range_initialize(__l.begin(), __l.end(), | ^ ./mdiag.h:356:43: note: in instantiation of member function 'std::vector::vector' requested here 356 | std::vector contribs{ {0.0, {0, 0}} }; | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88:15: note: qualify call to silence this warning 88 | __location->~_Tp(); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88:2: warning: destructor called on non-final 'contribution_prob' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] 88 | __location->~_Tp(); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at' requested here 149 | std::destroy_at(__pointer); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:163:11: note: in instantiation of function template specialization 'std::_Destroy' requested here 163 | std::_Destroy(std::__addressof(*__first)); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:193:35: note: in instantiation of function template specialization 'std::_Destroy_aux::__destroy' requested here 193 | return std::_Destroy_aux::__destroy(__first, __last); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_uninitialized.h:125:9: note: in instantiation of function template specialization 'std::_Destroy' requested here 125 | std::_Destroy(__result, __cur); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_uninitialized.h:371:14: note: in instantiation of function template specialization 'std::__do_uninit_copy' requested here 371 | return std::__do_uninit_copy(__first, __last, __result); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:1697:11: note: in instantiation of function template specialization 'std::__uninitialized_copy_a' requested here 1697 | std::__uninitialized_copy_a(__first, __last, | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:682:2: note: in instantiation of function template specialization 'std::vector::_M_range_initialize' requested here 682 | _M_range_initialize(__l.begin(), __l.end(), | ^ ./mdiag.h:454:42: note: in instantiation of member function 'std::vector::vector' requested here 454 | std::vector contribs{ { 0.0, coef_int<2>{ 0, 0 } } }; | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88:15: note: qualify call to silence this warning 88 | __location->~_Tp(); | ^ In file included from md.cpp:2: ./mdiag.h:468:25: warning: suggest braces around initialization of subobject [-Wmissing-braces] 468 | coef_dbl<1> dbl_coef{ 0.0 }; | ^~~ | { } ./mdiag.h:478:30: warning: suggest braces around initialization of subobject [-Wmissing-braces] 478 | dbl_coef += coef_dbl<1>{ (rhs.knot - knot) * static_cast(int_coef[0]) }; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | { } ./mdiag.h:485:30: warning: suggest braces around initialization of subobject [-Wmissing-braces] 485 | dbl_coef += coef_dbl<1>{ (rhs.knot - knot) * static_cast(int_coef[0]) }; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | { } ./mdiag.h:572:81: warning: suggest braces around initialization of subobject [-Wmissing-braces] 572 | std::vector contribs{ {0.0, coef_int<1>{ 0 }, coef_dbl<1>{ 0.0 }} }; | ^~~ | { } In file included from md.cpp:1: In file included from /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/cpp11/include/cpp11.hpp:5: In file included from /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/cpp11/include/cpp11/as.hpp:3: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/cmath:3898: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/specfun.h:43: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algobase.h:67: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_iterator.h:78: /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88:2: warning: destructor called on non-final 'contribution_mean' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] 88 | __location->~_Tp(); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at' requested here 149 | std::destroy_at(__pointer); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:163:11: note: in instantiation of function template specialization 'std::_Destroy' requested here 163 | std::_Destroy(std::__addressof(*__first)); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:193:35: note: in instantiation of function template specialization 'std::_Destroy_aux::__destroy' requested here 193 | return std::_Destroy_aux::__destroy(__first, __last); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_uninitialized.h:125:9: note: in instantiation of function template specialization 'std::_Destroy' requested here 125 | std::_Destroy(__result, __cur); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_uninitialized.h:371:14: note: in instantiation of function template specialization 'std::__do_uninit_copy' requested here 371 | return std::__do_uninit_copy(__first, __last, __result); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:1697:11: note: in instantiation of function template specialization 'std::__uninitialized_copy_a' requested here 1697 | std::__uninitialized_copy_a(__first, __last, | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:682:2: note: in instantiation of function template specialization 'std::vector::_M_range_initialize' requested here 682 | _M_range_initialize(__l.begin(), __l.end(), | ^ ./mdiag.h:572:42: note: in instantiation of member function 'std::vector::vector' requested here 572 | std::vector contribs{ {0.0, coef_int<1>{ 0 }, coef_dbl<1>{ 0.0 }} }; | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88:15: note: qualify call to silence this warning 88 | __location->~_Tp(); | ^ In file included from md.cpp:2: ./mdiag.h:573:67: warning: suggest braces around initialization of subobject [-Wmissing-braces] 573 | contribution_mean baseline{ 0.0, coef_int<1>{ 0 }, coef_dbl<1>{ 0.0 } }; | ^~~ | { } ./mdiag.h:525:39: warning: suggest braces around initialization of subobject [-Wmissing-braces] 525 | constexpr coef_dbl<1> coef_y_a{ 0.0 }; | ^~~ | { } ./mdiag.h:527:62: warning: suggest braces around initialization of subobject [-Wmissing-braces] 527 | contribs.emplace_back(x[i], coef_neg_b, coef_dbl<1>{ y[i] - x[i] }); | ^~~~~~~~~~~ | { } ./mdiag.h:548:62: warning: suggest braces around initialization of subobject [-Wmissing-braces] 548 | contribs.emplace_back(x[i], coef_neg_b, coef_dbl<1>{ y[i] - x[i] }); | ^~~~~~~~~~~ | { } ./mdiag.h:549:64: warning: suggest braces around initialization of subobject [-Wmissing-braces] 549 | contribs.emplace_back(ref[i], coef_pos_b, coef_dbl<1>{ ref[i] - y[i] }); | ^~~~~~~~~~~~~ | { } ./mdiag.h:588:25: warning: suggest braces around initialization of subobject [-Wmissing-braces] 588 | coef_dbl<2> dbl_coef{ 0.0, 0.0 }; | ^~~~~~~~ | { } ./mdiag.h:598:30: warning: suggest braces around initialization of subobject [-Wmissing-braces] 598 | dbl_coef += coef_dbl<2>{ (rhs.knot - knot)* static_cast(int_coef[0]), (rhs.knot - knot)* static_cast(int_coef[1]) }; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | { } ./mdiag.h:605:30: warning: suggest braces around initialization of subobject [-Wmissing-braces] 605 | dbl_coef += coef_dbl<2>{ (rhs.knot - knot) * static_cast(int_coef[0]), (rhs.knot - knot) * static_cast(int_coef[1]) }; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | { } ./mdiag.h:716:86: warning: suggest braces around initialization of subobject [-Wmissing-braces] 716 | std::vector contribs{ {0.0, coef_int<2>{ 0, 0 }, coef_dbl<2>{ 0.0, 0.0 }} }; | ^~~~~~~~ | { } In file included from md.cpp:1: In file included from /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/cpp11/include/cpp11.hpp:5: In file included from /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/cpp11/include/cpp11/as.hpp:3: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/cmath:3898: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/specfun.h:43: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_algobase.h:67: In file included from /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_iterator.h:78: /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88:2: warning: destructor called on non-final 'contribution_expect' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] 88 | __location->~_Tp(); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:149:12: note: in instantiation of function template specialization 'std::destroy_at' requested here 149 | std::destroy_at(__pointer); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:163:11: note: in instantiation of function template specialization 'std::_Destroy' requested here 163 | std::_Destroy(std::__addressof(*__first)); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:193:35: note: in instantiation of function template specialization 'std::_Destroy_aux::__destroy' requested here 193 | return std::_Destroy_aux::__destroy(__first, __last); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_uninitialized.h:125:9: note: in instantiation of function template specialization 'std::_Destroy' requested here 125 | std::_Destroy(__result, __cur); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_uninitialized.h:371:14: note: in instantiation of function template specialization 'std::__do_uninit_copy' requested here 371 | return std::__do_uninit_copy(__first, __last, __result); | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:1697:11: note: in instantiation of function template specialization 'std::__uninitialized_copy_a' requested here 1697 | std::__uninitialized_copy_a(__first, __last, | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_vector.h:682:2: note: in instantiation of function template specialization 'std::vector::_M_range_initialize' requested here 682 | _M_range_initialize(__l.begin(), __l.end(), | ^ ./mdiag.h:716:44: note: in instantiation of member function 'std::vector::vector' requested here 716 | std::vector contribs{ {0.0, coef_int<2>{ 0, 0 }, coef_dbl<2>{ 0.0, 0.0 }} }; | ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/bits/stl_construct.h:88:15: note: qualify call to silence this warning 88 | __location->~_Tp(); | ^ In file included from md.cpp:2: ./mdiag.h:717:72: warning: suggest braces around initialization of subobject [-Wmissing-braces] 717 | contribution_expect baseline{ 0.0, coef_int<2>{ 0, 0 }, coef_dbl<2>{ 0.0, 0.0 } }; | ^~~~~~~~ | { } ./mdiag.h:648:40: warning: suggest braces around initialization of subobject [-Wmissing-braces] 648 | constexpr coef_dbl<2> coef_y_ab{ 0.0, 0.0 }; | ^~~~~~~~ | { } ./mdiag.h:653:55: warning: suggest braces around initialization of subobject [-Wmissing-braces] 653 | const auto coef_x_ab = x_lt_y ? coef_dbl<2>({ 0.0, y[i] - x[i] }) : coef_dbl<2>({ y[i] - x[i], 0.0 }); | ^~~~~~~~~~~~~~~~ | { } ./mdiag.h:653:91: warning: suggest braces around initialization of subobject [-Wmissing-braces] 653 | const auto coef_x_ab = x_lt_y ? coef_dbl<2>({ 0.0, y[i] - x[i] }) : coef_dbl<2>({ y[i] - x[i], 0.0 }); | ^~~~~~~~~~~~~~~~ | { } ./mdiag.h:680:40: warning: suggest braces around initialization of subobject [-Wmissing-braces] 680 | constexpr coef_dbl<2> coef_y_ab{ 0.0, 0.0 }; | ^~~~~~~~ | { } ./mdiag.h:686:55: warning: suggest braces around initialization of subobject [-Wmissing-braces] 686 | const auto coef_x_ab = x_lt_y ? coef_dbl<2>({ 0.0, y[i] - x[i] }) : coef_dbl<2>({ y[i] - x[i], 0.0 }); | ^~~~~~~~~~~~~~~~~ | { } ./mdiag.h:686:92: warning: suggest braces around initialization of subobject [-Wmissing-braces] 686 | const auto coef_x_ab = x_lt_y ? coef_dbl<2>({ 0.0, y[i] - x[i] }) : coef_dbl<2>({ y[i] - x[i], 0.0 }); | ^~~~~~~~~~~~~~~~ | { } ./mdiag.h:687:59: warning: suggest braces around initialization of subobject [-Wmissing-braces] 687 | const auto coef_ref_ab = ref_lt_y ? coef_dbl<2>({ 0.0, ref[i] - y[i] }) : coef_dbl<2>({ ref[i] - y[i], 0.0 }); | ^~~~~~~~~~~~~~~~~~ | { } ./mdiag.h:687:97: warning: suggest braces around initialization of subobject [-Wmissing-braces] 687 | const auto coef_ref_ab = ref_lt_y ? coef_dbl<2>({ 0.0, ref[i] - y[i] }) : coef_dbl<2>({ ref[i] - y[i], 0.0 }); | ^~~~~~~~~~~~~~~~~~ | { } 27 warnings generated. clang++-18 -std=gnu++20 -shared -L/home/hornik/tmp/R.check/r-devel-clang/Work/build/lib -Wl,-O1 -o triptych.so cpp11.o md.o -L/home/hornik/tmp/R.check/r-devel-clang/Work/build/lib -lR make[1]: Leaving directory '/tmp/Rtmpit6C1n/R.INSTALL1c81846b975a28/triptych/src' make[1]: Entering directory '/tmp/Rtmpit6C1n/R.INSTALL1c81846b975a28/triptych/src' make[1]: Leaving directory '/tmp/Rtmpit6C1n/R.INSTALL1c81846b975a28/triptych/src' installing to /home/hornik/tmp/R.check/r-devel-clang/Work/build/Packages/00LOCK-triptych/00new/triptych/libs ** R ** data *** moving datasets to lazyload DB ** byte-compile and prepare package for lazy loading ** help *** installing help indices *** copying figures ** building package indices ** testing if installed package can be loaded from temporary location ** checking absolute paths in shared objects and dynamic libraries ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (triptych)