Campos e ícones são elementos visuais que aparecem em um bloco, mas têm finalidades diferentes.
Os campos mostram ou definem dados sobre um bloco que afeta o funcionamento de um programa. Por exemplo, o bloco de texto tem duas aspas, que indicam que você está definindo uma string, e uma entrada de texto que permite definir essa string. As aspas informam sobre a função do bloco, e a entrada permite modificar a função.
Os ícones mostram ou definem informações "meta" sobre o bloco. Por exemplo, você pode anexar um ícone de comentário a qualquer bloco, o que permite escrever observações para você mesmo, mas não afeta o funcionamento do bloco no programa.
Comparação de funcionalidades
| Atributo | Campos | Ícones |
|---|---|---|
| Renderização | Os campos podem ser feitos de qualquer elemento que quiserem. | Os ícones podem ser feitos de qualquer elemento. |
| Número | Cada campo pode aparecer várias vezes em um bloco. | Cada ícone pode aparecer uma vez em um bloco. |
| Canal | Os campos podem ser posicionados em qualquer lugar em qualquer entrada de um bloco. | Os ícones sempre são posicionados na parte superior esquerda de um bloco. |
| Serialização | Os campos podem ser serializados, e geralmente são. | Os ícones podem ser serializados, mas geralmente não são porque não têm estado. |
| Fechamento | Os campos ficam ocultos quando um bloco é recolhido, e o texto deles é mostrado. | Os ícones podem controlar se são mostrados ou ocultos quando o bloco é recolhido. |