Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: resolve conflicts #48

Merged
merged 3 commits into from
Apr 3, 2020
Merged

Commits on Feb 18, 2020

  1. build(CircleCi): set upstream (#36)

    * build(dep): `@babylonjs` & `@types/node`:
    
    - @BabylonJS:4.1.0-beta.9
    - @types/node:12.12.16
    
    * feat(apps/frontend): select initial tool
    
    * fix(apps/frontend): import hammerjs
    
    * refactor(frontend): scene-viewer into container
    
    * feat(frontend): dispatch `pointerPick` action
    
    * feat(frontend): dispatch `add|removeVoxel` action
    
    * build(packaging): simplify `prettier:check` command
    
    * doc(frontend): add readme with ngrx resources
    
    * feat(frontend): support adding voxel
    
    * refactor(frontend): don't inject `GridService`
    
    * feat(frontend): effects for when app goes on/offline
    
    * test(frontend): on/offline effects
    
    * test(vdb): remove `normals` from test
    
    * feat(vdb): add `setValueOff` & `isValueOn`
    
    * test(frontend): set expected position to pass
    
    * fix(frontend): make public for use in template
    
    * build(dep): `@types/node` & `core-js`
    
    * feat(frontend): enable `removeVoxel`
    
    * build(dep): `@babylonjs/*`
    
    * build(github): keep `develop` after PR merge
    
    * build(dep): `cypress` to `v3.8.0`
    
    * build(dep): `cypress` to `v3.7.0`
    
    * test(vdb): set value with float coordinates:
    
    - coordinates get always rounded down
    
    * build(dep): `cypress` to `v3.7.0`
    
    * feat(frontend): support adding and removing voxels
    
    * test(ui): remove unused imported components
    
    * build(CircleCi): use `13.3.0` due failing tests:
    
    - Test suite failed to run
      - Call retries were exceeded at ChildProcessWorker.initialize()
    - jest-community/vscode-jest#486 (comment)
    
    * fix(frontend): add voxel on positive normal
    
    - but negative position
    
    * test(frontend): set `setupFilesAfterEnv`
    
    - to run in Jest tests within WebStorm
    - nrwl/nx#1439 (comment)
    
    * test(frontend): set `globals`>`tsConfig`
    
    - to run in Jest tests within WebStorm with SCSS imports in component
    
    * build(CircleCi): use `13.4.0`
    
    * build(dep): update diverse dependencies:
    
    - @ngrx/effects, @ngrx/store
    - core-js, mnemonist, codelyzer
    - @types/jest, @types/node
    
    * doc(readme): record macro & git setup
    
    * build(dep): `@angular-devkit/build-angular` & `@angular/cli`
    
    * feat(frontend): draw separate mesh per InternalNode1 (#9)
    
    * feat(frontend): add multiple voxels
    
    * feat(ui): add output for dropped files
    
    * doc(readme): add openVDB repo link
    
    * feat(vdb): implement `beginLeafOn` iterator
    
    * feat(frontend/vdb): draw InternalNode1 chunks
    
    * feat(frontend/vdb): don't return LeafNode
    
    * feat(frontend/vdb): don't return `LeafNode` in `setValueAndCache`
    
    * feat(frontend/vdb): use only key from accessor
    
    * feat(frontend/vdb): remove `getLeafNodeAndCache`
    
    * feat(frontend/vdb): remove `beginLeafOn`
    
    * feat(frontend/vdb): remove `getLeafNodeAndCache` & `beginLeafOn`
    
    * fix(frontend/vdb): dispose mesh instead of just remove it:
    
    - so we resolve memory issue
    
    * refactor(frontend): optimize scene & mesh
    
    - https://doc.babylonjs.com/how_to/optimizing_your_scene
    
    * refactor(frontend): remove unused method & obj loader
    
    * refactor(vdb): increase `InternalNode1` size to reduce draw calls
    
    * refactor(vdb): remove inspector & loading obj
    
    * refactor(vdb): align to `probeNode` & `probeNodeAndCache`
    
    * refactor(vdb): s/grid-to-mesh/node-to-mesh
    
    * refactor(vdb): use un-indexed mesh
    
    * fix(ui): read normal directly from picked mesh
    
    * refactor(frontend): remove `objFileLoader`
    
    * refactor(frontend): s/updateGridMesh/updateNodeMesh & key/Node1Origin
    
    * feat(benchmark): test single vs. multiple `array.push()`
    
    * build(CircleCi): update node to `13.5.0` & cypress `3.8.1`
    
    * build(nx): nx migrate @nrwl/workspace (v8.11.0)
    
    - nx migrate --run-migrations=migrations.json
    
    * fix(benchmark): add `.nxignore` to get benchmark through linter
    
    * build(dep): update dependencies
    
    * feat(frontend): add undo/redo & enable `strictNullChecks` (#10)
    
    * feat(frontend): add undo/redo & enforce `strictNullChecks`
    
    * feat(frontend): undo/redo with max buffer size
    
    * test(frontend): handle possible `undefined`
    
    * feat(frontend): make remove a voxel undoable
    
    * feat(frontend): place initial voxel at [0, 0, 0]
    
    * fix(frontend): dispose previous history if new `addUndo`
    
    * refactor(frontend): extract method for creating `addUndo`
    
    * feat(frontend): set active state of voxel, return color when deleting (#11)
    
    * feat(ui/frontend): add menu-bar (#12)
    
    * feat(frontend): add menu-bar
    
    * feat(frontend): add menu-bar-container
    
    * test(frontend): inject mock store for menu-bar-container
    
    * refactor(frontend): add missing `menu-bar.component`
    
    * test(frontend): import `MenuBarModule`
    
    * feat(frontend): undo/redo with start/end actions (#13)
    
    * feat(frontend): undo/redo with start/end actions
    
    * test(frontend): provide `valueToColor()`
    
    * feat(frontend): set random color when adding a voxel
    
    * test(frontend): add same color of voxel
    
    * refactor(frontend): use directly `props<VoxelChange>`
    
    * refactor(frontend): throw error when coord&values not same length
    
    * build(dep): update dependencies
    
    * build(dep): update cypress to `v3.8.2`
    
    * build(dep): update stylelint to `v13.0.0`
    
    * refactor(ui): prefix UI components with `Ui` like Angular does with `Mat` (#14)
    
    * refactor(ui): prefix `MenuBar` with `Ui` like Angular does with `Mat`
    
    * refactor(ui): prefix `SceneViewer` with `Ui` as Angular does with `Mat`
    
    * test(ui): check `menu-bar` menus & items
    
    * refactor(ui): remove ctor & onInit
    
    * test(ui): check if sidnav has left & right navigation
    
    * refactor(ui): prefix `SidenavShell` with `Ui` as Angular does with `Mat`
    
    * refactor(ui): prefix `SceneViewerService` with `Ui` (ng with `Mat`)
    
    * refactor(ui): prefix `SceneViewerTestModule` with `Ui` (ng with `Mat`)
    
    * refactor(ui): prefix `ToolbarModule` with `Ui` (ng with `Mat`)
    
    * refactor(ui): prefix `UiPointer[Button|PickInfo]` with `Ui`
    
    * build(dep): update handlebars to `v4.7.2` due to security issues
    
    * test(ui): should emit `value` of clicked menu items
    
    * test(ui): should emit on tool select
    
    * test(ui): should close left & right sidenav
    
    * test(frontend): should dispatch action
    
    * test(frontend): check `scene-viewer-container.reducer`
    
    * test(frontend): check `scene-viewer-container.reducer` selector
    
    * refactor(ui): import `hammerjs` to remove warning in test run
    
    * test(frontend): check `tools-panel.reducer`
    
    * test(frontend): check `undo-redo.reducer`
    
    * test(frontend): check `undo-redo.reducer` with `stepX`
    
    * test(frontend): check `undo-redo.reducer` too many undo/redo's
    
    * style(prettier): fix imports
    
    * test(vdb): add tests for `tree`
    
    * test(vdb): improve coverage
    
    * test(vdb): check coord
    
    * test(vdb): check grid
    
    * test(vdb): check `nodeToMesh`
    
    * feat(ui): add `Storybook` (#16)
    
    * feat(ui): add `Storybook`
    
    * feat(ui): add `Storybook` e2e test
    
    * doc(ui): how to watch e2e
    
    * build(dep): update storybook to `v5.3.6`
    
    * build(dep): back to storybook `v5.3.2` due to:
    
    - info => Using angular project 'frontend' for configuring Storybook.
    
    * build(dep): back to storybook `v5.3.6` since it works
    
    * test(ui-e2e): open/close `menu-bar`
    
    * ci(storybook): run, build & deploy storybook for `ui-e2e` (#17)
    
    * ci(storybook): build storybook
    
    * ci(storybook): move `frontend e2e` step down
    
    * ci(storybook): store storybook & deploy to gh-pages
    
    * ci(storybook): extract git(hub) configs
    
    * ci(storybook): extract deploy to gh-pages
    
    * ci(storybook): change to `test-results` folder & use `junit` reporter
    
    * ci(storybook): run `ui-e2e` and store test-results & artifacts
    
    * ci(storybook): run `ui-e2e` only on `master` & `develop`
    
    * fix(ui): to high/large canvas by setting `display: block;`
    
    * feat(frontend): paint voxel (#18)
    
    * feat(frontend): dispatch paint-voxel action
    
    * feat(frontend): set voxel on paint
    
    * feat(frontend): finish renaming `addVoxel` to `setVoxel`
    
    * feat(frontend): save old/new values and undo/redo painting
    
    * refactor(frontend): s/positions/coord
    
    * refactor(frontend): fix prettier issue
    
    * refactor(frontend): s/position/xyz
    
    * build(dep): update `@nrwl` to `v8.11.2`
    
    * build(dep): update `@angular/(cli|core)` to `v8.3.22`
    
    - `ng update @angular/cli @angular/core`
    
    * build(dep): update @BabylonJS, @babel, @storybook, @types
    
    * feat(ui): color-dialog (#19)
    
    * feat(ui): color-dialog
    
    * refactor(ui): always open dialog in story
    
    * refactor(ui): flatten config to just menus & type safety in story
    
    * feat(ui): pass colors to color-dialog
    
    * refactor(ui): make data & return value type-safe.
    
    * refactor(ui): extract interface `UiColorDialogData`
    
    * refactor(ui): extract open into `UiColorDialogService`
    
    * test(ui): s/UiMenuBarConfig/UiMenuBarMenu
    
    * refactor(ui): provide `selectedColorIndex`
    
    * build(dep): update `circleci/node` to `v13.6.0`
    
    * feat(frontend): use color-dialog (#20)
    
    * feat(frontend): use color-dialog
    
    * refactor(ui): s/draggable-dialog/color-dialog
    
    * feat(frontend): open (empty) color-dialog
    
    * feat(frontend): provide some first colors
    
    * feat(frontend): use effects to open color-dialog
    
    * feat(frontend): use effects to set selected color in store
    
    * feat(frontend): temp. consider just `color.r`
    
    * feat(frontend): save colors and selected-index
    
    * refactor(frontend): move `tool.model.ts` to `model` (put in lib later)
    
    * feat(frontend): `intToRgba` & `rgbaToInt`
    
    * refactor(frontend): s/model/value
    
    * refactor(frontend): use `Rgba` and `rgbaToInt` to set voxel in grid
    
    * refactor(frontend): provide selector for retrieving CSS colors
    
    * refactor(frontend): move comment `Front`
    
    * refactor(vdb): define all colors
    
    * refactor(frontend): fix prettier
    
    * test(frontend): import `OptionsPanelModule`
    
    * refactor(frontend): prettier
    
    * refactor(ui): `forceDepthWrite` for transparent cubes
    
    - there are still some artifacts (seeing through cubes behind)
    
    * refactor(ui): use `rgba` to set initial voxel at [0, 0, 0]
    
    * test(frontend): provide stub component in `AppComponent` test
    
    * test(frontend): provide `initialMockState`
    
    * test(frontend): mock & expect proper `Rgba` values
    
    * test(ui): fix type of dialog result (`UiColorDialogColor` to `number`)
    
    * feat(frontend): support dark & light theme (#21)
    
    * feat(ui): add theme toggle to storybook (#22)
    
    * feat(ui): remove `mat-button` from story
    
    * build(dep): update `@storybook` to `v5.3.8`
    
    * build(dep): update `tslint` to `v6.0.0`
    
    * build(dep): back to `tslint` `v5.20.1`
    
    * refactor(model): extract `Rgba` & `Tool` to lib `model` (#24)
    
    * refactor(model): extract `Rgba` & `Tool` to lib `model`
    
    * refactor(model): remove mapping path to non-existing `@talus/math`
    
    * refactor(vdb): use `eslint` over `tslint` (#25)
    
    * refactor(benchmark): use `eslint` over `tslint` (#26)
    
    * refactor(benchmark): use `eslint` over `tslint`
    
    * refactor(benchmark): s/benchmarkjs/Benchmark
    
    * ci(circle): `git pull` before `gh-pages` deploy
    
    * refactor(frontend): prefix unused variables with `_`
    
    * refactor(frontend): register pointer events
    
    * refactor(frontend): draw initial chessboard
    
    * docs(talus): add ui-e2e command & update deploy url
    
    * docs(frontend): add most used commands
    
    * docs(vdb): move install & test to blog
    
    * docs(ui): clean-up storybook commands
    
    * feat(vdb): implement raytracing (#27)
    
    * refactor(vdb): move `ValueType` & `Index` to `types.ts`
    
    * feat(vdb): add delta value
    
    * feat(vdb): add `floor()` to `Coord`
    
    * feat(vdb): add `Vec3`
    
    * feat(vdb): add `minValue` to `Vec3`
    
    * feat(vdb): add `Ray`
    
    * feat(vdb): implement `probeLeafNodeAndCache`
    
    * test(vdb): improve comments about cache misses
    
    * test(vdb): check if correct cache level was hit
    
    * feat(frontend): add selection tool & stop moving camera on voxel hit
    
    * refactor(benchmark): reduce amount of values (CircleCI)
    
    * build(dep): update `node` to `v13.7.0`
    
    * ci: start using `yarn nx ...`
    
    * refactor(benchmark): set `--maxWorkers` to 10 (was 32 on CircleCI)
    
    * ci: uniform calls by using `yarn nx ...`
    
    * doc: add debug CircleCI via `ssh`
    
    * feat(vdb): add `empty()` & `numBackgroundTiles()`
    
    * feat(vdb): add `keyToCoord()`
    
    * feat(vdb): `expand()` on `CoordBBox`
    
    * feat(vdb): `isInside()` on `CoordBBox`
    
    * feat(vdb): add `offset`, `expand`, `reset`, `translate`
    
    * feat(vdb): add `add`, `divide` to `Vec3`
    
    * feat(vdb): add `clip`, `intersects` & `setTimes` to `Ray`
    
    * test(vdb): add C++ tests for `VolumeRayIntersector`, `Ray`, `Coord`
    
    * feat(vdb): add `VolumeRayIntersector`
    
    * style(vdb): eslint-disable @typescript-eslint/no-explicit-any
    
    * test(vdb): min coord is `Number.MIN_SAFE_INTEGER`
    
    * test(vdb): remove `console.log()`
    
    * refactor(vdb): export `VolumeRayIntersector`
    
    * test(vdb): add test with checking all voxels intersecting given ray
    
    * refactor(vdb): organize imports with barrel files (1)
    
    * feat(frontend): add basic line drawing (#28)
    
    * refactor(frontend/vdb): remove `colors` & comments for `beginValueOn()`
    
    * feat(vdb): add `removeFraction()`
    
    * feat(frontend): add `Select line point` tool
    
    * feat(frontend): add basic line drawing
    
    * test(model): improve test description for `Rgba`
    
    * style(frontend): fix prettier (imports)
    
    * refactor(frontend): extract methods
    
    * refactor(frontend): move declaration `dda` to usage
    
    * build(dep): update @storybook, @types, @typescript-eslint, eslint
    
    * build(CircleCI): `git co gh-pages` before pull and commit
    
    * build(CircleCI): use `checkout` over not-existing `co` alias
    
    * build(dep): migrate to `@nrwl` `v8.12.1`
    
    * build(dep): keep `cypress` `v3.8.3`
    
    * build(dep): `ng update @angular/cli` `v8.3.24`
    
    * build(dep): `@babel/core` `v7.8.4`
    
    * build(CircleCI): deploy in `$DEPLOY_CONTEXT` folder on `gh-pages`
    
    * build(CircleCI): echo variables and `git fetch origin gh-pages:gh-pages`
    
    * build(CircleCI): echo variables and `git pull`
    
    * build(CircleCI): don't `echo` variables
    
    * feat(ui): `pointUnderPointer$` emitting when hover over mesh
    
    * build(CircleCI): adjust base-path (`apps/frontend`
    
    * fix(frontend): return all `VoxelChange` & filter dupl. origins in effect
    
    * test(vdb): check if accessor returns background
    
    * test(vdb): should fill buffer with `0`
    
    * test(vdb): should initialise with `0`
    
    * test(vdb): check if accessor returns background
    
    * feat(frontend): bg value = -1, `removeVoxel` uses `setValueOff`
    
    * fix(frontned): import `VoxelChange`
    
    * feat(frontend): preview line (#29)
    
    * feat(frontend): preview line
    
    * style(frontned): prettier
    
    * test(frontend): provide `GridService`
    
    * test(vdb): add C++ tests `testSetActiveState`
    
    * feat(frontend): start & finish line drawing
    
    * feat(frontend): temporary set start & end voxel of line
    
    * feat(frontend): use `voxelsSet` action
    
    * feat(frontend): support undo line drawing
    
    * feat(frontend): pass position to chessboard
    
    * refactor(frontend): use only one coord `selectedLineStartCoord`
    
    * test(frontend): check `scene-viewer-container.reducer.ts`
    
    * test(frontend): check filter out duplicate origins in effect
    
    * test(frontend): check `setVoxel(s)` & `setVoxel(s)Failed`
    
    * doc(frontend): update readme with 'Angular Update Guide'
    
    * test(frontend): extract voxel change
    
    * refactor: update to @angular 9.0.0 & cypress 4.0.0 (#30)
    
    * refactor(ui/frontend): import deeply to specific material component
    
    * build(dep): update `@angular/cli` to `v8.3.25`
    
    * build(dep): update `@nrwl/*` to `v8.12.2`
    
    * build(dep): update `@angular/*` to `v9`
    
    * build(dep): update `@angular/material` to `v9`
    
    * build(dep): update `@storybook`, `@typescript-eslint`
    
    * build(dep): update `cypress` to `v4.0.0`
    
    * build(dep): remove `handlebars`
    
    * build(dep): update `@babylonjs`
    
    * feat(vdb): add `touchLeafAndCache()` (#31)
    
    * feat(vdb): add `touchLeafAndCache()`
    
    * refactor(frontend): only set `end` temporary in `selectLine()`
    
    * refactor(frontend): don't initialize with chessboard
    
    * fix(frontend): not drawing of line in same node:
    
    - probe for InternalNode1 for affected origin, don't use accessor
    
    * refactor(frontend): use `tap` over `map`
    
    * build(dep): update to `nx` `v9.0.0` (#34)
    
    * build(dep): update to `nx` `v9.0.0`
    
    * build(dep): update @storybook, @typescript-eslint, cypress, stylelint
    
    * build(dep): update @BabylonJS & conform to newly created nx workspace
    
    * style(frontend): disable stylelint for angular theme color keys
    
    * build(dep): update @angular to `9.0.1`
    
    * build(dep): @storybook/*, @types/node, stylelint
    
    * feat(ui): add basic status-bar with connection status
    
    * feat(frontend): add empty status-bar
    
    * feat(ui): use outlined icon for changing theme & put icon at bottom
    
    * test(frontend): include `UiStatusBarModule`
    
    * build(CircleCi): set upstream
    PhilippeMorier committed Feb 18, 2020
    Configuration menu
    Copy the full SHA
    d632e97 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2020

  1. Release v0.0.5 (#39)

    * build(dep): `@babylonjs` & `@types/node`:
    
    - @BabylonJS:4.1.0-beta.9
    - @types/node:12.12.16
    
    * feat(apps/frontend): select initial tool
    
    * fix(apps/frontend): import hammerjs
    
    * refactor(frontend): scene-viewer into container
    
    * feat(frontend): dispatch `pointerPick` action
    
    * feat(frontend): dispatch `add|removeVoxel` action
    
    * build(packaging): simplify `prettier:check` command
    
    * doc(frontend): add readme with ngrx resources
    
    * feat(frontend): support adding voxel
    
    * refactor(frontend): don't inject `GridService`
    
    * feat(frontend): effects for when app goes on/offline
    
    * test(frontend): on/offline effects
    
    * test(vdb): remove `normals` from test
    
    * feat(vdb): add `setValueOff` & `isValueOn`
    
    * test(frontend): set expected position to pass
    
    * fix(frontend): make public for use in template
    
    * build(dep): `@types/node` & `core-js`
    
    * feat(frontend): enable `removeVoxel`
    
    * build(dep): `@babylonjs/*`
    
    * build(github): keep `develop` after PR merge
    
    * build(dep): `cypress` to `v3.8.0`
    
    * build(dep): `cypress` to `v3.7.0`
    
    * test(vdb): set value with float coordinates:
    
    - coordinates get always rounded down
    
    * build(dep): `cypress` to `v3.7.0`
    
    * feat(frontend): support adding and removing voxels
    
    * test(ui): remove unused imported components
    
    * build(CircleCi): use `13.3.0` due failing tests:
    
    - Test suite failed to run
      - Call retries were exceeded at ChildProcessWorker.initialize()
    - jest-community/vscode-jest#486 (comment)
    
    * fix(frontend): add voxel on positive normal
    
    - but negative position
    
    * test(frontend): set `setupFilesAfterEnv`
    
    - to run in Jest tests within WebStorm
    - nrwl/nx#1439 (comment)
    
    * test(frontend): set `globals`>`tsConfig`
    
    - to run in Jest tests within WebStorm with SCSS imports in component
    
    * build(CircleCi): use `13.4.0`
    
    * build(dep): update diverse dependencies:
    
    - @ngrx/effects, @ngrx/store
    - core-js, mnemonist, codelyzer
    - @types/jest, @types/node
    
    * doc(readme): record macro & git setup
    
    * build(dep): `@angular-devkit/build-angular` & `@angular/cli`
    
    * feat(frontend): draw separate mesh per InternalNode1 (#9)
    
    * feat(frontend): add multiple voxels
    
    * feat(ui): add output for dropped files
    
    * doc(readme): add openVDB repo link
    
    * feat(vdb): implement `beginLeafOn` iterator
    
    * feat(frontend/vdb): draw InternalNode1 chunks
    
    * feat(frontend/vdb): don't return LeafNode
    
    * feat(frontend/vdb): don't return `LeafNode` in `setValueAndCache`
    
    * feat(frontend/vdb): use only key from accessor
    
    * feat(frontend/vdb): remove `getLeafNodeAndCache`
    
    * feat(frontend/vdb): remove `beginLeafOn`
    
    * feat(frontend/vdb): remove `getLeafNodeAndCache` & `beginLeafOn`
    
    * fix(frontend/vdb): dispose mesh instead of just remove it:
    
    - so we resolve memory issue
    
    * refactor(frontend): optimize scene & mesh
    
    - https://doc.babylonjs.com/how_to/optimizing_your_scene
    
    * refactor(frontend): remove unused method & obj loader
    
    * refactor(vdb): increase `InternalNode1` size to reduce draw calls
    
    * refactor(vdb): remove inspector & loading obj
    
    * refactor(vdb): align to `probeNode` & `probeNodeAndCache`
    
    * refactor(vdb): s/grid-to-mesh/node-to-mesh
    
    * refactor(vdb): use un-indexed mesh
    
    * fix(ui): read normal directly from picked mesh
    
    * refactor(frontend): remove `objFileLoader`
    
    * refactor(frontend): s/updateGridMesh/updateNodeMesh & key/Node1Origin
    
    * feat(benchmark): test single vs. multiple `array.push()`
    
    * build(CircleCi): update node to `13.5.0` & cypress `3.8.1`
    
    * build(nx): nx migrate @nrwl/workspace (v8.11.0)
    
    - nx migrate --run-migrations=migrations.json
    
    * fix(benchmark): add `.nxignore` to get benchmark through linter
    
    * build(dep): update dependencies
    
    * feat(frontend): add undo/redo & enable `strictNullChecks` (#10)
    
    * feat(frontend): add undo/redo & enforce `strictNullChecks`
    
    * feat(frontend): undo/redo with max buffer size
    
    * test(frontend): handle possible `undefined`
    
    * feat(frontend): make remove a voxel undoable
    
    * feat(frontend): place initial voxel at [0, 0, 0]
    
    * fix(frontend): dispose previous history if new `addUndo`
    
    * refactor(frontend): extract method for creating `addUndo`
    
    * feat(frontend): set active state of voxel, return color when deleting (#11)
    
    * feat(ui/frontend): add menu-bar (#12)
    
    * feat(frontend): add menu-bar
    
    * feat(frontend): add menu-bar-container
    
    * test(frontend): inject mock store for menu-bar-container
    
    * refactor(frontend): add missing `menu-bar.component`
    
    * test(frontend): import `MenuBarModule`
    
    * feat(frontend): undo/redo with start/end actions (#13)
    
    * feat(frontend): undo/redo with start/end actions
    
    * test(frontend): provide `valueToColor()`
    
    * feat(frontend): set random color when adding a voxel
    
    * test(frontend): add same color of voxel
    
    * refactor(frontend): use directly `props<VoxelChange>`
    
    * refactor(frontend): throw error when coord&values not same length
    
    * build(dep): update dependencies
    
    * build(dep): update cypress to `v3.8.2`
    
    * build(dep): update stylelint to `v13.0.0`
    
    * refactor(ui): prefix UI components with `Ui` like Angular does with `Mat` (#14)
    
    * refactor(ui): prefix `MenuBar` with `Ui` like Angular does with `Mat`
    
    * refactor(ui): prefix `SceneViewer` with `Ui` as Angular does with `Mat`
    
    * test(ui): check `menu-bar` menus & items
    
    * refactor(ui): remove ctor & onInit
    
    * test(ui): check if sidnav has left & right navigation
    
    * refactor(ui): prefix `SidenavShell` with `Ui` as Angular does with `Mat`
    
    * refactor(ui): prefix `SceneViewerService` with `Ui` (ng with `Mat`)
    
    * refactor(ui): prefix `SceneViewerTestModule` with `Ui` (ng with `Mat`)
    
    * refactor(ui): prefix `ToolbarModule` with `Ui` (ng with `Mat`)
    
    * refactor(ui): prefix `UiPointer[Button|PickInfo]` with `Ui`
    
    * build(dep): update handlebars to `v4.7.2` due to security issues
    
    * test(ui): should emit `value` of clicked menu items
    
    * test(ui): should emit on tool select
    
    * test(ui): should close left & right sidenav
    
    * test(frontend): should dispatch action
    
    * test(frontend): check `scene-viewer-container.reducer`
    
    * test(frontend): check `scene-viewer-container.reducer` selector
    
    * refactor(ui): import `hammerjs` to remove warning in test run
    
    * test(frontend): check `tools-panel.reducer`
    
    * test(frontend): check `undo-redo.reducer`
    
    * test(frontend): check `undo-redo.reducer` with `stepX`
    
    * test(frontend): check `undo-redo.reducer` too many undo/redo's
    
    * style(prettier): fix imports
    
    * test(vdb): add tests for `tree`
    
    * test(vdb): improve coverage
    
    * test(vdb): check coord
    
    * test(vdb): check grid
    
    * test(vdb): check `nodeToMesh`
    
    * feat(ui): add `Storybook` (#16)
    
    * feat(ui): add `Storybook`
    
    * feat(ui): add `Storybook` e2e test
    
    * doc(ui): how to watch e2e
    
    * build(dep): update storybook to `v5.3.6`
    
    * build(dep): back to storybook `v5.3.2` due to:
    
    - info => Using angular project 'frontend' for configuring Storybook.
    
    * build(dep): back to storybook `v5.3.6` since it works
    
    * test(ui-e2e): open/close `menu-bar`
    
    * ci(storybook): run, build & deploy storybook for `ui-e2e` (#17)
    
    * ci(storybook): build storybook
    
    * ci(storybook): move `frontend e2e` step down
    
    * ci(storybook): store storybook & deploy to gh-pages
    
    * ci(storybook): extract git(hub) configs
    
    * ci(storybook): extract deploy to gh-pages
    
    * ci(storybook): change to `test-results` folder & use `junit` reporter
    
    * ci(storybook): run `ui-e2e` and store test-results & artifacts
    
    * ci(storybook): run `ui-e2e` only on `master` & `develop`
    
    * fix(ui): to high/large canvas by setting `display: block;`
    
    * feat(frontend): paint voxel (#18)
    
    * feat(frontend): dispatch paint-voxel action
    
    * feat(frontend): set voxel on paint
    
    * feat(frontend): finish renaming `addVoxel` to `setVoxel`
    
    * feat(frontend): save old/new values and undo/redo painting
    
    * refactor(frontend): s/positions/coord
    
    * refactor(frontend): fix prettier issue
    
    * refactor(frontend): s/position/xyz
    
    * build(dep): update `@nrwl` to `v8.11.2`
    
    * build(dep): update `@angular/(cli|core)` to `v8.3.22`
    
    - `ng update @angular/cli @angular/core`
    
    * build(dep): update @BabylonJS, @babel, @storybook, @types
    
    * feat(ui): color-dialog (#19)
    
    * feat(ui): color-dialog
    
    * refactor(ui): always open dialog in story
    
    * refactor(ui): flatten config to just menus & type safety in story
    
    * feat(ui): pass colors to color-dialog
    
    * refactor(ui): make data & return value type-safe.
    
    * refactor(ui): extract interface `UiColorDialogData`
    
    * refactor(ui): extract open into `UiColorDialogService`
    
    * test(ui): s/UiMenuBarConfig/UiMenuBarMenu
    
    * refactor(ui): provide `selectedColorIndex`
    
    * build(dep): update `circleci/node` to `v13.6.0`
    
    * feat(frontend): use color-dialog (#20)
    
    * feat(frontend): use color-dialog
    
    * refactor(ui): s/draggable-dialog/color-dialog
    
    * feat(frontend): open (empty) color-dialog
    
    * feat(frontend): provide some first colors
    
    * feat(frontend): use effects to open color-dialog
    
    * feat(frontend): use effects to set selected color in store
    
    * feat(frontend): temp. consider just `color.r`
    
    * feat(frontend): save colors and selected-index
    
    * refactor(frontend): move `tool.model.ts` to `model` (put in lib later)
    
    * feat(frontend): `intToRgba` & `rgbaToInt`
    
    * refactor(frontend): s/model/value
    
    * refactor(frontend): use `Rgba` and `rgbaToInt` to set voxel in grid
    
    * refactor(frontend): provide selector for retrieving CSS colors
    
    * refactor(frontend): move comment `Front`
    
    * refactor(vdb): define all colors
    
    * refactor(frontend): fix prettier
    
    * test(frontend): import `OptionsPanelModule`
    
    * refactor(frontend): prettier
    
    * refactor(ui): `forceDepthWrite` for transparent cubes
    
    - there are still some artifacts (seeing through cubes behind)
    
    * refactor(ui): use `rgba` to set initial voxel at [0, 0, 0]
    
    * test(frontend): provide stub component in `AppComponent` test
    
    * test(frontend): provide `initialMockState`
    
    * test(frontend): mock & expect proper `Rgba` values
    
    * test(ui): fix type of dialog result (`UiColorDialogColor` to `number`)
    
    * feat(frontend): support dark & light theme (#21)
    
    * feat(ui): add theme toggle to storybook (#22)
    
    * feat(ui): remove `mat-button` from story
    
    * build(dep): update `@storybook` to `v5.3.8`
    
    * build(dep): update `tslint` to `v6.0.0`
    
    * build(dep): back to `tslint` `v5.20.1`
    
    * refactor(model): extract `Rgba` & `Tool` to lib `model` (#24)
    
    * refactor(model): extract `Rgba` & `Tool` to lib `model`
    
    * refactor(model): remove mapping path to non-existing `@talus/math`
    
    * refactor(vdb): use `eslint` over `tslint` (#25)
    
    * refactor(benchmark): use `eslint` over `tslint` (#26)
    
    * refactor(benchmark): use `eslint` over `tslint`
    
    * refactor(benchmark): s/benchmarkjs/Benchmark
    
    * ci(circle): `git pull` before `gh-pages` deploy
    
    * refactor(frontend): prefix unused variables with `_`
    
    * refactor(frontend): register pointer events
    
    * refactor(frontend): draw initial chessboard
    
    * docs(talus): add ui-e2e command & update deploy url
    
    * docs(frontend): add most used commands
    
    * docs(vdb): move install & test to blog
    
    * docs(ui): clean-up storybook commands
    
    * feat(vdb): implement raytracing (#27)
    
    * refactor(vdb): move `ValueType` & `Index` to `types.ts`
    
    * feat(vdb): add delta value
    
    * feat(vdb): add `floor()` to `Coord`
    
    * feat(vdb): add `Vec3`
    
    * feat(vdb): add `minValue` to `Vec3`
    
    * feat(vdb): add `Ray`
    
    * feat(vdb): implement `probeLeafNodeAndCache`
    
    * test(vdb): improve comments about cache misses
    
    * test(vdb): check if correct cache level was hit
    
    * feat(frontend): add selection tool & stop moving camera on voxel hit
    
    * refactor(benchmark): reduce amount of values (CircleCI)
    
    * build(dep): update `node` to `v13.7.0`
    
    * ci: start using `yarn nx ...`
    
    * refactor(benchmark): set `--maxWorkers` to 10 (was 32 on CircleCI)
    
    * ci: uniform calls by using `yarn nx ...`
    
    * doc: add debug CircleCI via `ssh`
    
    * feat(vdb): add `empty()` & `numBackgroundTiles()`
    
    * feat(vdb): add `keyToCoord()`
    
    * feat(vdb): `expand()` on `CoordBBox`
    
    * feat(vdb): `isInside()` on `CoordBBox`
    
    * feat(vdb): add `offset`, `expand`, `reset`, `translate`
    
    * feat(vdb): add `add`, `divide` to `Vec3`
    
    * feat(vdb): add `clip`, `intersects` & `setTimes` to `Ray`
    
    * test(vdb): add C++ tests for `VolumeRayIntersector`, `Ray`, `Coord`
    
    * feat(vdb): add `VolumeRayIntersector`
    
    * style(vdb): eslint-disable @typescript-eslint/no-explicit-any
    
    * test(vdb): min coord is `Number.MIN_SAFE_INTEGER`
    
    * test(vdb): remove `console.log()`
    
    * refactor(vdb): export `VolumeRayIntersector`
    
    * test(vdb): add test with checking all voxels intersecting given ray
    
    * refactor(vdb): organize imports with barrel files (1)
    
    * feat(frontend): add basic line drawing (#28)
    
    * refactor(frontend/vdb): remove `colors` & comments for `beginValueOn()`
    
    * feat(vdb): add `removeFraction()`
    
    * feat(frontend): add `Select line point` tool
    
    * feat(frontend): add basic line drawing
    
    * test(model): improve test description for `Rgba`
    
    * style(frontend): fix prettier (imports)
    
    * refactor(frontend): extract methods
    
    * refactor(frontend): move declaration `dda` to usage
    
    * build(dep): update @storybook, @types, @typescript-eslint, eslint
    
    * build(CircleCI): `git co gh-pages` before pull and commit
    
    * build(CircleCI): use `checkout` over not-existing `co` alias
    
    * build(dep): migrate to `@nrwl` `v8.12.1`
    
    * build(dep): keep `cypress` `v3.8.3`
    
    * build(dep): `ng update @angular/cli` `v8.3.24`
    
    * build(dep): `@babel/core` `v7.8.4`
    
    * build(CircleCI): deploy in `$DEPLOY_CONTEXT` folder on `gh-pages`
    
    * build(CircleCI): echo variables and `git fetch origin gh-pages:gh-pages`
    
    * build(CircleCI): echo variables and `git pull`
    
    * build(CircleCI): don't `echo` variables
    
    * feat(ui): `pointUnderPointer$` emitting when hover over mesh
    
    * build(CircleCI): adjust base-path (`apps/frontend`
    
    * fix(frontend): return all `VoxelChange` & filter dupl. origins in effect
    
    * test(vdb): check if accessor returns background
    
    * test(vdb): should fill buffer with `0`
    
    * test(vdb): should initialise with `0`
    
    * test(vdb): check if accessor returns background
    
    * feat(frontend): bg value = -1, `removeVoxel` uses `setValueOff`
    
    * fix(frontned): import `VoxelChange`
    
    * feat(frontend): preview line (#29)
    
    * feat(frontend): preview line
    
    * style(frontned): prettier
    
    * test(frontend): provide `GridService`
    
    * test(vdb): add C++ tests `testSetActiveState`
    
    * feat(frontend): start & finish line drawing
    
    * feat(frontend): temporary set start & end voxel of line
    
    * feat(frontend): use `voxelsSet` action
    
    * feat(frontend): support undo line drawing
    
    * feat(frontend): pass position to chessboard
    
    * refactor(frontend): use only one coord `selectedLineStartCoord`
    
    * test(frontend): check `scene-viewer-container.reducer.ts`
    
    * test(frontend): check filter out duplicate origins in effect
    
    * test(frontend): check `setVoxel(s)` & `setVoxel(s)Failed`
    
    * doc(frontend): update readme with 'Angular Update Guide'
    
    * test(frontend): extract voxel change
    
    * refactor: update to @angular 9.0.0 & cypress 4.0.0 (#30)
    
    * refactor(ui/frontend): import deeply to specific material component
    
    * build(dep): update `@angular/cli` to `v8.3.25`
    
    * build(dep): update `@nrwl/*` to `v8.12.2`
    
    * build(dep): update `@angular/*` to `v9`
    
    * build(dep): update `@angular/material` to `v9`
    
    * build(dep): update `@storybook`, `@typescript-eslint`
    
    * build(dep): update `cypress` to `v4.0.0`
    
    * build(dep): remove `handlebars`
    
    * build(dep): update `@babylonjs`
    
    * feat(vdb): add `touchLeafAndCache()` (#31)
    
    * feat(vdb): add `touchLeafAndCache()`
    
    * refactor(frontend): only set `end` temporary in `selectLine()`
    
    * refactor(frontend): don't initialize with chessboard
    
    * fix(frontend): not drawing of line in same node:
    
    - probe for InternalNode1 for affected origin, don't use accessor
    
    * refactor(frontend): use `tap` over `map`
    
    * build(dep): update to `nx` `v9.0.0` (#34)
    
    * build(dep): update to `nx` `v9.0.0`
    
    * build(dep): update @storybook, @typescript-eslint, cypress, stylelint
    
    * build(dep): update @BabylonJS & conform to newly created nx workspace
    
    * style(frontend): disable stylelint for angular theme color keys
    
    * build(dep): update @angular to `9.0.1`
    
    * build(dep): @storybook/*, @types/node, stylelint
    
    * feat(ui): add basic status-bar with connection status
    
    * feat(frontend): add empty status-bar
    
    * feat(ui): use outlined icon for changing theme & put icon at bottom
    
    * test(frontend): include `UiStatusBarModule`
    
    * build(CircleCi): set upstream
    
    * feat(ui): session-dialog with radio-group (#37)
    
    * feat(ui): add basic skeleton for session-dialog
    
    * feat(ui): session-dialog with radio-group
    
    * test(ui): fix providers for session-dialog spec
    
    * feat(frontend): open session-dialog via menu-bar
    
    * test(frontend): check emitted action `selectSession`
    
    * refactor(lib): s/session/topic
    
    * refactor(lib): select or create a topic
    
    * fix(frontend): voxels on wrong position due unresized canvas
    
    * test(frontend): mock dialog result `UiTopicDialogSelectionResult`
    
    * feat(kafka): add kafka-proxy (websocket) & kafka with docker-comp… (#38)
    
    * feat(kafka): use `docker-compose` to start `kafka` & `Kafdrop`
    
    * feat(kafka): start kafka, use kafka-proxy to send msg via WS to kafka
    
    * feat(kafka): start kafka, use kafka-proxy to send msg via WS to kafka 2
    
    * feat(kafka): compress ws data & regsiter to connection state
    
    * fix(frontend): missing dep. & comment out initial ws test emit
    
    * feat(frontend): use `connectionStatus$` for status-bar
    
    * feat(frontend): basic synchronisation of actions between ws-connections
    
    * feat(frontend): sync editor & undo/redo actions
    
    * feat(frontend): set `needsSync` in effect
    
    * feat(frontend): set `needsSync` in effect
    
    * feat(kafka-proxy): remove `identity` method
    
    * test(frontend): mock & check dispatch
    
    * test(frontend): add `needsSync: true`
    
    * refactor(kafka): add project to nx ignore since it's not a real nx-app
    
    * doc(kafka-proxy): add readme
    
    * test(frontend): add generic parameter to fix error:
    
    - Error: connect ECONNREFUSED 127.0.0.1:80
    
    * test(frontend): put correct describe name (MenuBarContainerComponent)
    
    * test(ui): import relative
    
    * test(frontend/ui): specify globals in `jest.config.js`
    
    - preventing `Error: connect ECONNREFUSED 127.0.0.1:80` when started
    from WebStorm
    
    * test(frontend/kafka-proxy): use `socket.broadcast` (send to all but me)
    
    * test(frontend): prefer `io.connect` for readability
    
    * refactor(kafka-proxy): extract kafka logic into `KafkaService` + tests
    
    * refactor(frontend/kafka-proxy): basic create/delete/get topic(s)
    
    * refactor(frontend/kafka-proxy): make topics an observable
    
    * refactor(frontend): don't wrap observable with `new Actions()`
    
    * refactor(frontend): emit `updateTopics` action when `kafkaPrSer.topics$`
    
    * test(frontend): add `sessions` to state & update tests
    
    * feat(frontend): set sessions in store & provide it in session-dialog
    
    * feat(frontend): set `session`
    
    * feat(frontend): s/AllActions/SyncAction
    
    * feat(frontend/kafka-proxy): Consume topic & emit actions for viewer
    
    * feat(kafka-proxy): remove old consumers on connection close
    
    * refactor(frontend/kafka-proxy): extract `EventName` to `@talus/model`
    
    * refactor(shared): extract `notNil()` to `@talus/shared`
    
    * refactor(kafka-proxy): remove scaffolded files
    
    * test(kafka-proxy): update gate tests
    
    * fix(frontend): s/session(s)/topic(s) after rebase
    
    * refactor(frontend): s/session/topic
    
    * feat(kafka): start-up 'kafka-manager' to have more info
    
    * refactor(frontend): extract `initialize()` for reuse
    
    * feat(kafka-proxy): provide `resetOffsets()`
    
    * feat(frontend): add `createTopic` action
    
    * feat(ui): provide `disposeSceneAndRestartRendering()`
    
    * feat(frontend/kafka-proxy): consumption of different topics
    
    * fix(frontend): don't sync start/end-line action (effects emit them)
    
    * fix(frontend): only emit action from kafka which have a diff. socket-id
    
    * fix(frontend): load all messages from current "session" when re-open it
    
    * refactor(frontend): remove `AfterViewInit` and order ctor arguments
    
    * refactor(kafka): add (commented) `kafka-magic` UI as alternative
    
    * refactor(kafka-proxy): move consumer management into `kafka.service.ts`
    
    * doc(kafka-proxy): add links about REST proxy & kafkajs issue to readme
    
    * style(kafka): fix prettier
    
    * fix(frontend): filter `__consumer_offsets` from topics
    
    * feat(frontend): get topics with total topic offset
    
    * feat(ui): support status text in status-bar
    
    * refactor(frontend): remove voxel count from state/reducer/specs
    
    * refactor(frontend): update state if connection-status changed & fix test
    
    * refactor(frontend): don't sync undo/redo, but setVoxels action
    
    * fix(frontend): remove old parameter for undo action
    
    * refactor(frontend): remove duplicated undo/redo action
    
    * doc: add last generation step, macro & release links
    
    * refactor(frontend): use `Promise.resolve()`
    
    * fix(frontend): don't add initial voxel when existing topic loaded
    
    * fix(kafka-proxy): return observable, so frontend gets new topic names
    
    * test(frontend): adapt test for `needsSync` & initial action
    
    * build(dep): update `@nrwl/workspace` to `v9.0.4`
    
    * build(dep): update `@angular` to `v9.0.4`
    
    * build(dep): update `@babylonjs` to `v4.1.0`
    
    * build(dep): update `@babel` & '@nestjs' and use `--async=false` (CI)
    
    * build(dep): update `tslib`, `@storybook`, `@types`, `@typescript-eslint`
    
    * build(dep): update `cypress`
    
    * test(kafka-proxy): mock `disconnectConsumer()`
    
    * build(dep): update `@angular` to `v9.0.5`
    
    * feat(ui): leaf empty space on top/bottom of sidenav panel
    
    * refactor(frontend): use h6 and materials typography
    
    * refactor(ui): make collapse button smaller
    
    * feat(ui): add story for sidenav-shell component
    
    * build(dep): update `@babel/core` to `v7.8.7`
    
    * refactor(frontend): remove unused `Nil` type (moved to shared)
    
    * refactor(kafka): specify specific image versions
    
    * refactor(ui): make canvas background color transparent
    
    * feat(frontend): get `lastLoadedMessageOffset` for future loading status
    PhilippeMorier committed Mar 6, 2020
    Configuration menu
    Copy the full SHA
    5cd33ec View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2020

  1. Configuration menu
    Copy the full SHA
    3f0b7b1 View commit details
    Browse the repository at this point in the history