Skip to content

Refine some icons based on feedback - #85450

Open
jasmussen wants to merge 4 commits into
trunkfrom
update/refine-icons
Open

jasmussen wants to merge 4 commits into
trunkfrom
update/refine-icons

Conversation

@jasmussen

Copy link
Copy Markdown
Contributor

What?

Closes #81274.

Followup to last feedback there on some of the icons for clarity and legibility, here's a simple before and after:

image

Observe this also updates the post type asterisk to match the one in #85442.

Noting also that I updated the recent "termCount" to the new number 2 that was larger. Previously:

Skærmbillede 2026-10-23 kl  11 22 38

Now:

Skærmbillede 2026-10-23 kl  11 24 39

CC: @poligilad-auto

Testing Instructions

npm run storybook:dev

@jasmussen
jasmussen requested a review from a team October 23, 2026 09:27
@jasmussen jasmussen self-assigned this Oct 23, 2026
@jasmussen jasmussen added [Type] Enhancement A suggestion for improvement. [Package] Icons /packages/icons labels Oct 23, 2026
@github-actions

github-actions Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

🤖 PR meta 🤖

Preview in WordPress Playground

🎉 Props

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: poligilad-auto <poligilad@git.wordpress.org>
Co-authored-by: cbirdsong <cbirdsong@git.wordpress.org>
Co-authored-by: annezazu <annezazu@git.wordpress.org>
Co-authored-by: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: jeryj <jeryj@git.wordpress.org>
Co-authored-by: fcoveram <fcoveram@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.


Props Bot commands

You can trigger Props Bot actions by commenting on this PR:

  • @propsbot add <username> to give props to a GitHub user. Requires write access.
  • @propsbot remove <username> to leave a user out of the props. Requires write access.
  • @propsbot refresh to refresh this list. Adding the props-bot label works too.

Updated as activity occurs, without notifying anyone named here. Add the props-bot label to refresh.

⚡ Performance

Show the results

Client side metrics exclude the server response time.

front-end-block-theme

Metric 9ef72fc trunk % Change
timeToFirstByte 54.5 ms +4.86% -2.48% 55.65 ms +21.29% -2.16% -2.07%
largestContentfulPaint 92 ms +6.52% -4.35% 94 ms +10.64% -6.38% -2.13%
lcpMinusTtfb 35.9 ms +17.27% -1.81% 34.75 ms +12.66% -3.88% 3.31%
wpBeforeTemplate 28.77 ms +9.25% -0.59% 30.05 ms +18.6% -3.83% -4.26%
wpTemplate 21.15 ms +6.1% -4.07% 21.74 ms +7.96% -3.96% -2.71%
wpTotal 50.77 ms +4.96% -2.7% 52.09 ms +20.25% -2.21% -2.53%
wpMemoryUsage 7.70 MB +0% -0% 7.67 MB +0% -0% 0.43%
wpDbQueries 16 +0% -0% 16 +0% -0% 0%

front-end-classic-theme

Metric 9ef72fc trunk % Change
timeToFirstByte 45.9 ms +9.59% -1.2% 42.5 ms +6.35% -1.29% 8%
largestContentfulPaint 102 ms +5.88% -1.96% 92 ms +0% -4.35% 10.87%
lcpMinusTtfb 54.95 ms +5.91% -0.64% 48 ms +3.65% -4.06% 14.48%
wpBeforeTemplate 26.77 ms +1.87% -2.2% 27.1 ms +1.66% -1.18% -1.22%
wpTemplate 16.26 ms +3.14% -2.4% 12.55 ms +5.02% -2.15% 29.56%
wpTotal 42.96 ms +8.19% -1.65% 39.57 ms +6.27% -0.94% 8.57%
wpMemoryUsage 6.39 MB +0% -0% 6.25 MB +0% -0% 2.33%
wpDbQueries 13 +0% -0% 9 +0% -0% 44.44%

media-processing

Metric 9ef72fc trunk % Change
mediaProcessingJpeg 403.98 ms +2.45% -1.64% 409.35 ms +0.43% -0.83% -1.31%
mediaProcessingAvif 6120.74 ms +0.25% -0.25% 6100.19 ms +0.29% -0.12% 0.34%
mediaProcessingJpegToAvif 4233.54 ms +0.17% -0.27% 4229.5 ms +0.09% -0.45% 0.1%

media-upload

Metric 9ef72fc trunk % Change
jpegUploadProcessing 1459.03 ms +0.58% -2.07% 1432.89 ms +0.59% -1.26% 1.82%
pngUploadProcessing 217.52 ms +11.3% -19.36% 215.25 ms +11.84% -16.8% 1.05%
largeJpegUploadProcessing 1423.28 ms +0.94% -0.2% 1426.84 ms +1.49% -0.6% -0.25%
multipleImageUploadProcessing 1511.99 ms +2.47% -0.75% 1499.62 ms +2.45% -1.24% 0.82%

post-editor

Metric 9ef72fc trunk % Change
serverResponse 329.49 ms +3.16% -9.72% 339.18 ms +1.64% -5.2% -2.86%
firstPaint 370.98 ms +11.14% -46.36% 383.3 ms +4.76% -39.32% -3.21%
domContentLoaded 685.09 ms +2.62% -5.67% 678.65 ms +1.88% -0.91% 0.95%
loaded 686.23 ms +2.57% -5.66% 679.77 ms +1.84% -0.92% 0.95%
firstContentfulPaint 404.97 ms +2.15% -14.27% 402.85 ms +3.79% -0.65% 0.53%
firstBlock 2303.18 ms +2.46% -1.38% 2302.13 ms +2.33% -0.92% 0.05%
type 15.82 ms +10.56% -1.58% 15.58 ms +6.29% -3.66% 1.54%
typeWithoutInspector 15.85 ms +2.97% -2.33% 15.23 ms +7.03% -3.55% 4.07%
typeWithTopToolbar 20.37 ms +4.71% -4.86% 19.44 ms +8.95% -5.71% 4.78%
typeContainer 6.85 ms +11.53% -7.74% 6.71 ms +4.62% -2.53% 2.09%
focus 90.42 ms +8.47% -2.76% 90.58 ms +8.31% -3.21% -0.18%
firstFocus 200.69 ms +0% -0% 179.73 ms +0% -0% 11.66%
selectAll 361.59 ms +11.69% -0.79% 366.58 ms +0.94% -3.71% -1.36%
listViewOpen 60.63 ms +3.65% -2.06% 56.28 ms +7.69% -5.1% 7.73%
inserterOpen 33.39 ms +8.36% -8.03% 33.15 ms +4.1% -4.1% 0.72%
inserterHover 9.78 ms +11.04% -7.16% 9.39 ms +6.82% -10.33% 4.15%
inserterSearch 6.66 ms +7.81% -1.8% 6.97 ms +10.33% -2.58% -4.45%
loadPatterns 511.73 ms +2.15% -2.21% 509.13 ms +8.71% -1.53% 0.51%
wpTotal 321.11 ms +3.12% -9.94% 330.59 ms +1.36% -5.27% -2.87%
wpMemoryUsage 14.75 MB +0% -0% 14.72 MB +0% -0% 0.24%
wpDbQueries 55 +0% -0% 55 +0% -0% 0%

site-editor

Metric 9ef72fc trunk % Change
serverResponse 474.55 ms +6.12% -6.2% 419.11 ms +3.07% -6.49% 13.23%
firstPaint 309.86 ms +5.9% -6.27% 274.8 ms +12.18% -11.34% 12.76%
domContentLoaded 1033.92 ms +2.28% -1.48% 956.04 ms +2.26% -1.7% 8.15%
loaded 1035.69 ms +2.25% -1.53% 957.31 ms +2.27% -1.7% 8.19%
firstContentfulPaint 581.23 ms +3.46% -6.12% 533.44 ms +6.75% -4.56% 8.96%
firstBlock 4645.5 ms +4.31% -5.32% 4125.3 ms +0.93% -0.82% 12.61%
type 21.88 ms +8.32% -6.76% 21.76 ms +3.08% -4.14% 0.55%
navigate 128.45 ms +12.45% -6.9% 122.21 ms +12.97% -0.1% 5.11%
loadPatterns 1282.48 ms +20.86% -9.89% 1406.76 ms +7.54% -3.88% -8.83%
loadPages 1037.24 ms +4.32% -2.57% 979.74 ms +3.62% -2.7% 5.87%
wpTotal 463.36 ms +6.36% -6.18% 408.69 ms +3.13% -6.7% 13.38%
wpMemoryUsage 12.77 MB +0% -0% 12.74 MB +0% -0% 0.24%
wpDbQueries 44 +0% -0% 44 +2.27% -0% 0%

383a4a5 Run

🏁 Flaky tests

Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

As a user I want to be able to add multiple close buttons so that users can close the overlay from different positions in /test/e2e/specs/site-editor/navigation-overlay-template-part.spec.js, passed after 1 failed attempt.
Error: expect(locator).toHaveCount(expected) failed

Locator:  getByRole('button', { name: 'Close' })
Expected: 2
Received: 1
Timeout:  5000ms

Call log:
  - Expect "toHaveCount" getByRole('button', { name: 'Close' }) with timeout 5000ms
  - waiting for getByRole('button', { name: 'Close' })
    14 × locator resolved to 1 element
       - unexpected value "1"

    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/site-editor/navigation-overlay-template-part.spec.js:228:33
Backspace in /test/e2e/specs/editor/blocks/list.spec.js, passed after 1 failed attempt.
Error: expect(received).toMatchObject(expected)

- Expected  -  5
+ Received  + 11

@@ -1,25 +1,31 @@
  Array [
    Object {
      "innerBlocks": Array [
        Object {
          "attributes": Object {
-           "content": "1",
+           "content": "1‸a",
          },
-         "innerBlocks": Array [
+         "innerBlocks": Array [],
+         "name": "core/list-item",
+       },
        Object {
+         "attributes": Object {
+           "content": "2",
+         },
          "innerBlocks": Array [
            Object {
              "attributes": Object {
-                   "content": "a‸2",
+               "ordered": false,
+               "values": "",
              },
-                 "name": "core/list-item",
-               },
+             "innerBlocks": Array [
                Object {
                  "attributes": Object {
                    "content": "b",
                  },
+                 "innerBlocks": Array [],
                  "name": "core/list-item",
                },
              ],
              "name": "core/list",
            },

Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/blocks/list.spec.js:2041:42
Undo restores the post selection when another synced entity is loaded (RTC WebSocket) in /test/e2e/specs/editor/collaboration/collaboration-undo-redo.spec.ts, passed after 1 failed attempt.
Error: expect(received).toMatchObject(expected)

- Expected  - 2
+ Received  + 2

  Object {
    "attributeKey": "content",
    "blockIndex": 0,
    "content": "abcdef",
-   "endOffset": 3,
-   "offset": 3,
+   "endOffset": 6,
+   "offset": 6,
  }

Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/collaboration/collaboration-undo-redo.spec.ts:363:5
should be preserved on first navigation without `data-wp-key` in /test/e2e/specs/interactivity/router-regions.spec.ts, passed after 1 failed attempt.
Error: apiRequestContext.fetch: socket hang up
Call log:
  - → DELETE http://localhost:8891/wp-json/wp/v2/posts/226?force=true
    - user-agent: Playwright/1.63.0 (x64; ubuntu 24.04) node/24.20 CI/1
    - accept: */*
    - accept-encoding: gzip,deflate,br
    - X-WP-Nonce: 0cd100e1d6
    - cookie: wordpress_test_cookie=WP%20Cookie%20check; wordpress_logged_in_da433b7faafd8180ebeb1624ceeeab7e=admin%7C1793279629%7CjKXdeY3AajUf4h0NusVfqP4QjALvjVaQRRs0cJxgK2p%7C73c3e2c266cc5f26cd1842660fddb912bbc71755f33c585416a476e90f814ef2; wp-settings-time-1=1793107275

    at RequestUtils.rest (/home/runner/work/gutenberg/gutenberg/packages/e2e-test-utils-playwright/src/request-utils/rest.ts:111:39)
    at map (/home/runner/work/gutenberg/gutenberg/packages/e2e-test-utils-playwright/src/request-utils/posts.ts:44:9)
    at RequestUtils.deleteAllPosts (/home/runner/work/gutenberg/gutenberg/packages/e2e-test-utils-playwright/src/request-utils/posts.ts:43:9)
    at InteractivityUtils.deleteAllPosts (/home/runner/work/gutenberg/gutenberg/test/e2e/specs/interactivity/fixtures/interactivity-utils.ts:91:3)
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/interactivity/router-regions.spec.ts:96:3
should cut and paste individual blocks with collapsed selection in /test/e2e/specs/editor/various/copy-cut-paste.spec.js, passed after 1 failed attempt.
Error: expect(string).toMatchSnapshot(expected) failed

  @@ -1,3 +1,3 @@
   <!-- wp:paragraph -->
  -<p>2Cut - collapsed selection</p>
  +<p>2</p>
   <!-- /wp:paragraph -->


    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/various/copy-cut-paste.spec.js:45:49
should format text across blocks in /test/e2e/specs/editor/various/multi-block-selection.spec.js, passed after 1 failed attempt.
Error: expect(received).toMatchObject(expected)

- Expected  - 1
+ Received  + 1

@@ -1,9 +1,9 @@
  Array [
    Object {
      "attributes": Object {
-       "content": "ab",
+       "content": "b",
      },
      "name": "core/paragraph",
    },
    Object {
      "attributes": Object {

Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/various/multi-block-selection.spec.js:2219:41
should insert a line break on shift+enter in a non trailing list item in /test/e2e/specs/editor/blocks/list.spec.js, passed after 1 failed attempt.
Error: expect(received).toBe(expected) // Object.is equality

- Expected  - 10
+ Received  + 10

  <!-- wp:list -->
  <ul class="wp-block-list"><!-- wp:list-item -->
- <li>a</li>
+ <li></li>
- <!-- /wp:list-item -->
-
+ <!-- /wp:list-item --></ul>
- <!-- wp:list-item -->
+ <!-- /wp:list -->
+
+ <!-- wp:paragraph -->
- <li>b<br></li>
+ <p>b<br></p>
- <!-- /wp:list-item -->
+ <!-- /wp:paragraph -->

- <!-- wp:list-item -->
+ <!-- wp:paragraph -->
- <li>c</li>
+ <p>c</p>
- <!-- /wp:list-item --></ul>
- <!-- /wp:list -->
+ <!-- /wp:paragraph -->

Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/blocks/list.spec.js:1233:52
should keep a full selection when outdenting nested items with Shift+Tab in /test/e2e/specs/editor/blocks/list.spec.js, passed after 1 failed attempt.
TimeoutError: locator.click: Timeout 10000ms exceeded.
Call log:
  - waiting for locator('role=toolbar[name="Block tools"i]').locator('role=button[name="Indent"]')

    at Editor.clickBlockToolbarButton (/home/runner/work/gutenberg/gutenberg/packages/e2e-test-utils-playwright/src/editor/click-block-toolbar-button.ts:17:15)
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/blocks/list.spec.js:1166:3
should keep the list type when indenting an ordered list item in /test/e2e/specs/editor/blocks/list.spec.js, passed after 1 failed attempt.
Error: expect(received).toBe(expected) // Object.is equality

- Expected  - 1
+ Received  + 1

@@ -1,8 +1,8 @@
  <!-- wp:list {"ordered":true} -->
  <ol class="wp-block-list"><!-- wp:list-item -->
- <li>one<!-- wp:list {"ordered":true} -->
+ <li>e<!-- wp:list {"ordered":true} -->
  <ol class="wp-block-list"><!-- wp:list-item -->
  <li>two</li>
  <!-- /wp:list-item --></ol>
  <!-- /wp:list --></li>
  <!-- /wp:list-item --></ol>

Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/blocks/list.spec.js:916:52
should merge a following sibling list into the outermost list with Delete from a nested item (#77245) in /test/e2e/specs/editor/blocks/list.spec.js, passed after 1 failed attempt.
Error: expect(received).toMatchObject(expected)

- Expected  - 2
+ Received  + 2

@@ -8,11 +8,11 @@
          "innerBlocks": Array [
            Object {
              "innerBlocks": Array [
                Object {
                  "attributes": Object {
-                   "content": "b‸",
+                   "content": "b",
                  },
                  "name": "core/list-item",
                },
              ],
              "name": "core/list",
@@ -25,11 +25,11 @@
    },
    Object {
      "innerBlocks": Array [
        Object {
          "attributes": Object {
-           "content": "1",
+           "content": "‸1",
          },
          "innerBlocks": Array [
            Object {
              "innerBlocks": Array [
                Object {

Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/blocks/list.spec.js:2854:41
should mirror the suggestions list reference onto the editing host in /test/e2e/specs/editor/various/autocomplete-and-mentions.spec.js, passed after 2 failed attempts.
Error: apiRequestContext.fetch: socket hang up
Call log:
  - → GET http://localhost:8889/wp-json/wp/v2/users?per_page=100
    - user-agent: Playwright/1.63.0 (x64; ubuntu 24.04) node/24.20 CI/1
    - accept: */*
    - accept-encoding: gzip,deflate,br
    - X-WP-Nonce: dba8c61261
    - cookie: wordpress_test_cookie=WP%20Cookie%20check; wordpress_logged_in_23778236db82f19306f247e20a353a99=admin%7C1793279471%7Cq6Dm1VWO3eCF8FEePCLM1VqPEIUksYP95k17wMR4zjf%7Caa7993a1574ce364f226b70a949525f87b071ff747b9c0267aab6be99313691e; wp-settings-time-1=1793107026

    at RequestUtils.rest (/home/runner/work/gutenberg/gutenberg/packages/e2e-test-utils-playwright/src/request-utils/rest.ts:111:39)
    at RequestUtils.listUsers (/home/runner/work/gutenberg/gutenberg/packages/e2e-test-utils-playwright/src/request-utils/users.ts:34:30)
    at RequestUtils.deleteAllUsers (/home/runner/work/gutenberg/gutenberg/packages/e2e-test-utils-playwright/src/request-utils/users.ts:106:44)
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/various/autocomplete-and-mentions.spec.js:73:22

should undo without broken temporary state in /test/e2e/specs/editor/blocks/image.spec.js, passed after 1 failed attempt.
Error: expect(received).toBe(expected) // Object.is equality

- Expected  - 2
+ Received  + 2

- <!-- wp:image -->
- <figure class="wp-block-image"><img alt=""/></figure>
+ <!-- wp:image {"id":20,"sizeSlug":"full","linkDestination":"none"} -->
+ <figure class="wp-block-image size-full"><img src="http://localhost:8889/wp-content/uploads/2026/10/b59ab96f-d60d-42b6-98de-1ab2d49ddc25.png" alt="" class="wp-image-20"/></figure>
  <!-- /wp:image -->
    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/editor/blocks/image.spec.js:306:49
should update the URL from the last navigation if only varies in the URL fragment in /test/e2e/specs/interactivity/router-navigate.spec.ts, passed after 1 failed attempt.
Error: expect(locator).toHaveText(expected) failed

Locator:  getByTestId('title')
Expected: "Link 1"
Received: "Main"
Timeout:  5000ms

Call log:
  - Expect "toHaveText" getByTestId('title') with timeout 5000ms
  - waiting for getByTestId('title')
    14 × locator resolved to <h2 data-testid="title">Main</h2>
       - unexpected value "Main"

    at /home/runner/work/gutenberg/gutenberg/test/e2e/specs/interactivity/router-navigate.spec.ts:160:25

383a4a5 Run

@poligilad-auto

Copy link
Copy Markdown
Contributor

Love these visual improvements 💖 looks much clearer

@jasmussen
jasmussen force-pushed the update/refine-icons branch from f56fda4 to 38bede0 Compare October 26, 2026 08:32
@jasmussen
jasmussen force-pushed the update/refine-icons branch from 38bede0 to 9ab8e02 Compare October 27, 2026 11:16
@jasmussen

Copy link
Copy Markdown
Contributor Author

Thanks. Would love a ✅

Co-authored-by: t-hamano <54422211+t-hamano@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011g9URxVme7MjtuG8hoUPea
@t-hamano
t-hamano requested a review from fabiankaegy as a code owner October 27, 2026 11:25
@github-actions github-actions Bot added the [Package] Block library /packages/block-library label Oct 27, 2026

@t-hamano t-hamano left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I fixed the unit test failures. Also, the AI pointed out an issue regarding the SVG data, but I am not sure if it is correct.

@@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="fill: none" stroke="currentColor" stroke-width="1.5">
<path d="M8 12V8M8 4V8M8 8H12M8 8H4M8 8L10.8284 10.8284M8 8L5.17157 5.17157M8 8L10.8284 5.17157M8 8L5.17157 10.8284M4 15H20M4 19H13" />
<path d="M4 15H20M4 19H13M8 12V8.00001M8 8.00001V7.99999M8 8.00001L11.4641 10M8 8.00001L7.99999 8M8 7.99999V4M8 7.99999L11.4641 6M8 7.99999L7.99999 8M7.99999 8L4.53589 6M7.99999 8L4.53589 10" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This path contains near-zero-length segments left over from the export (V8.00001, V7.99999, L7.99999 8, etc.). Since each spoke passes through the center, it can be drawn as three straight lines with the same result:

Suggested change
<path d="M4 15H20M4 19H13M8 12V8.00001M8 8.00001V7.99999M8 8.00001L11.4641 10M8 8.00001L7.99999 8M8 7.99999V4M8 7.99999L11.4641 6M8 7.99999L7.99999 8M7.99999 8L4.53589 6M7.99999 8L4.53589 10" />
<path d="M4 15H20M4 19H13M8 4V12M4.53589 6L11.4641 10M4.53589 10L11.4641 6" />

Also, the asterisk icon from #85442 uses stroke-linecap="square", while this one keeps the default butt caps. Is that difference intentional?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question, and an aspect of refinement across the set that I'm musing on.

Endcaps means the footprint grows, sans-endcaps means only the stroke width does. In the case of the Standalone asterisk, it's intentional because it matches the optical balance of a circle, whose strokewidth would match the amount the endcap would grow. In the case of the small version, there are no endcaps on the two lines of "text" below, which means endcaps on the asterisk would imbalance things as stroke-widths changed.

I've noted a todo to ponder the endcap strategy across the set, and investigate what changes might need pushing, if any. I don't think it's a "all should have them" answer, that's part of what I need to go deep on.

Great catch, thank you. And thanks for fixing the tests.

Your other feedback is great for me to address, I'll need to dive in deep when I get a breather, thanks.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="fill: none" stroke="currentColor" stroke-width="1.5">
<path d="M4 5H20M4 9H13M17.5 13L17.3636 14.5M17.3636 14.5L17.1364 17M17.3636 14.5H15.75M17.3636 14.5H19.8636M17.1364 17L17 18.5M17.1364 17H15.5M17.1364 17H19.6364M20 13L19.8636 14.5M19.8636 14.5L19.6364 17M19.8636 14.5H21.25M19.6364 17L19.5 18.5M19.6364 17H21M6 13H12.5C13.1904 13 13.75 13.5596 13.75 14.25V18.291C13.75 18.9813 13.1904 19.541 12.5 19.541H7.76724L5.6268 21.9948C5.32306 22.343 4.75 22.1282 4.75 21.6662V19.541V14.25C4.75 13.5596 5.30964 13 6 13Z" />
<path d="M19.5 8H13C12.3096 8 11.75 8.55964 11.75 9.25V13.291C11.75 13.9813 12.3096 14.541 13 14.541H17.7328L19.8732 16.9948C20.1769 17.343 20.75 17.1282 20.75 16.6662V14.541V9.25C20.75 8.55964 20.1904 8 19.5 8Z" />
<path d="M4 8V10M4 10V13.5M4 10H2M4 10H7.5M4 13.5V15.5M4 13.5H2M4 13.5H7.5M7.5 8V10M7.5 10V13.5M7.5 10H9.5M7.5 13.5V15.5M7.5 13.5H9.5" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each stroke of the number sign is split into several end-to-end segments (M4 8V10M4 10V13.5M4 13.5V15.5 …). It can be drawn as four continuous lines with the same shape, which also avoids possible anti-aliasing seams at the split points:

Suggested change
<path d="M4 8V10M4 10V13.5M4 10H2M4 10H7.5M4 13.5V15.5M4 13.5H2M4 13.5H7.5M7.5 8V10M7.5 10V13.5M7.5 10H9.5M7.5 13.5V15.5M7.5 13.5H9.5" />
<path d="M4 8V15.5M7.5 8V15.5M2 10H9.5M2 13.5H9.5" />

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" style="fill: none" stroke="currentColor" stroke-width="1.5">
<path d="M6.28261 7.75L6.09288 9.93182M6.09288 9.93182L5.77668 13.5682M6.09288 9.93182H3.84783M6.09288 9.93182H9.57115M5.77668 13.5682L5.58696 15.75M5.77668 13.5682H3.5M5.77668 13.5682H9.25494M9.76087 7.75L9.57115 9.93182M9.57115 9.93182L9.25494 13.5682M9.57115 9.93182H11.5M9.25494 13.5682L9.06522 15.75M9.25494 13.5682H11.1522" />
<path d="M19 7.75C19 7.75 19 11.8033 19 13.0386C19 14.2739 19.1824 15 20.5 15M19 11.2941C19 9.23529 17.8235 8.41176 16.3824 8.41176C14.7905 8.41176 13.5 9.64706 13.5 11.7059C13.5 13.7647 14.7905 15 16.3824 15C17.5592 15 19 13.7647 19 12.1176" />
<path d="M6 8V10M6 10V13.5M6 10H4M6 10H9.5M6 13.5V15.5M6 13.5H4M6 13.5H9.5M9.5 8V10M9.5 10V13.5M9.5 10H11.5M9.5 13.5V15.5M9.5 13.5H11.5" />

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as in post-comments-count.svg: the number sign can be drawn as four continuous lines:

Suggested change
<path d="M6 8V10M6 10V13.5M6 10H4M6 10H9.5M6 13.5V15.5M6 13.5H4M6 13.5H9.5M9.5 8V10M9.5 10V13.5M9.5 10H11.5M9.5 13.5V15.5M9.5 13.5H11.5" />
<path d="M6 8V15.5M9.5 8V15.5M4 10H11.5M4 13.5H11.5" />

Re-export custom-post-type, word-count and post-comments-count from
Figma so each stroke is one continuous line rather than several
end-to-end pieces, addressing the review feedback on #85450.

The asterisk loses the near-zero-length segments the export left at its
centre, where the node sat at both 8.00001 and 7.99999. The two number
signs go from twelve segments to four. The drawings are unchanged:
word-count and post-comments-count render pixel for pixel as before,
and the asterisk covers the same ink.

Each line is its own path element, since Figma welds crossing strokes
into a shared node when they live in one vector object. Overlapping
elements are already the norm in the set.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@jasmussen

Copy link
Copy Markdown
Contributor Author

Your feedback on the points led me down a bit of a rabbit hole, but I think I managed to fix it. Thanks!

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Package] Block library /packages/block-library [Package] Icons /packages/icons [Type] Enhancement A suggestion for improvement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Icons: Convert to being stroke-based

4 participants