
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
platonicsvg
Advanced tools
platonicSVG is a simple custom element which shows a spinning Platonic Solid as SVG. You can control which solid to show (Tetrahedron ~ Icosahedron), spinning direction and speed, or color of the faces and strokes by changing element's attributes.
When you are using node
npm install platonicsvg
or
yarn add platonicsvg
When load from html directly, hosting yourself,
<script src="./yourhost/platonicsvg.js" type="text/javascript" charset="utf-8" async defer></script>
Very simple. Just put the tag like a regular HTML element wherever you like.
<div>
<platonic-svg></platonic-svg>
</div>
With setting attributes, you can control the SVG's behavior as below.
<platonic-spinner id="mySolid"
solid=dodecahedron
width=128
height=128
edge-color=#3c3c3c
edge-width=1px
face-color=rgba(32,32,128,0.6)
dx=2
dy=0
dz=1
></platonic-spinner>
With solid attribute, you can specify which solid to show.
Specify a number of faces (means using integer) is also OK.
4, tetra, tetrahedron, simplex => Tetrahedron.6, hexa, hexahedron, cube => Hexahedron.8, octa, octahedron => Octahedron.12, dodeca,dodecahedron => Dodecahedron.20, icosa, icosahedron => Icosahedron.Here is the table of rest of attributes you can control.
| Attribute Name | Description | Value Type | Default Value |
|---|---|---|---|
| width | width of the SVG frame containing a solid | integer | 256 |
| height | height of the SVG frame containing a solid | integer | 256 |
| back-color | SVG frame color | CSS color | inherit |
| edge-color | Solid edge's color | CSS color | #6E777C |
| edge-width | Solid edge's width | CSS color | 1px |
| face-color | Solid face's color | CSS color | rgba(215,230,244, 0.8) |
| SVGClassName | Class Name set to SVG element | string | "platonic-svg" |
| PolyhedronFaceClassName | Class Name set to a solid's faces | string | "platonic-face" |
| dx | x component of a spinning vector | integer | 1 |
| dy | y component of a spinning vector | integer | 1 |
| dz | z component of a spinning vector | integer | 0 |
| fps | frame per sec of spinning | integer | 40 |
| progress-max | same as "max" attribute of a progress tag | integer | 100 |
| progress-value | same as "value" attribute of a progress tag | integer | null |
| progressed-face-color | Solid face's color which represents progressed part | CSS color | rgba(0,0,0,0.6) |
platonicSVG expose a few utility for you.
With the current SVG specifications, each child element can't be represent "z-index" by attributes. The "z order" only achieved by an order of elements. So platonicSVG calculates "z-index" of each face-polygon from a original 3D coordinates and sort them by "z order" on every rendering process.
Note that this z value is stored as a property of each polygon object value, not in tag's attribute.
Internally, z axis projection is used.
Thus platonicSVG has "z order", you can do :hover stuff just put your own style sheet.
When do that, don't forget to put !important on the style because each polygon has its own inline style by default.
.platonic-face:hover{
fill: #454C50 !important;
}
By updating "progress-value" attribute, you can do slimilar thing to progress tag.It changes face color.
You can control the color by "progressed-face-color" attribute or set style to .progressed. Will collide to other style name? just using platonic-svg > progressed. Remember that you can change platonic-svg by setting "SVGClassName" attribute.
FAQs
Simple Platon Solid SVG for browsers implemented with WebComponent.
We found that platonicsvg demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.