POV-Ray : Newsgroups : povray.programming : Proposal for 4.0 core control : Proposal for 4.0 core control Server Time
28 Jul 2024 06:10:37 EDT (-0400)
  Proposal for 4.0 core control  
From: Thorsten Froehlich
Date: 14 Oct 2002 11:47:24
Message: <3daae70c$1@news.povray.org>
Hello,

I am looking for feedback:

This documents is to explain most issues regarding a proposal for new,
additional hooks to significantly better abstract the POV-Ray 4.0 core code
from outside, platform specific implementation details. The goal is a much
more powerful connection with Graphical User Interfaces. These hooks offer
an optional way to specify the render options without a command line and
control rendering as well as replacements and additions for the text stream
based input and output.

Up to version 3.5 POV-Ray only allowed text output and the main control
worked through the command line. Since version 3.0 two more powerful GUI
platforms - Windows and Mac OS - provide text editors but little abstraction
of the command line. However, both platforms surely present the main part of
the POV-Ray users today and a command line environment is no longer state of
the art. Especially Integrated Development Environment applications outline
a reasonable way to move traditionally command line driven programs like
compilers into the GUI age. However, providing IDE like features without
extensive support from the backend, the POV-Ray platform independent core
code, is very hard and resulted in errors and a (today) rather primitive
user interface designs. These new hooks will ease the creation of GUIs on
other platforms as well.

The hooks are designed to be very flexible and extensible. They will allow
future changes in the core code without breaking platform specific code or
forcing changes in it. It can simply ignore the additional information and
immediate changes in platform specific code of all platforms if some hooks
are changed can be avoided in these areas.

In addition, the information about the current hooks is very limited and
some documentation would be helpful for both sides, the GUI as well as the
core code developers, in order to prevent breaking old code by new changes.
So there needs to be a document which contains the details of the POVOC&SS
functions, changes required in each platform specific code and composition
of the messages. It could be used as base for some kind of introduction for
those willing to port POV-Ray to unsupported platforms. With the constantly
increasing complexity of the hooks and other interface functions this has
become a more and more difficult task.

The POV-Ray Output Control & Streaming System (POVOC&SS) is a solution to
the command line and text input and output limitations for GUI systems. It
offers a very easy to extend control mechanism for POV-Ray. Existing command
line driven POV-Ray versions will only need little adjustment while the GUI
platforms may need (more) extensive changes in order to make use of the
newly available features and options. However, nearly full backward
compatibility is provided so GUI platforms do not need to be adapted
immediately.

The current test implementation uses linked lists and some automatically
resized arrays. This is not fast, but speed is not a major design goal,
flexibility is. There is no point to increase speed in most parts, i.e. it
does not matter (much) if an error message output takes 0.1 millisecond or
10 milliseconds.

Comments?

    Thorsten

____________________________________________________
Thorsten Froehlich, Duisburg, Germany
e-mail: tho### [at] trfde

Visit POV-Ray on the web: http://mac.povray.org


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.