User:Dvdkhl/Ideas: Difference between revisions

Line 5: Line 5:


== Character Relations Graph ==
== Character Relations Graph ==
'''Note''': This model may not be projectable to the current model in use
The idea presented here tries to represent character relations completely text based without the help of any images which contain graphs.
Instead of trying to generate a simple view over the complete dataset, this approach will use many simple views.
The basic idea is to take each type of relation (family, enemy of, ally of, etc.) and create one view for each for a global overall view.
In addition a local view is provided to show relations in detail.
The local view is simply a cursor which points to an entity for which information of itself will be shown and in addition to that the nearest neighbours.
When the user clicks on one of the neighbours the cursor will move to that entity.
For this to be user friendly mouse scrolling needs to minimized.
=== Prerequisites ===
'''Needs to be reworked: One model/view for all either too simple to represent all cases or too complex to display => One model/view for each relation type'''
<pre>class Anime_CharacterCharacter_Relations {
int AId;
Anime_CharacterCharacter_Relation[] Relations;
}
class Anime_CharacterCharacter_Relation {
Anime_CharacterCharacter_Relation_Type Type;
ConnectedGraph[] Graphs;
}
class Anime_CharacterCharacter_Relation_Type {
Label Name;
EdgeInfoControl[] AllowedEdges;
}
class ConnectedGraph {
Label Name; //For something like clubs/organisations/etc.
Entity[] Entities; //Graph Structure Info
Tuple<EdgeInfoControl, Relation>[] Relations; //Graph Structure Info
}
class Relation { //Edge
EdgeInfo Info; //Informational purposes only!
Entity A, B; //A is Start and B is end Vertex if graph is directed
}
class EdgeInfo {
Label Start, Middle, End;
}
class EdgeInfoControl : EdgeInfo {
bool IsWeakLink, IsDirected;
}
class Entity {//Vertex
//Informational Data
}
class Label {
string Text;
Bitmap Image;
}</pre>
''Text needs to be updated to sync with the classes above''
* Anime_CharacterCharacter_Relations holds all information necessary for Character-Character of an Anime.
* Each Character-Character Relation Type (family of, enemy of, etc.) is represented by Anime_CharacterCharacter_Relation, where Anime_CharacterCharacter_Relation_Type sets restrictions.
* Anime_CharacterCharacter_Relation_Type contains the info whether the graphs are directed or undirected, a label (e.g. Family) and specifies the allowed edges for the graphs.
* Anime_CharacterCharacter_Relation contains in addition to the type, a list of graphs (ConnectedGraph) which are required to be connected (i.e. every vertex is reachable from every vertex). <br/> If a Character-Character Relation cannot represented by a single Connected Graph it is split into several ConnectedGraphs until the condition is satisfied.
* ConnectedGraph contains the graph structure (vertices, edges) and a label which serves as a header for the graph (i.e. Organisation). <br/> The Relations field contains all edges in addition to its type which must be contained in the associated Anime_CharacterCharacter_Relation_Type.AllowedEdges
* Relation simply defines an edge in the graph which can contain additional information which only serves informational purposes.
Add abstraction, i.e. allow subclasses for each Relationtype to allow special behaviours for views.
=== Presets ===
==== Family Relation Preset ====
; Definition
: Label: (Family, FamilyIcon)
: IsDirected: Yes
;Edges (IsWeakLink, IsDirected, StartLabel, MiddleLabel, EndLabel)
:Undefined: (Yes, No, false, "", "", "")
:Parents: (Husband, Wife) //Samesex Parents?
===== View =====
Aim: Each connected graph shows to each other unrelated families 
Possibility1: Special Relation, Container with Parents as Header and Children as Content => Recursive display
Possibility2: Simple edges describing Parent-Child Relations => May result in a lot of edges
Adoption:
==== Mentor Relation Preset ====
e.g. Marimite
==== Posession Relation Preset ====
e.g. Pokemon
== Character Relations based on episode range ==
== Character Relations based on episode range ==
== User - Object Set - Analysis (Snippets of Wisdom) ==
== User - Object Set - Analysis (Snippets of Wisdom) ==
227

edits

MediaWiki spam blocked by CleanTalk.
MediaWiki spam blocked by CleanTalk.