komitywa / plantingjs Goto Github PK
View Code? Open in Web Editor NEWJavaScript-based engine that let You plant yours neighborhood.
Home Page: http://plantingjs.org
License: MIT License
JavaScript-based engine that let You plant yours neighborhood.
Home Page: http://plantingjs.org
License: MIT License
This ticket is about moving our raw styles into SASS and adding task for doing it automatically in gulp.js.
For more informations see:
Użytkownik ma możliwość zmenienia pozycji wysadzenia przy zachowaniu już wysadzonych elementów.
Powinna być możliwość zmiany widoku, po wybraniu której nastąpi powrót do street view i ponowne wybranie obszaru.
Obecnie podpięty na stałe jeden klucz.
There is no way to show already planted place.
We need viewer method back!
Powiązane z #14.
Lista belek odpowiadająca elementom, które aktualnie są wyświetlone. Każda z belek powinna mieć strzałki góra/dół do zmiany kolejności warstw.
(Warstwy są niezbędne, pozwalają symulować głębię)
Rozbicie obecnego kodu na wiele plików i refaktor struktury, aby się lepiej pracowało.
Aktualnie obiekty identyfikowane są po indexie tablicy toolboxobjects (manifesto.json). Dobrze byłoby zamienić tę informację na unikalny np. identyfikator z bazy danych.
Powinna istnieć możliwość usunięcia wysadzonego elementu
Powodem są błedne obliczenia w metodzie plantObject w module plant/overlay
We are not longer using Bower, so bower.json should be removed.
Because we are changing dependencies a lot we need to invoke npm install before trying to build library using gulp.
Biblioteka powinna automatycznie przy każdym commit'cie/pull requeście budować się w Travis CI, wykonywać testy jednostkowe, ustalać pokrycie kodu testami jednostkowymi i wysyłać się dane o pokryciu do CodeCov.
Dzięki temu zapewnimy stabilność biblioteki, wyższą jakość kodu (można będzie podpiąć lintery JS i przy każdym pull requeście sprawdzać zgodność).
Linki do usług:
Tooltipy opisujące konkretne elementy, które można wybrać z palety.
Formularz pozwalający na zgłoszenie błędu.
Biblioteka komunikuje się ze stroną osoby korzystającej z niej za pomocą obiektów JSON.
Są to dwa rózne obiekty: manifest, który definiuje inicjalny stan silnika podczas jego uruchamiania (manifesto.json) oraz wysadzenie, które inicjuje widok już istniejącego wysadzenia (planted.json).
@cmwd już wstępnie opisał te obiekty na naszej wiki:
https://github.com/komitywa/plantingjs/wiki/manifesto.json
https://github.com/komitywa/plantingjs/wiki/planted.json
Tutaj należy jeszcze je przejrzeć i ustalić, czy wszystko jest i czy ma sens.
Stworzenie menu z elementami do osadzenia na grafice.
W aplikacji powinno być dostępe menu z wyborem elementów
Na chromie w OSX widok google street view może się krzaczyć kiedy odpali się wysadzanie.
W PÓŹNIEJSZYM ETAPIE LEPIEJ TO SPRAWDZIĆ.
Obsługa użytkowników i uprawnień.
Nie działa ikona rotacji obiektu (na chrome)
It produce:
Uncaught ReferenceError: _ is not defined
Uncaught TypeError: Planting.module is not a function
This bug has been originally issued as komitywa/plantingjs.org#39 and probably will be solved during development of #69
Obsługa zapisania wysadzenia.
Bilbioteka powinna wystawiać w API możliwość dostarczenia callbacka dla zdarzenia zapisu. Do callbacka jako jedyny parametr powinien być przekazywany JSON z wysadzeniem.
Wchodząc do aplikacji, użytkownik widzi skróconą informację (dymek) jak korzystać z aplikacji (wybór widoku, przeciąganie elementów na widok).
Widoczność tooltipa sterowana parametrem wysyłanym do konstruktora. Domyślnie wyłączona.
Because we want to enable creation of campaings in wysadzulice.pl limited to particular area or street we need to be able to limit places, where pegman can be droped on Google Maps engine.
This bug is for refining architectual sollution.
Klucz GoogleMaps API to ciąg znaków, dzięki któremu Google ustala, kto korzysta z ich infrastruktury (czyli w tym wypadku map). Każda osoba/instytucja, która korzysta z usług Google powinna posiadać swój unikalny klucz i na jego podstawie korzystać z API Google.
Na początku rozwoju aplikacji stworzyłem klucz API na podstawie swojego konta Google i jest (lub był) on zaszyty na stałe w repozytorium. Docelowo nie powinien się tam znajdować, za to powinna istnieć sensowny sposób przekazania go do biblioteki przez programistę, który by z niej korzystał.
Więcej szczegółów można znaleźć na https://developers.google.com/maps/documentation/javascript/tutorial?hl=pl#api_key
W celu szybkiego budowania środowiska produkcyjnego należałoby stworzyć w repozytorium kodu źródłowego plik fabfile.py, który pozwoli budować środowisko zdalnie za pomocą połączenia ssh.
Więcej pod adresem http://www.fabfile.org/
Czasem kontrolki świrują i po x akcjach zmiany wielkości lub obrotu obiektu, kontrolki stają się nieaktywne.
Powinna istnieć możliwość obrotu wysadzonych elementów
Gdy użytkownik zdecyduje się na element, powinna być możliwość przeciągnięcia go na widok - mechanizm drag'n'drop oraz przesuwania go na widoku.
We should choose one from:
czarne kółko z ikonkami powinno się skalować razem z obrazkiem obiektu
Aktualnie sie tak nie dzieje, bo obrzek img dostaje styl scale:
gdyby kontrolowany był width
i height
to wtedy kontener obrazka tez by sie rozszerzal, a w konsekwencji czarne kółko z interfejsem też.
Aby obiekt pozotawał na środku, trzeba by dawać margines górny i lewy ujemny równy połowie różnicy między nowym height/width a inicjalnym. Chociaż mniej bałaganiarskie było by odejmowanie tego marginesu od styli top:
i left:
wypozycjonowanego absolutnie kontenera z całością
I think purpose of main.css was create styles for engine example page - basically only for developer usage. We don't need those styles in engine css file. It may create some unexpected results on sites where engine is embedded.
Powinna istnieć możliwość dodania elementów do manifestu, na podstawie którego będzie się wysadzało za pomocą interfejsu www
okno powinno się pojawiać dopiero w trakcie łądowania silnika
Powinna istnieć możliwość skalowania wysadzonych obiektów.
We have configured sending coverage information to codecov.io, but the problem is that we are right now no able to run istanbul, because there are some symbols that are not initialized.
During testing I've got:
/home/magul/Dokumenty/komitywa/plantingjs/src/js/app.js:9
b['1'][1]++;}}.bind(this));};__cov_Ezz5ge$ARayUr8xjqaPfqQ.s['56']++;_.extend(P
^
ReferenceError: _ is not defined
at Object. (/home/magul/Dokumenty/komitywa/plantingjs/src/js/app.js:9:5630)
at Module._compile (module.js:460:26)
at Object.Module._extensions.(anonymous function) as .js
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/mocha/lib/mocha.js:216:27
at Array.forEach (native)
at Mocha.loadFiles (/home/magul/Dokumenty/komitywa/plantingjs/node_modules/mocha/lib/mocha.js:213:14)
at Mocha.run (/home/magul/Dokumenty/komitywa/plantingjs/node_modules/mocha/lib/mocha.js:453:10)
at Object. (/home/magul/Dokumenty/komitywa/plantingjs/node_modules/mocha/bin/_mocha:393:18)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Object.Module._extensions.(anonymous function) as .js
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at runFn (/home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/lib/command/common/run-with-cover.js:122:16)
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/lib/command/common/run-with-cover.js:251:17
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/lib/util/file-matcher.js:68:16
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:52:16
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:363:13
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:52:16
at done (/home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:248:21)
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:44:16
at /home/magul/Dokumenty/komitywa/plantingjs/node_modules/istanbul/node_modules/async/lib/async.js:360:17
at LOOP (fs.js:1474:14)
at process._tickCallback (node.js:355:11)
trzeba przewidzieć opcję przewijania toolboxa (w sytuacji, gdy mamy więcej elementów do wysadzania)
Należy przystosować bibliotekę do automatycznego budowania pakietu Bowera. Docelowo może to się wykonywać (być sprawdzane) przez Travis CI.
Bower to popularny manager pakietów JavaScript. Dzięki temu rozwiązaniu, programiści, którzy będą chcieli skorzystać z naszej biblioteki będą mogli ściągnąć ją za pomocą jednego polecenia:
bower install plantingjs
Więcej informacji można znaleźć na http://bower.io/
Viewer w zależności od wielkości viewporta błędnie inicjuje położenie elementów zapisanego wysadzenia.
powiązane z #45
np. na kliknięcie element wysuwa się do przodu i jest wybrany do edycji
powinno istnieć możliwość ustalenia parametru dla pojedynczej instancji wysadzenia
(Tutorial jest potrzebny początkującym, przeszkadzałby pozostałym)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.