Loose collection of *things*

Overview

Node.js CI

Three

RaycasterHelper

BundlePhobia

yarn add @gsimone/three-raycaster-helper

Visualize a Raycaster (ray and near/far) and, optionally, its hits.

import { RaycasterHelper } from '@gsimone/three-raycaster-helper'

const raycaster = new Raycaster(origin, direction, 0.5, 10)
const helper = new RaycasterHelper(raycaster)

const hits = raycaster.intersectObjects( scene.children )
helper.hits = hits

Smoothdamp

BundlePhobia

yarn add @gsimone/smoothdamp

Port of Unity's SmoothDamp.

import { SmoothDamp } from '@gsimone/smoothdamp'
import { SmoothDampVectors } from '@gsimone/smoothdamp/three'

const smoothDamp = new SmoothDamp(0.5, 10)
const x = smoothDamp.get( 10, deltaTime )

// using with three.js Vectors
const mySmoothDampV = new SmoothDampVectors(0.5, 10)
const target = new Vector3(0, 0, 0)
const dest = new Vector3(10, 0, 0)

target.copy(
  mySmoothDampV.get( target, dest, deltaTime )
)

React Three Fiber

Layers

BundlePhobia

yarn add @gsimone/r3f-layers

Simple helper for three's Layers, lets you set an object's layers in a declarative manner:

<mesh>
  <Layers layers={[0, 1, 3]} /> {/* will set layers 0, 1 and 3 exclusively */}
</mesh>

Leva

bitmask plugin

BundlePhobia

yarn add @gsimone/leva-plugin-bitmask

Plugin to add a bitmask-type input. Returns a bitmask object from bitmaskjs with an additional layersArray property to get an array compatible with the 🔗 Layers r3f component

const { layers } = useControls({
  layers: bitmask({
    value: [1, 0, 1], // sets first bit to 1, second to 0, third to 1
    size: 16,
  }),
  layers2: bitmask({
    value: 3, // sets the integer of the bitmask to 3, equivalent to [1, 1]
  }),
});

layers.layersArray; // [0]

TODO

Add alternative APIs to set the initial value.

Vanilla

Bitmask

BundlePhobia

yarn add @gsimone/bitmask

Tiny library for bitmasks.

const bitmask = new Bitmask([1, 0, 1], 16);

bitmask.setBit(1, 1).clearBit(2).getBits();
Comments
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @gsimone/[email protected]

    Minor Changes

    • dfb559d: feat: adds CatenaryCurve
    opened by github-actions[bot] 1
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @gsimone/[email protected]

    Minor Changes

    • 542c632: first release
    opened by github-actions[bot] 1
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @gsimone/[email protected]

    Major Changes

    • 70d0d16: release

    Patch Changes

    @gsimone/[email protected]

    Minor Changes

    • 793612a: minor performance improvements
    opened by github-actions[bot] 1
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @gsimone/[email protected]

    Major Changes

    • ee24451: feat: uses custom bitmask library fix: removes leva peer dependency

    Minor Changes

    • 225a50d: fixes missing jsx react that was making the new jsx transform mandatory

    @gsimone/[email protected]

    Major Changes

    • 82e8504: feat: adds smoothdamp package

    @gsimone/[email protected]

    Minor Changes

    • 225a50d: fixes missing jsx react that was making the new jsx transform mandatory
    opened by github-actions[bot] 1
  • Version Packages

    Version Packages

    This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

    Releases

    @gsimone/[email protected]

    Major Changes

    • ee24451: fixes peer dependency of leva
    • ee24451: uses custom bitmask library

    Patch Changes

    @gsimone/[email protected]

    Minor Changes

    • ee24451: uses custom bitmask library
    opened by github-actions[bot] 0
  • [wip] feat: adds depth helper

    [wip] feat: adds depth helper

    • creates a double buffer with depth texture
    • provides a swap callback

    NOTE

    • this might be abstracted to a composition of something that creates a depth fbo + something that does double buffering eg.
    const [$buffer, swap] = useDoubleBuffer(() => { ...initBuffer... })
    
    opened by gsimone 2
Releases(@gsimone/[email protected])
Owner
Gianmarco
Gianmarco
Automated testing for single-page applications (SPAs). Small, portable, and easy to use. Click on things, fill in values, await for things exist, etc.

SPA Check Automated testing for single-page applications (SPAs). Small, portable, and easy to use. Click on things, fill in values, await for things e

Cory Leigh Rahman 5 Dec 23, 2022
A collection of (mostly) technical things every software developer should know about

Join our community for professional Software Developers and get more control over your life and career! Every Programmer Should Know ?? A collection o

MTDV 66.6k Jan 4, 2023
🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things.

Awesome JavaScript A collection of awesome browser-side JavaScript libraries, resources and shiny things. Awesome JavaScript Package Managers Componen

chencheng (云谦) 29.6k Dec 29, 2022
Obsidian-Snippet-collection - A collection of snippet to customize obsidian

This repo is a collection of CSS snippets for Obsidian.md. To install them on PC

Mara 110 Dec 22, 2022
CSS is powerful, you can do a lot of things without JS.

You Don't Need JavaScript Please note these demos should be considered as CSS "Proofs of Concepts". They may have serious issues from accessibility po

You Don't Need 17.9k Jan 4, 2023
"To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete. It is created with HTML , CSS , JS and webpack and NPM.

My Todo List "To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as com

Dyary Raoof Bayz Agha 5 Mar 29, 2022
A JavaScript Library for things I use often, as well as some helper functions

Elements A JavaScript Library for things I use often, as well as some helper functions. Full documentation below. Inspired by Habitat, another library

Magnogen 3 Apr 21, 2022
"To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete

To Do List "To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as compl

Sahar Abdel Samad 16 Aug 9, 2022
Lets you add a character to Hacker News links to add social media and OpenGraph previews for sharing on things like Slack or Twitter.

news.ycombinator1.com Lets you add a character to Hacker News links to add social media and OpenGraph previews for sharing on things like Slack or Dis

Ian Langworth ☠ 38 Sep 18, 2022
"To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete.

Todo_List Description "To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark th

Cynthia Inga 4 Apr 19, 2022
"To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete.

todo-list "To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as comple

Okoroji Victor Ebube 13 Jul 4, 2022
A browser extension to simplify web pages and hide distracting things like hide cookie banners, auto-playing videos, sidebars, etc

Unclutter Browser Extension A browser extension to simplify web pages and hide distracting things like hide cookie banners, auto-playing videos, sideb

null 849 Jan 9, 2023
Extract data-like things from a website on the fly.

There-should-be-an-API Oh, I think this website needs an API. Extract data-like things from a website on the fly. Demo The demo API is hosted on a 256

JacobLinCool 3 Mar 26, 2022
Obsidian plugin: get things dead day by day

Obsidian Daily Todo Pro Plugin 中文说明 inspired by https://github.com/shichongrui/obsidian-rollover-daily-todos get things dead day by day - enhance your

null 11 Sep 18, 2022
"To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete.

To-Do List "To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as compl

Juan Palacios 10 May 24, 2022
To-do list is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete. Built with JavaScript.

To Do List Application that record the tasks to remind you and got many features that you might need. This is an image for it Live Demo Live Demo Here

Omar Ragheb 14 Jul 13, 2022
To-do list is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete. Built with JavaScript.

To-do List To-do list is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complet

Leonardo Goss 9 Mar 4, 2022
"To-do list" is a tool that helps to organize your day. It simply lists the things that you need to do and allows you to mark them as complete.

Hello! I am a software developer! I can help you build a product, feature or website. Tak a look of my works. If you like what you see and have a proj

Roberto A. Baños Alvarez 5 Apr 29, 2022
Minecraft 1.8.9 mod which steals the access token and more things from the targetted user and sends to a backend server for processing. Disclaimer: For educational purposes only.

R.A.T Retrieve Access Token Check DxxxxY/TokenAuth to login into an MC account with a name, token and uuid combo. Features Grabs the username, uuid, t

null 45 Jan 9, 2023