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.