]> zoso.dev Git - nano-pow.git/log
nano-pow.git
3 days agoInitial PBO test implementation. Needs refactoring and optimization. test/pbo
Chris Duncan [Mon, 9 Jun 2025 21:47:03 +0000 (14:47 -0700)]
Initial PBO test implementation. Needs refactoring and optimization.

3 days agoMove texture binding for downsampling out of loop since it only needs to be bound...
Chris Duncan [Mon, 9 Jun 2025 21:45:32 +0000 (14:45 -0700)]
Move texture binding for downsampling out of loop since it only needs to be bound once.

3 days agoQuery around draw call only instead of including viewport change. Remove unnecessary...
Chris Duncan [Mon, 9 Jun 2025 21:41:15 +0000 (14:41 -0700)]
Query around draw call only instead of including viewport change. Remove unnecessary texture binding since it is the render target, not used to modify textures.

3 days agoEnd query immediately after drawing instead of waiting to unbind framebuffer.
Chris Duncan [Mon, 9 Jun 2025 21:22:47 +0000 (14:22 -0700)]
End query immediately after drawing instead of waiting to unbind framebuffer.

3 days agoLog when reset is done. Fix redundant null check.
Chris Duncan [Mon, 9 Jun 2025 21:22:06 +0000 (14:22 -0700)]
Log when reset is done. Fix redundant null check.

3 days agoInitialize downsample FBO array at setup instead of import.
Chris Duncan [Mon, 9 Jun 2025 21:16:27 +0000 (14:16 -0700)]
Initialize downsample FBO array at setup instead of import.

4 days agoReduce size of pixels array which is way larger than necessary.
Chris Duncan [Mon, 9 Jun 2025 21:15:19 +0000 (14:15 -0700)]
Reduce size of pixels array which is way larger than necessary.

4 days agoReset first when running setup and again on error. Remove redundant integer check...
Chris Duncan [Mon, 9 Jun 2025 20:55:45 +0000 (13:55 -0700)]
Reset first when running setup and again on error. Remove redundant integer check on canvas size.

4 days agoClear RAF on check error.
Chris Duncan [Mon, 9 Jun 2025 20:13:37 +0000 (13:13 -0700)]
Clear RAF on check error.

4 days agoClean up RAF when generate is done.
Chris Duncan [Mon, 9 Jun 2025 19:28:19 +0000 (12:28 -0700)]
Clean up RAF when generate is done.

4 days agoComment formatting.
Chris Duncan [Mon, 9 Jun 2025 19:25:50 +0000 (12:25 -0700)]
Comment formatting.

4 days agoCheck all result pixel values to ensure value is found if low bits happen to be zero...
Chris Duncan [Mon, 9 Jun 2025 18:52:50 +0000 (11:52 -0700)]
Check all result pixel values to ensure value is found if low bits happen to be zero, and use shortcut behavior for truthiness.

4 days agoComment formatting.
Chris Duncan [Mon, 9 Jun 2025 18:28:47 +0000 (11:28 -0700)]
Comment formatting.

4 days agoZero out animation frame handle during reset.
Chris Duncan [Mon, 9 Jun 2025 18:28:06 +0000 (11:28 -0700)]
Zero out animation frame handle during reset.

4 days agoAdd missing context initialization in setup call. Downsample much more aggressively...
Chris Duncan [Mon, 9 Jun 2025 18:06:19 +0000 (11:06 -0700)]
Add missing context initialization in setup call. Downsample much more aggressively with 8 rounds. Add check to ensure final canvas is divisible by 256 for downsampling.

4 days agoRemove another debug flag.
Chris Duncan [Mon, 9 Jun 2025 18:01:15 +0000 (11:01 -0700)]
Remove another debug flag.

4 days agoFix attempted delete of FBO instead of its texture.
Chris Duncan [Mon, 9 Jun 2025 18:01:00 +0000 (11:01 -0700)]
Fix attempted delete of FBO instead of its texture.

4 days agoSeparate context from canvas initialization.
Chris Duncan [Mon, 9 Jun 2025 18:00:33 +0000 (11:00 -0700)]
Separate context from canvas initialization.

4 days agoRemove unused debug flag now that Logger is used. Add function to calculate max size...
Chris Duncan [Mon, 9 Jun 2025 18:00:02 +0000 (11:00 -0700)]
Remove unused debug flag now that Logger is used. Add function to calculate max size for device.

4 days agoFix paths in config files.
Chris Duncan [Mon, 9 Jun 2025 14:49:04 +0000 (07:49 -0700)]
Fix paths in config files.

4 days agoUpdate imports and build scripts.
Chris Duncan [Mon, 9 Jun 2025 14:42:21 +0000 (07:42 -0700)]
Update imports and build scripts.

4 days agoAdjust imports for validate functions.
Chris Duncan [Mon, 9 Jun 2025 14:31:10 +0000 (07:31 -0700)]
Adjust imports for validate functions.

4 days agoMove config into its own directory. Update import paths.
Chris Duncan [Mon, 9 Jun 2025 14:24:22 +0000 (07:24 -0700)]
Move config into its own directory. Update import paths.

4 days agoMove generate implementations into generate directory.
Chris Duncan [Mon, 9 Jun 2025 14:22:32 +0000 (07:22 -0700)]
Move generate implementations into generate directory.

5 days agoSplit CPU generate and validate.
Chris Duncan [Sun, 8 Jun 2025 20:32:14 +0000 (13:32 -0700)]
Split CPU generate and validate.

5 days agoUse logger class in CPU implementation.
Chris Duncan [Sun, 8 Jun 2025 20:17:02 +0000 (13:17 -0700)]
Use logger class in CPU implementation.

5 days agoAdd option to disable generate self-check on test page.
Chris Duncan [Sun, 8 Jun 2025 07:43:43 +0000 (00:43 -0700)]
Add option to disable generate self-check on test page.

5 days agoFix timeout error handling.
Chris Duncan [Sun, 8 Jun 2025 07:27:40 +0000 (00:27 -0700)]
Fix timeout error handling.

5 days agoUse logger class in GL implementation.
Chris Duncan [Sun, 8 Jun 2025 06:16:48 +0000 (23:16 -0700)]
Use logger class in GL implementation.

5 days agoRefactor bigint prototype extensions to helper function module.
Chris Duncan [Sun, 8 Jun 2025 06:07:21 +0000 (23:07 -0700)]
Refactor bigint prototype extensions to helper function module.

7 days agoExtend bigint with random function.
Chris Duncan [Thu, 5 Jun 2025 22:11:29 +0000 (15:11 -0700)]
Extend bigint with random function.

8 days agoFix missing debug flag assignment. Delay config file log until after logger is enabled.
Chris Duncan [Thu, 5 Jun 2025 18:42:57 +0000 (11:42 -0700)]
Fix missing debug flag assignment. Delay config file log until after logger is enabled.

8 days agoIndicate in output when logs are from browser instance.
Chris Duncan [Thu, 5 Jun 2025 18:31:00 +0000 (11:31 -0700)]
Indicate in output when logs are from browser instance.

8 days agoExtend GPU timeout periods.
Chris Duncan [Wed, 4 Jun 2025 21:56:32 +0000 (14:56 -0700)]
Extend GPU timeout periods.

8 days agoUse logger for debugging. Always reload device when restoring, it's cheap. Do not...
Chris Duncan [Wed, 4 Jun 2025 21:53:58 +0000 (14:53 -0700)]
Use logger for debugging. Always reload device when restoring, it's cheap. Do not add dispatch loop to queue, just await as usual.

8 days agoSplit initial steps and compute steps for separate recovery attempts.
Chris Duncan [Wed, 4 Jun 2025 21:38:22 +0000 (14:38 -0700)]
Split initial steps and compute steps for separate recovery attempts.

8 days agoType guard queue tasks.
Chris Duncan [Wed, 4 Jun 2025 21:36:34 +0000 (14:36 -0700)]
Type guard queue tasks.

9 days agoAllow queue calls to cut to the front of the line. Simplify lots of GPU logging....
Chris Duncan [Wed, 4 Jun 2025 19:28:09 +0000 (12:28 -0700)]
Allow queue calls to cut to the front of the line. Simplify lots of GPU logging. Eliminate redundant reset function.

9 days agoExtract queuing feature to utility class.
Chris Duncan [Wed, 4 Jun 2025 18:50:47 +0000 (11:50 -0700)]
Extract queuing feature to utility class.

9 days agoFix bigint extension when prefix included.
Chris Duncan [Wed, 4 Jun 2025 18:50:28 +0000 (11:50 -0700)]
Fix bigint extension when prefix included.

9 days agoAdd self-check of generate results to test page.
Chris Duncan [Wed, 4 Jun 2025 18:50:10 +0000 (11:50 -0700)]
Add self-check of generate results to test page.

9 days agoDisable "Go" button on test page during test.
Chris Duncan [Wed, 4 Jun 2025 17:53:35 +0000 (10:53 -0700)]
Disable "Go" button on test page during test.

9 days agoRefactor log utility function into class to allow separation of debug flags between...
Chris Duncan [Wed, 4 Jun 2025 15:03:15 +0000 (08:03 -0700)]
Refactor log utility function into class to allow separation of debug flags between implementations.

9 days agoDo not start when restoring, it has its own process. Remove deprecated function calls...
Chris Duncan [Wed, 4 Jun 2025 13:06:02 +0000 (06:06 -0700)]
Do not start when restoring, it has its own process. Remove deprecated function calls. Do not redestroy device already destroyed by browser.

9 days agoCombine GPU resource creation since they will always be initialized together and...
Chris Duncan [Wed, 4 Jun 2025 13:05:22 +0000 (06:05 -0700)]
Combine GPU resource creation since they will always be initialized together and extra functions are redundant.

9 days agoSimplify error handling again.
Chris Duncan [Tue, 3 Jun 2025 21:39:04 +0000 (14:39 -0700)]
Simplify error handling again.

9 days agoImprove error handling throughout GPU.
Chris Duncan [Tue, 3 Jun 2025 21:16:44 +0000 (14:16 -0700)]
Improve error handling throughout GPU.

10 days agoShort processing queue idle check.
Chris Duncan [Tue, 3 Jun 2025 18:31:14 +0000 (11:31 -0700)]
Short processing queue idle check.

10 days agoFix processing queue executing multiple tasks.
Chris Duncan [Tue, 3 Jun 2025 18:21:15 +0000 (11:21 -0700)]
Fix processing queue executing multiple tasks.

10 days agoCatch reset errors.
Chris Duncan [Tue, 3 Jun 2025 04:25:16 +0000 (21:25 -0700)]
Catch reset errors.

10 days agoUse isContextLost as a timeout for recovery. Throw if device cannot be recovered...
Chris Duncan [Tue, 3 Jun 2025 04:22:04 +0000 (21:22 -0700)]
Use isContextLost as a timeout for recovery. Throw if device cannot be recovered or setup fails.

10 days agoContext recovery should take way less than 30s.
Chris Duncan [Tue, 3 Jun 2025 04:21:03 +0000 (21:21 -0700)]
Context recovery should take way less than 30s.

10 days agoConvert context loss flag to timeout tracker to allow eventual exception if context...
Chris Duncan [Tue, 3 Jun 2025 03:56:43 +0000 (20:56 -0700)]
Convert context loss flag to timeout tracker to allow eventual exception if context restored event is never fired.

10 days agoFail entire GL generate call if context cannot be restored after loss.
Chris Duncan [Tue, 3 Jun 2025 03:46:56 +0000 (20:46 -0700)]
Fail entire GL generate call if context cannot be restored after loss.

10 days agoLazy load GL canvas and context.
Chris Duncan [Mon, 2 Jun 2025 21:52:05 +0000 (14:52 -0700)]
Lazy load GL canvas and context.

10 days agoRemove unused WASM variable.
Chris Duncan [Mon, 2 Jun 2025 21:51:40 +0000 (14:51 -0700)]
Remove unused WASM variable.

10 days agoRemove unused import and add logging to server.
Chris Duncan [Mon, 2 Jun 2025 21:51:27 +0000 (14:51 -0700)]
Remove unused import and add logging to server.

11 days agoDelete redundant buffer binding.
Chris Duncan [Mon, 2 Jun 2025 19:57:13 +0000 (12:57 -0700)]
Delete redundant buffer binding.

11 days agoPass input UBO components by separate views and offsets.
Chris Duncan [Mon, 2 Jun 2025 19:23:19 +0000 (12:23 -0700)]
Pass input UBO components by separate views and offsets.

11 days agoSimplify GL uniform nomenclature.
Chris Duncan [Mon, 2 Jun 2025 16:54:44 +0000 (09:54 -0700)]
Simplify GL uniform nomenclature.

11 days agoCopy GPU and GL tsconfig files into build/ for IDE validation.
Chris Duncan [Mon, 2 Jun 2025 16:54:17 +0000 (09:54 -0700)]
Copy GPU and GL tsconfig files into build/ for IDE validation.

11 days agoInclude SPDX headers in generated compute shader.
Chris Duncan [Mon, 2 Jun 2025 12:50:04 +0000 (05:50 -0700)]
Include SPDX headers in generated compute shader.

11 days agoMerge branch 'test/refactor' into next/cpu
Chris Duncan [Mon, 2 Jun 2025 12:42:07 +0000 (05:42 -0700)]
Merge branch 'test/refactor' into next/cpu

11 days agoRefactor recovery process for GPU.
Chris Duncan [Sun, 1 Jun 2025 23:16:04 +0000 (16:16 -0700)]
Refactor recovery process for GPU.

12 days agoImport extensions at entry point only so it doesn't need to be imported to each modul...
Chris Duncan [Sun, 1 Jun 2025 20:07:23 +0000 (13:07 -0700)]
Import extensions at entry point only so it doesn't need to be imported to each module individually after bundling.

12 days agoFix GPU debug logging.
Chris Duncan [Sun, 1 Jun 2025 19:58:56 +0000 (12:58 -0700)]
Fix GPU debug logging.

12 days agoFix 64-bit CPRNG.
Chris Duncan [Sun, 1 Jun 2025 19:58:36 +0000 (12:58 -0700)]
Fix 64-bit CPRNG.

12 days agoExtract generate queue to outer class that calls API-specific method.
Chris Duncan [Sun, 1 Jun 2025 19:47:41 +0000 (12:47 -0700)]
Extract generate queue to outer class that calls API-specific method.

12 days agoUse crypto random values for better quality randomness.
Chris Duncan [Sun, 1 Jun 2025 08:07:34 +0000 (01:07 -0700)]
Use crypto random values for better quality randomness.

13 days agoFix license for REUSE compliance.
Chris Duncan [Sat, 31 May 2025 07:34:15 +0000 (00:34 -0700)]
Fix license for REUSE compliance.

13 days agoRename files.
Chris Duncan [Sat, 31 May 2025 07:25:36 +0000 (00:25 -0700)]
Rename files.

13 days agoGenerate GL primary draw shader instead of writing it explicitly. Fix ambient shader...
Chris Duncan [Sat, 31 May 2025 07:19:48 +0000 (00:19 -0700)]
Generate GL primary draw shader instead of writing it explicitly. Fix ambient shader type definitions to apply to their respective APIs. Fix exports and tsconfig for generate files.

13 days agoMove GL shaders into their own directory.
Chris Duncan [Sat, 31 May 2025 05:26:44 +0000 (22:26 -0700)]
Move GL shaders into their own directory.

2 weeks agoFix duplicate null assignment. Separate context condition from query parameter availa...
Chris Duncan [Fri, 30 May 2025 20:54:36 +0000 (13:54 -0700)]
Fix duplicate null assignment. Separate context condition from query parameter availability in check function. Fix context restoration not recompiling.

2 weeks agoReuse GL canvas and context and improve context loss handling.
Chris Duncan [Fri, 30 May 2025 20:12:15 +0000 (13:12 -0700)]
Reuse GL canvas and context and improve context loss handling.

2 weeks agoRefactor GPU into plain module. Simplify task queueing.
Chris Duncan [Fri, 30 May 2025 03:45:32 +0000 (20:45 -0700)]
Refactor GPU into plain module. Simplify task queueing.

2 weeks agoRefactor worker to remove event listener prior to shutting down to avoid possible...
Chris Duncan [Fri, 30 May 2025 03:34:00 +0000 (20:34 -0700)]
Refactor worker to remove event listener prior to shutting down to avoid possible memory leaks.

2 weeks agoRefactor WASM reset process and remove redundant busy flag.
Chris Duncan [Fri, 30 May 2025 03:29:59 +0000 (20:29 -0700)]
Refactor WASM reset process and remove redundant busy flag.

2 weeks agoRefactor GL as plain ES module. Fix incorrect event listeners for context loss and...
Chris Duncan [Thu, 29 May 2025 21:40:21 +0000 (14:40 -0700)]
Refactor GL as plain ES module. Fix incorrect event listeners for context loss and restoration, and remove them when resetting. Adjust context restoration to attempt to resume processing by queueing a no-op function.

2 weeks agoRefactor WASM class as plain ES module.
Chris Duncan [Thu, 29 May 2025 15:41:42 +0000 (08:41 -0700)]
Refactor WASM class as plain ES module.

2 weeks agoAdd missing license info reach REUSE compliance.
Chris Duncan [Thu, 29 May 2025 15:07:53 +0000 (08:07 -0700)]
Add missing license info reach REUSE compliance.

2 weeks agoRemove inaccurate comment.
Chris Duncan [Thu, 29 May 2025 15:07:24 +0000 (08:07 -0700)]
Remove inaccurate comment.

2 weeks agoGenerate work once prior to performance timing during CLI benchmark.
Chris Duncan [Thu, 29 May 2025 00:10:44 +0000 (17:10 -0700)]
Generate work once prior to performance timing during CLI benchmark.

2 weeks agoMinor type fixes.
Chris Duncan [Wed, 28 May 2025 21:41:08 +0000 (14:41 -0700)]
Minor type fixes.

2 weeks agoRemove incorrect JSDoc and fix class comment.
Chris Duncan [Wed, 28 May 2025 21:12:54 +0000 (14:12 -0700)]
Remove incorrect JSDoc and fix class comment.

2 weeks agoRename API support type definitions.
Chris Duncan [Wed, 28 May 2025 20:26:48 +0000 (13:26 -0700)]
Rename API support type definitions.

2 weeks agoShorten long literal type union for APIs with type alias. Refactor config class to...
Chris Duncan [Wed, 28 May 2025 20:17:02 +0000 (13:17 -0700)]
Shorten long literal type union for APIs with type alias. Refactor config class to use async factory method instead of sync constructor to allow dynamic API support querying. Always return `valid` from validate because why not?

2 weeks agoFix infinite loop in CLI hash collection.
Chris Duncan [Wed, 28 May 2025 18:20:49 +0000 (11:20 -0700)]
Fix infinite loop in CLI hash collection.

2 weeks agoHandle server listening event more explicitly.
Chris Duncan [Wed, 28 May 2025 18:20:23 +0000 (11:20 -0700)]
Handle server listening event more explicitly.

2 weeks agoDelay API support check until NanoPow is ready. Whitespace.
Chris Duncan [Wed, 28 May 2025 17:40:32 +0000 (10:40 -0700)]
Delay API support check until NanoPow is ready. Whitespace.

2 weeks agoFix license headers.
Chris Duncan [Wed, 28 May 2025 17:19:40 +0000 (10:19 -0700)]
Fix license headers.

2 weeks agoUse CPU as an API that is always supported, and throw if user-specified API is unsupp...
Chris Duncan [Wed, 28 May 2025 16:27:56 +0000 (09:27 -0700)]
Use CPU as an API that is always supported, and throw if user-specified API is unsupported on the platform.

2 weeks agoSet default API to best available if not specified by user.
Chris Duncan [Wed, 28 May 2025 16:24:27 +0000 (09:24 -0700)]
Set default API to best available if not specified by user.

2 weeks agoRefactor API support checks into utility classes.
Chris Duncan [Wed, 28 May 2025 16:20:00 +0000 (09:20 -0700)]
Refactor API support checks into utility classes.

2 weeks agoMove API support check into its own module for import to config class.
Chris Duncan [Wed, 28 May 2025 15:50:34 +0000 (08:50 -0700)]
Move API support check into its own module for import to config class.

2 weeks agoRename config class file.
Chris Duncan [Wed, 28 May 2025 15:26:13 +0000 (08:26 -0700)]
Rename config class file.

2 weeks agoRefactor options to provide unvalidated and validated interfaces.
Chris Duncan [Wed, 28 May 2025 15:16:26 +0000 (08:16 -0700)]
Refactor options to provide unvalidated and validated interfaces.

2 weeks agoImplement JSON serialization for options object.
Chris Duncan [Tue, 27 May 2025 23:04:54 +0000 (16:04 -0700)]
Implement JSON serialization for options object.

2 weeks agoServer and CLI fixes.
Chris Duncan [Tue, 27 May 2025 21:46:27 +0000 (14:46 -0700)]
Server and CLI fixes.

2 weeks agoRemove unnecessary logging.
Chris Duncan [Tue, 27 May 2025 21:23:25 +0000 (14:23 -0700)]
Remove unnecessary logging.