layers for textual composition

[email protected] (Marc Chantreux) Mon, 8 Dec 2025 15:44:05 +0100
Newsgroups perl.perl6.users
Message-ID <aTbkNcrXrK72t2HK@prometheus>
hello,

slides for my presentation system (https://github.com/eiro/slides.vim)
are just text and I would like to create slides. Now I would like more
automation to create sets for related slides with multiple objects.

to do so, I want to compose  matrices or chars but I don't know how to
do this without just looping on coordonates.

Eg:

	my @msg =3D map *.comb, lines qx<  figlet -ffuture Joyeuses fetes >;
	my @background =3D
		( flat map
			{ flat (Nil xx (3 + 5.rand), "*") },
			1..30 ).rotor: 20;

now what I would like to do is something like:

# Nil is for transparency
say slide.new:
	( 0, 0, @background ),
	( 4, 4, @msg );

to create

                  *       *              *               *      *      =20
        *            *      *              *     *                 *   *
      *           *             *      *      *               *      * =20
              *              *            *    *      *        *       =20
*    =E2=94=8F=E2=94=93=E2=94=8F=E2=94=81=E2=94=93=E2=95=BB =E2=95=BB=E2=94=
=8F=E2=94=81=E2=95=B8=E2=95=BB =E2=95=BB=E2=94=8F=E2=94=81=E2=94=93=E2=94=
=8F=E2=94=81=E2=95=B8=E2=94=8F=E2=94=81=E2=94=93   =E2=94=8F=E2=94=81=E2=95=
=B8=E2=94=8F=E2=94=81=E2=95=B8=E2=95=BA=E2=94=B3=E2=95=B8=E2=94=8F=E2=94=81=
=E2=95=B8=E2=94=8F=E2=94=81=E2=94=93      *              *  =20
      =E2=94=83=E2=94=83 =E2=94=83=E2=94=97=E2=94=B3=E2=94=9B=E2=94=A3=E2=
=95=B8 =E2=94=83 =E2=94=83=E2=94=97=E2=94=81=E2=94=93=E2=94=A3=E2=95=B8 =E2=
=94=97=E2=94=81=E2=94=93*  =E2=94=A3=E2=95=B8 =E2=94=A3=E2=95=B8  =E2=94=83=
 =E2=94=A3=E2=95=B8 =E2=94=97=E2=94=81=E2=94=93     *            *    *
  * =E2=94=97=E2=94=81=E2=94=9B=E2=94=97=E2=94=81=E2=94=9B =E2=95=B9 =E2=94=
=97=E2=94=81=E2=95=B8=E2=94=97=E2=94=81=E2=94=9B=E2=94=97=E2=94=81=E2=94=9B=
=E2=94=97=E2=94=81=E2=95=B8=E2=94=97=E2=94=81=E2=94=9B   =E2=95=B9  =E2=94=
=97=E2=94=81=E2=95=B8 =E2=95=B9 =E2=94=97=E2=94=81=E2=95=B8=E2=94=97=E2=94=
=81=E2=94=9B      *              *   =20
          *                  *    *            *               *       =20
       *         *        *          *                *                =20
*   *         *     *            *   *                  *       *      =20
  *            *                *     *                *   *     *     *
                 *         *            *               *           *

I tried things based on [//] or @slide[4..*;4..*] =3D @msg but came
nowhere.

any help will be very welcome.

Regards.
--=20
Marc Chantreux