Changes from version 2: - fixed minor bug with ComplexComponent; like ECComponent this needs to have nearLoc = (targetObj.nearLoc), which has been added. - fixed one slightly incorrect message in Space_en_us.t Changes from version 1: - we added past-tense messages, for compliance with the latest main library, version 3.0.9. - we removed our precondition-ordering modification, as this is handled automatically by the latest main library. - rooms can now participate in multiple connectionGroups. - We have added preinitialization routines to convert connectionGroup assignments of single-connection-group objects into (single element) lists, and to ensure connection-group lists are initially sync with SpaceConnector location lists. - we added a class SpaceConnector, based on DistanceConnector, to handle the normal ConSpace "spacially connected rooms". Originally, we simply used DistanceConnector for this, but we have added extra functionality to this new class. We now reserve DistanceConnector for sensory connection between rooms without connected-space support, such as rooms which are visible from each other but not accessible from each other. - we now provide a mechanism for connected spaces to add and remove rooms at runtime (or to delete and create spacial connections). SpaceConnector defines a suite of methods for handling this easily, which automatically keep the SpaceConnectors' locationLists in sync with the rooms' connectionGroup lists. - we added SpaceConnectorDoor, to more easily handle the common situation where an *open* door should spacially connect the locations on each immediate side of the door. - we imlpemented a pathfinder algorithm, to (1) find which of a given multiLoc's locations is closest to the actor; (2) determine which rooms an actor traverses when moving through a connected space. The algorithm limits itself to paths within an enclosing connected space. - movements to a multiLoc proceed to whatever location which is nearest to the actor and which is in the multiLoc's locationList (and which can be reached within a path enclosed by the connectionGroup(s) connecting the actor and multiLoc). - ConSpace-automated movements through a series of rooms now fire any side-effects of travel for each room in the series. Implicit travel may of course be interrupted, at the discretion of the game objects. - we added side-effects for entering/exiting a connection-group (as opposed to traveling within the group). (This could instead be applied to the library; a modification to the MultiLoc class. This is being discussed now on v-space: we'll see what happens. -- In the meantime, we support this capability specially in this extension.) - we fixed Space_en_us to use actorXxName uniformly, rather than construct this from actorXxPrep + theName. This brings us into closer accord with the main library, and this is also more convenient for the user. - we added a flag to allow/disallow intermediary-moves, which involves both intermediary-move reports and the would be side-effects generated by those intermediary moves. The flag is on by default, but if it is disabled on a SpaceConnector, any implicit move between rooms within that space will sort-of magically skip any intervening rooms, effectively avoiding both intermediary (implicit) travel reports, and travel side-effects for the rooms skipped. - we modestly expanded the sample game ("Find the Ring"), to showcase and test the new features of this version of ConSpace. - we significantly revised the documentation for this revision. - (ECC remains unchanged.) To do: fix up the test game, making sure that we have "ideal" examples of everything that we're newly implementing in this revision.