A janela
A janela do Signal Lab tem quatro partes: a barra lateral, à esquerda, lista as telas; o cabeçalho, no alto, reúne o que vale em todo lugar; a tela que você escolheu ocupa o meio; e o painel inferior mostra o console, as tarefas em execução e o Inspetor. O aplicativo de desktop e a página de um servidor no navegador têm a mesma aparência; as poucas diferenças estão em No navegador.
A barra lateral
Cada tela é uma ferramenta própria. Clique em uma para abri-la:
| Tela | Para que serve |
|---|---|
| Experimentos | Montar fluxos de teste em um canvas, executá-los e ler cada execução etapa por etapa. Experimentos |
| Sinais | A biblioteca de sinais: mensagens com nome, em pastas, para editar e enviar de novo. Sinais |
| Emuladores | APIs HTTP, dispositivos OSC, UDP e TCP e brokers MQTT simulados, que respondem por regras. Emuladores |
| OSC | Enviar mensagens OSC, monitorar uma porta, levar uma forma de onda a um endpoint. OSC |
| MQTT | Conectar a um broker, ver todos os tópicos que ele guarda, publicar e limpar valores retidos. MQTT |
| Broadcast | Enviar para muitos hosts ao mesmo tempo — uma lista, broadcast, multicast, uma varredura de sub-rede — e escutar quem responde. Broadcast e descoberta |
| HTTP | Uma requisição e a resposta inteira, depois uma rajada de carga contra o mesmo endpoint. HTTP |
| WebSocket | Conectar a um serviço WebSocket, enviar texto ou bytes, ler cada mensagem. WebSocket |
| Degradação | Um retransmissor que degrada o tráfego UDP ou TCP entre um cliente e seu destino. Degradação |
| Tempestade | Carga UDP ou TCP bruta contra os seus próprios servidores e enlaces. Tempestade |
| Scanner | Quais portas TCP de um host estão abertas, com o que o serviço diz primeiro. Scanner |
A barra lateral começa como um trilho estreito com o símbolo e um nome curto de cada tela; passe o ponteiro sobre um para ver o nome completo. O ☰ à esquerda do cabeçalho (Expandir navegação / Recolher navegação) alterna entre o trilho e a lista completa, e o Signal Lab lembra qual você escolheu.
Um número na entrada de uma tela conta as tarefas em execução a partir dela, como um monitor ou um emulador, para que você veja o que ainda está rodando sem abri-la. No pé da barra lateral, a versão abre a janela Sobre, e a linha abaixo dela conta todas as tarefas em execução.
O Signal Lab abre na última tela que você usou.
O cabeçalho
Da esquerda para a direita:
| Item | O que faz |
|---|---|
| ☰ | Mostra a barra lateral como trilho ou como lista completa. |
| O host | host e depois o nome e o endereço de rede do computador em que o motor roda: este, no aplicativo de desktop; o servidor, no navegador. No navegador também aparece Servidor — passe o ponteiro sobre ele para ver onde o servidor guarda seus arquivos —, e o ponto ao lado muda quando a página perde a conexão. |
| O botão de atualização | Aparece no aplicativo de desktop quando uma versão mais nova foi encontrada e abre a janela Sobre para instalá-la. Veja Atualizações. |
| O livro | Documentação: esta documentação, na página da tela em que você está. F1 faz o mesmo de qualquer lugar. |
| ✉ | Escrever aos desenvolvedores: uma mensagem para os desenvolvedores. Veja Escrever aos desenvolvedores. |
| ? | Sobre o Signal Lab: a versão, quem faz o Signal Lab, como falar com eles e as atualizações. |
| A bandeira | Idioma: o idioma da interface. Veja Idiomas. |
| Sair | No navegador, quando o servidor pede um token de acesso: encerra a sessão deste navegador. |
| Parar tudo | Para de uma vez todas as tarefas em execução: monitores, geradores, beacons, emuladores, retransmissores, tempestades, varreduras, execuções. Fica acinzentado enquanto nada está rodando. |
A documentação
A documentação vem embutida no aplicativo e no servidor, então está disponível sem conexão com a internet, no idioma da interface. O aplicativo de desktop a mostra em uma janela própria — pressionar o botão de novo a partir de outra tela leva essa janela à página da outra tela — e envia ao seu navegador os links que saem da documentação. No navegador, ela abre em uma aba própria. A janela Sobre também tem um botão Documentação, que abre O que é o Signal Lab.
Sobre
A janela Sobre mostra a versão, o desenvolvedor, o endereço de contato (com um botão que o copia), o código-fonte e a licença. No aplicativo de desktop, a seção Atualizações dela procura, mostra e instala atualizações — veja Atualizações. No navegador, ela diz Um servidor se atualiza com a sua imagem. O botão Escrever aos desenvolvedores abre o formulário de comentários.
Escrever aos desenvolvedores
O ✉ do cabeçalho abre um formulário que vai direto para os desenvolvedores:
| Campo | O que colocar ali |
|---|---|
| Mensagem | O que aconteceu e o que você esperava no lugar. Obrigatório; no máximo 20.000 caracteres. |
| Seu e-mail para a resposta | Opcional: onde os desenvolvedores podem responder a você. Só eles o veem. |
| Capturas de tela | Até 6 imagens (PNG, JPEG, WebP ou GIF), 8 MB cada e 15 MB ao todo. Cole uma com Ctrl+V, solte arquivos na janela ou pressione Anexar uma captura de tela. |
| Anexados automaticamente | As linhas do console e Versão e sistema, cada um anexado como arquivo próprio. O botão Mostrar mostra exatamente o que é enviado; desmarque qualquer um deles para deixá-lo de fora. |
Os logs anexados deixam de fora o nome deste computador, o endereço de rede dele e os nomes nos caminhos das suas pastas. Ctrl+Enter envia o formulário; quando ele sai, você recebe um número de referência, que o console também guarda. A mensagem passa pelo serviço do próprio estúdio, que a encaminha por e-mail; o aplicativo não guarda senha nenhuma para isso.
O painel inferior
O painel abaixo de cada tela tem duas abas, Console e Inspetor, e, entre elas e os botões do painel, a faixa das tarefas em execução.
- A seta à esquerda dele (Recolher console / Expandir console) recolhe o painel até a barra dele ou o abre de novo. Recolhida, a barra continua mostrando a linha mais recente do console; clique nessa linha para abrir o painel.
- Arraste a borda superior do painel para deixá-lo mais alto ou mais baixo (veja Redimensionar painéis).
- O botão à direita dele o deixa Da altura da janela e o traz de volta (Voltar à altura anterior).
Se o painel está aberto, qual aba ele mostra e qual a altura dele ficam guardados para a próxima vez.
O console
O console diz o que cada ferramenta fez e o que deu errado, com o mais recente por último: uma mensagem enviada e o tamanho dela, um monitor iniciado, o status e o tempo de uma resposta, uma tarefa que terminou e por quê. Cada linha tem a hora (até o milissegundo), uma etiqueta com o nome da ferramenta e a mensagem, colorida conforme o que ela é — concluído, informação, aviso ou erro.
- A opção rolagem automática mantém a linha mais recente à vista à medida que as linhas chegam; desmarque para ler o que veio antes enquanto chegam mais.
- O botão Limpar o esvazia.
- Ele guarda as últimas 500 linhas.
- Trocar o idioma reescreve o console inteiro no novo idioma.
Tarefas
Cada tarefa em execução — um monitor, um gerador, um beacon, uma conexão com um broker, um emulador, um retransmissor, uma tempestade, uma varredura, a execução de um experimento — tem uma pílula na faixa com o número dela e o que ela é, e um botão próprio para pará-la. Sem nada rodando, a faixa diz nenhuma tarefa ativa. Veja Tarefas.
A aba Inspetor
A aba Inspetor mostra cada quadro que as ferramentas enviam e recebem enquanto a captura está ativa, ao lado da tela em que você estiver trabalhando. O ponto dela acende enquanto a captura está ativa, e um número conta os quadros capturados. O painel abre alto o suficiente para a lista do Inspetor e os detalhes de um quadro; um link para um quadro em outro lugar — na linha do tempo de uma execução ou na lista de um emulador — abre esta aba nesse quadro. Depois de aberto, o Inspetor mantém a lista e a seleção enquanto o painel está fechado. Como usá-lo: Inspetor.
Enviar um sinal de qualquer lugar
Pressione Ctrl+K em qualquer tela para abrir a paleta Enviar um sinal: digite algumas letras do nome, da pasta ou do destino de um sinal, escolha com ↑ e ↓ e pressione Enter para enviá-lo. A paleta lista até 12 sinais por vez. Esc, um clique fora dela ou Ctrl+K de novo a fecham. O console diz o que foi enviado e para onde. Veja Sinais.
Redimensionar painéis
Uma alça fina fica entre os painéis que você pode redimensionar: a borda superior do painel inferior (Altura do console) e, na tela de experimentos, a borda das propriedades (Largura das propriedades) e o topo da linha do tempo da execução (Altura da linha do tempo).
- Arraste a alça.
- Ou dê foco a ela com Tab e use as setas: cada toque a move 16 pixels, quatro vezes mais com Shift; Home e End levam ao menor e ao maior tamanho.
- Clique duas vezes nela, ou pressione Enter sobre ela, para devolver ao painel o tamanho padrão.
Os tamanhos ficam guardados para a próxima vez.
Dicas
As telas mostram rótulos, valores e estados, e guardam as explicações em dicas: o que um campo espera, o que 0 significa ali, qual tecla faz o mesmo. Uma dica aparece quando você deixa o ponteiro sobre algo por cerca de meio segundo, e imediatamente quando chega a ele pelo teclado; um campo mostra a dica do seu rótulo. Esc, digitar, um clique ou a rolagem a escondem. Os leitores de tela leem o mesmo texto.
As mensagens de erro dizem onde e o que deu errado, e por quê; o texto do próprio sistema fica recolhido em Detalhes técnicos.
As telas guardam o estado
Uma tela abre na primeira vez que você a visita e depois permanece como está enquanto você trabalha em outra: o que você digitou, a última resposta, a lista de mensagens de um monitor e a tarefa por trás dela, até a posição de rolagem — tudo está lá quando você volta. Uma tarefa em execução continua, seja qual for a tela que você estiver olhando.
Alguns valores também são guardados entre reinícios: a mensagem OSC que você estava enviando, a requisição HTTP, o endereço WebSocket, os tamanhos dos painéis, a tela em que você estava.
O aviso do firewall
O Firewall do Windows Defender decide, programa por programa, se outras máquinas podem alcançá-lo. Na primeira vez que um programa escuta, o Windows pergunta a quem está diante da tela — e um Cancelar ali, ou uma rede que o Windows considera pública, descarta em silêncio tudo o que outras máquinas enviarem. Um monitor que não mostra nada é o sinal de costume.
Por isso, no aplicativo de desktop no Windows, na primeira vez que algo começa a escutar — um monitor OSC, o ouvinte de descoberta, um retransmissor de degradação, um emulador ou a execução de um experimento —, o Signal Lab consulta o firewall uma vez. Quando o firewall está no caminho, um aviso abaixo do cabeçalho diz isso:
- O botão Permitir pede direitos de administrador com o próprio aviso do Windows e depois deixa outras máquinas alcançarem o Signal Lab em redes privadas e de domínio.
- Em uma rede que o Windows chama de pública — o Wi-Fi de um local de evento, muitas vezes —, o botão passa a ser Permitir, também em redes públicas.
- O botão Agora não esconde o aviso nesta sessão.
Permitir substitui as regras de entrada do firewall do Signal Lab por uma única regra que permite. O tráfego dentro deste computador (127.0.0.1) nunca é afetado, então você pode ignorar o aviso enquanto trabalha em loopback. Uma instalação para todos já tem a regra; veja O que o instalador acrescenta. signallab doctor informa o mesmo em um terminal, e signallab firewall allow resolve ali — veja A linha de comando. Não há aviso no Linux nem no navegador: o firewall de um servidor é assunto do administrador dele.
No navegador
A página de um servidor é a mesma interface, com algumas diferenças:
- O host no cabeçalho dá o nome do servidor, com Servidor ao lado.
- Se o servidor pede um token de acesso, você entra uma vez, e Sair no cabeçalho encerra a sessão.
- Se a página perde a conexão com o servidor, uma barra diz Conexão com o servidor perdida — reconectando… até que ela volte; o console registra as duas coisas.
- Relatórios de execução, exportações e capturas do Inspetor são baixados pelo navegador em vez de aparecerem como um caminho.
- A janela Sobre não tem atualizações: o servidor é atualizado com a sua imagem.
Tudo o que a página de um servidor faz acontece no servidor: o tráfego sai dele, os monitores escutam nas portas dele, os arquivos vão para a pasta de dados dele. Veja Conceitos.
Idiomas
A bandeira no cabeçalho mostra o idioma atual e as duas letras dele. Clique nela para abrir a lista de todos os idiomas, cada um com a sua bandeira e o seu próprio nome, e escolha um. Na lista, ↑, ↓, Home e End movem a seleção, uma letra salta para o próximo idioma que começa com ela — no nome próprio dele ou em inglês, então g encontra Deutsch —, Enter escolhe e Esc fecha a lista.
A interface muda na hora, sem reiniciar: todas as telas, dicas e erros, e também as linhas anteriores do console. Na primeira vez que o Signal Lab inicia, ele escolhe o primeiro dos idiomas do seu sistema que ele tem, ou o inglês, e daí em diante mantém a sua escolha — no navegador, para aquele navegador.
O árabe vira a janela inteira da direita para a esquerda. O que é dado continua da esquerda para a direita, como está escrito: endereços, dumps hexadecimais, código e o canvas do experimento.