Contexto
Al renderizar items del Front Panel, cada render-fp-item devuelve un bloque Draw con comandos font (font-object). El patrón canónico para aislar estado gráfico es push [...]:
```red
append cmds 'push
append/only cmds render-fp-item item selected?
```
Problema
Con push, Red Draw recibe el font! object como make object! [] en vez del objeto real, causando:
```
*** Script Error: invalid Draw dialect input at: [font make object! [] text ...]
```
Workaround actual
Reset manual de estado Draw al inicio de cada item:
```red
append cmds compose [pen 0.0.0 fill-pen off line-width 1 font (fp-black-font)]
```
Funciona pero viola el principio de aislamiento — cada item tiene que saber qué estado previo limpiar.
Lo que hay que investigar
- ¿Es un bug de Red Draw en Linux/GTK?
- ¿El problema es cómo
compose serializa/copia el font! object al insertarlo en el bloque de push?
- ¿Hay otra forma de construir el bloque
[push [...font-obj...]] que preserve el tipo font!?
- Probar en Windows/macOS para ver si es plataforma-específico
Solución ideal
Volver a push/pop y eliminar el reset manual, una vez entendida la causa raíz.
Contexto
Al renderizar items del Front Panel, cada
render-fp-itemdevuelve un bloque Draw con comandosfont (font-object). El patrón canónico para aislar estado gráfico espush [...]:```red
append cmds 'push
append/only cmds render-fp-item item selected?
```
Problema
Con
push, Red Draw recibe elfont!object comomake object! []en vez del objeto real, causando:```
*** Script Error: invalid Draw dialect input at: [font make object! [] text ...]
```
Workaround actual
Reset manual de estado Draw al inicio de cada item:
```red
append cmds compose [pen 0.0.0 fill-pen off line-width 1 font (fp-black-font)]
```
Funciona pero viola el principio de aislamiento — cada item tiene que saber qué estado previo limpiar.
Lo que hay que investigar
composeserializa/copia elfont!object al insertarlo en el bloque depush?[push [...font-obj...]]que preserve el tipofont!?Solución ideal
Volver a
push/popy eliminar el reset manual, una vez entendida la causa raíz.