Skip to content

Conversation

@Muhammad-Aqib-Bashir
Copy link
Contributor

Description

This PR adds two new icons: lens-concave and lens-convex.
These icons represent the two fundamental types of lenses used in science, education, physics tools, and optical UI representations.

Icon use case

  • lens-concave

    • Represents light divergence in physics or educational tools.
    • Useful for UI in tutoring apps, optical simulators, VR/AR calibration, or scientific diagrams.
  • lens-convex

    • Represents magnification or light convergence.
    • Suitable for UI representing magnifiers, focusing tools, camera optics, telescopes, and lab equipment.

Icon Design Checklist

Concept

  • I have provided valid use cases for each icon.
  • I have not added any brand or logo icon.
  • I have not used any hate symbols.
  • I have not included any religious, violent, or political imagery.

Author, credits & license

  • The icons are solely my own creation.

Naming

  • I've followed the naming conventions.
  • Names describe what the icons are, not their use case.
  • Meta JSON files are included at icons/lens-concave.json and icons/lens-convex.json.

Design

  • Icons follow the Lucide design guidelines.
  • Icons look sharp on low DPI displays.
  • Icons match Lucide size, optical volume, and density.
  • Icons are visually centered.
  • Icons are optimized to three points of precision.

Before Submitting

  • I've read the Contribution Guidelines.
  • I have checked for existing PRs covering the same icons.

@github-actions github-actions bot added 🎨 icon About new icons 🫧 metadata Improved metadata labels Nov 29, 2025
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

🤖 ChatGPT Tags suggestions ✨

I've asked ChatGPT for some suggestions for tags.

"jamiemlaw",
"karsa-mistmere"
],
"tags": [
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggestions for the lens-concave icon.
Try asking it your self if you want more suggestions. Open ChatGPT
Here are the suggestions:

Suggested change
"tags": [
"tags": [
"magnify",
"glass",
"tool",
"visual",

"jamiemlaw",
"karsa-mistmere"
],
"tags": [
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggestions for the lens-convex icon.
Try asking it your self if you want more suggestions. Open ChatGPT
Here are the suggestions:

Suggested change
"tags": [
"tags": [
"magnify",
"vision",
"clarity",

@github-actions
Copy link
Contributor

github-actions bot commented Nov 29, 2025

Added or changed icons

lens-concavelens-convex

Preview cohesion square-codesquare-chevron-right
lens-concavelens-convex
focusspline
Preview stroke widths lens-concavelens-convex
lens-concavelens-convex
lens-concavelens-convex
DPI Preview

16px (shadcn/ui)

lens-concave lens-convex

24px (default)

lens-concave lens-convex

32px (shadcn/ui + retina)

lens-concave lens-convex

48px (default + retina)

lens-concave lens-convex
Icon X-rays lens-concave lens-convex
Icon Diffs lens-concave lens-convex
Icons as code

Works for: lucide-react, lucide-react-native, lucide-preact, lucide-vue-next

const LensConcaveIcon = createLucideIcon('LensConcave', [
  ["path",{"d":"M7 2a1 1 0 0 0-.8 1.6 14 14 0 0 1 0 16.8A1 1 0 0 0 7 22h10a1 1 0 0 0 .8-1.6 14 14 0 0 1 0-16.8A1 1 0 0 0 17 2z"}]
])

const LensConvexIcon = createLucideIcon('LensConvex', [
  ["path",{"d":"M13.433 2a1 1 0 0 1 .824.448 18 18 0 0 1 0 19.104 1 1 0 0 1-.824.448h-2.866a1 1 0 0 1-.824-.448 18 18 0 0 1 0-19.104A1 1 0 0 1 10.567 2z"}]
])

@Muhammad-Aqib-Bashir Muhammad-Aqib-Bashir changed the title feat(icons): add lens-concave and lens-convex feat(icons): add lens-concave and lens-convex Dec 1, 2025
stroke-linejoin="round"
>
<path
d="M7 2a1 1 0 0 0-.806 1.591A14 14 0 0 1 9.012 12a13.9 13.9 0 0 1-2.807 8.393A1 1 0 0 0 7 22h10a1 1 0 0 0 .802-1.597 13.9 13.9 0 0 1-.011-16.79A1 1 0 0 0 17 2z" />
Copy link
Contributor

Choose a reason for hiding this comment

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

There's the option to make some of those path segments more mathematically precise, e.g. making the 13.9px radii of some of the arcs 14px instead.

M7 2a1 1 0 0 0-.8 1.6 14 14 0 0 1 0 16.8A1 1 0 0 0 7 22h10a1 1 0 0 0 .8-1.6 14 14 0 0 1 0-16.8A1 1 0 0 0 17 2z

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is a great optimization and it's done.👍

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

Labels

🎨 icon About new icons 🫧 metadata Improved metadata

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants