Git Product home page Git Product logo

ninja's Introduction

ninja logo ninja

ninja is a web viewer for CityJSON files. It supports most features as described by the CityJSON specification.

ninja stands for "ninja is not just azul" to tease azul, the best macOS CityJSON viewer!

Use

Public version

You can run ninja without installation by visiting ninja.cityjson.org.

Installation

Install all dependencies:

npm install

Compile and run for development

npm start

You can visit the local version at: http://localhost:1234/.

Compile and run for production

npm run build

Dependencies

ninja uses cityjson-threejs-loader to handle things.

Other frameworks used:

ninja's People

Contributors

liberostelios 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

Watchers

 avatar  avatar

ninja's Issues

Listing LoDs of parents and children

Currently if you load a multi-LoD dataset the parents are all loaded as LoD0 in the tree view. Perhaps it's better to summarise them as multi-LoD or something that is more indicative?

image

Please clarify the license

Please clarify what license does the software have. Although the code is public for everyone to see, it is legally not possible to contribute or to reuse it in any way until the conditions for it are specified.

Resizing left-side menu

It is not possible to resize the menu on the left-side that shows CityObjects. When the attributes bar is also open, there is very little space for the model. It would be nice to be able to resize the left-side menu and the attributes bar.

image

Add sample dataset

Or links to sample data? A sort of "getting started" help for first-time users. Maybe even a "load example dataset" button?

Support for CityJSON v1.1.0

When new CityObjects that are defined in CityJSON v1.1.0 are present in the file, these are shown with a question mark. They are also not included in the Settings part (e.g., BuildingFurniture, BuildingRoom).

image

Visualise materials

It would be nice to have a way to visualise the materials on the surfaces. Probably @tomvantilburg can provide a sample cityjson file that has materials.

Attribute pop up x

There should be a button to close the attribute pop up because double clicking is sometimes cumbersome

Visualizing LoDs

When objects have multiple LoDs, it is not possible to select each representation separately, but the objects are shown in highest LoD (at least in my case). It would be nice to be able to enable/disable different LoDs.

image

Zoom to feature

I think it would be useful if you could zoom to feature when you double click. As well as a way to zoom back to original view?

Add a guide for the icons

A legend basically, and it can be at the top near Settings and Help.

Also not to forget to explain:

  • the geometry type appears when you hover over the LoD
  • what the icon for geometry templates looks like

Missing a way to toggle visibility of multiple LoDs

Now, everything is shown in the 3D viewer. There must be a way to toggle the visibility of LoDs (and individual geometries, in general).

Features that would be interesting:

  • Toggle LoDs for the whole city model
  • Toggle LoD/geometry for every individual city object

Catch files that are not valid

Right now ninja only checks if a file is JSON or not, but if it's an invalid file or not a CityJSON file specifically then nothing happens. Might be nice to have a pop-up that links to val3dity and cjio. "Have you tried validating your file with val3dity or cjio?"

Icon for extension objects

Currently, all extension objects are shown with a question mark, which is a bit confusing because it looks like there is something wrong with those objects. It would be nice to have a more clear icon instead.

image

Need scroll bar to view longer list of attributes

Some city object has longer list of attributes. The pop up modal box could only show the 20 or so (depending on screen resolution) attributes, and the rest were hidden.

Please see attached screenshot
NeedScrollBarForLotsOfAttributes

Expanding colour categories

Setting colours beyond the object type would be great.

Possibilities could be:

  • semantic surface
  • LoD
  • City Object Group/Hierarchy

Fix the logo

  • fix line in belt
  • thicker white outline and outline for separate features
  • find a good font

Could not view noise-extension output

Hello,

I am new to CityJSON and currently trying to follow every tutorial and instruction on the page.

I would like to view the resulting file noise_data.city.json

I try to load it using Ninja viewer but nothing appear

Capture3

Am I missing any steps? # #

Single vs. Double click

Currently you double click to select or deselect a feature. This is so there is no mess between selecting and rotating. Sometimes this is not intuitive and feels unnatural. So is it better to have single or double click?

Colors on Settings

It's very nice feature to allow user to set colors they want in the settings. Is it possible to add color picker so user doesn't have to look up for HEX code for the color to fill in the form?

ColorPicker

It is also noted that the label/name is somewhat hard to see with the grey background. Is it better that the HEX code is shown in the color it represents itself?

Selecting semantic surfaces

It would be very useful to be able to select semantic surfaces separately. For example, selecting only RoofSurfaces or a specific surface by clicking on the model or from the left-side menu.

Small changes

  • add link to CityJSON and the ninja repo (prominently at the bottom)
  • explain the name ninja under help
  • blue colour for settings and help should either match logo or clash less
  • Upload and Browse are not both necessary on the landing page
  • X for deselecting an object would be nice

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.