Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

skewed

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

skewed

Generate 3D isometric SVGs

  • 0.3.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
9
increased by50%
Maintainers
1
Weekly downloads
 
Created
Source

Skewed

Skewed is a Typescript package for generating SVG of 3D graphics in real-time. It has an opionated default look and orthographic projection only camera support, isometric by default.

Use it to make simple 3D infographics, 3D web-games, or generate 3D SVG files for importing into vector editors like Figma/Illustrator (Ie. make 3D icons).

Live demo

Usage

  1. npm install skewed
  2. Reference the live demo's source code. More API examples coming soon. In the meantime

Contributing

Setup
  1. Install dependencies
    1. Node.js
    2. pnpm
  2. Clone and go into the folder
    git clone git@github.com:seflless/skewed.git
    cd skewed
    
Dev

To serve up the workbench web-page and rebuild on code changes run the following.

pnpm dev
# Open the workbench page at http://localhost:3000/
Building
pnpm build
Testing

TBD

Publishing to NPM

Do the usual npm version bump then publish.

# Make sure tests pass. `pnpm test` (we should automate this in a publish command)
pnpm build
npm version <major|minor|patch>
git push; git push --tags
npm publish
Test

Using vitest, the test are rerun whenever you change related code.

pnpm test
Watch Tests

TODO: Do we need to put in a difference command for the CLI?

Prio Art

Here are some cool existing project I found after starting this. In no particular order:

ZDog

  • Project Website
  • Github repo
  • Great article covering it: https://css-tricks.com/zdog/
  • I found this one when looking for ideas about how to light 3D spheres.
  • Love the cool art style in the demos that it's well suited too.
  • Finding a good artist/art-style to use as guodance (and demos) will go really far. The homepage demo is based on this 2D art: https://www.robindavey.co.uk/#/nippu/
  • There's no lighting support, but that really simplifies things for this art style.
    • Here's an example mini town where stylistic lighting (really just contrasting planes) is used
  • This influenced me into focusing on toon shading style lighting/graphics too (As allow specifying an amount of shades gradients)
  • The documentation is great
  • It's making me consider supporting a canvas renderer
    • Would be better for mixing into other canvas rendering (Is this true for WebGL, or is copying from canvas to WebGL textures slow?)
    • Read: Canvas or SVG?
  • Rendering with SVG without Illustration
    • I'd been thinking about doing this same approach, allowing people to take control of rendering order to mix compositions into other HTML/SVG
  • See some of the Feature Requests and discussions
    • Supporting Perspective cameras, not just ortho
      • I like encouraging ortho only (and variants like oblique/cabinet)
      • It should be more performant when only translating camera and objects, that's a good thing
      • I'm with this comment, it doesn't play well with SVG curve capabilities.

Keywords

FAQs

Package last updated on 18 Aug 2023

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc