├── README.md
├── SpawnDev.BlazorJS.Test
├── wwwroot
│ ├── appsettings.json
│ ├── test-lib.js
│ ├── appsettings.Development.json
│ ├── SpawnDev.ico
│ ├── favicon.png
│ ├── icon-128.png
│ ├── icon-192.png
│ ├── icon-64.png
│ ├── media
│ │ ├── github-mark.png
│ │ ├── github-mark-white.png
│ │ ├── honeycomb-tile-dark.gif
│ │ ├── honeycomb-tile-light.gif
│ │ ├── honeycomb-tile-dark-red.gif
│ │ ├── honeycomb-tile-dark-red2.gif
│ │ ├── honeycomb-tile-dark-red3.gif
│ │ ├── honeycomb-tile-dark-red4.gif
│ │ ├── github-mark-white.svg
│ │ └── github-mark.svg
│ ├── weights
│ │ ├── mtcnn_model-shard1
│ │ ├── age_gender_model-shard1
│ │ ├── face_expression_model-shard1
│ │ ├── face_landmark_68_model-shard1
│ │ ├── face_recognition_model-shard1
│ │ ├── face_recognition_model-shard2
│ │ ├── ssd_mobilenetv1_model-shard1
│ │ ├── ssd_mobilenetv1_model-shard2
│ │ ├── tiny_face_detector_model-shard1
│ │ ├── face_landmark_68_tiny_model-shard1
│ │ ├── tiny_face_detector_model-weights_manifest.json
│ │ ├── mtcnn_model-weights_manifest.json
│ │ └── face_landmark_68_tiny_model-weights_manifest.json
│ ├── css
│ │ └── open-iconic
│ │ │ ├── font
│ │ │ └── fonts
│ │ │ │ ├── open-iconic.eot
│ │ │ │ ├── open-iconic.otf
│ │ │ │ ├── open-iconic.ttf
│ │ │ │ └── open-iconic.woff
│ │ │ ├── ICON-LICENSE
│ │ │ ├── README.md
│ │ │ └── FONT-LICENSE
│ ├── libs
│ │ └── google-code-prettify
│ │ │ ├── prettify.css
│ │ │ ├── skins
│ │ │ ├── sons-of-obsidian.css
│ │ │ ├── desert.css
│ │ │ ├── sunburst.css
│ │ │ └── doxy.css
│ │ │ ├── lang-rd.js
│ │ │ ├── lang-tex.js
│ │ │ ├── lang-latex.js
│ │ │ ├── lang-go.js
│ │ │ ├── lang-proto.js
│ │ │ ├── lang-ll.js
│ │ │ ├── lang-llvm.js
│ │ │ ├── lang-yaml.js
│ │ │ ├── lang-yml.js
│ │ │ ├── lang-basic.js
│ │ │ ├── lang-cbm.js
│ │ │ ├── lang-lua.js
│ │ │ ├── lang-wiki.js
│ │ │ ├── lang-erl.js
│ │ │ ├── lang-erlang.js
│ │ │ ├── lang-hs.js
│ │ │ ├── lang-tcl.js
│ │ │ ├── lang-pascal.js
│ │ │ ├── lang-r.js
│ │ │ ├── lang-s.js
│ │ │ ├── lang-Splus.js
│ │ │ ├── lang-cl.js
│ │ │ ├── lang-el.js
│ │ │ ├── lang-lisp.js
│ │ │ ├── lang-lsp.js
│ │ │ ├── lang-rkt.js
│ │ │ ├── lang-scm.js
│ │ │ ├── lang-ss.js
│ │ │ ├── lang-kotlin.js
│ │ │ ├── lang-lgt.js
│ │ │ ├── lang-logtalk.js
│ │ │ ├── lang-clj.js
│ │ │ ├── lang-mumps.js
│ │ │ ├── lang-css.js
│ │ │ ├── lang-scala.js
│ │ │ ├── lang-aea.js
│ │ │ ├── lang-agc.js
│ │ │ ├── lang-apollo.js
│ │ │ ├── lang-dart.js
│ │ │ ├── lang-fs.js
│ │ │ ├── lang-ml.js
│ │ │ ├── lang-ex.js
│ │ │ ├── lang-exs.js
│ │ │ ├── lang-vhd.js
│ │ │ ├── lang-vhdl.js
│ │ │ ├── lang-n.js
│ │ │ ├── lang-nemerle.js
│ │ │ ├── lang-swift.js
│ │ │ ├── lang-rust.js
│ │ │ ├── lang-sql.js
│ │ │ ├── lang-vb.js
│ │ │ ├── lang-vbs.js
│ │ │ ├── lang-ls.js
│ │ │ ├── lang-lasso.js
│ │ │ └── lang-lassoscript.js
│ └── wasm-feature-detect.1.5.1.js
├── Pages
│ ├── JSObjectTypeInfo.razor.css
│ ├── Blank.razor
│ ├── Callbacks.razor
│ ├── JSEventCallbacks.razor
│ ├── ServiceWorkerInfo.razor
│ ├── IJSObjectsInfo.razor
│ ├── AnalysisReview.razor.css
│ ├── DragDrop.razor.css
│ ├── GameOfLifeDemo.razor
│ ├── WebAPI
│ │ ├── GamepadView.razor
│ │ ├── GamepadExample.razor
│ │ ├── GeolocationExample.razor
│ │ └── HTMLVideoElementExample.razor
│ ├── DragDrop.razor
│ ├── JSObjectTypeInfo.razor.cs
│ ├── AnalysisReview.razor
│ ├── SystemInfo.razor
│ ├── SharedWebWorkerCalculatePiDemo.razor
│ ├── WebWorkerCalculatePiDemo.razor
│ └── DragDrop.razor.cs
├── Shared
│ ├── MainLayout.razor
│ ├── IConwayGameOfLifeRenderer.cs
│ ├── NavMenu.razor.css
│ ├── MainLayout.razor.css
│ ├── ConwayGameOfLife.razor
│ ├── NavMenu.razor
│ └── MarkdownBlock.razor
├── App.razor
├── _Imports.razor
├── Services
│ ├── TestService2.cs
│ └── FaceAPIService.cs
├── GameOfLife
│ ├── BoardTileState.cs
│ └── GenerationStat.cs
├── Properties
│ └── launchSettings.json
├── UnitTests
│ └── FileSystemAPIService.cs
├── SpawnDev.BlazorJS.Test.csproj
├── _publish.bat
├── Diagnostics
│ └── JSPropertyInfo.cs
├── Program.cs
├── ExceptionSerializer.cs
└── DTO
│ └── ReflectionMapper.cs
├── LICENSE.txt
├── SpawnDev.BlazorJS.Test.sln
└── .gitattributes
/README.md:
--------------------------------------------------------------------------------
1 | # SpawnDev.BlazorJS.Test
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Test/wwwroot/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Message": "Hello from appsettings.json"
3 | }
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Test/wwwroot/test-lib.js:
--------------------------------------------------------------------------------
1 | console.log('---------- Test Lib Loaded ----------');
2 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Test/wwwroot/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Message": "Hello from appsettings.Development.json"
3 | }
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Test/Pages/JSObjectTypeInfo.razor.css:
--------------------------------------------------------------------------------
1 |
2 |
3 | table td:first-child {
4 | text-align: right;
5 | }
6 |
7 |
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Test/wwwroot/SpawnDev.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS.Test/master/SpawnDev.BlazorJS.Test/wwwroot/SpawnDev.ico
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Test/wwwroot/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS.Test/master/SpawnDev.BlazorJS.Test/wwwroot/favicon.png
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Test/wwwroot/icon-128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS.Test/master/SpawnDev.BlazorJS.Test/wwwroot/icon-128.png
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Test/wwwroot/icon-192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS.Test/master/SpawnDev.BlazorJS.Test/wwwroot/icon-192.png
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Test/wwwroot/icon-64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LostBeard/SpawnDev.BlazorJS.Test/master/SpawnDev.BlazorJS.Test/wwwroot/icon-64.png
--------------------------------------------------------------------------------
/SpawnDev.BlazorJS.Test/Pages/Blank.razor:
--------------------------------------------------------------------------------
1 | @page "/"
2 |
3 |
Sorry, there's nothing at this address.
10 |5 | Conway's Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970.[1] It is a zero-player game,[2][3] meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine. 6 |
7 |5 | This demonstrates using Callbacks to handle drag and drop events. 6 |
7 || @JS.FrameworkVersion | .Net |
| @JS.InformationalVersion | SpawnDev.BlazorJS |
| @(Math.Round(TimeSpan.FromMilliseconds(JS.ReadyTime).TotalSeconds, 1))s | Startup time |
| @(JS.Get | HardwareConcurrency |
| @(JS.CrossOriginIsolated == null ? "?" : (JS.CrossOriginIsolated == true ? "✔" : "❌")) | CrossOriginIsolated |
| @(SIMDSupported ? "✔" : "❌") | Browser Simd |
| @(System.Runtime.Intrinsics.Wasm.PackedSimd.IsSupported ? "✔" : "❌") | PackedSimd |
| @(System.Runtime.Intrinsics.Vector64.IsHardwareAccelerated ? "✔" : "❌") | Vector64 |
| @(System.Runtime.Intrinsics.Vector128.IsHardwareAccelerated ? "✔" : "❌") | Vector128 |
| @(System.Runtime.Intrinsics.Vector256.IsHardwareAccelerated ? "✔" : "❌") | Vector256 |
| @(System.Runtime.Intrinsics.Vector512.IsHardwareAccelerated ? "✔" : "❌") | Vector512 |
| @(!JS.IsUndefined(nameof(Worker)) ? "✔" : "❌") | Worker |
| @(!JS.IsUndefined(nameof(SharedWorker)) ? "✔" : "❌") | SharedWorker |
| @(!JS.IsUndefined(nameof(SharedArrayBuffer)) ? "✔" : "❌") | SharedArrayBuffer |
24 | @output 25 |26 |
24 | @output 25 |26 |
23 | @((MarkupString)log) 24 |25 | 26 | @code { 27 | [Inject] 28 | BlazorJSRuntime JS { get; set; } 29 | ElementReference? videoElRef; 30 | HTMLVideoElement? videoEl = null; 31 | TimeSpan duration = TimeSpan.Zero; 32 | string videoName = ""; 33 | string metadata = ""; 34 | string log = ""; 35 | Dictionary
| Population | 10 |@GenerationStat.Population | 11 |
| Deaths | 14 |@GenerationStat.Deaths | 15 |
| Babies | 18 |@GenerationStat.Babies | 19 |
| Younglings | 22 |@GenerationStat.Younglings | 23 |
| Adults | 26 |@GenerationStat.Adults | 27 |
| Elders | 30 |@GenerationStat.Elders | 31 |
| Generation | 34 |@GenerationStat.Generation | 35 |
| Tick Cost | 38 |@(Math.Round(GenerationStat.Elapsed.TotalMilliseconds)) ms | 39 |
| Draw Cost | 42 |@(Math.Round(drawTime.TotalMilliseconds)) ms | 43 |
| Legend | 46 |47 | |
| Void | 50 |51 | |
| Baby | 54 |55 | |
| Youngling | 58 |59 | |
| Adult | 62 |63 | |
| Elder | 66 |67 | |
| Dead Under Population | 70 |71 | |
| Dead Over Population | 74 |75 | |