ZIM DOCS AI VERSION
The docs are divided into modules: FRAME, DISPLAY, METHODS, CONTROLS, CODE, WRAP, META, LIBRARIES
1. FRAME - the framework class that makes and scales the canvas and stage
2. DISPLAY - classes for objects viewed on the stage like shapes and components
3. METHODS - methods for the display objects above
4. CONTROLS - classes that affect Display objects
5. CODE - non-Canvas code convienence functions
6. WRAP - a dozen three-letter global functions starting with z
7. META - a few classes and functions operating on zim
8. LIBRARIES - other ZIM helper modules found here
Including: SOCKET, GAME, PHYSICS, THREE, CAM, PIZZAZZ 1, 2 and 3 modules

BRIEF DESCRIPTIONS AND API


------------------------------------
MODULE 1: ZIM FRAME
------------------------------------
Frame(scaling, width, height, color, outerColor, ready, assets, path, progress, ticker, rollover, touch, scrollTop, align, valign, canvasID, rollPerSecond, delay, canvasCheck, gpu, gpuObj, nextFrame, nextStage, allowDefault, loadFailObj, retina, mouseMoveOutside, captureMouse, shim, maxConnections, maxNum, singleTouch)
Frame creates a canvas and stage.

Pic(file, width, height, noCors, style, group, inherit)
Use Pic() to show an image, such as a jpg, png, webp, etc.

Aud(file, volume, loop, loopCount, pan, offset, delay, interrupt, maxNum, style, group, inherit)
Use Aud() to play a sound with its play() method.

Vid(file, width, height, volume, loop, align, valign, type, style, group, inherit)
Use Vid() to show a video. Use the play() method to start the video when loaded.

Dat(file)
Use Dat() to load data files like text, csv, XML and json.

SVG(svg, width, height, bitmap, splitTypes, geometric, showControls, interactive, color, borderColor, order, style, group, inherit)
Use SVG() to show an SVG tag or file on the Canvas.

Speech()
Create a new Speech() and use talk() or listen()

Hardware(preset, callback, baudRate, delimiter, mode, autoParse)
Supports DUO - pass parameters positionally or as a single configuration object {preset: "microblocks", callback: ...}Connects interactive ZIM canvas applications directly to physical microcontrollers, sensors, dials, and actuators.

Fonts - loaded into Frame()
As of ZIM ZIM 02, custom fonts can be loaded by their file name without the need for a font object {}.

Colors - red, salmon, orange, green, pink, blue, brown, yellow, purple, interstellar, black, darker, licorice, dark, charcoal, grey, gray, granite, tin, pewter, silver, fog, mist, light, moon, lighter, white, faint, clear
ZIM colors for convenience - such as blue, green, dark, etc.

Constants - FIT, FILL, FULL, LEFT, RIGHT, CENTER, MIDDLE, START, END, TOP, BOTTOM, BOT, OVER, UNDER, HORIZONTAL, VERTICAL, BOTH, RANDOM, RADIAL, UP, DOWN, NEXT, PREV, AUTO, DEFAULT, ALL, NONE, AVE, GET, POST, LOCALSTORAGE, SOCKET, TO, FROM, BOTH, SINE, SQUARE, TRIANGLE, SAW, ZAP, IGNORE
ZIM positioning, data and sound constants for convenience if desired.

Globals - F, S, W, H, M
F, S, W, H, M are globals given when using ZIM Frame.


------------------------------------
MODULE 2: ZIM DISPLAY
------------------------------------
Stage(canvasID, touch, singleTouch)
An extension of a createjs.Stage that includes read only type, width and height properties, loop and hitTestGrid methods.

Container(a, b, c, d, style, group, inherit)
A Container object is used to hold other display objects or other containers.

Shape(a, b, c, d, graphics, optimize, style, group, inherit)
ZIM Shape lets you draw dynamic shapes beyond the ZIM provided shapes.

Bitmap(image, width, height, left, top, scale, style, group, inherit)
Makes a Bitmap object from an image source (image, video or canvas).

Sprite(image, cols, rows, count, offsetX, offsetY, spacingX, spacingY, width, height, animations, json, id, globalControl, spriteSheet, label, frame, style, group, inherit)
A Sprite plays an animation of a spritesheet

Tag(width, height, id, frame, backgroundColor, padding, paddingH, paddingV, expand, style, group, inherit)
Creates a <div></div> with id of id and overlays it on the Canvas with the createjs DOMElement

Shader(width, height, fragment, uniforms, vertex, dynamic, preCall, postCall, rate, version, canvas, vertexPosition, strip, log, channel0, channel1, channel2, channel3, dynamic0, dynamic1, dynamic2, dynamic3, channels, dynamics, style, group, inherit)
Makes a Bitmap from shader code.  The Bitmap will update automatically if set to dynamic (default).

Uniforms(obj)
Makes an object to hold uniforms for a ZIM Shader() or ShaderOverlay().

Circle(radius, color, borderColor, borderWidth, dashed, percent, percentClose, percentArc, strokeObj, style, group, inherit)
Makes a circle shape inside a container.

Rectangle(width, height, color, borderColor, borderWidth, corner, dashed, strokeObj, scaleDimensions, style, group, inherit)
Makes a rectangle shape inside a container.

Triangle(a, b, c, color, borderColor, borderWidth, corner, center, adjust, dashed, strokeObj, style, group, inherit)
Makes a triangle shape inside a container using three line lengths.

Poly(radius, sides, pointSize, color, borderColor, borderWidth, dashed, strokeObj, flat, style, group, inherit)
Makes a regular polygon with radius like a Circle.

Line(length, thickness, color, startHead, endHead, dashed, strokeObj, lineType, lineOrientation, curveH, curveV, points, startLength, endLength, style, group, inherit)
Makes a straight line with a length and thickness.

Squiggle(color, thickness, points, length, controlLength, controlType, lockControlType, showControls, lockControls, handleSize, allowToggle, move, dashed, onTop, circleColor, circleBorderColor, stickColor, stickThickness, selectColor, selectPoints, editPoints, interactive, strokeObj, style, group, inherit)
Makes a squiggly line with a number of points.

Blob(color, borderColor, borderWidth, points, radius, controlLength, controlType, lockControlType, showControls, lockControls, handleSize, allowToggle, move, dashed, onTop, circleColor, circleBorderColor, stickColor, stickThickness, selectColor, selectPoints, editPoints, interactive, strokeObj, style, group, inherit)
Makes a blob shape inside a container using a number of points.

Label(text, size, font, color, rollColor, shadowColor, shadowBlur, align, valign, bold, italic, variant, lineWidth, lineHeight, backing, outlineColor, outlineWidth, backgroundColor, backgroundBorderColor, backgroundBorderWidth, corner, backgroundDashed, padding, paddingH, paddingV, shiftH, shiftV, rollPersist, labelWidth, labelHeight, maxSize, splitWords, style, group, inherit)
Makes a label - wraps the createjs Text object.

LabelOnArc(label, size, font, color, radius, flip, spacing, letterSpacing, angles, showCircle, arcColor, arcBorderColor, arcBorderWidth, radiusSpread, rtl, style, group, inherit)
Makes a label along an arc - see also LabelOnPath - for a more interactive version

LabelLetters(label, align, valign, letterSpacing, letterSpacings, lineSpacing, lineSpacings, lineHeight, lineAlign, lineValign, cache, rtl, lineWidth, lineAlignLast, style, group, inherit)
Splits apart a ZIM Label into labels per characater

LabelWords(label, width, size, font, color, backgroundColor, itemCache, itemRegX, itemRegY, spacingH, spacingV, wrapperType, align, valign, alignInner, valignInner, flip, reverse, bottomFull, colSize, rowSize, height, minSpreadNum, minStretchNum, percentVoidH, offsetVoidH, percentVoidV, offsetVoidV, minStretchFirst, style, group, inherit)
Splits apart a ZIM Label into labels per word - also see LabelLetters

Emoji(code, size, monochrome, italic, backgroundColor, backgroundBorderColor, backgroundBorderWidth, corner, backing, padding, paddingH, paddingV, shiftH, shiftV, color, borderColor, order, style, group, inherit)
Shows an emoji.  Emojis are usually just text so it will be a Label in the Container.

Button(width, height, label, backgroundColor, rollBackgroundColor, downBackgroundColor, color, rollColor, downColor, borderColor, borderWidth, rollBorderColor, downBorderColor, backing, rollBacking, downBacking, icon, rollIcon, downIcon, corner, dashed, shadowColor, shadowBlur, gradient, gloss, align, valign, indent, indentH, indentV, hitPadding, autoPadding, autoPaddingH, autoPaddingV, rollPersist, toggle, toggleBackgroundColor, rollToggleBackgroundColor, downToggleBackgroundColor, toggleColor, rollToggleColor, downToggleColor, toggleBacking, rollToggleBacking, downToggleBacking, toggleIcon, rollToggleIcon, downToggleIcon, toggleEvent, wait, waitTime, waitBackgroundColor, rollWaitBackgroundColor, downWaitBackgroundColor, waitColor, rollWaitColor, downWaitColor, waitBacking, rollWaitBacking, downWaitBacking, waitIcon, rollWaitIcon, downWaitIcon, waitModal, waitEnabled, style, group, inherit)
Makes a button with rollover and many more features - see parameters.

CheckBox(size, label, startChecked, color, backgroundColor, borderColor, borderWidth, corner, margin, indicatorType, indicatorColor, tap, rtl, style, group, inherit)
A checkbox that when pressed toggles the check and a checked property.

RadioButtons(size, buttons, vertical, color, backgroundColor, borderColor, borderWidth, spacing, margin, always, indicatorColor, index, rtl, selectedIndex, style, group, inherit)
A radio button set that lets you pick from choices.

Toggle(width, height, label, startToggled, backgroundColor, margin, indicatorType, indicatorColor, tap, toggleBackgroundColor, color, borderColor, borderWidth, corner, indicatorCorner, shadowColor, shadowBlur, time, labelLeft, style, group, inherit)
A Toggle button that toggles off and on - with optional labels

Tip(text, tipAlign, tipValign, margin, marginH, marginV, outside, target, delay, time, mouseClose, size, font, color, rollColor, shadowColor, shadowBlur, align, valign, lineWidth, lineHeight, backing, outlineColor, outlineWidth, backgroundColor, backgroundBorderColor, backgroundBorderWidth, corner, backgroundDashed, padding, paddingH, paddingV, shiftH, shiftV, rollPersist, labelWidth, labelHeight, maxSize, bold, italic, variant, splitWords, style, group, inherit)
A Tip() can be used to show some extra information - the tip disappears after an amount of time

Pane(content, backgroundColor, color, width, height, draggable, resets, modal, corner, backdropColor, shadowColor, shadowBlur, center, displayClose, backdropClose, backing, fadeTime, container, titleBar, titleBarColor, titleBarBackgroundColor, titleBarHeight, close, closeColor, autoPadding, autoPaddingH, autoPaddingV, keyboardAccess, style, group, inherit)
Adds a window for alerts, etc.

Panel(width, height, content, titleBar, titleBarColor, titleBarBackgroundColor, titleBarHeight, backgroundColor, borderColor, borderWidth, corner, close, closeColor, next, nextColor, extraButton, collapse, collapseColor, collapsed, align, shadowColor, shadowBlur, draggable, boundary, onTop, style, group, inherit)
A simple panel with titleBar and optional arrow for more panels.

Window(width, height, content, backgroundColor, borderColor, borderWidth, padding, corner, swipe, scrollBarActive, scrollBarDrag, scrollBarColor, scrollBarAlpha, scrollBarFade, scrollBarH, scrollBarV, slide, slideFactor, slideSnap, slideSnapDamp, interactive, shadowColor, shadowBlur, paddingH, paddingV, scrollWheel, damp, titleBar, titleBarColor, titleBarBackgroundColor, titleBarHeight, draggable, boundary, onTop, close, closeColor, cancelCurrentDrag, fullSize, fullSizeColor, resizeHandle, collapse, collapseColor, collapsed, optimize, resizeBoundary, resizeVisible, continuous, style, group, inherit)
Adds a window for content that can be swiped and scrolled.

Page(width, height, color, color2, angle, corner, borderColor, borderWidth, pattern, scalePattern, cache, style, group, inherit)
ZIM Page() is a Container() with Rectangle() backing.

Layer(width, height, titleBar, titleBarContainer, backgroundColor, rollBackgroundColor, selectedBackgroundColor, selectedRollBackgroundColor, color, rollColor, selectedColor, selectedRollColor, borderWidth, borderColor, dashed, transformObject, titleBarWidth, titleBarHeight, titleBarX, titleBarY, titleBarDraggable, close, closeColor, closeBackgroundColor, closeIndicatorColor, anchor, onTop, style, group, inherit)
Layer is a ZIM Container with transform controls.

Waiter(container, speed, foregroundColor, backgroundColor, corner, shadowColor, shadowBlur, fadeTime, style, group, inherit)
Adds a little animated three dot wait widget.

ProgressBar(barType, foregroundColor, backgroundColor, borderColor, borderWidth, padding, label, color, labelPosition, percentage, corner, shadowColor, shadowBlur, backing, delay, fastClose, container, autoHide, width, style, group, inherit)
Adds a little progress bar that can be scaled if desired

Indicator(width, height, num, foregroundColor, backgroundColor, borderColor, borderWidth, backdropColor, corner, indicatorType, selectedIndicatorType, fill, scale, lightScale, interactive, shadowColor, shadowBlur, index, backgroundAlpha, selectedIndex, toggleFirst, delayLights, indicatorList, selectedIndicatorList, style, group, inherit)
A row of dots or squares that can be used to indicate a step, page, level, score, etc.

TextInput(width, height, placeholder, text, size, font, color, backgroundColor, borderColor, borderWidth, maxLength, password, selectionColor, selectionAlpha, cursorColor, cursorSpeed, shadowColor, shadowBlur, align, corner, padding, paddingH, paddingV, shiftH, shiftV, scrollBarActive, scrollBarDrag, scrollBarColor, scrollBarAlpha, scrollBarFade, scrollBarH, scrollBarV, readOnly, inputType, rtl, uppercase, placeholderInstant, keyboardShift, style, group, inherit)
Makes an input text field like an HTML form input type text field.

List(width, height, list, viewNum, vertical, currentSelected, align, valign, labelAlign, labelValign, labelIndent, labelIndentH, labelIndentV, indent, spacing, backgroundColor, rollBackgroundColor, downBackgroundColor, selectedBackgroundColor, selectedRollBackgroundColor, backdropColor, color, rollColor, downColor, selectedColor, selectedRollColor, borderColor, borderWidth, padding, corner, swipe, scrollBarActive, scrollBarDrag, scrollBarColor, scrollBarAlpha, scrollBarFade, scrollBarH, scrollBarV, scrollBarOverlay, slide, slideFactor, slideSnap, slideSnapDamp, shadowColor, shadowBlur, paddingH, paddingV, scrollWheel, damp, titleBar, titleBarColor, titleBarBackgroundColor, titleBarHeight, draggable, boundary, onTop, close, closeColor, collapse, collapseColor, collapsed, excludeCustomTap, organizer, checkBox, pulldown, clone, cancelCurrentDrag, index, noScale, pulldownToggle, optimize, keyEnabled, resizeHandle, resizeBoundary, resizeVisible, continuous, closeOthers, drop, dropTargets, dropSelf, dropCopy, dropColor, dropThickness, dropScrollSpeed, dropReticleAlpha, dropHitTest, dropFull, dropSnap, dropEnd, dropScale, dropWidth, dropHeight, selectedIndex, style, group, inherit)
A vertical or horizontal list of items.

Stepper(list, width, backgroundColor, borderColor, borderWidth, label, color, vertical, arrows, corner, shadowColor, shadowBlur, continuous, display, press, hold, holdDelay, holdSpeed, draggable, dragSensitivity, dragRange, stepperType, min, max, step, step2, arrows2, arrows2Scale, keyEnabled, keyArrows, rightForward, downForward, index, value, arrowColor, arrowScale, selectedIndex, currentValue, style, group, inherit)
Lets you step through a list of numbers or strings with arrows and keyboard arrows.

Slider(min, max, step, button, barLength, barWidth, barColor, vertical, useTicks, tickColor, tickStep, semiTicks, tickScale, semiTickScale, accentSize, accentOffset, accentColor, accentBackgroundColor, accentDifference, sound, inside, keyArrows, keyArrowsStep, keyArrowsH, keyArrowsV, damp, value, expand, expandVertical, expandBar, expandBarVertical, useLabels, labelMargin, labelColor, range, rangeColor, rangeWidth, rangeMin, rangeMax, rangeAve, addZero, currentValue, style, group, inherit)
A traditional slider - will give values back based on min and max and position of button (knob).

Selector(tile, borderColor, borderWidth, backgroundColor, corner, dashed, paddingH, paddingV, speed, diagonal, dim, multi, keyArrows, behind, resizeScale, index, liveIndex, selectedIndex, style, group, inherit);
A Selector acts on a ZIM Tile to provide an interactive selector that highlights a tile element.

Dial(min, max, step, width, backgroundColor, indicatorColor, indicatorScale, indicatorType, useTicks, innerTicks, tickColor, tickStep, semiTicks, tickScale, semiTickScale, innerCircle, innerScale, innerColor, inner2Color, accentSize, accentOffset, accentColor, accentBackgroundColor, accentDifference, sound, linear, gap, limit, keyArrows, keyArrowsStep, keyArrowsH, keyArrowsV, continuous, continuousMin, continuousMax, damp, value, useLabels, labelMargin, addZero, currentValue, style, group, inherit);
A traditional dial - will give values back based on min and max and position of dial.

Tabs(width, height, tabs, backgroundColor, rollBackgroundColor, downBackgroundColor, selectedBackgroundColor, selectedRollBackgroundColor, color, rollColor, downColor, selectedColor, selectedRollColor, vertical, spacing, currentEnabled, currentSelected, corner, base, keyEnabled, gradient, gloss, backing, rollBacking, wait, waitTime, waitBackgroundColor, rollWaitBackgroundColor, waitColor, rollWaitColor, waitModal, waitEnabled, backdropColor, align, valign, labelAlign, labelValign, labelIndent, labelIndentH, labelIndentV, indent, useTap, excludeCustomTap, index, styleLabels, keyWrap, selectedIndex, style, group, inherit)
A traditional tab layout for along the edge of content.

Organizer(width, list, useAdd, useRemove, usePosition, autoAdd, autoRemove, autoPosition, addForward, removeForward, backgroundColor, rollBackgroundColor, selectedBackgroundColor, selectedRollBackgroundColor, color, rollColor, selectedColor, selectedRollColor, spacing, corner, keyEnabled, gradient, gloss, backdropColor, style, group, inherit)
A Tabs bar of interface for organizing a ZIM List.

Connectors(width, height, points, node, line, linear, linearWrap, linearOrder, num, snapH, snapV, dropType, dropArray, continuous, startIndex, duplicateLine, deleteNode, dblclick, fullMove, min, max, boundary, expand, nodeRollColor, nodeRollBorderColor, nodeSelectedColor, nodeSelectedBorderColor, baseColor, baseBorderColor, baseRollover, rootLock, grandChildren, dblclickTime, steps, style, group, inherit)
Adds nodes (any DisplayObject - default a Circle) that can be dragged to draw a connector line.

Carousel(items, viewNum, time, spacing, backgroundColor, backing, padding, paddingH, paddingV, arrowLeft, arrowRight, arrowGap, valign, ease, swipe, remember, index, continuous, selectedIndex, style, group, inherit)
A horizontal display for multiple objects with arrows at sides to animate to previous and next.

Carousel3D(width, height, items, widthFactor, heightFactor, curve, interactive, continuous, fade, fadeColor, vertical, sensitivity, damp, factor, index, selectedIndex, style, group, inherit)
A 3D carousel that cycles through items as it is swiped

Loader(width, height, label, type, backgroundColor, rollBackgroundColor, color, rollColor, borderColor, rollBorderColor, borderWidth, corner, shadowColor, shadowBlur, hitPadding, gradient, gloss, dashed, backing, rollBacking, rollPersist, icon, rollIcon, toggle, toggleBacking, rollToggleBacking, toggleIcon, rollToggleIcon, toggleEvent, frame, multiple, accept, style, group, inherit)
Loader lets you upload images, text or JSON.  These are available on the loaded event function.

TextArea(width, height, placeholder, text, size, padding, color, backgroundColor, borderColor, borderWidth, corner, shadowColor, shadowBlur, dashed, id, readOnly, spellCheck, password, inputType, wrap, maxLength, frame, expand, keyboardShift, style, group, inherit)
TextArea creates an input text field by overlaying an HTML TextArea.


------------------------------------
MODULE 3: ZIM METHODS
------------------------------------
obj.cache(width||x, height||y, null||width, null||height, scale, options, margin)
https://createjs.com/docs/easeljs/classes/Container.html#method_cacheTurns the object into a bitmap which can be rendered more efficiently, especially on mobile.

obj.on(type, listener, scope, once, data, useCapture)
https://createjs.com/docs/easeljs/classes/Container.html#method_onCaptures events.  Similar to addEventListener() in raw JavaScript

obj.off(type, listener, useCapture)
https://createjs.com/docs/easeljs/classes/Container.html#method_offTurns an event off using the return value of the on() method.

obj.getBounds()
https://createjs.com/docs/easeljs/classes/Container.html#method_getBoundsGets bounds data for a Display Object (with bounds set).

obj.setBounds(width||x||Boundary, height||y, null||width, null||height)
https://createjs.com/docs/easeljs/classes/Container.html#method_setBoundsSets bounds for a Display Object.

obj.localToGlobal(x, y)
https://createjs.com/docs/easeljs/classes/Container.html#method_localToGlobalReturns a point on the stage for the provided x and y within the object's (container's) coordinate system.

obj.globalToLocal(x, y)
https://createjs.com/docs/easeljs/classes/Container.html#method_globalToLocalReturns a point within the object's (container's) coordinate system that matches the provided x and y on the stage (global).

obj.localToLocal(x, y, target)
https://createjs.com/docs/easeljs/classes/Container.html#method_localToLocalReturns a point with x and y positions inside the provided target container's coordinate system

obj.clone(exact)
https://createjs.com/docs/easeljs/classes/Container.html#method_cloneMakes a copy of the DisplayObject (and children).

obj.dispose(disposing)
Deletes the DisplayObject from memory.

obj.addTo(container, index, still)
A wrapper function for addChild() / addChildAt() to add the obj to the container.

obj.centerReg(container, index, add)
Centers the registration point on the bounds - obj must have bounds set.

obj.center(container, index, add)
Centers the object on the container.

obj.pos(x, y, horizontal, vertical, container, index, add, reg, regX, regY)
Chainable convenience function to position an object and optionally add to a container

obj.loc(target|x, y, container, index, add, localToLocal)
locates obj registration at registration of provided target

obj.mov(x, y)
Move the object over in the x and/or y

obj.sca(scale, scaleY)
Chainable convenience function to do scaleX and scaleY in one call.

obj.alp(alpha)
Chainable convenience function to set the alpha

obj.vis(visible)
Chainable convenience function to set the visible

obj.ble(blendMode)
Chainable convenience function to set the blendMode (compositeOperation)

obj.dye(color)
Chainable convenience function to set the color of a shape

obj.hov(value, prop)
Chainable convenience function to set the rollover (hover) property of an object

obj.rot(rotation, x, y)
Chainable convenience function to set the rotation

obj.siz(width, height, only)
Chainable convenience function to set width and height in one call.

obj.ske(skewX, skewY)
Chainable convenience function to skewX and skewY (slant)

obj.reg(regX, regY, still)
Chainable convenience function to regX and regY (registration point)

obj.top()
Places object on top layer in container - if in a container

obj.bot()
Places object on bottom layer in container - if in a container

obj.ord(num)
Moves object layer order in container - if in a container

obj.cur(type)
Chainable function that sets the object's cursor to the type provided - same as CSS cursors.

obj.sha(color||Shadow, offsetX, offsetY, blur)
Chainable function that sets the object's drop shadow to a CreateJS Shadow indirectly or directly

obj.tap(call, distance, time, once, dbl, dblTime, call2, call3, call4, cursor, mobileUp)
Chainable convenience method that adds a mousedown and mouseup event to the object

obj.noTap()
removes the mousedown and mouseup events added with tap()

obj.hold(call, distance, time, once)
Chainable convenience method that adds a press and hold event to the object

obj.noHold()
removes the mousedown and mouseup events added with hold()

obj.change(call, once)
Chainable convenience method that adds a change event to the object

obj.noChange()
removes the change event added with change()

obj.drag(boundary, axis, overCursor, dragCursor, all, swipe, localBoundary, onTop, surround, slide, slideFactor, slideSnap, slideSnapDamp, reg, removeTweens, startBounds, rect, currentTarget, offStage, immediateBoundary, singleTouch, dropTargets, dropCopy, dropSnap, dropBack, dropEnd, dropFull, dropHitTest, dropScale, dropWidth, dropHeight, dropOriginal, style, group)
Adds drag and drop to an object with a variety of options.

obj.noDrag(recursive)
Removes drag function from an object.

obj.dragBoundary(boundary)
Dynamically changes or adds a boundary rectangle to the object being dragged with drag().

obj.mouse()
Sets object's mouseChildren and mouseEnabled properties to true

obj.noMouse()
Sets object's mouseChildren and mouseEnabled properties to false

obj.transform(move, stretchX, stretchY, scale, rotate, allowToggle, visible, onTop, showStretch, showRotate, showScale, showReg, showBorder, borderColor, borderWidth, dashed, customCursors, handleSize, regSize, snapDistance, snapRotation, cache, events, ghostColor, ghostWidth, ghostDashed, ghostHidden, frame, container, minScaleX, maxScaleX, minScaleY, maxScaleY, sliceX, sliceY)
The transform method adds transform controls to a display object.

obj.gesture(move, scale, rotate, boundary, minScale, maxScale, snapRotate, localBoundary, slide, slideFactor, regControl, onTop, surround, circularBounds, rect)
Sets multi-touch pan, pinch and rotate for position, scale and rotation

obj.noGesture(move, scale, rotate)
Removes multi-touch pan, pinch and rotation gestures from an object.

obj.effect(effect, x, y, width, height)
Adds an effect to a DisplayObject such as:

obj.addPhysics(dynamic, contract, shape, friction, linear, angular, density, bounciness, maskBits, categoryBits, physics, restitution, sensor)
Add Physics to a DisplayObject.  DisplayObject should have its registration point centered reg(CENTER) or centerReg()

obj.turn(damp, factor, mode, min, max, type, ready)
Rotates an object based on device yaw / roll orientation (turning the device like a steering wheel, dial, or compass).

obj.noTurn()
Removes turn listeners and ticker updates from the object.

obj.hitTestPoint(x, y, boundsCheck)
Tests if shape of obj is hitting the global point x and y on the stage.

obj.hitTestReg(other, boundsCheck)
Tests if the shape shape of an object is hitting the registration point of object (other).

obj.hitTestRect(other, num, boundsCheck, inside)
See if a shape of an object is hitting points on a rectangle of another object.

obj.hitTestRectPoint(x, y, margin)
Uses an equation to see if the bounds of a rectangular object is hitting a point x, y.

obj.hitTestCircle(other, num, boundsCheck, inside)
See if the shape of an object is hitting points on a circle of another object.

obj.hitTestCircleRect(other, margin)
Uses an equation to see if a circlular object is hitting the rectangle of another object.

obj.hitTestCirclePoint(x, y, margin)
Uses an equation to see if a circlular object is hitting a point x, y.

obj.hitTestCircles(other, margin)
Uses an equation to see if two circles are intersecting.

obj.hitTestBounds(other, margin, boundsShape)
See if obj.getBounds() is hitting other.getBounds().

obj.animate(props, time, ease, call, params, wait, waitedCall, waitedParams, loop, loopCount, loopWait, loopCall, loopParams, loopWaitCall, loopWaitParams, loopPick, rewind, rewindWait, rewindCall, rewindParams, rewindWaitCall, rewindWaitParams, rewindTime, rewindEase, rewindPick, startCall, startParams, animateCall, animateParams, sequence, sequenceCall, sequenceParams, sequenceReverse, sequenceRatio, ticker, cjsProps, css, protect, override, from, set, id, events, sequenceTarget, dynamic, drag, clamp, startPaused, clean, obj, seriesWait, sequenceWait, rate, pauseOnBlur, easeAmount, easeFrequency, timeUnit, timeCheck, noAnimateCall, pathDamp, style, group)
powered by createjs.Tween (TweenJS)Animate object properties in time (s).

obj.stopAnimate(ids, toEnd)
Stops tweens with the passed in id or array of ids.

obj.pauseAnimate(state, ids)
Pauses or unpauses tweens with the passed in id or array of ids.

obj.wiggle(property, baseAmount, minAmount, maxAmount, minTime, maxTime, totalTime, type, ease, integer, id, startType, ticker, wait, pauseOnBlur, endOnStart)
Wiggles the property of the target object between a min and max amount to either side of the base amount

obj.loop(call, reverse, interval, step, start, end, immediate, complete, completeParams)
NOTE: overrides earlier loop function with added container loopso that we can use earlier loop function without createjsThe loop function (see the CODE module for loop) lets you loop through:

obj.scaleTo(boundObj, percentX, percentY, type, boundsOnly, simple)
Scales object to a percentage of another object's bounds and scale

obj.expand(padding, paddingV, paddingRight, paddingBottom)
Adds a createjs hitArea to an object with an extra padding of padding.

obj.setMask(mask, dynamic)
Specifies a mask for an object - the object can be any display object.


------------------------------------
MODULE 4: ZIM CONTROLS
------------------------------------
STYLE and Style()
Also GLOBALSTYLE zim constantSTYLE can be used to set any parameter on a DisplayObject, many of the Controls, and some methods.

ANIMATE
Set to false to stop animate() calls from working.

Ticker = {}
A static class to let ZIM use a requestAnimationFrame with a single stage update.

Pages(pages, transition, speed, transitionTable, holder, arrowDisableColor, continuous, style, group, inherit)
Pages handle going between pages.

Arrow(backgroundColor, rollBackgroundColor, pages, direction, type, newPage, trans, speed, style, group, inherit)
Makes an Button with an arrow backing of different designs - see types parameter - default is a Triangle.

Wrapper(items, width, spacingH, spacingV, wrapperType, align, valign, alignInner, valignInner, flip, reverse, bottomFull, colSize, rowSize, height, minSpreadNum, minStretchNum, percentVoidH, offsetVoidH, percentVoidV, offsetVoidV, minStretchFirst, style, group, inherit)
A Wrapper wraps its content to the next row at a given width

Tile(obj, cols, rows, spacingH, spacingV, unique, width, height, squeezeH, squeezeV, colSize, rowSize, align, valign, count, mirrorH, mirrorV, snapToPixel, clone, events, exact, scaleToH, scaleToV, scaleToType, backgroundColor, backgroundPadding, backgroundPaddingH, backgroundPaddingV, backing, backdropColor, backdropPadding, backdropPaddingH, backdropPaddingV, mat, style, group, inherit)
Tile has two main uses:

Pack(width, height, items, spacingH, spacingV, flatten, direction, lock, backgroundColor, align, valign, lastAlign, paddingH, paddingV, dragOrder, dragColor, dragThickness, dragDashed, reverse, funnel, showPacking, order, container, style, group, inherit)
Pack scales objects so they are packed within a width and height.

Beads(path, obj, count, angle, startPercent, endPercent, percents, onTop, showControls, visible, interactive, clone, group, style, inherit)
Beads adds objects around a Squiggle or Blob path.

Bullets(list, bulletType, size, color, cols, font, italic, bold, variant, shiftH, shiftV, spacing, spacingH, spacingV, colSpacing, bulletAlign, rtl, style, group, inherit)
Bullets creates a list with bullet points or custom bullet types.

Layout(holder, regions, lastMargin, lastMarginMin, backgroundColor, vertical, showRegions, scalingObject, hideKey, style, group, inherit)
Layout arranges objects on the page by fitting (scaling) them in regions.

TextureActive(width, height, color, color2, angle, borderColor, borderWidth, corner, interactive, animated, backingOrbit, pattern, scalePattern, style, group, inherit)
A TextureActive object is a Container that can be used as a CanvasMaterial in three.js.

TextureActives(actives, threejs, zimThree, renderer, scene, camera, controls, layers, near, far, ignoreList, toggleKey, color, outerColor, damp, style, group, inherit)
The ZIM TextureActive system allows ZIM to be used within three.js

MotionController(target, type, speed, axis, boundary, map, diagonal, damp, flip, orient, constant, firstPerson, turnSpeed, moveThreshold, stickThreshold, container, localBoundary, mouseMoveOutside, mousedownIncludes, minPercentSpeed, maxPercentSpeed, dampKeyup, rotate, mouseOutside, tileObj, penDown, offTime, startAngle)
MotionController lets you control an object (target) in a container (like the stage)

Physics(gravity, borders, scroll, frame)
** MUST import zim_physics - see https://zimjs.com/es6.html#MODULESThe Physics class provides a wrapper for the Box2D physics engine.

Parallax(layers, damp, auto, stage, startPaused, mouseMoveOutside, clamp)
Takes objects as layers and sets properties based on an input,

Flipper(front, back, interactive, time, vertical, flipped, ease, frontPress, backPress, reverse, continuous, style, group, inherit)
Flipper lets you flip between two DisplayObjects.

Book(width, height, pages, startPage, rollUp, radius, backgroundColor, arrows, handleHTML, style, group, inherit)
Creates a book with pages that flip like a real book.

Scrambler(tile, keys, keyProperty, scramble, time, wait, num, shadowColor, shadowBlur, swap, swapLock, style, group, inherit)
Takes a ZIM Tile and scrambles its items allowing the items to be dragged to unscramble.

Shuffler(tile, spacing, offset, vertical, formatObj, damp, keys, keyProperty, shuffle, time, wait, num, shadowColor, shadowBlur, cache, offsetOne, offsetTwo, style, group, inherit)
Takes a one-row or one-column ZIM Tile or a string of words and shuffles them in one line.

Scroller(backing, speed, direction, horizontal, gapFix, stage, container, backing2, style, group, inherit)
Scroller animates a backing either horizontally or vertically (not both).

Emitter(obj, width, height, interval, num, life, fade, shrink, warm, decayTime, decayStart, trace, traceFadeTime, traceShiftX, traceShiftY, angle, force, gravity, wind, layers, animation, random, horizontal, vertical, sink, sinkForce, cache, events, startPaused, pool, poolMin, particles, focusWarm, style, group, inherit)
A particle emitter - so this makes and animates display objects like shapes or bitmaps

Generator(color, strokeColor, strokeWidth, draw, stamp, setup, maxCount, boundary, drawCount, drawPause, drawSpacebarPause, startX, startY, cache, recordLinePoints, frame, seed, output, outputType, style, group, inherit)
Used for dynamic drawing such as generative art or visualizations.

Pen(size, color, penType, damp, spread, borderColor, borderWidth, end, paper, nib, cache, ctrlKey, cropScale, undo, undoKeys, move, onTop, deleteable, doubleClickDelete, holdDelete, immediateStop, lineAlpha, lineBlendMode, frame, dashed, pullColor, pullThickness, style, group, inherit)
Handles dynamic drawing with a set of different penTypes

SoundWave(num, input, include, smoothing, min, max, operation, baseline, magnify, reduce, adjust, channel)
Receives a sound input and calculates frequency data using HTML AudioContext createAnalyser()

Synth(volume, frequency)
Synth has two main methods play() and tone().


------------------------------------
MODULE 5: ZIM CODE
------------------------------------
chop(obj, cols, rows, tile, margin, scale)
Breaks up any DisplayObject into a grid of cols and rows and returns Tile or an array of Bitmap objects.

shuffle(array, different)
Randomly shuffles elements of an array.

pluck(array, remove)
Returns a random element from an array.

rand(a, b, integer, negative)
Returns a random integer between and including a and b if integer is true.

odds(percent)
Returns true if random percent is within (less than or equal to) the percent parameter provided.

series(array|item1|obj, item2, item3)
Returns a function that will return each value passed as a parameter (or an Array) in order

loop(obj, call, reverse, interval, step, start, end, immediate, complete, completeParams)
1. If you pass in a Number for obj then loop() does function call that many times

interval(time, call, total, immediate, pauseOnBlur, timeUnit, complete, completeParams, timeout, mID, tether)
Calls a function after each time delay - like window.setInterval().

lighten(color, ratio)
Lightens the color by a ratio from 0 to 1

darken(color, ratio)
Darkens the color by a ratio from 0 to 1

toColor(color, targetColor, ratio)
toColor the color by a ratio from 0 to 1

extend(subclass, superclass, override, prefix, prototype)
For ES5 - place after a sub class to extend a super class.

copy(obj, clone, cloneContainers)
Copies arrays and basic objects:

orderContainer(container, order)
Arranges original indexed children of a Container to new positions based on provided array.

sign(num)
returns -1, 0 or 1 depending on whether the number is less than, equal to or greater than 0

constrain(num, min, max, negative)
returns a number constrained to min and max

dist(a, b, c, d)
Calculates the distance between two points.

angle(a, b, c, d)
Calculates the angle between two points

TAU, DEG, RAD, PHI
ZIM degrees and radian constants

Ajax(master, couple, lock, unique)
An AJAX class to send data back and forth to a server without reloading the page

Noise(seed)
Noise creates OpenSimplex Noise: https://en.wikipedia.org/wiki/OpenSimplex_noise

Point(x, y, z, q, r, s, t, u, v, w)
Stores x, y, z, q, r, s, t, u, v, w properties.

Boundary(x|bounds, y, width, height)
Stores the data for a rectangle with x, y, width and height.

GradientColor(colors, ratios|angle, x0, y0, x1, y1)
Creates data for a Linear Gradient that can be used to color ZIM Shapes

BitmapColor(image, repetition, matrix)
Creates data for a Bitmap fill from a loaded asset

Damp(startValue, damp)
Damping emulates things slowing down due to friction.

Proportion(baseMin, baseMax, targetMin, targetMax, factor, targetRound, clamp, clampMin, clampMax)
Proportion converts an input value to an output value on a different scale.

Dictionary(unique)
An object that uses objects as keys to give values.


------------------------------------
MODULE 6: ZIM WRAP
------------------------------------
zog(item1, item2, etc.)         ~ logzogglobal functionShort version of console.log()


------------------------------------
MODULE 7: ZIM META
------------------------------------
makeContent(content, maxWidth, color, scrollBar)
Function that returns ready-made content for Pane(), Window() and Panel()

THEME()
ZIM Theme changes the ZIM colors to themed sets of colors