[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] browser front end, statement of plans and progres
Re: [Axiom-developer] browser front end, statement of plans and progress
Sat, 27 Jan 2007 08:14:50 +0100 (CET)
> I've been looking deeply into the problem of using a web browser
> as the front end for axiom. There are 3 components:
> 1) replace the graphics
> 2) replace hyperdoc
> 3) make an interactive front end
> Consider problem 1, replace the graphics.
> Currently our graphics are written in C and use X11.
> The graphics program is really a standalone C program that
> communicates to the rest of the system thru sman.
> X11 has been a problem because we cannot port this to windows easily.
> I did manage to get hyperdoc working on windows using an X11 hosting
> program but decided that this was not a good long term solution and
> never released it.
X11 problem should be easy to solve: use portable drawing library.
It looks that SDL should work for us. In fact, we want to remove
direct X11 dependency in order to allow generating images in server
setting (when Axiom has no access to X server).
> Architecturally the choice of making the graphics engine exist outside
> of the underlying lisp system has limitations. I would much rather see
> a closer integration between the computations and their display so that
> the display could be dynamic instead of static graphs. And it should be
> possible to create new domains that directly manipulate axiom data
> structures that can be drawn directly. A standalone C program is not
> a good choice for this.
AFAICS standalone program was used because multithreading is available
only in some Lisps. The point is that you do not want to handle
interaction in the same thread that may be doing heavy computation.
Of course, putting interaction in web browser separates it from Lisp,
but then you have back limitations due to separate graphic engine.
> I've been investigating new browser technology that will allow us to
> draw the graphics on a web page in several formats. The first attempt
> was to create flash files (an open format) directly from lisp so that
> we could write a flash file which had moving graphics (e.g. a moving
> wave image). This proved to be painful and I stopped.
> Recently a new html tag <canvas> has been implemented. I've been playing
> with this tag and it appears to support all of the drawing primitives we
> need to do the 2D graphics. Axiom already does the 3D->2D work.
You mean: the Axiom C code in graphic subdirectory does the 3D->2D work.
> The low level task is to refactor the C code into display and
> The data handling gets sucked into lisp. The C code disappears.
The graphic code is actually to some degree separated. There is (small)
part that supports graphic primitives, data handling part which converts
vector type specificaton send by AXIOMsys into primitives and interactive
part (responsible for user interaction). Bad thing is that interactive
part passes modifies in rather unstructured way parameters used for
data conversion. Also, data convertion needs color information and
takes it from X server (even for Postscript output).
> I'm putting together code to do an example for this and I'd like
> feedback about the idea and the direction.
> Consider problem 2, replace hyperdoc.
> learning AJAX so that I can fetch pages and images from an axiom
> session. Also in plan is to be able to dynamically show results
> from the axiom session when looking up search and query information.
> Hyperdoc used to have its own language for display but this is dead
> and gone. I've been recoding the hyperdoc pages into html so they
> use a standard format. This will allow anyone to code web pages without
> any training. It should also allow us to embed pamphlets as pdf in pages.
Hyperdoc uses essentialy _the same_ TeX notation as Axiom book (and
contains the same material). IMHO this property should be preserved:
online and printed Axiom meterial should use the same sources.
If current format in inconvenient it is Axiom book which should be
recoded. For Web access we need a translator which converts our
format to HTML.
- [Axiom-developer] browser front end, statement of plans and progress, daly, 2007/01/27
- Re: [Axiom-developer] browser front end, statement of plans and progress, Ralf Hemmecke, 2007/01/27
- Re: [Axiom-developer] browser front end, statement of plans and progress,
Waldek Hebisch <=
- Re: [Axiom-developer] browser front end, statement of plans and progress, Andrey G. Grozin, 2007/01/27
- Re: [Axiom-developer] browser front end, statement of plans and progress, Martin Rubey, 2007/01/27