[squeak-dev] Roassal3...What is optimal, port Athens? Athens-Cairo? or build out the Roassal3-Squeak RsBalloonFOO heirarchy
Ben Coman
btc at openinworld.com
Mon Oct 26 14:16:59 UTC 2020
My understanding is that Athens in itself has nothing to do with FFI. The
Cario FFI calls are encapsulated in the Athen-Cario backend.
Indeed, with an Athens-HTML backend Matthius seems to have got Athens
running on Amber, which I'm sure doesn't have FFI...
https://www.youtube.com/watch?v=9nAkiwbZZEQ
An Athens-Balloon seems to have been planned, slide 7...
https://rmod.inria.fr/archives/talks/2012-PharoConf-Athens.pdf
I don't know the status.
cheers -ben
On Sun, 25 Oct 2020 at 21:44, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> Hi Timothy
>
> No; strategically it would be a disaster. First, as I understand it the
> Athens library is built above Cairo, a large foreign dependency,
> implemented in C, several times larger than the VM itself. Second, Juan
> Vuletich is making good progress with Morphic3, a Smalltalk implementation
> (a Smalltalk compiler) did similar functionality, running on the GPU. This
> dependency would be much like our dependency on the VM, in that it used our
> own technology stack , and therefore we can modify it, and do so quite
> quickly.
>
> So for the moment you should roll you own or host above BitBLT until we
> can move to Morphic3. This is essential. Under no circumstances should
> you release something using Athens/Cairo. If will do lasting damage to
> this community and its strategic direction and viability.
>
>
>
> Here is an example of things we cannot do until dependencies are
> resolved...heck, at the bottom of this email* is the entire Roassal install
> "log" that I saved when I installed the package:
>
>
> You must resolve these dependencies before you will be able to load these
> definitions:
> AthensCairoPathBuilder>>arcDegreeStart:sweep:centerX:y:radius:
> AthensCairoPathBuilder>>arcRadianStart:sweep:centerX:y:radius:
> AthensCairoPathBuilder>>ellipticalArc3:xrot:large:sweep:to:
> AthensCairoPathBuilder>>ellipticalArc:xrot:large:sweep:to:
> AthensCairoPathBuilder>>ellipticalArc:xrot:large:sweep:to:relative:
>
> I can either port the AthensCairoPathBuilder or I can move the
> functionality to your BalloonPathBuilder.
>
>
> Since I know nothing about either, it will be equally painful to implement
> either, so the question becomes, which path yeilds the best results going
> forward?
>
>
> Consider too, that "grok FFI" is on my skillset todo-list and Athens-Cairo
> looks like it would put a checkmark on that todo-list item.
>
> I do not know enough to make an informed decision (I intuitively prefer to
> get the base right, but as we discovered with the pharo kernel bytes
> fiasco, that is not always possible)
>
> Your thoughts?
>
> cheers,
>
> tty.
>
>
>
> *Install log follows:
>
> This package depends on the following classes:
> AthensCairoPathBuilder
> You must resolve these dependencies before you will be able to load these
> definitions:
> AthensCairoPathBuilder>>arcDegreeStart:sweep:centerX:y:radius:
> AthensCairoPathBuilder>>arcRadianStart:sweep:centerX:y:radius:
> AthensCairoPathBuilder>>ellipticalArc3:xrot:large:sweep:to:
> AthensCairoPathBuilder>>ellipticalArc:xrot:large:sweep:to:
> AthensCairoPathBuilder>>ellipticalArc:xrot:large:sweep:to:relative:
>
> This package depends on the following classes:
> PackageManifest
> You must resolve these dependencies before you will be able to load these
> definitions:
> ManifestGeometryTests
> ManifestGeometryTests class>>ruleRBStringConcatenationRuleV1FalsePositive
>
>
> This package depends on the following classes:
> GradientPaint
> You must resolve these dependencies before you will be able to load these
> definitions:
> GradientPaint>>interpolateTo:at:
>
>
> This package depends on the following classes:
> AthensCairoPathBuilder
> AthensCairoSurface
> RPackage
> You must resolve these dependencies before you will be able to load these
> definitions:
> AthensCairoPathBuilder>>arcAround:radius:startAngle:endAngle:
> AthensCairoPathBuilder>>arcAround:radius:startAngle:endAngle:cw:
> AthensCairoPathBuilder>>arcCos:
> AthensCairoPathBuilder>>ellipticalArc2:xrot:large:sweep:to:
> AthensCairoSurface>>hasBeenFreed
> RPackage>>dependentPackages
> This package depends on the following classes:
> PharoDarkTheme
> ClyBrowserToolMorph
> UITheme
> You must resolve these dependencies before you will be able to load these
> definitions:
> PharoDarkTheme>>classBoxBackgroundColor
> RSUMLCalypso
> RSUMLCalypso>>activationPriority
> RSUMLCalypso>>applyTheme:
> RSUMLCalypso>>build
> RSUMLCalypso>>classes
> RSUMLCalypso>>defaultIconName
> RSUMLCalypso>>limitedClasses:
> RSUMLCalypso>>tabOrder
> RSUMLClassCalypso
> RSUMLClassCalypso class>>classUmlTapActivation
> RSUMLClassCalypso>>classes
> RSUMLClassCalypso>>defaultTitle
> RSUMLClassCalypso>>isSimilarTo:
> RSUMLClassCalypso>>setUpModelFromContext
> RSUMLClassCalypso>>targetClass
> RSUMLPackageCalypso
> RSUMLPackageCalypso class>>classUmlTapActivation
> RSUMLPackageCalypso>>classes
> RSUMLPackageCalypso>>defaultIconName
> RSUMLPackageCalypso>>defaultTitle
> RSUMLPackageCalypso>>isSimilarTo:
> RSUMLPackageCalypso>>packages
> RSUMLPackageCalypso>>setUpModelFromContext
> UITheme>>classBoxBackgroundColor
> UITheme>>methodsLimitUML
>
>
> This package depends on the following classes:
> GLMMorphicWidgetRenderer
> GLMPresentation
> GLMMorphicRenderer
> You must resolve these dependencies before you will be able to load these
> definitions:
> GLMMorphicRenderer>>renderRoassal3Presentation:
> GLMMorphicRoassal3Renderer
> GLMMorphicRoassal3Renderer>>render:
> GLMPresentation>>roassal3
> GLMRoassal3Presentation
> GLMRoassal3Presentation>>canvas
> GLMRoassal3Presentation>>initialize
> GLMRoassal3Presentation>>initializeCanvas:
> GLMRoassal3Presentation>>renderGlamorouslyOn:
> GLMRoassal3Presentation>>setUpInteractions
>
>
> This package depends on the following classes:
> RPackage
> You must resolve these dependencies before you will be able to load these
> definitions:
> RPackage>>dependentPackagesWithOccurences
> RPackage>>numberOfDependenciesToward:
>
> This package depends on the following classes:
> ParametrizedTestCase
> You must resolve these dependencies before you will be able to load these
> definitions:
> RSPAnimationTest
> RSPAnimationTest class>>testParameters
> RSPAnimationTest>>animationClass
> RSPAnimationTest>>animationClass:
> RSPAnimationTest>>setUp
> RSPAnimationTest>>testBasic
> RSPAnimationTest>>testBasicInCanvas
> RSPAnimationTest>>testDelay
>
> This package depends on the following classes:
> ParametrizedTestCase
> You must resolve these dependencies before you will be able to load these
> definitions:
> RSPBoundingTest
> RSPBoundingTest class>>testParameters
> RSPBoundingTest>>setUp
> RSPBoundingTest>>shapeClass
> RSPBoundingTest>>shapeClass:
> RSPBoundingTest>>testDraw
> RSPBoundingTest>>testDrawBorder
> RSPBoundingTest>>testPosition
> RSPLinesTest
> RSPLinesTest class>>testParameters
> RSPLinesTest>>setUp
> RSPLinesTest>>shapeClass
> RSPLinesTest>>shapeClass:
> RSPLinesTest>>testDraw
> RSPLinesTest>>testDrawMarkers
>
> This package depends on the following classes:
> AthensLineSegment
> AthensCubicSegment
> AthensCloseSegment
> AthensPathSegment
> You must resolve these dependencies before you will be able to load these
> definitions:
> AthensCloseSegment>>visitWith:
> AthensCubicSegment>>durationFor:
> AthensCubicSegment>>pointsWithStart:duration:
> AthensCubicSegment>>visitWith:
> AthensLineSegment>>durationFor:
> AthensLineSegment>>pointsWithStart:duration:
> AthensPathSegment>>durationFor:
> AthensPathSegment>>pointsWithStart:
> AthensPathSegment>>pointsWithStart:duration:
>
>
> _,,,^..^,,,_ (phone)
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20201026/84d0eb8b/attachment.html>
More information about the Squeak-dev
mailing list
|