bbcmicrobit / bbcmicrobit/PythonEditor

blocks: how to handle 'undocked' blocks

Aberta
#43 5 comentários 1 reação 0 responsáveis Ver no GitHub
Linguagem predominante
JavaScript
Estrelas
201
Forks
126
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

(this is a complex one that I think needs some discussion - opening this issue as a place for that)

At the moment in blocks, as far as I can see, any block on the canvas will cause code to be generated and likely run. There aren't 'hats' or 'events', not even an 'on start' one.

This can cause a few possible issues.
For one, it's fundamentally different to scratch
![image](https://cloud.githubusercontent.com/assets/147113/23949163/173bc202-097e-11e7-83be-5256ff6149d7.png)
In this case, the 'hmm' will never happen.
The *difference* is not in itself a reason to change, but In the past we've seen kids use 'undocking' blocks as a way to 'comment them out' (IE you build a complex set of blocks and then 'undock' them in order to stop them running. This is one good reason to think about how things work.

(it's also different from PXT, too)

Secondly, it can create some confusing things on canvas if your project has grown and then shrunk again.

For example, someone who knows how to code will easily spot the issue here:
![image](https://cloud.githubusercontent.com/assets/147113/23949380/e751dbc0-097e-11e7-8773-0b2b5c51fefa.png)
...but for someone who is only focused on the blocks this could be really confusing. This is a slightly artificial example, but I think the problem in general is real, especially given the lack of clear notification that things are not currently visible, etc. (see in part #42 )

Note that PXT removed 'hats' early on in development and decided to add them back. There's a good discussion about that here:
https://github.com/Microsoft/pxt/issues/849

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece lendo a discussão nesta issue, especialmente os exemplos de blocos desacoplados, e depois revise a issue #42 e a issue #849 do PXT referenciada. É necessário definir um comportamento acordado para os blocos desacoplados nesta issue antes que a implementação possa começar; os critérios de conclusão não estão definidos aqui.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
javascript
Domínio
frontend
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.