Joe Miller's ActionScript 1.0 framework for Adobe Flash — predecessor to indivision-codebase-as2, used as the foundation for Flash-era projects (mid-2000s). A collection of light-weight UI, layout, media, event, and utility classes targeting Flash Player 6/7-era AS1.
- Era: mid-2000s.
- Stack: ActionScript 1.0 (class-style declarations introduced in Flash MX 2004 / Flash Player 7).
- State: archived; Flash itself reached end-of-life on December 31, 2020. Preserved for historical/educational interest and for restoring legacy Flash-era projects.
- Successor:
indivision-codebase-as2— strict superset, 80 classes vs AS1's 28 (see AS1 vs AS2).
indivision-codebase-as1/
├── README.md
├── codebase/ ← Indivision framework code (the main library)
│ ├── classes/
│ │ ├── com/ ← bundled third-party AS classes
│ │ └── net/indivision/ ← Indivision's own framework
│ └── fla_examples/ ← runnable .fla demos + compiled .swf output per package
├── dev/ ← scratch / one-off (speedtest)
├── global/ ← shared third-party AS libraries
│ ├── com/
│ │ ├── informatikanova/ ← datacube + engine
│ │ ├── robertpenner/ ← easing + bezier
│ │ ├── schematic/ ← site / module / page / grid adapters
│ │ └── senocular/ ← Path
│ └── org/
│ └── as2lib/ ← as2lib environment
├── layout/standard/ ← standard layout package
└── test/picture_viewer/ ← test harness for the picture viewer
28 classes across 8 packages.
Position and arrangement utilities (expanded substantially in AS2).
Position— positioning utility for movieclip placement.
User-interaction controls. The largest package; the polished UI layer.
AbstractButton— base class for all button variants.AnimatedButton— button with frame-based animations.CustomButton,CustomButtonStyle— fully customizable button + its style descriptor.LabelButton,LabelButtonStyle— button with a text label + its style descriptor.LinearButton— button with linear arrangement (toolbar-style).MenuBase— generic menu component, extendsMovieClipDispatcher.ScrollBar— scrollbar component, extendsMovieClipDispatcher.Scrub,IScrubbable— scrubber control (media seekbar-style) + interface for scrubbable targets.
Debug helpers.
Trace— wrapper aroundtrace()adding optional formatting.JavaAlert— firesgetURL("javascript:alert(...)")from within Flash for browser-side debug alerts.
Non-interactive visual elements.
Bullet— visual bullet point graphic.LabelBase— text-label base class.
Event dispatching tools.
FrameEventBeacon— dispatches per-frameonEnterFrameevents to subscribers.KeyBeacon— dispatches key-press events.StageBeacon— dispatches stage-resize events.
Media wrappers.
SoundClip— simple wrapper aroundflash.media.Soundfor triggered SFX.
Shape primitives + style descriptors.
AbstractShape— base class for procedural shapes.Backdrop— fullscreen background fill shape.FillStyle— fill style descriptor (color + alpha).RectangleShape— procedurally-drawn rectangle.
Generic utilities.
Group— manages a logical group of movieclips.MovieClipStack— stack-based movieclip allocation/recycling.Timer— simplesetInterval-based timer wrapper.
Runnable demos for ~25 classes/concepts. Each in fla_examples/source/<package>/<demo-name>/<DemoName>.fla with compiled .swf output in fla_examples/deploy/:
- arrange: arrange, Axis, StageManager
- control: AnimatedButton, CustomButton, LabelButton, LinearButton, MenuBase, ScrollBar
- data: XMLConstruct (an XML-to-Object parser)
- effect: MaskWipe
- element: Animation, ExpandingFrame, LabelBase
- event: KeyBeacon, StageBeacon
- layout: Grid
- load: LoadQueue, PerformanceLoader
- media: AudioManager, FLVMedia, MediaPlayer, MP3, SoundClip
- operation: operation
- shape: RectangleShape
- tween: FrameMotion, FrameTween, tween
- util: Group, Timer
| Library | Path | Purpose |
|---|---|---|
| Robert Penner Easing | global/com/robertpenner/easing/ |
Easing functions (Back, Bounce, Circ, Cubic, Elastic, Expo, Linear, Quad, Quart, Quint, Sine) |
| Robert Penner Bezier | global/com/robertpenner/bezier/ |
CubicCurve bezier math |
| Senocular Path | global/com/senocular/Path.as |
Path-following math utility (Trevor McCauley / senocular.com) |
| as2lib | global/org/as2lib/ |
OO framework: events, exceptions, output handling (Mozilla Public License 1.1) |
| Informatika Nova | global/com/informatikanova/ |
datacube (3D coord system) + engine (Bernd Will, informatika-nova.com) |
| Schematic Site | global/com/schematic/site/ |
Site/Module/Page/Grid scaffold classes |
Indivision code imports these from Macromedia's Flash MX 2004 runtime — ship with the Flash IDE / Flash Player runtime; no additional install needed:
mx.events.EventDispatcher— Flash's standard event dispatcher.mx.utils.Delegate— function-binding helper.
A scan of import statements in codebase/classes/net/indivision/, component/, and layout/ shows Indivision code only imports:
- Other
net.indivision.*modules mx.events.EventDispatcher,mx.utils.Delegate
The global/ libraries are bundled for availability — Indivision developers could use them in projects atop this codebase — but the framework itself doesn't require them.
indivision-codebase-as2 is the AS2 successor — strict superset, 80 indivision classes vs AS1's 28. AS2 adds entirely new packages:
| Package | AS1 | AS2 |
|---|---|---|
core |
— | AbstractDispatcher, AbstractMovieClip, MovieClipDispatcher |
data |
— | DataProviderProxy, XMLConstruct, XMLConstructNode |
effect |
— | AbstractEffect, Fade, MaskWipe, Reveal, TweenEffect |
layout |
— | AbstractLayout, Column, Grid, IArrangeable, Row |
load |
— | LoadQueue, PerformanceLoader |
media (extras) |
SoundClip |
+ AbstractMedia, AudioManager, FLVMedia, Image, LinearMedia, MP3, StaticMedia, VideoClip |
operation |
— | AbstractAnalysis, Extract, Find, Iteration, Quantity, Run, Set |
project |
— | AbstractXMLProject |
text |
— | HidingDefaultText |
tween |
— | FrameMotion, FrameTween, Motion, MotionPath, Move, PropertyTween, TweenBase |
AS2 also expanded existing AS1 packages: arrange (1 → 7 classes), control (11 → 11, refined), element (2 → 4), shape (4 → 6), util (3 → 4).
If you're starting new Flash-era work, use AS2 — AS1 is preserved here for historical interest.
To compile, you need Flash MX 2004 or later (Flash CS3-era recommended for the most-tested setup). Open any .fla from codebase/fla_examples/source/<package>/<DemoName>/. Classpath should include:
codebase/classes/
global/com/
global/org/
Publish Settings > Flash > ActionScript Version should be ActionScript 2.0 (the class keyword is AS2 syntax, but the AS1 era allowed class-declared code that targeted older players via --language AS1 compile flag).
indivision/indivision-codebase-as2— AS2 successor.