Giter VIP home page Giter VIP logo

psarbortouch's People

Contributors

bitdeli-chef avatar epreston avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

psarbortouch's Issues

Complete a gap analysis with the original library

Complete a gap analysis to ensure that this library is a matches the feature set of the original library. The goal is to be equally applicable to the same problem domains when writing applications that target OSX and iOS.

Benefits:

The users of the original library should find this one very familiar. Ensure that this implementation is feature complete.

Category: Functionality

Milestone: Library Code Review

Post-fix private member variables in classes

It was recommended in best practices to use post-fix under bar "_" for private member variables in classes. Most Apple framework code uses the prefix under bar. Many other code bases use the postfix under bar. Member variables are postfixed to make it clear when the member variable is being manipulated directly vs. via an accessor method of the same or similar name.

Benefits:

This will avoid the rare occurrence of a name clash and future proof the code. Make it clear when ivars are being used directly because accessors often have the same name with no prefix or suffix.

Category: Coding standards.

Milestone: Library Code Review

Review the API

Many objects still include API's meant for testing and debugging. The API as a whole needs to be reviewed for conformance, consistency, and completeness.

Benefits:

Easy of use.

Category: Coding standards.

Milestone: Library Code Review

physics engine goes haywire with multiple nodes

from picking through sample code in the Atlas example -

this json works fine. -
simple drop this into usofa.json and compile
{
"edges": {
"a": {
"b": {},
"c": {},
"d": {},
"e": {},
"f": {},
}
}

}

this goes haywire.

{
"edges": {
"a": {
"b": {},
"c": {},
"d": {},
"e": {},
"f": {},
"g": {},
"h": {},
"i": {},
"j": {},
"k": {},
"l": {},
"m": {},
"n": {},
"o": {},
"p": {},
"q": {},
"r": {},
"s": {},
"t": {},
"u": {},
"v": {},
"w": {},
"x": {},
"y": {},
"z": {},
}
}

}

Implement graph and system serialisation

The a basic NSCoding protocol implementation has been added for classes that will participate in serialisation. This implementation needs to be tested and refined to allow for quick and easy serialisation of state, simulation parameters, and graph data.

Benefits:

The system class abstracts the library user from the implementation details; extending it to support easy save and restore of graphs and system state will make this easier to use. Particularly on the iOS platform where users expect to view and manipulate the graph then quickly switch to another application, reliably saving and restoring state is essential. This will reduce the boiler-plate code required to use the library. Standardising the serialisation interface will allow for future extensions in this area without breaking existing code bases.

Category: Functionality

Milestone: Library Code Review

Complete Atlas Demo

Complete the Atlas demo. The demo is fairly complete and has been used as a test bed for a new coordinate translation feature. (The ability to select between "stretched" or "scaled" conversion between view and simulation coordinate systems.) The demo currently loads the graph of US States (represented by nodes) and borders (represented by edges). Updating the interface to load other graph data is left as an "easy" exercise for the reader.

Outstanding items include;

  • testing, commenting, cleanup
  • updating and adopting the final rendering protocol implementation

Review the structure of the code

Review the structure of the code for consistency and best practice. The code should have a logical and functional implementation with clear and intuitive methods.

Benefits:

Improve the quality of the implementation. The code will be easier to understand, maintain, modify, and extend.

Category: Quality

Milestone: Library Code Review

Future of this project

Hi Ed

Thanks for your brilliant work.

I want to use PSArborTouch in some projects and I want to have some predictions about the future of this project
last issue on this project belongs to 10 month ago. Will you continue development on this project?

Update to use GLKit Math Library

The library currently uses a set of custom 2D Vector / Point math functions and data types defined in a header file.

Replacing these with those found in the math components of the GLKit framework will bring the benefits of consistency, ease of maintenance, possible performance improvements.

Create "Reference" wiki page

Create the "reference" wiki page to provide high level documentation on structure and usage. This will be a single, clear page of text with public objects, methods, and usage categorised by functional domain.

Complete Echolalia Demo

Complete the Echolalia demo. The project contains a graphical representation similar to the original demo. Most of the boiler-plate code has been borrowed from the Atlas demo.

Outstanding items include;

  • loading the graph data for each song
  • randomly advancing through the different graphs
  • testing, commenting, cleanup
  • implementing the graft / merge / prune interfaces in the system object
  • updating and adopting the final rendering protocol implementation

Update the presentation of Test Rigs

Update the presentation and make the "test rigs" more consistent. This should include more debug options and ability to modify the key attributes of modules at runtime.

Complete Serialise Example

Complete the Serialise Example. Demonstrate the system state and graph persistence features of the library.

This might be as simple as persisting the state and graph between launches of the application. For my purposes, the library needs to support a state "stack" either natively or by extension.

Complete Parameter Playground Demo

Another demo that will add value is a "Parameter Playground". This could be a cut of the debug code and interface that allows users to change simulation parameters to see their effect. In short, the simulation parameters change the behaviour and feel of the simulation. Finding the right set of values currently requires understanding the system and some trial and error.

Outstanding items include;

  • create project template in demo folder
  • graphical layout and design
  • testing, commenting, cleanup
  • updating and adopting the final rendering protocol implementation

Complete Welcome Demo

This will be a demo similar to the original projects' website http://arborjs.org/ will be implemented as "Welcome". A subtitle of "a graph visualization library using GCD and Objective-C" might be appropriate. Links to documentation, source code, and further information will point to this github repository.

Outstanding items include;

  • graphical layout and design
  • testing, commenting, cleanup
  • updating and adopting the final rendering protocol implementation

Complete Halfviz Demo

Complete the Halfviz demo. This project only includes a general template for the moment. This will be the most complex demo showing a number of interface elements and how they interact with the library.

Outstanding items include;

  • general interface design to match the original demo
  • loading the graph data for the table of contents, then each book as required
  • menu code for selecting the graph data to display
  • testing, commenting, cleanup
  • implementing the graft / merge / prune interfaces in the system object
  • updating and adopting the final rendering protocol implementation

Issues compiling with XCode 4.5 for iOS6

I'd like to make use of this library, but I am having trouble compiling it for XCode4.5 and iOS6.0. I was able to change some boxing calls using the @ symbol to convert ints to NSNumber that wouldn't compile, but most of the demos and samples still have issues. The rigs all work and the Atlas demo mostly works, tho changing data sets isn't working for some reason. I think there is enough working that I can probably write some code my own, but just thought I'd see what version and platform this is targeted for and if you have any more experience than I do with making this run with the latest releases.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.