Proscene-v3 is currently under development. Some (quite stable) beta releases are found here. Release notes are also maintain there. Please note that the latest release can always be downloaded automatically through the Processing Development Environment (PDE) contribution manager.

Proscene v2.0.5 is out. It should be possible to import/update it directly from your PDE. Otherwise download it here and extract it to your sketchbook libraries folder.

Changelog

  • Most of the examples have been simplified to better follow Processing style and conventions.
  • Fixes a bug in the KeyFrameInterpolator when restoring a position within a path having a single keyframe.
  • The PointUnderPixel example is back, thanks to the discussion that’s going here.

Proscene v2.0.4 is out. It should be possible to import/update it directly from your PDE. Otherwise download it here and extract it to your sketchbook libraries folder.

Changelog

  • Adds few remixlab.bias.agent.profile API improvements missed in the previous release. Methods holding the old syntax have been marked as deprecated

Proscene v2.0.3 is out. It should be possible to import it directly from your PDE. Otherwise download it here and extract it to your sketchbook libraries folder.

Changelog

  1. Many examples have been improved. For instance, those focusing interactivity to a particular Frame from the scene.mouseAgent(), such as Frame.FrameInteraction have been simplified.
  2. The following (missing) functions were added to the Scene: isMouseButtonActionBound(Target target, DOF2Action action), isMouseWheelActionBound(Target target, DOF1Action action) and isMouseClickActionBound(Target target, ClickAction action). The Eye.CadCamera example illustrates them.
  3. The remixlab.bias.agent.profile API has slightly been changed to be unified across all its classes taking the remixlab.bias.agent.profile.Profile base class as a model. Methods holding the old syntax have been marked as deprecated, e.g., KeyboardProfile.shortcut(), KeyboardProfile.isShortcutInUse(), KeyboardProfile.isKeyboardActionBound(); use KeyboardProfile.binding(), KeyboardProfile.isBindingInUse(), KeyboardProfile.isActionBound() respectively, instead.

Proscene v2.0.2 is out. It should be possible to import it directly from your PDE. Otherwise download it here and extract it to your sketchbook libraries folder.

Changelog

  1. Fix for a ZOOM_ON_REGION action bug that appeared when the action was triggered during a mouse drag and wasn’t started at a mouse press.
  2. New example Timing.AnimationHandler which illustrates how to add an animation handler function to the scene.

Proscene v2.0.1 is out. It should be possible to import it directly from your PDE. Otherwise download it here and extract it to your sketchbook libraries folder.

Changelog

  1. API changes:
    1. remixlab.dandelion.core.Constants.WheelAction has been renamed as remixlab.dandelion.core.Constants.DOF1Action. The former has been marked as deprecated. The change should be reflected in all scene mouse wheel methods.
    2. remixlab.bias.core.EventConstants has been removed. Modifier constant values have been moved to remixlab.bias.core.BogusEvent. Use PApplet.LEFT, PApplet.CENTER and PApplet.RIGHT to refer to mouse buttons.
  2. New example Frame.FrameAPI added. The example illustrates the powerful Frame API used to convert points and vectors along a frame hierarchy.

Proscene v2.0.0 is out. Being a stable release, it should now be possible to import it directly from your PDE. Otherwise download it here and extract it to your sketchbook libraries folder.

The library aims at providing interactivity to Frames (coordinate systems) allowing picking and motion control of objects, including the Eye, which in 3D is referred to as the Camera. Version 2 introduces a new library design supporting all the features found in version 1 plus some others. Perhaps the three key new features are:

  1. Cross-platform support: the new library architecture separates the core functionalities from the language/platform where target applications are to be run. ProScene may be regarded just as an interface between that core and Processing. Details may be found here. The Demos.MatrixShader example shows a taste of it.
  2. Support to all sorts of interaction mechanisms, including the standard mouse and keyboard, but not being particularly tie to any of them. i.e., it’s device agnostic by design. The examples of the Input section illustrate the approach.
  3. Support for 2D as well as 3D Processing renderers. Many of the examples are available in both cases.

Combined, features 1. and 2., represent the foundation to implement a wide range of setups ranging from simple to very complex ones. For instance, we already began a ProScene Android port, which is currently taken place at its own fork. We hope to integrate it back upstream once TouchEvents are directly supported in Processing. We also plan a first release of the Android port soon, so please stay tuned. In the mean time, have a look at the examples.Demos.Android2DOF,examples.Demos.Android3DOF which only require the Android-mode of Processing to run. We also implemented a kinect interface to control the camera on top of that foundation. The demo may be found at examples.Demos.Kinect5DOF and the gestures implemented to control the camera here. Finally, we hope that the Version 2 cycle will see the first Java-Script port taking the most out of our approach.

This release also includes additional examples illustrating most of the new features. We are confident that a learn-by-example methodology is the main (and most entertained) way to get use to them. The API has also been thoroughly reviewed and fully documented.

Happy hacking!

Acknowledgments

Thanks to Eduardo Moriana and Miguel Parra for their contributions with the TUIO-based touch and kinect interfaces, respectively. Thanks to experimental computational designer Amnon Owed for his collaboration with polishing the KeyFrameInterpolator sub-system. Thanks to Jacques Maire for providing most of the examples found at the contrib section. Thanks to Andres Colubri for his continuous support and thorough insights. Thanks to Victor Forero who is developing the proscene Android port. Thanks also to all ProScene users whose sketchs and library hacks always amaze and inspire us.

Proscene v2.0.0-beta3 is out. Download it here and extract it to your sketchbook libraries folder (automatic importing Proscene from your PDE is only available for stable releases, currently v-1.2.0).

This release introduces the first proscene Android port thanks to Victor Forero and also improves the API docs. The port is taken place at its own fork which we hope to integrate it back upstream once it is ready. The related zip file may be found here. Here’s a proof-of-concept example illustrating how to control the Scene using DOF2Events:

check the code here and the related apk here.

Proscene v2.0.0-beta2 is out. Download it here and extract it to your sketchbook libraries folder (automatic importing Proscene from your PDE is only available for stable releases, currently v-1.2.0).

This release fixes a nasty bug introduced in the previous beta which made the scene dissapear when dragging with the mouse center button. Thanks to Amnon Owed for reporting it. We encourage all Proscene2 users to upgrade to this version.

Proscene v2.0.0-beta1 is out. Download it here and extract it to your sketchbook libraries folder (automatic importing Proscene from your PDE is only available for stable releases, currently v-1.2.0).

The new API has been thoroughly reviewed and documented and may be considered frozen (unless something unexpected requiring a fix happens). Check it out here. We are greatful to Jacques Maire for contributing the new Proscene logo code which is a torus solenoid.

The new library architecture comprises the following packages:

FPSTiming

A single-threaded timing handler providing timers and animators. The package may be run stand-alone and it’s provided in its own tree.

BIAS

An input handler providing means to translate event input data into high-level user-defined actions. The package represents the new Proscene event back-end, but it may be run stand-alone and it’s provided in its own tree too.

Dandelion

Package implementing all sorts of (motion) actions on Frames (coordinate systems). Dandelion depends on both, FPSTiming and BIAS.

Proscene

Package holding a single class (the Scene) which represents an interface between Dandelion and Processing.

Although the (high-level) Scene API has been re-factored, Proscene1.x users may stick to it and feel at home. Most of the examples ported from Proscene1.x look even simpler now. They all have been re-organized reflecting the new structure to attract those willing to digg into the inners of the new architecture.

Expect for one or two more betas before the final release. We plan to improve the docs, particularly that of the examples. Please report any bug or issue you may find and help us make the upcoming proscene2 as polished as possible.