ObjectProfile / Roassal3

The Roassal Visualization Engine
MIT License
97 stars 52 forks source link
pharo pharo-smalltalk roassal smalltalk visualization

Roassal3

Attention

image

:warning: The active development of Roassal3 has been moved to pharo-graphics organization:

New repositories:

Roassal is part of pharo thats why we want to keep it as part of the pharo ecosystem, thats why we are moving and this repository will be frozen.

CI Discord Coverage

Pharo 8 Pharo 9 Pharo 10 Pharo 11 Pharo 12

Chat with us on #Roassal

Visualize the test coverage of Roassal3

Roassal3 is an agile visualization engine for Pharo. Roassal was created to enable interactive data visualization, it contains a different groups of shapes an lines that you can use to build your projects, also animations, attach points, events, layouts and a basic chart library. Roassal use cairo graphics as backend, in a future will support new backends. Roassal allows to user to extent the presentation of any object thanks to the inspector. Also it has integration with spec and also with morphic world

Sister projects: Roassal3Documentation, Roassal3Exporters.

Pharo Installations

Roassal3 is included from Pharo 9 to 12. This means that you do not need to install anything else. Pharo contains Roassal 0.9.6b. Two installation flavors are available: stable and latest (a.k.a bleeding-edge).

Stable version

If you wish to install Roassal in Pharo, then execute the following code snippet in a Playground:

Metacello new
    baseline: 'Roassal3';
    repository: 'github://ObjectProfile/Roassal3:v1.01';
    load.

Latest version

If you wish to have the lastest release of Roassal, then execute the following code snippet in a Playground, including Mondrian and experimental packages, use:

[Metacello new
    baseline: 'Roassal3';
    repository: 'github://ObjectProfile/Roassal3';
    load: 'Full' ] on: MCMergeOrLoadWarning do: [:warning | warning load ]

Quick examples

In order to run the following examples they must be loaded by installing the full (bleeding edge) version of Roassal.

Once loaded, you can execute this in a playground:

RSChartExample new example01Markers open

You should see:

portfolio_view

An example animation may be seen using:

RSAnimationExamples new example03Atom open

You should see:

atom
RSExamplesBrowser new open

You should see an interactive browser with left right buttons to browse:

exampleBrowser
RSLayoutStudio new open

You should see a layout editor browser to choose a layout with the current parameters:

layoutStudio

Documentation

Visit the documentation github page

A major effort on writing documentation is under way. The wiki pages are yet another source of documentation for Roassal3: https://github.com/ObjectProfile/Roassal3/wiki

Roassal3 as a dependent application

If you wish to set a dependency to Roassal3 in your application, you simply need to add the following in your baseline:

spec baseline: 'Roassal3' with: [ spec repository: 'github://ObjectProfile/Roassal3/src' ].

To depend on a full version of Roassal3, you may use:

baseline: 'Roassal3' with: [ spec repository: 'github://ObjectProfile/Roassal3/src'; loads: #('Full') ];

Get in touch

Share your enthusiasm by joining the #Roassal channel, in the Pharo discord server: https://pharo.org/community

Roassal3 is free and open source, but backed by Object Profile. Commercial support offerings are available, including training and custom consultancy services. Check RoassalPro for more information.


Acknowledgement

Roassal3 is a community effort, and we are really grateful to a number of people. In no particular order, big thanks to: Stéphane Ducasse, Martin Días, Pavel Krivanek