cables-gl / cables

cables is a tool for creating beautiful interactive content
https://cables.gl
MIT License
347 stars 15 forks source link

Collection version 2 #824

Closed androvisuals closed 5 years ago

androvisuals commented 5 years ago

When a user goes to the Op reference page they see all ops grouped together by namespace. This means that a lot of ops with a different purpose get grouped together. We can use Collections to easily and dynamically separate them into more logical groups which makes them easier to find and organise.

Example of structure: Ops.Namespace - Shows ALL ops from that namespace under the following collections Collections: Clicking a collection only shows the ops belonging to that collection. Collection 1 - Collection 2 - Collection 3 - Collection 4 ALL OPS HERE like in the normal op reference page

This should also be reflected when pressing escape to look for an op in the patch view. Right now the menu on the left doesn't change and is barely used. Example:

Cables
  Array
    Array Math
    Array PointField
  Midi
    Midi device
    Conversion
    Clock

If the user clicks Array Math they then see in the menu on the left

Cables
  Array
    Array Math

They now only see the Array math collection. Clicking Array goes up one level and shows All array ops , clicking Cables then shows all collections.

1st draft for collections :

Ops.Anim - Show all ops Collections: Random - Time - Waveforms - ArrayPath - ArrayTranslate (These two are also in Ops.Gl.Matrix)

Ops.Array Collections: PointField - Random Conversion - Math - Sort - Vectors - Spline - Subdivide - Merge/weave/join - Compare - Interpolate - Iterator - Pack/Unpack

Ops.Device.Midi Collections: Midi device - Conversion - Clock

Ops.Gl Collections: Canvas - Color - Normals - Depth - Model Matrix - View Matrix - Interactive - Fonts/Text - Mesh instancer - Random - Texture

Ops.Gl.Matrix Collections: Camera - Transform - scale - Interpolate - Conversion - ArrayPath - ArrayTranslate

Ops.Gl.Shader Collections: Materials - Normals - Picker - Conversion

Ops.Gl.ShaderEffects Collections: Scale- Deform - Color - Noise

Ops.Gl.TextureEffects Collections: Composition - Generators - Post processing - Noise - Gradients - Shapes - Text - Images - Colors - Depth - Textures (Could include Ops.Gl.textures here ??)

Ops.Html Collections: HTML - CSS - DIV - Cursor/Mouse - Fonts - Class - Even (add Ops.Html.Event here ??)

Stopping here for now

androvisuals commented 5 years ago

@pandrr should this be left open or should we consider this closed ?

androvisuals commented 5 years ago

This has pretty much been implemented and the rest will be just adding things to the existing collections as we see them. Closed.