nit.git
6 years agoperf analysis: customize float precision in reports
Alexis Laferrière [Tue, 14 Nov 2017 16:47:50 +0000 (11:47 -0500)]
perf analysis: customize float precision in reports

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agorealtime: avoid unnecessary mallocs
Alexis Laferrière [Tue, 14 Nov 2017 15:47:25 +0000 (10:47 -0500)]
realtime: avoid unnecessary mallocs

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agorealtime: make native services private
Alexis Laferrière [Tue, 14 Nov 2017 15:46:58 +0000 (10:46 -0500)]
realtime: make native services private

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: don't apply dynamic resolution to UI sprites
Alexis Laferrière [Tue, 21 Nov 2017 19:24:59 +0000 (14:24 -0500)]
gamnit: don't apply dynamic resolution to UI sprites

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: dynamic_resolution_ratio should be writable
Alexis Laferrière [Wed, 8 Nov 2017 16:58:38 +0000 (11:58 -0500)]
gamnit: dynamic_resolution_ratio should be writable

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: free images pixel data from RAM after loading it in GPU memory
Alexis Laferrière [Tue, 14 Nov 2017 04:27:45 +0000 (23:27 -0500)]
gamnit: free images pixel data from RAM after loading it in GPU memory

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: don't limit fps by default as most mobile system already limit at 60
Alexis Laferrière [Sun, 12 Nov 2017 23:12:08 +0000 (18:12 -0500)]
gamnit: don't limit fps by default as most mobile system already limit at 60

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: remove duplicated perf stats in shadow
Alexis Laferrière [Sat, 11 Nov 2017 14:17:09 +0000 (09:17 -0500)]
gamnit: remove duplicated perf stats in shadow

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: use shorter names to avoid unpredictable truncation
Alexis Laferrière [Wed, 8 Nov 2017 16:58:05 +0000 (11:58 -0500)]
gamnit: use shorter names to avoid unpredictable truncation

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: fix name of parameters visible in free constructor
Alexis Laferrière [Thu, 26 Oct 2017 17:57:00 +0000 (13:57 -0400)]
gamnit: fix name of parameters visible in free constructor

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: allow modification of CustomTextures after loading
Alexis Laferrière [Tue, 21 Nov 2017 19:34:46 +0000 (14:34 -0500)]
gamnit: allow modification of CustomTextures after loading

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: keep source data for CustomTexture to support reloading
Alexis Laferrière [Wed, 18 Oct 2017 19:39:18 +0000 (15:39 -0400)]
gamnit: keep source data for CustomTexture to support reloading

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: fix subtexture references to the parent's GL name
Alexis Laferrière [Wed, 18 Oct 2017 19:37:39 +0000 (15:37 -0400)]
gamnit: fix subtexture references to the parent's GL name

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agomatrix: optimize matrix multiplication
Alexis Laferrière [Sat, 11 Nov 2017 20:52:39 +0000 (15:52 -0500)]
matrix: optimize matrix multiplication

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agomatrix: optimize loops
Alexis Laferrière [Tue, 17 Oct 2017 00:24:23 +0000 (20:24 -0400)]
matrix: optimize loops

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agomatrix: optimize the creation of the `gamnit_rotation_matrix`
Alexis Laferrière [Tue, 17 Oct 2017 00:27:22 +0000 (20:27 -0400)]
matrix: optimize the creation of the `gamnit_rotation_matrix`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agomatrix: cache the last `gamnit_euler_rotation` matrix created
Alexis Laferrière [Fri, 13 Oct 2017 21:29:01 +0000 (17:29 -0400)]
matrix: cache the last `gamnit_euler_rotation` matrix created

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: fix camera anchors left and right
Alexis Laferrière [Sun, 15 Oct 2017 02:17:40 +0000 (22:17 -0400)]
gamnit: fix camera anchors left and right

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: tweak doc of Mesh
Alexis Laferrière [Fri, 6 Oct 2017 23:24:45 +0000 (19:24 -0400)]
gamnit: tweak doc of Mesh

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: tweak BlinPhongProgram to support drawing many actors at once
Alexis Laferrière [Fri, 6 Oct 2017 23:25:51 +0000 (19:25 -0400)]
gamnit: tweak BlinPhongProgram to support drawing many actors at once

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: remove unused parameters to `SmoothMaterial::setup_lights`
Alexis Laferrière [Fri, 6 Oct 2017 23:24:30 +0000 (19:24 -0400)]
gamnit: remove unused parameters to `SmoothMaterial::setup_lights`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: rename versatile_program to blinn_phong_program
Alexis Laferrière [Fri, 6 Oct 2017 23:22:11 +0000 (19:22 -0400)]
gamnit: rename versatile_program to blinn_phong_program

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: intro `ParticleSystem::clear`
Alexis Laferrière [Fri, 6 Oct 2017 14:46:35 +0000 (10:46 -0400)]
gamnit: intro `ParticleSystem::clear`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agoglesv2: optimize `GLfloatArray` by a custom implementation and intro `add`
Alexis Laferrière [Tue, 10 Oct 2017 15:31:04 +0000 (11:31 -0400)]
glesv2: optimize `GLfloatArray` by a custom implementation and intro `add`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agoegl: intro `EGLConfigChooser::samples` and fix a constant
Alexis Laferrière [Wed, 8 Nov 2017 16:59:16 +0000 (11:59 -0500)]
egl: intro `EGLConfigChooser::samples` and fix a constant

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agoasteronits: larger controls
Alexis Laferrière [Wed, 27 Sep 2017 12:27:06 +0000 (08:27 -0400)]
asteronits: larger controls

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agoMerge: core: implement `Float::to_precision` in C without callbacks
Jean Privat [Tue, 17 Oct 2017 20:09:26 +0000 (16:09 -0400)]
Merge: core: implement `Float::to_precision` in C without callbacks

Fix #2561, int overflows in `Float::to_precision` with a high float value or a high precision.

The native implementation was removed by 9cb09ccf to support the interpreter. Since then, we added support for the FFI in the interpreter so we can bring back a native implementation.

Pull-Request: #2562

6 years agoMerge: markdown: merge MDProcessor and MDEmitter
Jean Privat [Tue, 17 Oct 2017 20:09:25 +0000 (16:09 -0400)]
Merge: markdown: merge MDProcessor and MDEmitter

The emitter was unecessary.

Also done some cleaning.

Pull-Request: #2563

6 years agoMerge: lib/config: fix doc
Jean Privat [Tue, 17 Oct 2017 20:09:24 +0000 (16:09 -0400)]
Merge: lib/config: fix doc

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

Pull-Request: #2564

6 years agoMerge: lib/markdown: fix `text` for nested markdown blocks
Jean Privat [Tue, 17 Oct 2017 20:09:23 +0000 (16:09 -0400)]
Merge: lib/markdown: fix `text` for nested markdown blocks

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

Pull-Request: #2565

6 years agolib/markdown: fix `text` for nested markdown blocks
Alexandre Terrasa [Thu, 12 Oct 2017 00:46:11 +0000 (20:46 -0400)]
lib/markdown: fix `text` for nested markdown blocks

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agolib/config: fix doc
Alexandre Terrasa [Thu, 12 Oct 2017 00:44:15 +0000 (20:44 -0400)]
lib/config: fix doc

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agolib/markdown: merge processor and emitter
Alexandre Terrasa [Wed, 11 Oct 2017 03:11:51 +0000 (23:11 -0400)]
lib/markdown: merge processor and emitter

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agolib/markdown: fix nitunits in README
Alexandre Terrasa [Wed, 11 Oct 2017 02:54:30 +0000 (22:54 -0400)]
lib/markdown: fix nitunits in README

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agolib/markdown: remove warnings
Alexandre Terrasa [Wed, 11 Oct 2017 02:53:10 +0000 (22:53 -0400)]
lib/markdown: remove warnings

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agoMerge: model_collect: collect more things
Jean Privat [Tue, 10 Oct 2017 16:52:04 +0000 (12:52 -0400)]
Merge: model_collect: collect more things

A lot of new shortcuts.

Pull-Request: #2560

6 years agoMerge: model: is_accessor
Jean Privat [Tue, 10 Oct 2017 16:52:03 +0000 (12:52 -0400)]
Merge: model: is_accessor

Add a way to associate attributes and their getters/setters.

This will be useful for filtering things and groupings properties together.

Pull-Request: #2559

6 years agoMerge: Vector Space Model
Jean Privat [Tue, 10 Oct 2017 16:52:01 +0000 (12:52 -0400)]
Merge: Vector Space Model

# Vector Space Model

Vector Space Model (VSM) is an algebraic model for representing text documents
(and any objects, in general) as vectors of identifiers, such as, for example,
index terms.

It is used in information filtering, information retrieval, indexing and
relevancy rankings.

The `vsm` package provides the following features:
* Vector comparison with cosine similarity.
* Vector indexing and matching with tf * idf.
* File indexing and matching to free text queries.

## Vectors

With VSM, documents are represented by a n-dimensions vector.
Each dimension represent an attribute of the document or object.

For text document, the count of each term found in the document if often used to
build vectors.

### Creating a vector

~~~nit
var vector = new Vector
vector["term1"] = 2.0
vector["term2"] = 1.0
assert vector["term1"] == 2.0
assert vector["term2"] == 1.0
assert vector.norm.is_approx(2.236, 0.001)
~~~

### Comparing vectors

~~~nit
var v1 = new Vector
v1["term1"] = 1.0
v1["term2"] = 2.0

var v2 = new Vector
v2["term2"] = 1.0
v2["term3"] = 3.0

var query = new Vector
query["term2"] = 1.0

var s1 = query.cosine_similarity(v1)
var s2 = query.cosine_similarity(v2)
assert s1 > s2
~~~

## VSMIndex

VSMIndex is a Document index based on VSM.

Using VSMIndex you can index documents associated with their vector.
Documents can then be matched to query vectors.

This represents a minimalistic search engine.

~~~nit
var index = new VSMIndex

var d1 = new Document("Doc 1", "/uri/1", v1)
index.index_document(d1)

var d2 = new Document("Doc 2", "/uri/2", v2)
index.index_document(d2)

assert index.documents.length == 2

query = new Vector
query["term1"] = 1.0

var matches = index.match_vector(query)
assert matches.first.document == d1
~~~

## StringIndex

The StringIndex provides usefull services to index and match strings.

~~~nit
index = new StringIndex

d1 = index.index_string("Doc 1", "/uri/1", "this is a sample")
d2 = index.index_string("Doc 2", "/uri/2", "this and this is another example")
assert index.documents.length == 2

matches = index.match_string("this sample")
assert matches.first.document == d1
~~~

## FileIndex

The FileIndex is a StringIndex able to index and retrieve files.

~~~nit
index = new FileIndex

index.index_files(["/path/to/doc/1", "/path/to/doc/2"])
~~~

Pull-Request: #2556
Reviewed-by: Jean Privat <jean@pryen.org>

6 years agonlp: use new vector representation
Alexandre Terrasa [Fri, 6 Oct 2017 17:46:36 +0000 (13:46 -0400)]
nlp: use new vector representation

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agocore: implement Float::to_precision in C without callbacks
Alexis Laferrière [Tue, 3 Oct 2017 14:53:59 +0000 (10:53 -0400)]
core: implement Float::to_precision in C without callbacks

Fix int overflows in Float::to_precision with a high float value
or a high precision.

The native implementation was removed by 9cb09ccf to support the
interpreter, which, at the time, did not support the FFI. Since then, we
added support for thhe FFI in the interpreter.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agonitweb: use model_collect for definitions lists
Alexandre Terrasa [Fri, 29 Sep 2017 21:32:16 +0000 (17:32 -0400)]
nitweb: use model_collect for definitions lists

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agomodel_collect: collect more things
Alexandre Terrasa [Fri, 29 Sep 2017 21:31:58 +0000 (17:31 -0400)]
model_collect: collect more things

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agomodel_collect: uniformize documentation
Alexandre Terrasa [Fri, 29 Sep 2017 21:05:48 +0000 (17:05 -0400)]
model_collect: uniformize documentation

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agotests: update tests for vsm
Alexandre Terrasa [Fri, 29 Sep 2017 19:13:23 +0000 (15:13 -0400)]
tests: update tests for vsm

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agolib/vsm: add README
Alexandre Terrasa [Wed, 27 Sep 2017 02:42:39 +0000 (22:42 -0400)]
lib/vsm: add README

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agolib/vsm: introduce an indexing process based on VSM
Alexandre Terrasa [Fri, 22 Sep 2017 20:37:19 +0000 (16:37 -0400)]
lib/vsm: introduce an indexing process based on VSM

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agolib/vsm: accept anything as a dimension
Alexandre Terrasa [Wed, 20 Sep 2017 22:23:40 +0000 (18:23 -0400)]
lib/vsm: accept anything as a dimension

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agolib/nlp: move vsm.nit to its own package
Alexandre Terrasa [Wed, 20 Sep 2017 22:23:09 +0000 (18:23 -0400)]
lib/nlp: move vsm.nit to its own package

We don't need nlp to use vsm

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agomodel: remove a warning :p
Alexandre Terrasa [Fri, 29 Sep 2017 18:46:04 +0000 (14:46 -0400)]
model: remove a warning :p

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agomodelize: define attribute getters and setters
Alexandre Terrasa [Fri, 29 Sep 2017 18:45:54 +0000 (14:45 -0400)]
modelize: define attribute getters and setters

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agomodel: tag getters and setters
Alexandre Terrasa [Fri, 29 Sep 2017 18:45:34 +0000 (14:45 -0400)]
model: tag getters and setters

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agoMerge: lib: introduce `fca` a module for formal concept analysis
Jean Privat [Thu, 28 Sep 2017 23:39:24 +0000 (19:39 -0400)]
Merge: lib: introduce `fca` a module for formal concept analysis

## Building a FormalContext

We use the example from https://en.wikipedia.org/wiki/Formal_concept_analysis:

~~~nit
var fc = new FormalContext[Int, String]
fc.set_object_attributes(1, ["odd", "square"])
fc.set_object_attributes(2, ["even", "prime"])
fc.set_object_attributes(3, ["odd", "prime"])
fc.set_object_attributes(4, ["even", "composite", "square"])
fc.set_object_attributes(5, ["odd", "prime"])
fc.set_object_attributes(6, ["even", "composite"])
fc.set_object_attributes(7, ["odd", "prime"])
fc.set_object_attributes(8, ["even", "composite"])
fc.set_object_attributes(9, ["odd", "square", "composite"])
fc.set_object_attributes(10, ["even", "composite"])
~~~

## Computing the set of FormalConcept

~~~nit
var concepts = fc.formal_concepts
for concept in concepts do
print concept
end
~~~

## Visualizing formal concept with ConceptLattice

~~~nit
var cl = new ConceptLattice[Int, String].from_concepts(concepts)
cl.show_dot
~~~

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

Pull-Request: #2557
Reviewed-by: Jean Privat <jean@pryen.org>

6 years agoMerge: .gitignore: ignore more vim files
Jean Privat [Thu, 28 Sep 2017 23:39:23 +0000 (19:39 -0400)]
Merge: .gitignore: ignore more vim files

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

Pull-Request: #2555

6 years agoMerge: model_visitor: reject is_before and is_after as they are tests
Jean Privat [Thu, 28 Sep 2017 23:39:22 +0000 (19:39 -0400)]
Merge: model_visitor: reject is_before and is_after as they are tests

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

Pull-Request: #2554

6 years agoMerge: doc_commands: parse parameters
Jean Privat [Thu, 28 Sep 2017 23:39:22 +0000 (19:39 -0400)]
Merge: doc_commands: parse parameters

This PR allows the user of doc cards to pass parameters through the card declaration:

* `command: arg | option1: value1, option2: value2`

It can be used in a doc command so one can write:

~~~
Here a graph:
[[graph: core::Array | cdepth: 1, pdepth: 4]]
~~~

Pull-Request: #2553
Reviewed-by: Jean Privat <jean@pryen.org>

6 years agoMerge: nitweb: fully integrate catalog
Jean Privat [Thu, 28 Sep 2017 23:39:21 +0000 (19:39 -0400)]
Merge: nitweb: fully integrate catalog

Some work to integrate the nit catalog with nitweb:
* make the catalog API more usable
* serves the catalog API through JSON/REST
* integrate with current frontend

New features:
* catalog integration
* new search process and ui
* pagination for results and catalog (faster!)
* cards cleaning
* tabs cleaning

Demo: DIY

Pull-Request: #2552

6 years agolib: introduce `fca` a module for formal concept analysis
Alexandre Terrasa [Thu, 28 Sep 2017 23:31:48 +0000 (19:31 -0400)]
lib: introduce `fca` a module for formal concept analysis

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: allow options in graph card
Alexandre Terrasa [Tue, 26 Sep 2017 20:25:45 +0000 (16:25 -0400)]
nitweb: allow options in graph card

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agosrc/doc_down: fix `comment` behavior
Alexandre Terrasa [Tue, 29 Aug 2017 23:52:54 +0000 (19:52 -0400)]
src/doc_down: fix `comment` behavior

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agosrc/doc_commands: merge Article and Comment commands
Alexandre Terrasa [Tue, 29 Aug 2017 23:52:35 +0000 (19:52 -0400)]
src/doc_commands: merge Article and Comment commands

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years ago.gitignore: ignore more vim files
Alexandre Terrasa [Fri, 22 Sep 2017 20:40:17 +0000 (16:40 -0400)]
.gitignore: ignore more vim files

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agomodel_visitor: reject is_before and is_after as they are tests
Alexandre Terrasa [Tue, 26 Sep 2017 20:46:44 +0000 (16:46 -0400)]
model_visitor: reject is_before and is_after as they are tests

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: use new doc commands parser
Alexandre Terrasa [Tue, 29 Aug 2017 23:32:12 +0000 (19:32 -0400)]
nitweb: use new doc commands parser

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitdoc: use new doc commands parser
Alexandre Terrasa [Tue, 29 Aug 2017 23:31:59 +0000 (19:31 -0400)]
nitdoc: use new doc commands parser

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitdoc: remove warnings from doc_readme
Alexandre Terrasa [Tue, 29 Aug 2017 22:27:23 +0000 (18:27 -0400)]
nitdoc: remove warnings from doc_readme

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitx: update to doc commands parser
Alexandre Terrasa [Tue, 29 Aug 2017 22:22:29 +0000 (18:22 -0400)]
nitx: update to doc commands parser

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agosrc/doc_commands: rewrite doc commands parser
Alexandre Terrasa [Tue, 29 Aug 2017 22:22:15 +0000 (18:22 -0400)]
src/doc_commands: rewrite doc commands parser

Also add tests

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: rewrite search ui
Alexandre Terrasa [Wed, 16 Aug 2017 23:18:55 +0000 (19:18 -0400)]
nitweb: rewrite search ui

Display a new menu that allows the user to jump on a result page.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: catalog refine search algorithm
Alexandre Terrasa [Wed, 16 Aug 2017 23:17:05 +0000 (19:17 -0400)]
nitweb: catalog refine search algorithm

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: remove useless catalog handlers
Alexandre Terrasa [Wed, 16 Aug 2017 21:29:02 +0000 (17:29 -0400)]
nitweb: remove useless catalog handlers

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: add catalog sidebar on package views
Alexandre Terrasa [Tue, 15 Aug 2017 22:13:07 +0000 (18:13 -0400)]
nitweb: add catalog sidebar on package views

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: rewrite catalog frontend
Alexandre Terrasa [Tue, 15 Aug 2017 20:55:32 +0000 (16:55 -0400)]
nitweb: rewrite catalog frontend

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: remove tabs from cards
Alexandre Terrasa [Wed, 16 Aug 2017 21:32:14 +0000 (17:32 -0400)]
nitweb: remove tabs from cards

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: move grades frontend from card to tab
Alexandre Terrasa [Tue, 15 Aug 2017 23:40:33 +0000 (19:40 -0400)]
nitweb: move grades frontend from card to tab

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: rename frontend module `index` in `catalog`
Alexandre Terrasa [Tue, 15 Aug 2017 20:44:00 +0000 (16:44 -0400)]
nitweb: rename frontend module `index` in `catalog`

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: frontend add ui-pagination directive
Alexandre Terrasa [Tue, 15 Aug 2017 20:59:06 +0000 (16:59 -0400)]
nitweb: frontend add ui-pagination directive

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: catalog api serves persons related data
Alexandre Terrasa [Tue, 15 Aug 2017 20:51:09 +0000 (16:51 -0400)]
nitweb: catalog api serves persons related data

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: catalog api serves tags related data
Alexandre Terrasa [Tue, 15 Aug 2017 20:50:51 +0000 (16:50 -0400)]
nitweb: catalog api serves tags related data

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: catalog api use mpackage_stats
Alexandre Terrasa [Tue, 15 Aug 2017 20:48:59 +0000 (16:48 -0400)]
nitweb: catalog api use mpackage_stats

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: introduce /api/catalog/packages route
Alexandre Terrasa [Tue, 15 Aug 2017 20:35:21 +0000 (16:35 -0400)]
nitweb: introduce /api/catalog/packages route

List all packages in current catalog

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: introduce custom serialization for CatalogHandler
Alexandre Terrasa [Tue, 15 Aug 2017 20:33:56 +0000 (16:33 -0400)]
nitweb: introduce custom serialization for CatalogHandler

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: move catalog building to Catalog redef
Alexandre Terrasa [Tue, 15 Aug 2017 20:32:38 +0000 (16:32 -0400)]
nitweb: move catalog building to Catalog redef

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: rewrite catalog serialization
Alexandre Terrasa [Tue, 15 Aug 2017 20:30:35 +0000 (16:30 -0400)]
nitweb: rewrite catalog serialization

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agonitweb: introduce pagination handler
Alexandre Terrasa [Tue, 15 Aug 2017 19:52:04 +0000 (15:52 -0400)]
nitweb: introduce pagination handler

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agocatalog: introduce some sorters
Alexandre Terrasa [Tue, 15 Aug 2017 20:25:02 +0000 (16:25 -0400)]
catalog: introduce some sorters

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agocatalog: introduce CatalogStats to retrieve all the stats of the catalog
Alexandre Terrasa [Tue, 15 Aug 2017 20:24:50 +0000 (16:24 -0400)]
catalog: introduce CatalogStats to retrieve all the stats of the catalog

Useful for serialization

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agocatalog: introduce MPackageStats to retrieve the stats of a MPackage
Alexandre Terrasa [Tue, 15 Aug 2017 20:24:09 +0000 (16:24 -0400)]
catalog: introduce MPackageStats to retrieve the stats of a MPackage

Usefull for serialization

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agocatalog: associate persons to their short name
Alexandre Terrasa [Tue, 15 Aug 2017 20:09:17 +0000 (16:09 -0400)]
catalog: associate persons to their short name

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agocatalog: associate packages to their full_name
Alexandre Terrasa [Tue, 15 Aug 2017 20:09:05 +0000 (16:09 -0400)]
catalog: associate packages to their full_name

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agocatalog: extract gravatar from html
Alexandre Terrasa [Thu, 8 Jun 2017 23:00:02 +0000 (19:00 -0400)]
catalog: extract gravatar from html

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agocatalog: split metadata from MPackage class
Alexandre Terrasa [Thu, 8 Jun 2017 22:59:32 +0000 (18:59 -0400)]
catalog: split metadata from MPackage class

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agocatalog: fix warnings
Alexandre Terrasa [Thu, 8 Jun 2017 01:30:02 +0000 (21:30 -0400)]
catalog: fix warnings

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

6 years agoMerge: nitunit: use annotations
Jean Privat [Mon, 25 Sep 2017 20:23:07 +0000 (16:23 -0400)]
Merge: nitunit: use annotations

This PR replace the name heuristics used by nitunit by nice and tidy annotations.

Before:

~~~nit
module test_my_test is test_suite

import test_suite

class TestMyTest
    super TestSuite

    redef fun before do # something

    fun test_my_test do
        assert true
    end
end
~~~

After:

~~~nit
module my_test is test

class MyTest
    test

    fun setup is before do # something

    fun my_test is test do
        assert true
    end
end
~~~

Motivations:
* cleaner API / naming policy
* [BDD](https://en.wikipedia.org/wiki/Behavior-driven_development) friendly
* more flexibility as one can define a `after` method in the lib that will only be executed on children module tagged with `test`
* more extensible as one can improve nitunit to support `test(timeout = 150)` or `test(res= "res/test_file.res")`

Used annotations:
* `test` on modules, classes and properties to indicate that nitunit must run this module/class/method
* `before`, `after` on properties from all classes but `Sys` for the before/after each case hooks
* `before_all`, `after_all` on properties from `Sys` for the before/after all cases hooks

This also removes the need of the `lib/test_suite` module.

I also migrated the existing test suites to the new annotations system. Let's see what Jenkins has to say about it.

Should fix #2165

Pull-Request: #2474
Reviewed-by: Jean Privat <jean@pryen.org>

6 years agoMerge: gamnit: fluid API, named 3D models, faster nitpick et other fixes
Jean Privat [Mon, 25 Sep 2017 20:23:05 +0000 (16:23 -0400)]
Merge: gamnit: fluid API, named 3D models, faster nitpick et other fixes

General improvements to the gamnit framework and related services:
* Make the APIs of `CustomTexture` and `VirtualGamepad` a bit more fluid.
* More precise computation of `TextSprite::height` and show the result in `font_showcase`.
* Optimize shadow mapping by caching the light MVP matrix.
* Speedup nitpick by silencing some warnings in `glesv2` and fix warnings created by the serialization framework.
* Fix bug on Kabylake GPU reported by @BlackMinou.
* Fix a few other bugs and possible crashes.

Pull-Request: #2551

6 years agogamnit: fix "mismatching precision qualifiers" error on recent Intel GPU
Alexis Laferrière [Mon, 25 Sep 2017 12:38:37 +0000 (08:38 -0400)]
gamnit: fix "mismatching precision qualifiers" error on recent Intel GPU

Reported-by: Romain Chanoir <romain.chanoir@viacesi.fr>
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: disable our premultiplication on Android
Alexis Laferrière [Thu, 21 Sep 2017 01:51:54 +0000 (21:51 -0400)]
gamnit: disable our premultiplication on Android

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: compute a more precise `TextSprites::height`
Alexis Laferrière [Fri, 15 Sep 2017 12:17:09 +0000 (08:17 -0400)]
gamnit: compute a more precise `TextSprites::height`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: fix code duplication in BMFont
Alexis Laferrière [Wed, 20 Sep 2017 16:45:33 +0000 (12:45 -0400)]
gamnit: fix code duplication in BMFont

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: add size info to font_showcase
Alexis Laferrière [Wed, 20 Sep 2017 16:38:56 +0000 (12:38 -0400)]
gamnit: add size info to font_showcase

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

6 years agogamnit: cache the light mvp_matrix
Alexis Laferrière [Mon, 18 Sep 2017 19:21:06 +0000 (15:21 -0400)]
gamnit: cache the light mvp_matrix

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>