log

age author description
Tue, 21 Mar 2017 17:11:23 +0000 Lucas Thompson Add new components to bootstrapping.
Tue, 21 Mar 2017 17:10:59 +0000 Lucas Thompson Introduce a component representing a feed of analyses on an audio file. A collection of analysis items. Basically a placeholder right now.
Tue, 21 Mar 2017 17:09:56 +0000 Lucas Thompson Introduce an item for displaying the results of an individual analysis method. Basically a placeholder right now.
Tue, 28 Mar 2017 13:40:56 +0100 Chris Cannam Back on master in waves-ui
Mon, 27 Mar 2017 18:17:27 +0100 Chris Cannam Give spectrogram a step duration
Fri, 24 Mar 2017 16:01:28 +0000 Chris Cannam Add PYin fixedlag build
Thu, 23 Mar 2017 15:36:56 +0000 Chris Cannam Add cepstral pitch tracker
Thu, 23 Mar 2017 12:00:44 +0000 Chris Cannam Call for interpolated waveform
Wed, 22 Mar 2017 12:21:47 +0000 Chris Cannam Fix failure to display spectrogram for single-channel audio!
Wed, 22 Mar 2017 09:05:38 +0000 Chris Cannam Print timing
Wed, 22 Mar 2017 08:18:46 +0000 Chris Cannam Multi-channel spectrogram
Wed, 22 Mar 2017 08:10:18 +0000 Chris Cannam Multi-channel waveforms
Tue, 21 Mar 2017 21:27:32 +0000 Chris Cannam Merge remote-tracking branch 'origin/master'
Tue, 21 Mar 2017 17:37:02 +0000 Lucas Thompson Merge branch 'master' of github.com:cannam/ugly-duckling
Tue, 21 Mar 2017 17:36:02 +0000 Lucas Thompson Merge pull request #15 from LucasThompson/fix/accidental-seeking-on-pan
Tue, 21 Mar 2017 17:34:48 +0000 Lucas Thompson Prevent seeking when panning with mouse. There's still potential for this approach to go wrong, for both zooming and panning. During the duration of the click, if the offset or zoom are returned to the starting position, the mouse will seek to its current x position.
Tue, 21 Mar 2017 14:34:00 +0000 Lucas Thompson Merge pull request #14 from LucasThompson/feature/mouse-seeking-desktop
Tue, 21 Mar 2017 14:22:52 +0000 Lucas Thompson Prevent accidentally seeking after zooming on desktop.
Tue, 21 Mar 2017 14:01:28 +0000 Lucas Thompson Seeking with click on desktop. Remove old tap gesture code for mobile, as this should provide the same functionality.
Tue, 21 Mar 2017 13:57:08 +0000 Lucas Thompson Return 0 for duration when audioElement.duration is undefined.
Tue, 21 Mar 2017 16:40:05 +0000 Chris Cannam Add labels & shading in instants layer
Tue, 21 Mar 2017 13:13:06 +0000 Lucas Thompson Merge branch 'master' of github.com:cannam/ugly-duckling
Tue, 21 Mar 2017 09:18:17 +0000 Chris Cannam Merge remote-tracking branch 'origin/master'
Mon, 20 Mar 2017 15:25:54 +0000 Chris Cannam Use tick layer instead of marker layer for instants (it's faster)
Mon, 20 Mar 2017 14:12:33 +0000 Chris Cannam Merge remote-tracking branch 'origin/feature/basic-recording'
Mon, 20 Mar 2017 12:07:41 +0000 Chris Cannam Waves UI code is back on the master branch in cannam repo
Tue, 21 Mar 2017 13:01:53 +0000 Lucas Thompson Merge pull request #13 from LucasThompson/fix/recording-open-change-detection
Tue, 21 Mar 2017 13:00:59 +0000 Lucas Thompson Notify subscribers of new recordings within the Angular Zone.
Tue, 21 Mar 2017 11:11:23 +0000 Lucas Thompson Fix TypeScript version for now, due to dependency resolution differences in yarn and npm and some pending angular-cli nonsense I don't understand (https://github.com/angular/angular-cli/issues/4594)
Tue, 21 Mar 2017 01:50:36 +0000 Lucas Thompson Merge pull request #12 from LucasThompson/dev/piper-fft-spectrogram-layer
Thu, 16 Mar 2017 11:54:07 +0000 Lucas Thompson Merge pull request #8 from cannam/master
Tue, 21 Mar 2017 01:49:37 +0000 Lucas Thompson Merge pull request #11 from LucasThompson/dev/mobile-layout-tweaks
Tue, 21 Mar 2017 01:45:03 +0000 Lucas Thompson Merge pull request #10 from LucasThompson/feature/basic-recording
Tue, 21 Mar 2017 01:36:17 +0000 Lucas Thompson Merge pull request #9 from LucasThompson/dev/improve-prod-build-deploy
Tue, 21 Mar 2017 01:06:13 +0000 Lucas Thompson Script for running ng build --prod, but with some beautifully brittle bodges for workarounds I've been doing manually. No automation for git commits and pushing to gh-pages yet.
Mon, 20 Mar 2017 15:35:25 +0000 Lucas Thompson Small changes to angular-cli.json, manually copying over some key differences from a new config generated with the latest @angular/cli. No functional difference.
Mon, 20 Mar 2017 15:26:21 +0000 Lucas Thompson Upgrade dependencies - mostly to bring inline with latest @angular/cli changes
Mon, 20 Mar 2017 13:26:33 +0000 Lucas Thompson Bootstrap the app with the recorder service and component
Mon, 20 Mar 2017 13:26:23 +0000 Lucas Thompson Allow for opening Blobs directly.
Mon, 20 Mar 2017 13:25:22 +0000 Lucas Thompson Component for a button controlling the recording service.
Mon, 20 Mar 2017 13:24:36 +0000 Lucas Thompson Add a service for audio recording which uses relies on being provided implementations of a provider to a MediaStream and a MediaRecorder. Include a stub for use when recording isn't supported.
Thu, 16 Mar 2017 12:35:43 +0000 Chris Cannam Add dispose method
Thu, 16 Mar 2017 11:54:48 +0000 Chris Cannam Scaling
Thu, 16 Mar 2017 10:35:53 +0000 Lucas Thompson Module for spectrogram stuff. Consume the WavesSpectrogramLayer in Waveform... of course.
Thu, 16 Mar 2017 10:34:38 +0000 Lucas Thompson Placeholder for shapes "namespace"
Wed, 15 Mar 2017 15:21:00 +0000 Lucas Thompson First pass at Layer type definition.
Wed, 15 Mar 2017 14:29:11 +0000 Lucas Thompson Fix wrong dimensionality
Wed, 15 Mar 2017 13:41:30 +0000 Lucas Thompson Update column type
Wed, 15 Mar 2017 13:28:28 +0000 Lucas Thompson Use method definitions in MatrixEntity instead of instance members
Wed, 15 Mar 2017 12:09:50 +0000 Lucas Thompson Start writing type definitions for waves-ui - this may eventually belong in waves-ui itself.
Tue, 14 Mar 2017 19:27:24 +0000 Lucas Thompson Remove some unused code and fix the removing of layers to work with the additional tracks.
Tue, 14 Mar 2017 17:33:04 +0000 Lucas Thompson Merge branch 'dev/mobile-layout-tweaks' of github.com:cannam/ugly-duckling into dev/mobile-layout-tweaks
Tue, 14 Mar 2017 16:10:27 +0000 Chris Cannam Provide step duration for matrix entity for proper image alignment
Tue, 14 Mar 2017 15:11:30 +0000 Chris Cannam Add Tipic plugin
Tue, 14 Mar 2017 11:57:21 +0000 Chris Cannam Update colour mappers to slightly changed API; add green & sunset
Tue, 14 Mar 2017 11:05:58 +0000 Chris Cannam Simplistically add separate spectrogram layer
Mon, 13 Mar 2017 16:10:51 +0000 Chris Cannam Add CQ Constant Q spectrogram and NNLS Chroma & Chordino builds
Tue, 14 Mar 2017 16:11:40 +0000 Lucas Thompson Basic spinner for indicating loading of files and features - the flag used for tracking state is mostly redundant (it is usually !canExtract... apart from initial state)... but going with this for now.
Mon, 13 Mar 2017 15:46:24 +0000 Lucas Thompson Install old babel-runtime as dev dependency to (hopefully) sort out waves-ui building issues.
Mon, 13 Mar 2017 14:49:04 +0000 Lucas Thompson Basic attempt at correcting disorientating behaviour when concluding a pinch gesture, causing the timeline to jump to the position of a remaining finger. Untested on device yet.
Sun, 12 Mar 2017 23:10:05 +0000 Lucas Thompson Keep the play-head on top of all layers (a bodge, of course)
Sun, 12 Mar 2017 23:09:24 +0000 Lucas Thompson Latest waves-ui changes.
Fri, 10 Mar 2017 18:24:52 +0000 Lucas Thompson Bodge in okay-ish pan and zoom, with a lot of dupe from CenteredZoomState and state flying about everywhere.
Fri, 10 Mar 2017 16:45:54 +0000 Chris Cannam Avoid NaNs, etc
Fri, 10 Mar 2017 14:46:18 +0000 Chris Cannam Some crazy work to try to get sensible default normalisation and colour map
Thu, 09 Mar 2017 16:42:44 +0000 Chris Cannam Add QM Vamp Plugins as remote plugin set
Thu, 09 Mar 2017 15:51:34 +0000 Chris Cannam Use matrix layer for matrix features
Mon, 06 Mar 2017 11:29:47 +0000 Lucas Thompson Bring in CC's latest wave-ui stuff.
Fri, 03 Mar 2017 13:10:48 +0000 Lucas Thompson Latest waves-ui
Thu, 02 Mar 2017 15:19:13 +0000 Lucas Thompson Bring in latest changes in CC's waves-ui fork.
Thu, 02 Mar 2017 15:08:10 +0000 Lucas Thompson Playback controls and placeholder record button in the centre of the toolbar, plugin button on the right. Sidenav now overlays the content.
Thu, 02 Mar 2017 15:07:07 +0000 Lucas Thompson Remove everything but the play / pause button, and use smaller icons - this will now be used in the toolbar.
Thu, 02 Mar 2017 15:06:24 +0000 Lucas Thompson Use @angular/material select component.
Thu, 02 Mar 2017 13:33:33 +0000 Lucas Thompson Hide menu by default and change unused settings menu to a menu icon which toggles the sidebar
Thu, 02 Mar 2017 11:53:19 +0000 Lucas Thompson Pull in CC's peak cached waveform, and add some temporary dev dependencies to build waves-ui after pulling it in (come up with a better solution for this later).
Fri, 24 Feb 2017 13:55:31 +0000 Lucas Thompson Merge pull request #7 from LucasThompson/dev/improve-gestures
Fri, 24 Feb 2017 13:54:53 +0000 Lucas Thompson Keep the time centered when zooming from where the pinch starts, and stop panning being so fast. Panning still isn't doing anything sensible.
Thu, 23 Feb 2017 22:24:57 +0000 Lucas Thompson Merge pull request #6 from LucasThompson/fix/angular-cli-attempt
Thu, 23 Feb 2017 22:20:56 +0000 Lucas Thompson Stop angular-cli / webpack complaining by using some factories.
Thu, 23 Feb 2017 22:15:52 +0000 Lucas Thompson Update cli config to conform to latest version, needed to move around my worker bootstrapping bodge. Angular-cli for some reason now includes global scripts as strings in the webpack bundle, and they are eval'ed. So TypeScript no longer gets compiled. So once again I chase the mouse, re-purposing the new polyfill field to compile and bundle externals.ts once more!
Thu, 23 Feb 2017 22:13:04 +0000 Lucas Thompson Bring in latest angular-cli, loosen semver on angular related packages so they get updated.
Thu, 23 Feb 2017 16:25:42 +0000 Lucas Thompson Merge pull request #5 from LucasThompson/dev/pan-and-zoom
Thu, 23 Feb 2017 16:24:30 +0000 Lucas Thompson Merge pull request #4 from LucasThompson/dev/dependency-changes
Thu, 23 Feb 2017 16:21:51 +0000 Lucas Thompson Resurrect the duck!
Thu, 23 Feb 2017 16:13:38 +0000 Lucas Thompson Change deprecated names from piper
Thu, 23 Feb 2017 16:13:14 +0000 Lucas Thompson Rename deprecated material2 sidebar alias.
Thu, 23 Feb 2017 16:12:42 +0000 Lucas Thompson Manually update the UMD wrapped test vamp module
Thu, 23 Feb 2017 16:11:56 +0000 Lucas Thompson Bring in piper from GitHub and latest material2 beta
Thu, 23 Feb 2017 15:45:56 +0000 Lucas Thompson Add tapping gesture for seeking
Thu, 23 Feb 2017 15:44:47 +0000 Lucas Thompson Fix initial offset waveform when loading audio file, having it start in the centre of the layer
Thu, 23 Feb 2017 15:42:59 +0000 Lucas Thompson Add method for seeking to specific time to the audio player service
Wed, 22 Feb 2017 18:09:50 +0000 Lucas Thompson Ad-hoc pan and pinch zoom for waveform - only tested in iOS simulator, very unpleasant.
Wed, 18 Jan 2017 17:50:39 +0000 Lucas Thompson Merge pull request #3 from LucasThompson/feature/dynamically-load-remote-extractors
Wed, 18 Jan 2017 17:21:12 +0000 Lucas Thompson Remove unused type / interface declaration, although it was clearly introduced for a reason which wasn't followed up on.
Wed, 18 Jan 2017 17:18:24 +0000 Lucas Thompson Update the bootstrapping / dependency injection setup to use the stub response instead of the localhost url.
Wed, 18 Jan 2017 17:17:50 +0000 Lucas Thompson Add UMD wrapped piper-adapted, emscripten compiled, vamp test plugin referred to by the stub json server response file.
Wed, 18 Jan 2017 17:16:56 +0000 Lucas Thompson Add a hardcoded json file in the style of the response from the simple feature extraction library repository.
Wed, 18 Jan 2017 10:25:15 +0000 Lucas Thompson Update the data type for the key in the client Map, for clarity and consistency.
Wed, 18 Jan 2017 10:19:35 +0000 Lucas Thompson Wire up methods in the FeatureExtractionService for offloading to the worker and consume them from the feature extraction menu.
Wed, 18 Jan 2017 10:18:35 +0000 Lucas Thompson Bootstrap RequireJS for injecting into the worker.
Wed, 18 Jan 2017 10:18:10 +0000 Lucas Thompson Add a couple of methods to the worker for adding remote library repos (well, key value pairs of library keys and URIs to fetch the library from) - and one for actually importing the libraries (currently using RequireJS (<script> / importScripts(...) method tying into global AMD module registration) ). Also updated list method to concatenate the available outputs from all loaded libraries.
Wed, 18 Jan 2017 10:14:05 +0000 Lucas Thompson Add a temp button for loading remote libraries.
Wed, 18 Jan 2017 10:13:24 +0000 Lucas Thompson Inject a URI to a remote library repo in the app bootstrapping.
Wed, 18 Jan 2017 10:12:20 +0000 Lucas Thompson Pull in RequireJS and bundle it as a global script with angular-cli.
Mon, 19 Dec 2016 14:18:09 +0000 Lucas Thompson Bail out of rendering if there are no features.
Fri, 16 Dec 2016 16:02:27 +0000 Lucas Thompson Small adjustments to rendering of bars / segments - needs some additional tweaking for height of bars etc.
Mon, 12 Dec 2016 16:40:26 +0000 Lucas Thompson Fix region rendering bug caused by a negative height. Waves-ui calculates the height of a shape relative to the y-domain boundaries of the layer.
Mon, 12 Dec 2016 00:43:55 +0000 Lucas Thompson Merge pull request #2 from LucasThompson/feature/basic-offline-extraction
Mon, 12 Dec 2016 00:41:37 +0000 Lucas Thompson Incorporate recent piper changes and use output descriptor for some basic feature discrimination to render appropriate layers.
Fri, 09 Dec 2016 14:06:44 +0000 Lucas Thompson Use Collect instead of Process.
Fri, 09 Dec 2016 14:06:04 +0000 Lucas Thompson Use VampTestPlugin for now. Also set up Collect method calls for the worker. Currently use the same stream for both process and collect extraction.
Fri, 09 Dec 2016 11:39:14 +0000 Lucas Thompson Use whole height of the Timeline for rendering features (was defaulting to 100px before).
Thu, 08 Dec 2016 23:28:54 +0000 Lucas Thompson Store the original array length before iterating, as popping off the array is causing the length to change dynamically on each iteration. Rookie mistake.
Thu, 08 Dec 2016 23:01:38 +0000 Lucas Thompson Use different colours for each time series, uses yet more private internals from waves-ui.
Thu, 08 Dec 2016 16:45:30 +0000 Lucas Thompson Normalise time series values.
Thu, 08 Dec 2016 16:23:22 +0000 Lucas Thompson Guard against playing when the HTMLMediaElement is not ready.
Thu, 08 Dec 2016 15:29:18 +0000 Lucas Thompson Update layers after extracting features.
Thu, 08 Dec 2016 15:26:36 +0000 Lucas Thompson Remove redundant LayerTimeContext's from the parent, not sure this helps anything but definitely should be handled by waves-ui when removing layers.
Thu, 08 Dec 2016 15:09:03 +0000 Lucas Thompson Add a number of ad-hoc workarounds for bugs / quirks with waves-ui - regarding removing layers and avoiding ghost listeners. Still work to be done here.
Wed, 07 Dec 2016 13:56:22 +0000 Lucas Thompson Improve UI seeking / scrolling behaviour. Allowing for zooming without the play head fighting to be in view, and for seeking without having to consecutively page through.
Wed, 07 Dec 2016 13:54:46 +0000 Lucas Thompson Create publicly accessible streams for subscribing to play state change and seeking events.
Tue, 06 Dec 2016 14:19:03 +0000 Lucas Thompson Communicate new features being extracted via subscriptions to the stream in FeatureExtractionService.
Tue, 06 Dec 2016 14:18:19 +0000 Lucas Thompson Guard against extracting when no extractor selected and remove some other redundant code.
Tue, 06 Dec 2016 11:12:56 +0000 Lucas Thompson Disable button whilst extracting (for now) - quick fix to stop multiple process requests being sent (as they aren't queued / no request-response matching is done / process requests are synchronous)
Tue, 06 Dec 2016 11:03:38 +0000 Lucas Thompson Guard against extraction when no audio is loaded.
Mon, 05 Dec 2016 16:57:34 +0000 Lucas Thompson Some extraction logic in place.
Mon, 05 Dec 2016 11:59:22 +0000 Lucas Thompson Basic select box listing all outputs from available feature extractors a la Sonic Visualiser menus.
Fri, 02 Dec 2016 17:03:29 +0000 Lucas Thompson Merge pull request #1 from LucasThompson/feature/worker-messaging
Fri, 02 Dec 2016 16:55:14 +0000 Lucas Thompson Add a component for the feature extraction menu, and start setting up some comms with the worker. Currently populating a select box with list of extractors from hardcoded server.
Fri, 02 Dec 2016 16:44:11 +0000 Lucas Thompson Target ES2015.
Fri, 02 Dec 2016 16:38:40 +0000 Lucas Thompson Had some serious issues with dependencies with latest angular-cli, revert to older version for now. Also explicitly state the angular/material version, for some reason it was bringing in an older version before causing tabs not to work.
Thu, 01 Dec 2016 15:46:49 +0000 Lucas Thompson Install piper.
Thu, 01 Dec 2016 15:46:33 +0000 Lucas Thompson Setup some scaffolding for bootstrapping a worker and loading into a service, providing a mechanism for implementing most of the logic which runs inside the worker in TypeScript.
Thu, 01 Dec 2016 15:45:07 +0000 Lucas Thompson Update missed import path from moving audio-player-service.
Thu, 01 Dec 2016 15:44:12 +0000 Lucas Thompson Provide a TypeScript file to include external modules, which also provides a way to expose imported modules from the webpack bundle to a web worker. (a pretty horrible hack around angular-cli build limitations).
Thu, 01 Dec 2016 15:40:57 +0000 Lucas Thompson Move service into subdirectory.
Thu, 01 Dec 2016 14:05:49 +0000 Lucas Thompson Import waves-ui with TypeScript (ambient module, no typings for now) over angular-cli global scripts. Include there instead a TypeScript file, for creating a webpack scripts bundle of external modules (unused currently, but can provide a way for importing npm modules to a worker).
Thu, 01 Dec 2016 10:35:46 +0000 Lucas Thompson Local copy of Material Icons.
Wed, 30 Nov 2016 14:12:14 +0000 Lucas Thompson Only update all layers when paging, safari freaks out otherwise - probably better this way regardless.
Wed, 30 Nov 2016 11:41:28 +0000 Lucas Thompson Quick and dirty page scrolling.
Wed, 30 Nov 2016 10:21:49 +0000 Lucas Thompson wire up playback controls.
Wed, 30 Nov 2016 10:21:27 +0000 Lucas Thompson Encapsulate audio playing and decoding logic in a ng2 service, provided by the root module.
Wed, 30 Nov 2016 10:18:03 +0000 Lucas Thompson Just emit the file object from audio-file-open.
Tue, 29 Nov 2016 12:00:07 +0000 Lucas Thompson Fix type in tab label.
Tue, 29 Nov 2016 11:58:25 +0000 Lucas Thompson CSS hacks to vertically align contents of the sidenav centrally.
Tue, 29 Nov 2016 11:02:44 +0000 Lucas Thompson Vertically align the larger play button in the center
Tue, 29 Nov 2016 10:36:12 +0000 Lucas Thompson Update to new material2 apis for tab groups.
Tue, 29 Nov 2016 10:35:36 +0000 Lucas Thompson angular-cli updates.
Tue, 29 Nov 2016 10:34:11 +0000 Lucas Thompson Update npm packages in line with latest angular-cli dependencies
Mon, 28 Nov 2016 11:57:48 +0000 Lucas Thompson Remove dummy components
Fri, 28 Oct 2016 17:21:58 +0100 Lucas Thompson Remove unused test service.
Fri, 28 Oct 2016 16:27:25 +0100 Lucas Thompson Prototype some playback controls, and tabbed menus in the sidebar.
Fri, 28 Oct 2016 08:29:24 +0100 Lucas Thompson Small tidy and reduction of dupes.
Fri, 28 Oct 2016 08:28:54 +0100 Lucas Thompson Remove zone injection from app.component and move to where the event is emitted in audio-file-open.component.
Thu, 27 Oct 2016 17:48:23 +0100 Lucas Thompson Uncomment initial rendering code for waveform.
Thu, 27 Oct 2016 17:47:20 +0100 Lucas Thompson Clear waveform before redrawing, otherwise the waveform is not drawn. also remove some debug outputs.
Thu, 27 Oct 2016 17:08:57 +0100 Lucas Thompson Rough waveform loading, issues exist regarding communicating changes from child components (unless using the current workaround with explicit zone running)... investigating.
Thu, 27 Oct 2016 14:44:37 +0100 Lucas Thompson Hack into the component the decoding of the chosen audio file, this needs refactoring and actually thinking about. Now, how to get the AudioBuffer to the waveform component?
Thu, 27 Oct 2016 13:40:48 +0100 Lucas Thompson A safer cross browser solution for getting the FileList from the event source.
Thu, 27 Oct 2016 13:36:09 +0100 Lucas Thompson Add a component for opening local audio files, unfinished and of course untested. Expect cross-cutting concerns to follow.
Thu, 27 Oct 2016 10:44:34 +0100 Lucas Thompson Duck icon / procrastination.
Thu, 27 Oct 2016 08:21:20 +0100 Lucas Thompson Remove unused css.
Thu, 27 Oct 2016 08:20:49 +0100 Lucas Thompson Get some wave-ui layers rendering inside the waveform component, a real shame about the global scope of the waves-ui library currently.
Thu, 27 Oct 2016 08:19:45 +0100 Lucas Thompson Remove a now unused component.
Wed, 26 Oct 2016 17:26:31 +0100 Lucas Thompson Track div for the waves-ui track.
Wed, 26 Oct 2016 17:18:42 +0100 Lucas Thompson Move slider to siderbar and center, seems buggy in the sidebar - it'll sometimes snap to the far right and not come back.
Wed, 26 Oct 2016 16:57:51 +0100 Lucas Thompson Add skeleton files for waveform component.
Wed, 26 Oct 2016 16:54:51 +0100 Lucas Thompson Bring waves-ui in as a global script for now (only way I've been able to get it to work) and start building a waveform component.
Wed, 26 Oct 2016 14:34:12 +0100 Lucas Thompson Some shifting around of CSS rules, and a few components (toolbar, fixed sidebar) on the page.
Wed, 26 Oct 2016 11:42:58 +0100 Lucas Thompson Playing around with material2
Tue, 25 Oct 2016 14:43:01 +0100 Lucas Thompson Bring in some global CSS to F up emulated shadow dom.
Tue, 25 Oct 2016 14:42:26 +0100 Lucas Thompson App skelton generated with angular-cli, as well as a few experiments (to be deleted).
Tue, 25 Oct 2016 11:40:57 +0100 angular-cli chore: initial commit from angular-cli