Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Color span fix issue#51 #85

Merged
merged 66 commits into from
Oct 27, 2020
Merged

Color span fix issue#51 #85

merged 66 commits into from
Oct 27, 2020

Conversation

manthrax
Copy link
Collaborator

Untested!

@rohan-deshpande rohan-deshpande changed the base branch from master to develop January 18, 2020 09:15
@@ -55,11 +55,13 @@ export default class ColorSpan extends Span {
* @return {?ColorSpan}
*/
export const createColorSpan = colors => {
if (!colors) {
return null;
if (colors === undefined) {
Copy link
Collaborator

@rohan-deshpande rohan-deshpande Feb 5, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we need a utility to check if the arg is a valid colour string? Something like

if (!hasColors(colors)) {
    console.warn(`Invalid colors passed to createColorSpan:${colors}. Defaulting to 'random'.`)
    colors = 'random';
}

Because I guess the original issue was that passing 0 or 0x0 is failing. I don't know if 0 is a valid hex though

rohan-deshpande and others added 18 commits March 29, 2020 10:54
…e GPURenderer ShaderMaterial to disable depthWrite but enable depthTest

Minor changes to experiments

Found a temporary solution that is less complex than what is included in this branch but this contains ideas for future solutions if they are needed

Updated shader material defaults
…empted to brute force fix the coverage publish to not include excluded globs
…derer-depth-sorting

Feature/issue 90 gpu renderer depth sorting
* Changes for better performance made to MeshRenderer and PUID, but we need tests to cover the behaviour first

* Added test for not setting rotation in MeshRenderer.onParticleUpdate if the target is a THREE.Sprite

* Swapped instanceof check out for isSprite
* Upgraded all babel dependencies. Dropped IE11 support via babelrc, this has fixed the bug with the points renderer example
…anding ones however that are awaiting fixes (#107)
@rohan-deshpande rohan-deshpande merged commit 31911c9 into develop Oct 27, 2020
rohan-deshpande added a commit that referenced this pull request Oct 27, 2020
* Added docs-app and made this a nextjs app

* Styling of the hero seems good now

* Quick guide and examples layout done

* First example PoC working, need to polish

* CustomRenderer example done

* EightDiagrams example done

* MeshRenderer example done

* MeshRendererCollision example done

* MeshZone done but broken for now because of #74

* SpriteRendererGravity example done

* SpriteRendererPointZone example done

* SpriteRendererSnow example done

* Renamed docs-app to website

* Sidebar done and looking gewd

* Examples page redirect complete

* Added stats-js to examples

* Second panel on homepage done, time to do the footer then we are ready

* Footer done, last thing is adding view source links to examples

* Added view source button and prop into Nebula component

* Fixed up all eslint issues, added lint script to website, added this to main travis yaml, added a README for the website

* Removed dall examples code from docs directory, updated docs:build to write to ./docs instead of ./docs-api

* Simplified/concat CI scripts

* Added next bundle analyzer and analyze script. Added some @requires doc blocks to some classes in the package to indicate which THREE deps they need

* Added three-nebula to dependencies instead of dev dependencies

* Went deep on async loading all things THREE, reduced bundlesize by quite a bit

* Updated renderer module case

* Removed code branch in FollowEmitter

* Added spectrum.chat logo and link to chat into the nav

* Fixed bug in next.config.js preventing next export from running

* Examples pages are now all static rather than being dynamic which was causing issues for the static site

* Ensured base examples page renders empty example to prevent layout flash

* Added titles for examples routes

* Fixed mobile font size for hero header

* Updated website sidebar scroll prop

* website: Fixed sidebar and examples canvas column issue on windows, also ensured that best monospaced fonts are used for .Code components

* website: Minor content updates

* website: Reduced letterbox padding on mobile for homepage

* Added life cycle api example

* After a bit of a new API and some new tweaks to existing functionality, this feature is basically working. Still need to polish and add tests

* Turned the life cycle example into an init example so it's a bit clearer from a documentation point of view

* Added children prop to Nebula primitive

* Added unit test for new code branch in fromJSONAsync method

* Wrote tests covering the experimental_emit method

* Added tests for setTotalEmitTimes and setLife methods

* Added test for code path in update method where emitter is not emitting

* Removed comment

* Added tests for System.emit method

* Added Feedback component to the LifeCycleApi example so users can see what is happening

* Fixed broken emitter behavior tests

* Fixed spectrum logo alignment

* Added some padding to life cycle feedback emojis for better display in firefox and safari

* Added flashing effect to updating text in life cycle api example

* Updated build to see this on the dev website, website package json now points to the repo's develop branch

* Added logo

* Update base.js to framelock simulation and rendering at 60 hz

* Updating npmignore to reduce package size

* Added sandbox directory to .gitignore

* Fix website fonts

* Added fix and cleaned up a little bit

* Removed sandbox

* Bump max allowed bundlesize slightly

* Bump max allowed bundlesize slightly

* Added fps-locker as dependency, now using this inside internal render function

* Removed rule to error on incorrect line break style

* Added routes and stubbed examples for new renderers

* Removed ./ from link-src script which seems to break on Windows

* Added simple sandbox for windows dev

* Cleaned up the commands a bit

* Now gitignoring lib sent to sandbox

* Added specific webpack config for sandbox because windows doesn't like inline env vars

* Initial grafting of Buffered Particles.

* Added stats-js as dep to sandbox via unpkg cdn, also added the API integration in the vis class

* Add feature flag for buffered particles..

Crank particle count for stress test..

* Detach particle container from rendering for buffered.

* Added Favicon component and script to generate favicons

* Fixed favicon paths

* Added logo to README

* Pimped out README a bit more, updated the three peer dep to v0.112.0

* Added spectrum chat badge

* Added points renderer experiment

* Wasn't adding the points object to the scene, still not fixed but at least it is rendering something... sometimes

* Page title

* Added prototype ParticleBuffer class

* Created the base for the new PointsRenderer, got it rendering something but still far from anything usable

* Getting deeper into the mystery, particles are being killed before they've finished their life cycle

* ITS WORKING

* Have moved to using a single interleaved buffer. Point position is working but I think I need shaders for size, colour and alpha

* Color now working in the shaders

* Alpha also working, that wasn't hard

* Textures now working, we are done diddily done neighbourino

* Of course there's a bug. Eightdiagrams is leaving artifacts for some reason

* Fixed the bug, added gravity example to sandbox, multiple emitters now work

* Changed list to uniqueList

* Added max number of items prop to UniqueList

* Updated sandbox visualisation and run script to have the potential for maxTicks

* Added GPURenderer submodule to renderers

* Something broke when I ported it into src, need to debug in the sandbox

* Debugged it, two THREEs were causing problems. The PointZone example isn't working though, need to debug this

* Added orbit controls to sandbox and confirmed point zone example is broken

* Attempted to implement a pointId on particles, didn't work, uniqueList won't ever really get too big but maybe need to pool here as well

* Fixed it, the problem was that without a texture to render, the frag shader just rendered nothing

* Added better GPURenderer example

* Added coverage for emitter.index and pool get/create args

* Removed GPURenderer from code coverage report for now as it's experimental, added a note in doc block for this

* Fixed bundlesize issue

* Added new check-bundlesize script to isolate the bundlesize checking flow from needing to actually bundle the lib, added this to travis.yml

* Reverting build to develop branch, will build there

* Development build to include the new GPURenderer

* Update nebula HREF constant

* Added sandbox for debugging depth sorting and updated defaults for the GPURenderer ShaderMaterial to disable depthWrite but enable depthTest

Minor changes to experiments

Found a temporary solution that is less complex than what is included in this branch but this contains ideas for future solutions if they are needed

Updated shader material defaults

* Fixed security vulnerabilities

* Fixed coverage generator by replacing istanbul with nyc

* Altered coverage publish script

* Added webpack-bundle-analyzer to get better control over inspecting bundle sizes

* Updated coverage config and publish script

* Updated .nycrc.json but coverage reports are not being generated, attempted to brute force fix the coverage publish to not include excluded globs

* Must have missed something

* Fixed incorrect naming of reporter in .nycrc.json, output to ./coverage directory still broken

* Publishing GPURenderer fix to develop

* Feature/issue 65 performance improvements (#68)

* Changes for better performance made to MeshRenderer and PUID, but we need tests to cover the behaviour first

* Added test for not setting rotation in MeshRenderer.onParticleUpdate if the target is a THREE.Sprite

* Swapped instanceof check out for isSprite

* Drop IE11 support (#95)

* Upgraded all babel dependencies. Dropped IE11 support via babelrc, this has fixed the bug with the points renderer example

* Now exposing the base Behaviour class so that it can be extended by consumers (#100)

* Fixed as many security vulnerabilities as I could, there's some outstanding ones however that are awaiting fixes (#107)

* Color span fix issue#51 (#85)

* Update ColorSpan.js
* Added tests for ColorSpan class and factory

Co-authored-by: Rohan Deshpande <rohan@creativelifeform.com>

* Bumped version, updated changelog and rebuilt for v6.0.0 production release

Co-authored-by: manthrax <manthrax@gmail.com>
@rohan-deshpande rohan-deshpande deleted the colorSpan-fix-issue#51 branch November 5, 2020 04:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants