ergogen / ergogen

Ergonomic keyboard layout generator
https://ergogen.xyz
MIT License
1.14k stars 349 forks source link

Unexpected YAML properties behavior #129

Open ceoloide opened 7 months ago

ceoloide commented 7 months ago

WIth this example as context:

points:
  key.tags: [key, key_1u]
  zones:
    matrix:
      columns:
        pinky:
          rows.top.tags: [key_1_25u]
        ring:
        middle:
        index:
        inner:
      rows:
        bottom:
        home:
        top:
outlines:
  debug:
    - what: rectangle
      where: [key]
      size: 14
    - what: rectangle
      where: [key_1u]
      size: 18
      operation: stack
    - what: rectangle
      where: [key_1_25u]
      size: [22.5, 18]
      adjust:
        shift: [-2.25,0]
      operation: stack

I would expect the end result for matrix_pinky_top to either be tags: [key_1_25u] or the full list: tags: [key, key_1u, key_1_25u], but is instead tags: [key_1u, key_1_25u]:

Screenshot 2024-04-12 at 9 36 04 AM
mrzealot commented 7 months ago

As per Discord discussion: this is the correct, generic behaviour at the moment, although admittedly this is not what users would intuitively expect for tags specifically. Will consider making an exception for tags to be handled more like the string set it actually is, with + and - prefixes for setting/unsetting, when we get close to a new major (so I can "legally" break things). Leaving open for now...