view TODO @ 8:5e3cbbf173aa tip

Reorganise some more
author samer
date Fri, 05 Apr 2019 22:41:58 +0100
parents bf79fb79ee13
children
line wrap: on
line source
Java Framework Wishlist
=======================

TaskLoop utilities: indefinite, finite 
	with or without checkpoint()
	with or without regulation

help facility using a help-map

more flexible REPLs: prompt control etc. (check readline)

Hierarchical viewable namespace. Infact, consolidate viewables
namespace with Environments. Then have a browser which views an
Environment. Make Environment viewable?

Similar viewer for tasks: CompoundTask, SubrateTask

Beans?
Info classes for Units/Models

JBuilder project, debugger

Drag and drop

Tree view of viewables / root environment

Node namespace vs environments
Special `directories' contain links: Tasks, Viewables, Agents

BeanContext idea

Viewer hints: eg rdonly/rw
	In object
	In registry

Allow interpreter to be registered with shell and then used to
decode commands, string properties etc.

Sort out border usage: get default borders from environment
(or UIDefaults?) Remove my Border classes.

FileSource GUI for playlist


Core
----

	- individually addressable agents (by name?)
	- agents container
	- viewable groups:
		o grouped by creation time?
		o by heirarchichal name space?
	- tree view of name space: viewables, agents etc
	  tree view or different containers (cf folder view)
	- consolidate name spaces: Node and Space. (Add Agents?, Tasks?)
	- viewables attached to or contained within other viewables
	- Agents attached to viewables: automatically exposed
	- VDouble viewers: dial, slider
	- concept of readonly vs editable viewable -> viewer/editor
	- text readouts on tool tips in many places eg
		o	text readout of numbers on graphical viewers
		o	row/column numbers on matrix viewers
	- cleanup Variable.Model ~ Property ~ DoubleModel
	- pause mechanism: wait for kerpress in a certain window,
	  or put up dialog box and wait for ok/cancel
	- get cancel to work on Variable editors dialogs or
	  arg input
	- dialog boxes for messages, questions
	- fix dialog ownership
	- combo box type controls: what kind of viewable needs this
	- Applet shell
	- control over default viewers chosen by shell
	- mousepad editor for 2d viewable parameter
	- Use reflection to build an Agent for any supplied object.
	  Easy for methods, but what about member objects?
	- standardise object factories:
		o parameter passing: name space vs stack vs method parameters
		o constructor or static factory method
		o viewers for viewables: what parameters?
		  where does viewer go: separate window or existing container
		o creating named objects: put into namespace (Node or Space?)

	- Agent interface: use an object (like an Action) to report commands.
		This will be a concrete class that provides some or all of
		o name
		o description/help (eg for tool-tip)
		o icon
		o boolean viewable for toggles
		o call-back/ runnable for actions? hmm...


	StackLayout -> BoxLayout
	compare Viewables and Views with Models and Views in Swing:
		Model					Controller						View

		Model					ViewableRepresentaive		Viewer
	(no defined interface)		(object)					(interface)

Tools
-----

	- Task management:
		o Task viewables
		o Task containers
		o task name space
		o task creation, addition to task list
		o task list as container of tasks ~ draggable?
	- Tasks in multiple lists: use better container class
	- colour map editor
	- JMap/MapAgent ~ review?
	- synchronised multirate system: several task lists
	  going at different rates but with properly maintained
	  synchrony. eg, fastest list is 'master', others are
	  'slaves' and go at integer submultiples of master rate.



Maths
-----

	- viewer/agent for random Generator ~ parser for creation?
	- Oscilloscope signal viewer
	- Polytrace viewer: several viewers in one plotter
	- suites of elementwise operators:
		zero
		identity
		randomise

		shift, reflect
		transpose
		addnoise
		plus, minus, times
		determinant, norm, trace, min/max
		elementwise function
	- signal filters
	- matrix image source: on the fly reflection / diagonal flip
	- virtual matrix image source, eg sparse matrix
	- interactive spline function
	- Function factory with expression parser
	- better text based vector/matrix editor ~ not millions of cells
	- better graphics matrix editor : image editor with selection
	  and selection operations like move, copy, multiply, flip etc.
	  also draw line, block, other primitives. (clipboard?)
	- set vector from function using some map for element to ordinate




	- socket connection: viewable at one end changes, its
		peer/shadow/mirror receives and update
	- use for remote vector for connection between units
	- possible direct connection? unit reads input from stream?
	- think about streams for connecting units
	- control over FFT windows


Audio
-----
	- MidiSynth viewable/viewer: controls program changes
	  possible note/channel mappings
	- event based midi driver: define mappings from small
	  number of triggerable events to channel, note number etc
	- wave/midi streams: file, sound card, socket etc
	- wave format conversion objects