GithubHelp home page GithubHelp logo

johnl4 / diaspora Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 1.17 MB

Diaspora RPG tools

License: MIT License

Python 5.31% TypeScript 62.90% JavaScript 1.15% HTML 18.07% CSS 1.08% Shell 1.01% Java 10.47%
diaspora angular2 angular

diaspora's Introduction

Diaspora

Diaspora tools

Angular Web app to generate clusters

In the AngularClusterGenerator directory. This is where most of my effort recently has gone.

cluster-gen

(In ClusterGenerator folder.)

usage: cluster-gen.py [-h] [--legend] ...

Diaspora cluster generator

positional arguments:
  systemNames  Unique first letters of star system names

optional arguments:
  -h, --help   show this help message and exit
  --legend     Include a legend of colors in the generated graph

A Python 3 script.

Get Python at http://python.org.

The output (captured from stdout with a redirect) is intended for processing with GraphViz (specifically, neato).

Get GraphViz at http://graphviz.org.

Sample command-line usage (I used CygWin (http://cygwin.org), but regular Windows should work, too.

python3 cluster-gen.py A B C D E F > sample-cluster.dot
/usr/local/GraphViz-2.30.1/bin/neato.exe -Tpdf -osample-cluster.pdf sample-cluster.dot

Then you have a PDF file you can view.

You can edit the .dot file (it's just text) and comment out (using //) the "legend".

Or, if you want a PNG:

/usr/local/GraphViz-2.30.1/bin/neato.exe -Tpng -osample-cluster-no-legend.png sample-cluster-no-legend.dot

diaspora's People

Contributors

johnl4 avatar

Watchers

 avatar  avatar

diaspora's Issues

Bring in either Material Design or Polymer for popups and/or better table layout

(Not sure why I created this item. For the "info" popup on the high/low slipknots option?)

Rather than code up my own popup (which I suppose I could do), maybe we should use MD or Polymer for it.

Note that these might actually be a replacement for Bootstrap.

Actually, looks like Angular Material might be the way to go (note that it's in beta for Angular 2, so maybe stick with MDL for now?)

Hmm... looks like nothing does popups. :( Still need to cogitate on this.

Web-server-ify this puppy

Find a way to put this up on a web server. (Preferably my Raspberry Pi! Ha!)

Might need to translate to Java (since, at the moment, the only web server I have on the Pi is TJWS).

Aspects and Notes entry fields

Notes will be plain text, for the moment.

Probably should put Notes field in new table row under row containing other starsystem attributes.

Use ng-container to put in two table rows.

Deserialize XML

Requires input text field or file upload option.

Also requires a service to get XML? (Separate work item?)

Write an initial login page

Now that we're about to write data to some web server somewhere, we need authentication so we can keep the entire world from griefing us by filling up our database with porn. For FireBase, this requires authentication to at least try to slow that firehose down.

The preferred way to do the login is by redirect, and we can't (at present) redirect into the middle of our page flow, so we need to authenticate before we even start.

Note: Can probably use localStorage to stuff the data we need to save into the browser, and retrieve it after the redirect (should probably clear it after saving it to the d/b, to prevent confusion). Or use timestamps for both, to figure out which one is more recent (timestamp on same browser for both pieces of datga).

Make "enter" key work in numSystems field

Probably requires turning the Go button into a submit button and writing some sort of onSubmit() function to prevent it from actually trying to post the form to a server.

Different colors

Current color basis is R, G, B, nice and orthogonal. This makes addition easy for determining node colors based on tech (blue), environment (green) and resources (red).

However, it'd be nice to have a different color basis, say yellow for tech, blue for environment, green for resources. Or something. That makes it tricky to add up RGB, we really need to find a way to average our location in some space determined by the three colors plus a "magnitude" sorta direction (all attributes low vs. all attributes high).

F'rinstance: tech: yellow, environment: blue; resources: red. Mix like paint, not light. Less is white, more is black. Fix lettering for dark backgrounds?

Create a persistence service

Could be done with popup dialog into/from which user copies XML saved locally.

Could be firebase connection with credentials cached locally?

Note: made a lot of progress on this, but I don't consider it done, since we're not really using it to save and retrieve the cluster.

Put visible "required" indicator on numSystem on initial form load

Ideally, we'd have some spiffy icon in the input field that appears either when the field is required and doesn't have a value, or when it's in error (which would cover the first case).

Requires getting a reference to the Angular control and switching class or visibility attributes based on the validation state of the control.

Also make available traditional cluster layout

All in a row.

Next system link: straight line.
Skip system link: unbundled Bezier, offset once.
Skip 2nd system link: unbundled Bezier, offset twice.

Alternate offset up/down.

May need to change screen layout to make a long strip available for linear layout.

Make "connected throw" comments in .dot XML elements, for easier parsing

Maybe at some point, I'll scribble a tool that joins two clusters using those comments (since some "connected" throws at the end of the sequence can be "wasted" (no more systems to connect to, even though the throw was high)). So, the wasted "connected" throws can be considered single-ended, unbound links, knowwhutimean?

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.