-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Sascha Klatt edited this page Apr 17, 2021
·
25 revisions
- Features
- option to fill up selected values that are outside the grid with
undefined
cells, so that result dimensions equal the requested dimensions (e.g. ingetSubGrid()
,crop()
, ...) - rotate around an anchor point
- search
findLast(grid, searchValue, walk): GridCell
lastPosition(grid, searchValue, walk): GridPosition
- transformers
-
setCells({position, value}, {position, value}, ...)
set multiple cells at once -
setRows({y, row}, {y, row}, ...)
set multiple cells at once -
setColumns({x, column}, {x, column}, ...)
set multiple cells at once addColumnsLeft(columns)
addColumnsRight(columns)
addRowsLeft(rows)
addRowsRight(rows)
concat(otherGrid)
-
- selectors
- outline:
selectOutline(subGrid)
- edge:
selectEdges()
(like outline but inside the grid instead of outside) - corners:
selectCorners()
- outline:
- option to fill up selected values that are outside the grid with
- QA
- review code
- double check docs for correctness
- add tests for code examples
- add snyk + vulnerabilities badge
- Features
- Sorting
- transformers
-
reshape(newShape)
sets a new shape, where the number of cells must remain the same -
morph
that is likereduce
but must return a new valid grid, so that it's a valid grid-transformer moveSubGrid(subGridArea, targetPosition)
-
- walkers
- provide walkers for
createGrid
- should be able to iterate just over a subset of cells
- provide more walkers
- provide walkers for
- performance
- measure & improve
- path module
- path search algorithms
- weighted paths
- intersection of three or more areas
- support typed arrays
- infinite iterators (outside values/indexes are mapped to inside ones, e.g. x = columnCount -> x = 0, x = columnCount + 1 -> x = 1, ...)
- pretty printed grid with toString() for debugging
- get random cells: from the entire grid or a specific area
- Look at Linear Algebra with JS
- CI/CD pipeline
- consider using semantic-release
- use github ci or travis or similar
- build dist
- tag commit
- trigger update docs website
- Docs
- add more badges
- find out minimal nodejs version and set it in package.engines
- encourage contribution (add badge)
- add examples folder with real examples
- Tooling
- create index.html that holds links to docs / stats / coverage
- test bundles, see Run tests agains compiled bundles
- add benchmark/performance tests to detect bottlenecks and inefficient algorithms
- lint that tests import only from
src/index.ts
orsrc/types.ts
- setup jsdelivr for umd bundle
- Spread the word
- register at https://openbase.com/