GraphiteEditor / GraphiteEditor/Graphite

Design a user-facing textual grammar for Graphene nodes and networks

Ouverte
#1,605 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Graphene
Langage dominant
Rust
Étoiles
27.2k
Forks
1.3k
Merge moyen
20 h 5 min
PR mergées (30 j)
57

Description

Currently the `CopyBufferEntry` is serialised using JSON when a user copies a layer:
```json
{
"nodes": {
"2": {
"alias": "custom alias",
"name": "Transform",
"inputs": [
{
"Node": {
"node_id": 3,
"output_index": 0,
"lambda": false
}
},
{
"Value": {
"tagged_value": {
"DVec2": [
5.049571603427239,
118.83782129742963
]
},
"exposed": false
}
},
```

However this should be changed to be in a format that looks something like:

```toml
[node parent(4) / transform(2)]
alias = "custom alias"
position = [1, 3]
vector_data = { node_id = 3, output_index = 0 }
translation = { value = [5.04, 118.8], exposed = false }
```

whereby each input is stored in snake case if it is overwritten.

Or possibly a format using the [ron](https://github.com/ron-rs/ron) grammar. This is the current line of thinking for the design.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par localiser la sérialisation actuelle de CopyBufferEntry et retracer la manière dont les calques copiés sont représentés. Comparez la grammaire proposée de type TOML avec la grammaire RON liée, notamment les références de nœuds, les entrées remplacées, les alias et les positions. La tâche est terminée lorsque le projet dispose d’une grammaire destinée aux utilisateurs qui a été arrêtée et d’une orientation documentée pour son implémentation.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust
Domaine
computer-graphics
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.