
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
Particle effect renderer based on three.js and the Minecraft Bedrock particle format
Particle effect renderer based on three.js and the Minecraft Bedrock particle format.
npm i wintersky
This is the simplest possible implementation of a Wintersky emitter into your scene
// Import wintersky
import Wintersky from 'wintersky';
// Load JSON File
import RainbowParticle from './rainbow.particle.json';
// Setup Wintersky Scene
const wintersky_scene = new Wintersky.Scene();
// Setup Emitter
const emitter = new Wintersky.Emitter(wintersky_scene, RainbowParticle);
// Add emitter into Three.JS scene
threejs_scene.add(wintersky_scene.space);
// Play Effect
emitter.playLoop();
// Update particle rotation in your app's rendering loop
wintersky_scene.updateFacingRotation(camera);
Three.js up to version r134 is currently supported. Newer versions of three.js have an issue with updating textures on the fly if their size has changed. A workaround would be required to solve this.
npm i: Install dependenciesnpm run watch: Activate compilernpm run build: Build for productionnew Wintersky.Scene(options?)Creates a new scene, which can hold multiple emitters
options: Object:
fetchTexture: Functionemitters: Array List of all emittersspace: three.js Object3D Global particle space. Add this to your three.js scene.global_options: Object
max_emitter_particles: Number Maximum amount of particles per emittertick_rate: Number Emitter tick rate per second.loop_mode: String Default emitter loop modeparent_mode: String Default emitter parent modescale: Number Emitter scale. The default is 1 for block space. Set to 16 to run in a pixel space environment like Blockbench.WinterskyScene#updateFacingRotation(camera)Updates the particle facing rotation for all emitters
camera: Camera three.js camera to orient the particle towardsWinterskyScene#fetchTexture( config )Method to provide visuals for a texture. Null by default. Gets called by configs if the texture is updated. Should return a data URL, or a promise resulting in a data URL.
config: Config Particle config that is requesting the texture
new Wintersky.Emitter(scene, config?, options?)Creates a new particle emitter
scene: Wintersky Scene: Wintersky scene to add this emitter toconfig: Config: Config instancescene: Scene: Wintersky Sceneoptions: Object:
loop_mode: String How the emitter loops: auto, once or looping. Default: autoloop_mode: String How the emitter is located in the world: world, entity or locator. Default: worldEmitter#updateFacingRotation(camera)Updates the particle facing rotation
camera: Camera three.js camera to orient the particle towardsEmitter#delete()Deletes the emitter
Emitter#playLoop()Starts to play the particle effect using the default play loop
Emitter#toggleLoop()Pause/resume the default playback loop
Emitter#stopLoop()Stops the default playback loop
Emitter#start()Starts the emitter, setting the time to 0 and initializing all variables
Emitter#tick()Runs an emitter tick
Emitter#stop(clear_particles)Stops the emitter
Emitter#jumpTo(second)Jumps to a specific time in the emitter. This is optimited to run as few operations as possible so you can use it to hook the emitter to a custom playback loop
Configs store the configuration of an emitter. All emitters have a config by default.
new Wintersky.Config(scene, config, options)Creates a new emitter config instance
scene: Wintersky Scene: Wintersky sceneconfig: Config: Config instanceoptions: Object:
path: String Location of the particle file that the config is based on.Resets the config to default values
Sets a property of the config to a specific value
key: String Key of the value to changevalue: Any Value to setLoads the configuration from a JSON particle file
json: Object Particle file contentMethod that runs when the texture of the config is updated. Null by default
FAQs
Particle effect renderer based on three.js and the Minecraft Bedrock particle format
The npm package wintersky receives a total of 282 weekly downloads. As such, wintersky popularity was classified as not popular.
We found that wintersky demonstrated a healthy version release cadence and project activity because the last version was released less than 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
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

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.