Re: [csswg-drafts] [css-box-4][css-backgrounds-4][css-shapes-1] Cleanup <*-box> definitions (#9505)

  > the fact that `<coord-box>` includes `<visual-box>` doesn't automatically make the values that are `for="<visual-box>"` also for `<coord-box>`, etc.

I think this is the way `w3c/reffy` will process it, assuming `<visual-box>` is defined for `<coord-box>` (and other productions), which I forgot to define.

<details>
  <summary>Here is the (simplified) representation of the data I expect to find in <code>w3c/webref</code>:</summary>

```json
  "values": [
    {
      "name": "box",
      "values": [
        {
          "name": "coord-box",
          "value": "<paint-box> | view-box",
          "values": [
            {
              "name": "paint-box",
              "value": "<visual-box> | fill-box | stroke-box",
              "values": [
                {
                  "name": "visual-box",
                  "value": "content-box | padding-box | border-box",
                  "values": [{ "name": "content-box" }, { "name": "padding-box" }, { "name": "border-box" }]
                },
                { "name": "fill-box" },
                { "name": "view-box" }
              ]
            }
          ]
        },
        {
          "name": "geometry-box",
          "value": "<layout-box> | fill-box | stroke-box | view-box",
          "values": [
            {
              "name": "layout-box",
              "value": "<visual-box> | margin-box",
              "values": [
                {
                  "name": "visual-box",
                  "value": "content-box | padding-box | border-box",
                  "values": [{ "name": "content-box" }, { "name": "padding-box" }, { "name": "border-box" }]
                },
                { "name": "margin-box" }
              ]
            },
            { "name": "fill-box" },
            { "name": "stroke-box" },
            { "name": "view-box" }
          ]
        },
        {
          "name": "layout-box",
          "value": "<visual-box> | margin-box",
          "values": [
            {
              "name": "visual-box",
              "value": "content-box | padding-box | border-box",
              "values": [{ "name": "content-box" }, { "name": "padding-box" }, { "name": "border-box" }],
            },
            { "name": "margin-box" }
          ]
        },
        {
          "name": "paint-box",
          "value": "<visual-box> | fill-box | stroke-box",
          "values": [
            {
              "name": "visual-box",
              "value": "content-box | padding-box | border-box",
              "values": [{ "name": "content-box" }, { "name": "padding-box" }, { "name": "border-box" }],
            },
            { "name": "fill-box" },
            { "name": "view-box" }
          ]
        },
        {
          "name": "visual-box",
          "value": "content-box | padding-box | border-box",
          "values": [{ "name": "content-box" }, { "name": "padding-box" }, { "name": "border-box" }],
        },
      ]
    },
  ]
```

</details>

Would it be ok? Cc @tidoust for a review.

Actually, I do not care about the context (namespace) of a production because I am only interested by its syntax (`value`), assuming I am right to consider it context-insensitive.

And I am not sure it is right to restrict eg. `<visual-box>` for all other `<-*box>` productions. One may think that `<visual-box>` cannot be used outside of these contexts.

I do not even need `<box>` references to be removed from CSS Box. I just need the changes in CSS Backgrounds 4 and CSS Shapes. So feel free to make whatever changes you think are appropriate.

-- 
GitHub Notification of comment by cdoublev
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/pull/9505#issuecomment-1774085427 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Sunday, 22 October 2023 12:45:18 UTC