Here is a summary of major improvements in the 2.4 release (4/22/99):
Balloon3D Rasterizer
This is Andreas Raab's first implementation of a platform-independent 3D rasterizer built to work with Balloon, his existing, rotation-, and scale-independent anti-aliasing rendering engine. A number of subtle features remain yet to be implemented, but its already awesome capability can be seen by playing with Wonderlands.
Wonderlands
Wonderlands are 3D environments in Squeak-Alice. What is Squeak-Alice? Alice (http://www.alice.org) is an authoring tool designed by the Stage 3 Research Group (Randy Pausch director) to allow people without programming experience to build interactive 3D worlds. Squeak-Alice represents three months of mad-man hacking by Jeff Pierce, a member of the original Alice design team, and a research intern with the Squeak Team.
With the Balloon3D engine as its vehicle, models built and used in Squeak-Alice should run on any platform from Wintel, Mac, and Unix machines down to bare hardware, with no reliance on 3rd-party rendering software. It's cool.
Image Segments
Squeak 2.4 is capable of tracing and writing to file any hierarchical data structure. Working from an array of roots, it determines the segment extent from the "shadow" of a GC mark pass. It is capable of tracing, writing to disk and rereading a megabyte of objects in about a second. Included is the ability to recover from faults due to the replacement of classes or instances by root stubs, after reloading the objects on demand.
2.4 also incorporates some 380 new features and fixes, including...
Optional annotationPanes in message-list browsers.
Can now add, delete and rename instance variables and methods in EToy viewers.
Defines a reader for X-Bitmap files.
Introduces sound codecs – an architecture for sound compression/decompression
Examples include mu-law (2:1), ADPCM (4:1), GSM (10:1), and wavelet (variable).
New parser for Autodesk 3D Studio files.
New 'Flap' screen extension package for Morphic. Flaps can reside on any edge (left,right,top,bottom), be inboard or outboard, slide the world's submorphs over or not.
New EventRecorder support includes voice-over and on-the-fly speech compression.
New scrollbars indicate extent of viewable section and shadow showsorigin of drag.
New C code to support playing MIDI through the QuickTime synth on the Mac.
Primitive support for pen-based tablets (tested with the Wacom ArtZ 6x8)
When running in morphic, all the old MVC classes can be deleted to reclaim space. Here is a summary of what was included in the 2.3 release (1/13/99):
Interface...
New-look menus in Morphic
New preferences panel with help messages for most entries.
Note especially inboard Scrollbars, browse w/prettyPrint, and project zoom
Morphic windows now adjust pane boundaries
Support for translucent colors in Morphic
Drop-shadows work better, as is display in 1- and 2-bit depths
Morphic changeLists support multiple selection
FileContentsBrowser is now in the base image, 'browse code' from FileList
Improved compare to clipboard (CTRL-C) and compare to current (ChangeList)
MessageLists generally support cmd-n, m, b, v for
seNders, iMplementors, Browse full, and Versions
Character recognizer has been integrated with Morphic
Senders-of-it (cmd-n) and implementors-of-it (cmd-m) in the editor
now deal almost perfectly with embedded parens and brackets.
Morphic selectorBrowser supports acceptOnCR
Normal cursor now has white surround – good for dark backgrounds.
Handy 'show' and 'find' commands added to ChangeSorters.
Debuggers now update their inspectors dynamically
Scripting...
Numerous improvements have been made in the area of scripting.
These and other deeper topics will hopefully filter into documentation
on the Swikis or elsewhere in the near future.
Books (Morphic)...
A number of page transitions are supported and integrated with Morphic.
Some are slow, but each has its place.
A menu item offers choices, by the book, by the page, and on bookmarks.
Page sorters are more convenient.
Sound...
MIDI input is available from class MIDISynth.
Numerics...
A completely new coercion scheme with array math thrown in.
VM now performs Float/Integer coercion on the fly.
New wavelet transform (see class FWT).
Object Memory...
Weak classes and finalization support are now part of the standard image
New Forward become: is planned to replace exchanging become:
Engine Room...
Fixed a bug that limited image size to 512 MB
Fixed a bug that limited object size to 256 MB
Files should be able to position and access up to 2^32 bytes.
Files should be able be up to 2^32 bytes long).
All 4 above are in need of test.
Bytecode and Message-send speeds up by 20-30%.
Integraton of Jitter pluggable compiler interface.
[Jitter is an major project that will be described when it is released].
Much faster string searches, both case-sensitive and not.
Pluggable Primitives...
A new primitive interface for extending the VM without having to modify it.
A PP is called by name, not by number and its code can reside in an external
library (e.g., a DSO on Unix, a DLL on Windows, etc.
An example is FFT>>pluginTest which is a factor 60-100 faster than
the regular (interpreted) FFT. Look at class InterpreterPlugin and subclasses.
Balloon...
Balloon is a vector graphics engine that brings a new quality of graphics to
Squeak. Try playing with TrueType fonts (Yeah!!), as in Play With Me -3
or with the Flash File reader (see example in the Welcome window.
Note that you can read TrueType fonts or Flash files directly from the FileList.
When playing Flash files, use the Morph menu to spawn a control panel
so that you can start, stop and change the degree of smoothing. Note that,
to an increasing degree, it is possible to take apart Flash graphics in Squeak.
Quality will be nicest in 16- and 32-bit color (natch).
Squeak Pages...
A significant new system (called Squeak Pages) allows morphic worlds to be
cached in Squeak, but resident on Web Pages. See more below.
Files...
Several tweaks to HtmlFileStream and CrLfFileStream Here is a summary of what was included in the 2.2 release (9/23/98):
Continued improvements to the Morphic window system and scripting.
Three all-new network applications written entirely in Squeak
Celeste (a mail reader by John Malone)
Scamper (a web browser by Lex Spoon)
IRC chat (also by Lex Spoon)
Support for looped sampled music timbres for high quality synthesis.
Piano roll display for the MIDI player, and external MIDI output.
Rejuvenated support for shrinking the Squeak system (see Image Size).
A couple of new features in the VM, including
Better handling of delays (more accurate messageTallies)
Support for opaque as well as transparent cursors.
Mac support for high-speed asynchronous disk I/O.
Hundreds of other bug fixes and features. Here is a summary of what was included in the 2.1 release (6/30/98):
need to cull updates and summarize Here is a summary of what was included in the 2.0 release (5/20/98):
More responsive cursor tracking in Morphic
Flex morphs (meaning any morph can be scaled and rotated).
On-the-fly compression/decomp (20MB/s) of bitmaps
As an option, when you enter a project it zooms visually.
Mac interpreter that now supports full-screeen display
Numerous Swiki tweaks
Many numeric cleanups that have been discussed on the Squeak list
A fast string compare primitive with collation table
Support for serial ports.
Remote FTP access through the standard FileList.
An automatic code update mechanism based on remote servers.
Basic MIDI support in the VM.