1128 Commits

Author SHA1 Message Date
Robert Plummer
64330ba6f1
Merge pull request #518 from chrisguttandin/add-browser-field
add browser field to package.json
2.2.0
2019-10-20 20:24:22 -04:00
Robert Plummer
9856270483
Merge pull request #494 from franciscofabian/develop
check array length before accessing array elements
2019-10-20 20:23:29 -04:00
Christoph Guttandin
5e8faf9e49 feat: add browser field to package.json 2019-10-18 13:22:02 +02:00
Robert Plummer
33a23958a6 fix: Add nested custom function support 2.0.5 2019-10-11 07:28:02 -04:00
Robert Plummer
07cb307d9b fix: Add js highlighting 2.0.4 2019-10-08 10:35:48 -04:00
Robert Plummer
90292bba6e fix: Upgrade fluid simulation to use just GPU and no round trip and
fix: Upgrade controls UI to use HTML in favor of canvas for visuals
     to get clearer understanding of GPU load
2019-10-08 10:31:30 -04:00
Robert Plummer
c7df01e66f fix: #514 fix and upgrade tests to detect behaviour
fix: Documentation for what types are and are not tracked
fix: Added documentation for testing and building
fix: Some destructuring
2019-10-08 10:29:54 -04:00
Robert Plummer
045b470280 fix: Remove unneeded files 2.0.3 2019-10-02 21:36:32 -04:00
Robert Plummer
cab4d033bc fix: Fix #512, upgrade gl-wiretap and fix some .toString()
Also fix default dynamicOutput = true, it should be false
Also add .DS_Store to .gitignore
Also update package-lock.json
Also fix some unit tests that deal with dynamic output
Also add `setDynamicOutput` and `setDynamicArguments` to typescript
Also fix issue where `uOutputDim` needs `Int32Array` in `.toString()`
Also added some spaces for `.toString()` to look more pretty
2019-10-02 21:34:20 -04:00
Robert Plummer
fa9478ac66
Merge pull request #508 from chrisguttandin/fix-validate-settings-declaration
fix: define args of validateSettings() function
2019-09-29 10:21:09 -04:00
Christoph Guttandin
0430518916 fix: define args of validateSettings() function 2019-09-29 14:23:45 +02:00
Robert Plummer
cbf9b5cfa9
Merge pull request #506 from gnandretta/develop
Fix calls to FunctionNode.astErrorOutput, it's not a constructor
2019-09-26 13:03:04 -04:00
Gabriel Andretta
cf4cd273ce
Fix calls to FunctionNode.astErrorOutput, it's not a constructor 2019-09-26 12:49:26 -03:00
Robert Plummer
d01a0d5c62 fix: add missing test 2019-09-25 11:07:26 -04:00
Robert Plummer
bccc5c0923 fix: build 2.0.2 2019-09-25 10:15:13 -04:00
Robert Plummer
92def8cb00 fix: #485 and remove unused method 2019-09-25 10:14:53 -04:00
Robert Plummer
4dba2e7352 fix: Remove unneeded line 2.0.1 2019-09-24 10:39:17 -04:00
Robert Plummer
354c2014ee fix: A few broken unit test for node 2019-09-24 10:38:52 -04:00
Robert Plummer
83cedd89a7 fix: Unit tests for #500, #501, #502, #503, #504
fix: typescript to include video and KernelValues
fix: Duplicate image in unit test
fix: Bump and build
2019-09-24 10:22:16 -04:00
Robert Plummer
10c0349e16 fix: Unhandled "ConditionalExpression" 2019-09-24 10:19:51 -04:00
Robert Plummer
c35fe823c9 fix: #501 check all ast's for thruthy before proceeding
Remove where there is a check, to simplify code
Add "ContinueStatement"
Reorder some of the cases for less duplication
2019-09-24 10:19:25 -04:00
Robert Plummer
622e32b73a fix: Fix #504 missing HTML for functions 2019-09-24 10:17:13 -04:00
Robert Plummer
80a000e287 fix: #500 remove ArgumentSynonym "feature", and simply pass around bit ratio 2019-09-24 10:14:59 -04:00
Robert Plummer
34f4670530 fix: #503 handle size checks for KernelValues and output texture size 2019-09-24 10:12:34 -04:00
Robert Plummer
a0d4970a06 fix: #502 handle video on cpu mode 2019-09-24 09:38:24 -04:00
Robert Plummer
2bc76ad82d feat: Video input, injectNative, tests.
v2.0.0 Cosmic Jellyfish
2.0.0
2019-09-17 10:51:53 -04:00
Robert Plummer
56e673a364 fix: Bump gl version to modern, more performant version 2.0.0-rc.27 2019-09-09 19:56:29 -04:00
Robert Plummer
61c15cfa8c fix: Documentation fixes 2.0.0-rc.26 2019-08-23 11:01:38 -04:00
Robert Plummer
80f1ec009c fix: Remove duplicate code sample, and fix vertex artifacts in webgl2
feat: use speed tactic in fluid dynamics
2019-08-23 10:30:50 -04:00
Robert Plummer
6eafe70f8e feat: add tactic feature
To switch internally from `lowp`, to `mediump`, or `highp`.
Also added unit tests.
2019-08-23 10:19:54 -04:00
francisco
e7168ba388 check array length before accessing array elements 2019-08-12 01:24:48 +02:00
Robert Plummer
75895512e4 fix: dev mode for adding functions
fix: dev mode kernel to be added to GPU.kernels
fix: Array switching with array type is not defined in single precision mode
fix: GPU.destroy when no context is set
2.0.0-rc.25
2019-08-06 16:14:05 -04:00
Robert Plummer
fe9b801c96
Merge pull request #481 from voodoo11/develop
missing type annotation
2019-07-29 16:07:51 -04:00
Robert Plummer
4260a345c7 fix: #493, and add setStrictIntegers to typescript def
fix: Remove repeated literal `${ast.start},${ast.end}`, in favor of var
2.0.0-rc.24
2019-07-29 16:06:17 -04:00
Robert Plummer
21b9e3b759 fix: Shorten up kernelRunShortcut
fix: Update typescript definitions
fix: `GPU.createKernel`'s `onRequestFallback` to switch kernels entirely so the fallback doesn't continue to happen over and over
fix: `GPU.createKernel`'s `onRequestFallback` to use `argumentTypes`
fix: Minification
fix: examples to use minification
fix: Fix kernel string to support `Array1D(2|3|4)` and `Array3D(2|3|4)`
fix: `lookupKernelValueType` to as well get type, to make lookup easier for `Texture`s
fix: `Kernel` to properly build `this.kernelArguments` and `this.kernelConstants`
fix: `KernelValue` to get its type from `value.type` if it exists
fix: `@returns` keyword in favor of `@return` in some places
fix: DoxDox documentation issue
fix: Remove old reference to "Automatically-built Documentation", no longer applicable
fix: Bump and build
2.0.0-rc.23
2019-07-26 14:57:36 -04:00
Robert Plummer
86af54efef fix: Node support for v8+
fix: Move `make` cli command to gulp so it runs in parallel
fix: Add official support for `Array1D(2|3|4)`, `Array2D(2|3|4)`, and `Array3D(2|3|4)` and unit tests
fix: Add offical support for `Array(2)`, `Array(3)`, and `Array(4)` and unit tests
fix: Mandelbulb constant used a constant, so moved to appropriate location
fix: Failing unit test for Safari
fix: When not falling back in HeadlessGL, call `STACKGL_resize_drawingbuffer`
fix: Remove `xyz` variable from glsl
fix: Add `uniform4fv` and `uniform4iv` to WebGL implementation
fix: Check for kernel settings `constantTypes` and `argumentTypes`
fix: Inherit type from kernel in KernelValue constructors
fix: Add some typescript details for `GPUVariableType`, `IKernelSettings`, and `ITypesList`
fix: Add support for 4d array in `utils.getMemoryOptimizedFloatTextureSize` for the special use case of `Array3D(2|3|4)`
fix: Add `utils.flatten4dArrayTo` for the special use case of `Array3D(2|3|4)`
fix: Add support for 4d array in `utils.flattenTo`
fix: Bump and build
2.0.0-rc.22
2019-07-24 12:56:05 -04:00
Robert Plummer
5605504d92 fix: Upgrade gpu-mock.js to latest 100% code coverage tested
fix: Added tests for building kernels with "dev" mode
feat: Added a `.toArray()` method on `Input`, for usage with "dev" mode
fix: `Input.size` to reflect exactly what was sent in, rather than make up dimensions that aren't there
fix: `KernelArgument.dimensions` to fill in missing dimensions from size
fix: Only safe declarations when using a literal
2.0.0-rc.21
2019-07-11 13:18:33 -04:00
Robert Plummer
82832902cc fix: Move jellyfish images to actual files
fix: added `warnVarUsage` and `Dealing With Transpilation`
fix: Test dynamic arguments and provide some fixes for
fix: Dynamic arguments for `CPUFunctionNode`
fix: Dynamic arguments for `WebGLKernelValueDynamicHTMLImage`, `WebGLKernelValueDynamicNumberTexture`, `WebGLKernelValueDynamicSingleInput`, `WebGL2KernelValueDynamicHTMLImage`, `WebGL2KernelValueDynamicNumberTexture`, and `WebGL2KernelValueDynamicSingleInput`
fix: `onRequestFallback` settings in `createKernel` and `createKernel` inclusion of `loopMaxIterations`, `dynamicOutput`, and `dynamicArgument` in settings for when switching kernels
fix: `WebGL2Kernel` and `HeadlessGLKernel` typescript definition extensions
2.0.0-rc.20
2019-07-05 11:03:25 -04:00
Robert Plummer
f46a50d55c fix: Correct wording for validateSettings errors and use Error instance in CPU Kernel
fix: Add missing precision for `sampler2DArray` in WebGL2 fragment shader
fix: Add validateSettings in typings file
fix: offscreen-canvas.js broken test from bin to dist move
fix: Fix typings Kernel hierarchy
fix: Bump and build
2.0.0-rc.19
2019-07-02 12:18:16 -04:00
Robert Plummer
8aac6ab2e2 fix: Failing unit test 2.0.0-rc.18 2019-06-29 10:11:29 -04:00
Robert Plummer
e9bdc31a18 fix: Examples file reference
fix: move `GLKernel.fixIntegerDivisionAccuracy` to `Kernel.fixIntegerDivisionAccuracy` as it has to do with typing
fix: FunctionTracer 'ConditionalExpression' needed `ast.test`
test: Add test for FunctionTracer 'ConditionalExpression' `ast.test` usage
fix: division type handling with `Kernel.fixIntegerDivisionAccuracy` true
test: Add test for division handling with and without `Kernel.fixIntegerDivisionAccuracy` true
2019-06-29 10:07:29 -04:00
Robert Plummer
7771b52ceb fix: Bump, build, and correct folders 2019-06-27 13:45:09 -04:00
Robert Plummer
85d64e9f52
Merge pull request #486 from tmcw/browser-compatibility
Browser compatibility
2019-06-27 13:41:35 -04:00
Tom MacWright
e4c2b34104 Browser compatibility
This allows downstream consumers to use GPU.js with requirejs,
d3-require, unpkg, jsdelivr, and probably some other systems. The main
changes:

- Set { standalone: 'UMD' } in browserify configuration. This makes it
  publish a UMD build that exposes a 'UMD' export or global for
  CommonJS, require, and AMD.
- Move bin/ to dist/, because these are properly distribution files
  rather than binaries.
- Update tests to point to the dist/ version.
- Simplify browser.js to always export, because it is not the
  recommended entry point for any browser.
- Add unpkg and jsdelivr fields to package.json so that those CDNs
  automatically pick up on the right file when someone tries to include
  from them.
2019-06-26 14:14:40 -07:00
Robert Plummer
1c820a7724 fix: Deep types and tests to lookup arguments BEFORE return types
fix: Error messages when on single line
fix: Bump and build
2.0.0-rc.17
2019-06-24 21:11:20 -04:00
Robert Plummer
19b2fa45e9 fix: Url typo 2019-06-20 10:14:08 -04:00
Robert Plummer
914bae02ea fix: #483 Handle and test Int32Array, Int16Array, and Int8Array transfer types
feat: Allow for arrow functions as kernels
fix: Deep types where the argument contains a function call, and test
fix: Only set argument type if it isn't already set
fix: Bump version and build
fix: Add Sponsorship from browser-stack
2.0.0-rc.16
2019-06-20 10:11:12 -04:00
Robert Plummer
7bcfbed234 feat: Pre type check with FunctionTracer
feat: Add cat demo
feat: Type check even on CPU
fix: ArrayTexture support as arguments for internal arrays
fix: Typo from "Interger" to "Integer"
feat: Bump and build version number
2.0.0-rc.15
2019-06-17 18:00:36 -04:00
Jakub Kowalski
c8f0227561 missing type annotation 2019-06-07 12:24:03 +02:00
Robert Plummer
3361ec8235 feat: Another example as a visual end to end test 2019-06-04 19:45:17 -04:00