0.0.1 • Published 2 years ago

@dawiidio/fopix v0.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

fopix

npm.io

Fopix is a simple tool for creating 2D pixel text, and simple graphics animations. It is based on ThreeJS and custom forces engine, here is the DEMO

Usage

import { createFopix, SectionData } from '~/index';

// just a basic section with a bunch of words and tags
const SECTIONS: SectionData[] = [
    {
        type: 'words',
        text: [
            'Hi',
            `I'm David`,
            `and I'm a`,
            `software engineer`
        ]
    },
    {
        type: 'tags',
        text: [
            'test',
            'lorem',
            'ipsum',
            'dolor'
        ]
    }
];

function main() {
    const container = document.getElementById('myElement');

    const fopix = createFopix({
        container,
        sections: SECTIONS,
    });

    container.addEventListener('click', () => {
        // navigate through animation, go to next word or section
        fopix.next();
    });
}

API

function createFopix takes object with the below options as it's first argument:

nametypedefault valuerequireddescription
containerHTMLElementhtml elemetnt where canvas should be rendered
sectionsSectionData[]sections array, more about sections and their types below
backgroundColornumber0xffffffffcanvas background color
sizenumber12particle size in pixels (one square)
letterSpacingnumber5letter spacing in pixels
colornumber0x000000text color (if particle includes it's own color will be ignored)
debugbooleanfalsedraws debug lines, helpful while developing
widthnumberundefinedfixed width, if not provided fop will try to obtain it from container element
heightnumberundefinedfixed height, if not provided fop will try to obtain it from container element
resizeFnResizeFn() => ...resize function, see resize example

Sections

There are three types of section

type VisualizationStateManagerSectionType = 'words' | 'tags' | 'sign';

the main difference between them is transition

  • words will just transition to another word
  • tags between words will be floating cloud of points
  • sign is just special type of words

Editor

npm.io

After running npm run dev simple editor will be available, you can later use exported graphics as input to section with type sign.