Giter Club home page Giter Club logo

planarally's People

Contributors

10leej avatar antisc2 avatar asmfreak avatar calebkoch avatar chisaipete avatar daniferrito avatar dependabot[bot] avatar dthv avatar edmael avatar franluque2 avatar frederikgoovaerts avatar hauvgaard avatar hmqgg avatar jirsat avatar jwetzell avatar kruptein avatar ldeejay1969 avatar mischievous avatar rexy712 avatar schemen avatar suikaxhq avatar tdurieux avatar w8bsd avatar zachmyers avatar zachmyers3 avatar zeteticl 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

planarally's Issues

All token assets are retrieved on load

When opening a planarally session as a DM, all tokens are immediately retrieved from the server so that they can be shown in the asset menu.

This heavily increases the initial payload without any real advantage. In my personal asset lib it for example retrieves 180mb worth of images taking 1.3 minutes.

This should be improved to something using lazy loading.

Ideally this is tied in with the general asset design overhaul in #44

Page crash on zoom out

When zooming out sometimes the page hangs and crashes.

I believe this has to do with an attempt to draw an asset with a very small width at that zoom scale.

Change scroll scale

Currently scrolling behaves kinda odd seemingly going very fast when zoomed out and very slow when zoomed in.

This behaviour should change to something that feels more linear.

[Question] Why does the client load the local jQuery in-game?

In both login.jinja2 and rooms.jinja2 we have the following html to load jQuery:

<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>

If it fails to load from the CDN it goes on and loads the local file instead. But in the planarally.jinja2 it looks like this:

<script src='/static/extern/js/jquery-3.3.1.min.js' integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="></script>

It is not a problem necessarily but I just thought it was odd. Why not use the same method as in login.jinja2 and rooms.jinja2?

Add option to snap to grid when drawing

Currently when you draw shapes you can't align them to the grid without having to resize them. It would be nice if you could directly snap to the grid when drawing.

Long annotations are off-center

The code that determines where to put annotations on screen wrongly calculates the width of the text for long annotations.

Logo for PlanarAlly

This is not a priority but it would be nice to have a logo for this project, obviously the problem is finding a person to actually design it. But it would be nice to have at some point and would also help when marketing this project.

Provide global UI scale

This would allow to change the size of fonts and UI elements when playing on large/small screens

Proper and visually nice asset management

Asset management is currently very barebones and frankly just horrible albeit functional.

Desired changes

  • Adding/Moving/Removing assets should all be possible from inside the client, whereas this currently is only possible from the filesystem.
  • The asset menu should be completely overhauled in regards to its visuals and usability
  • Ability to filter your assets
  • Ability to favourite/lock assets that are frequently used within a session
  • Proper player characters that appear to players and can be modified by them
  • Edit asset information to provide defaults
    • e.g. A size field, so that if a large monster is dragged on the field it will automatically assume that
    • e.g. default vision for monsters
  • Sharing system
    • Hard copy: changes are reflected in both directions (e.g. player token shared with DM)
    • Soft copy: changes are not reflected. (e.g. monster tokens shared among DMs)
      size.

Add default options for location

Currently without default options, a location will keep the settings from the last visited location, causing some inconsistencies when for example moving from a fullFOW page or not.

Blockers for v1.0

Was wondering how you are planning to do version numbering in the future. The current one is very simple and straight forward but the next release is 0.9. After that you will reach 1.0 if you don't plan on doing 0.10 etc. Personally in my opinion the 1.0 release should be the first stable release that is somewhat feature complete so it would be nice to keep track of everything in this issue that is blocking v.1.0

Loading screen

Add some sort of loading screen or just indicator to show that some images are still loading.

Create directory does not work in asset manager in Firefox

Browser: Firefox 61.0.2

When pressing the button nothing happens.

Console log:

TypeError: Object(...) is not a function                                  assets.js:170
createDirectory                      assets.js:170
createDirectory                      self-hosted:983:17                   assets.js:170
invoker                              vue.esm.js:2027
withMacroTask/fn._withTask           vue.esm.js:1826

Layer opacity not set on load

When loading a session, all layers are rendered with full opacity instead of the correct change in regards to which layer is active.

Ability to create notes

Right now you can create a note by creating an empty token but it would be nice if this was more officially supported so that both players and the DM would be able to create notes.

  • Have a note section in the accordion menu
  • See list of all notes created there and have a button to create new ones
  • Ability to leave a note on a grid
  • When that note is clicked on it will show dialog with the actual text inside

Look into vue.js for dialog UI

Current UI code is pretty ugly having to link all the events and build all the UI.

The vue framework seems interesting as it can be introduced gradually.

Improve usage documentation

Documentation can (and probably should) be much more in-depth, the readme is not really a good place for this though, so a dedicated separate 'wiki' should be used, I'm thinking either readthedocs or hosting something using github pages.

Option to Draw object or on layer for FOW

First off, love the project so far! I'll see if I can dockerize it nicely to use it with docker swarm :)

What I want to suggest is a simplified FOW System for in-person sessions where we could use PA as virtual tabletop.

Streaming the players view (via chromecast probably) on a screen flat on the surface, the FOW System is cool but without tokens in game (more like physical minis) we can't use the dynamic light.

Is it possible to create a draw tool that allows to actually draw on the layer instead of creating shapes that enable seeing/blocking?
This drawing could also be used to create objects that are blocking light for example.

This would allow a DM to draw on the FOW layer, removing it or adding to it and thus making it possible to use it nicely for in person sessions :)

Sessions with a space in their name do not work correctly

When creating a session with a space in its name the board is completely white and most functions don't work. The output when creating or joining a session with a space:

message async handler error
Traceback (most recent call last):
  File "/home/jakob/.pyenv/versions/3.6.5/lib/python3.6/site-packages/engineio/asyncio_server.py", line 269, in _trigger_event
    ret = await self.handlers[event](*args)
  File "/home/jakob/.pyenv/versions/3.6.5/lib/python3.6/site-packages/socketio/asyncio_server.py", line 360, in _handle_eio_message
    await self._handle_connect(sid, pkt.namespace)
  File "/home/jakob/.pyenv/versions/3.6.5/lib/python3.6/site-packages/socketio/asyncio_server.py", line 257, in _handle_connect
    self.environ[sid]) is False:
  File "/home/jakob/.pyenv/versions/3.6.5/lib/python3.6/site-packages/socketio/asyncio_server.py", line 325, in _trigger_event
    ret = await self.handlers[namespace][event](*args)
  File "PlanarAlly/planarserver.py", line 494, in test_connect
KeyError: ('The%20Dead%20Exiles', 'Anti')

Username: Anti
Session name: The Dead Exiles
Python Version: 3.6.5
OS: Linux x64

Default attributes for tokens

If you want to track attributes for monsters or other tokens you need to manually add in every attribute for each one.

  • It should be possible to select a template for trackers when editing a token
  • There should already be some default templates that include things like strength, dexterity, hp etc
  • It should be possible to create and save your own templates

Improve initiative tracker

Additional features desired for a 1.0 release:

  • Provide a 'next turn' button and show who is currently acting
  • Provide a total number of rounds counter
  • Provide the ability to start an additional round counter
    • e.g. to keep track of the duration of certain spells
  • Highlight token on hover in initiative list

Optionally

  • Other sorting methods

Combine some tools to reduce tool bar size

Draw/FOW/brush all have some similar idea.

One singular tool could be created to cover all three.
Having the option to select whether you want to use normal drawing mode or fog drawing mode.
Having the option to choose between shapes, one of them being a freehand brush.

Improve grid when further zoomed out

Currently the gridlines just get very close to eachother when zooming out, which can become very noisy.

Current idea is to have a maximum visual grid size and if this is crossed, make the gridboxes larger.
Add a |--5ft--| kind of thing somewhere on screen to show the current size of a grid cell.

Only thing is what to do with the DM grid size option as that seems fairly ambiguous in this context

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.