\ProvidesFile{pgf-go-remember.sty}[2026/10/23 v0.2026.10.23 pgf-go: remember] %REMEMBER \ExplSyntaxOn %LA MEMORIA EN SI LA GUARDA EL KERNEL (\pgfgo_kernel_remember_...): UNA POR NOMBRE. UN goban CON name %GUARDA TODO LO QUE DIBUJA; resume Y \pgfgoview LO VUELVEN A DIBUJAR. %QUE NO SE OLVIDA: forget EN UN ELEMENTO (\stone[forget], \marks[forget], label = forget, ...) LO DEJA EN %LA MEMORIA, PERO resume NO LO TRAE Y \pgfgoview SOLO LO DIBUJA CON forgotten. \bool_new:N\l_pgfgo_goban_remember_stone_bool \bool_new:N\l_pgfgo_goban_remember_move_bool \bool_new:N\l_pgfgo_goban_remember_move_label_bool \bool_new:N\l_pgfgo_goban_remember_mark_bool \bool_new:N\l_pgfgo_goban_remember_territory_bool \bool_set_true:N\l_pgfgo_goban_remember_stone_bool \bool_set_true:N\l_pgfgo_goban_remember_move_bool \bool_set_true:N\l_pgfgo_goban_remember_move_label_bool \bool_set_true:N\l_pgfgo_goban_remember_mark_bool \bool_set_true:N\l_pgfgo_goban_remember_territory_bool %EL NOMBRE DEL goban QUE SE ESTA DIBUJANDO (name): TODO LO QUE DIBUJA VA A LA MEMORIA DE ESE NOMBRE. \tl_new:N \l_pgfgo_goban_name_tl %GUARDA EL CODIGO #3 EN LA MEMORIA DEL goban CON NOMBRE. #1 FALSO: OLVIDADO. #2 DICE QUE ES (stone, mark, %arrow, line O territory): resume Y \pgfgoview PUEDEN NO DIBUJAR LAS MARCAS, LAS FLECHAS, LAS LINEAS NI EL %TERRITORIO. \cs_new_protected:Npn \pgfgo_remember:Nnn #1#2#3 { \tl_if_empty:NF \l_pgfgo_goban_name_tl { \exp_args:NV \pgfgo_kernel_remember_push:nn \l_pgfgo_goban_name_tl { \bool_if:NTF #1 {\__pgfgo_remember_kind:nn {#2} {#3}} {\exp_not:N \pgfgo_remember_if:nn {forgotten} {\__pgfgo_remember_kind:nn {#2} {#3}}} } } } \cs_new:Npn \__pgfgo_remember_kind:nn #1#2 { \str_if_eq:nnTF {#1} {stone} {#2} {\exp_not:N \pgfgo_remember_if:nn {#1} {#2}} } %AL VOLVER A DIBUJAR SE ESCONDEN LAS MARCAS, LAS FLECHAS, LAS LINEAS, EL TERRITORIO, LOS NUMEROS DE LAS JUGADAS (VER %\pgfgo_move_parsed:nnn) Y LO OLVIDADO, SEGUN LO QUE PIDAN resume O \pgfgoview. \bool_new:N \l_pgfgo_remember_hide_mark_bool \bool_new:N \l_pgfgo_remember_hide_arrow_bool \bool_new:N \l_pgfgo_remember_hide_line_bool \bool_new:N \l_pgfgo_remember_hide_territory_bool \bool_new:N \l_pgfgo_remember_hide_numbers_bool \bool_new:N \l_pgfgo_remember_hide_forgotten_bool \cs_new_protected:Npn \pgfgo_remember_if:nn #1#2 {\bool_if:cF {l_pgfgo_remember_hide_ #1 _bool} {#2}} %UNA JUGADA CON label = forget: SU NUMERO SE ESCONDE COMO LO OLVIDADO. \cs_new_protected:Npn \pgfgo_remember_numbers:n #1 { \group_begin: \bool_if:NT \l_pgfgo_remember_hide_forgotten_bool {\bool_set_true:N \l_pgfgo_remember_hide_numbers_bool} #1 \group_end: } %resume: VUELVE A DIBUJAR LA MEMORIA #4 SIN LO OLVIDADO, CON LAS MARCAS, FLECHAS Y LINEAS (#1), EL TERRITORIO (#2) Y LOS %NUMEROS (#3) SOLO SI SE PIDEN (\c_true_bool O \c_false_bool). LO QUE YA SE ESCONDIA SIGUE ESCONDIDO: UN %goban CON name Y resume GUARDA ESTE MISMO CODIGO, Y UNA VISTA SIN MARCAS NO LAS MUESTRA. \seq_new:N \l__pgfgo_remember_hide_seq \tl_new:N \l__pgfgo_remember_hide_tl \cs_new_protected:Npn \pgfgo_remember_resume:NNNn #1#2#3#4 { \__pgfgo_remember_resume:NNNn #1 #2 #3 {\pgfgo_kernel_remember_replay:n {#4}} } %LO MISMO CON EL CODIGO #4 DE LA MEMORIA EN LUGAR DE SU NOMBRE: ASI QUEDA UN goban CON resume EN EL .aux %O EN UN ARCHIVO DE export (VER pgf-go-store.sty). \cs_new_protected:Npn \pgfgo_remember_resume_code:NNNn #1#2#3#4 {\__pgfgo_remember_resume:NNNn #1 #2 #3 {#4}} \cs_new_protected:Npn \__pgfgo_remember_resume:NNNn #1#2#3#4 { \seq_push:Ne \l__pgfgo_remember_hide_seq { \__pgfgo_remember_hide_restore:N \l_pgfgo_remember_hide_mark_bool \__pgfgo_remember_hide_restore:N \l_pgfgo_remember_hide_arrow_bool \__pgfgo_remember_hide_restore:N \l_pgfgo_remember_hide_line_bool \__pgfgo_remember_hide_restore:N \l_pgfgo_remember_hide_territory_bool \__pgfgo_remember_hide_restore:N \l_pgfgo_remember_hide_numbers_bool \__pgfgo_remember_hide_restore:N \l_pgfgo_remember_hide_forgotten_bool } \bool_if:NF #1 { \bool_set_true:N \l_pgfgo_remember_hide_mark_bool \bool_set_true:N \l_pgfgo_remember_hide_arrow_bool \bool_set_true:N \l_pgfgo_remember_hide_line_bool } \bool_if:NF #2 {\bool_set_true:N \l_pgfgo_remember_hide_territory_bool} \bool_if:NF #3 {\bool_set_true:N \l_pgfgo_remember_hide_numbers_bool} \bool_set_true:N \l_pgfgo_remember_hide_forgotten_bool #4 \seq_pop:NN \l__pgfgo_remember_hide_seq \l__pgfgo_remember_hide_tl \tl_use:N \l__pgfgo_remember_hide_tl } \cs_new:Npn \__pgfgo_remember_hide_restore:N #1 { \bool_if:NTF #1 {\exp_not:N \bool_set_true:N} {\exp_not:N \bool_set_false:N} \exp_not:N #1 } \ExplSyntaxOff