Squeak SmalltalkJoker Squeak Smalltalk : Organization : prevnext History 2 0 2 4

New Features in 2.4
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.