Compare commits

..
834 Commits
Author SHA1 Message Date
Emmett Lalish 67a5b7140d basic example working 2022-11-16 00:01:08 +01:00
Emmett Lalish 98a61df840 Fix editor first run (#281)
* fixed first run bug, plus minor cleanup

* added examples pointer
2022-11-14 00:02:43 +01:00
Emmett Lalish a9dc1550ba new JS Mesh class (#272)
* new JS Mesh class

* fix Mesh

* switch MeshGL to vectors

* new Mesh constructor

* export Mesh and updated types

* got scallop working again

* optional normals

* fixed Mesh constructor

* added halfedgeTangent

* cleanup
2022-11-10 23:24:46 +01:00
Emmett Lalish fd8c381179 Fix spelling (#270)
* fixed spelling

* forgot one

* JS code formatting

* updated CMakeLists for easier testing

* revert small change
2022-11-08 10:40:15 +01:00
Emmett LalishandStewart Allen af9377d6e7 Add GetMeshGL (#269)
* figure out wasm shared memory access, manifold data structure storage

* checkpoint multi-mode mesh direct access

* clean this up for a PR

* use size_t instead of int. fix pointer math for free() call. tab indent 2 spaces in js to match other code

* apply clang formatting. default to mode 1 (faster)

* eliminate new getMeshDirect() api call and fold it into getMesh() as an optional parameter object
eliminate _FreeMeshDirect and use Module._free() instead

* added optional ability to get normals array
restore access to mode 0 largely for testing

* remove mode options, simplify code

* this is quite a bit neater. fixes shorter header length

* attempt to do this the right way

* meshGL working

* revert JS API update

* added docs

Co-authored-by: Stewart Allen <stewart.allen@gmail.com>
2022-11-05 17:04:38 +01:00
Rafael 50fc5d87de Updated JS bindings (#268)
* Updated JS binding type definitions

* Ignore sublime text projects

* Ignore clangd cache

* Expose isManifold method

* Added wrapper for Manifold constructor, updated Mesh interface (...)
- Optional Mesh fields no longer error out with a 'missing property' error when they are missing
- Manifold constructor now uses the JS style Mesh instead of the serialized Mesh interface (MeshVec)
  - The old constructor was kept as a new static function (ManifoldFromMeshVec)
  - Error checking added to the constructor. If the status is not 0, an error with the correct message and code is thrown
- Updated type definitions

* Fix typo
whoops...

* Fix broken MeshRelation deserialization

* Revert "Expose isManifold method"

This reverts commit cedde70e1a28d721f58d886cea3ebd02fe0565af.

* Dummy commit to trigger CI
2022-11-05 00:23:54 +01:00
Jiří Hon ca81951355 WASM bindings: add missing smooth function to the ManifoldStatic interface (#267)
Update manifold.d.ts

Add missing smooth function to the ManifoldStatic interface.
2022-11-03 22:27:43 +01:00
Emmett Lalish c59130c754 Adding NodeJS tests for WASM module (#262)
* modularize wasm and add mocha tests

* add npm tests to CI

* fix mv command

* revert to build directory

* added rest of example tests

* fixed three.js test

* update web examples for module
2022-10-27 10:01:08 -07:00
Emmett Lalish 491d7d8045 added package.json to publish to npm (#257)
* added package.json

* updated READMEs
2022-10-23 22:04:53 -07:00
Emmett Lalish 0fb47693b3 Fix web examples (#254)
* fixed three.js examples

* add link and fix spelling
2022-10-21 15:42:00 -07:00
Emmett Lalish 066aec0137 Add missing license headers (#253)
* added examples attribution

* added missing headers
2022-10-20 12:27:27 -07:00
Emmett Lalish 40624329e6 updated getMesh JS binding (#252) 2022-10-20 09:15:34 -07:00
Emmett Lalish 3eae433537 Yet more JS examples (#251)
* added tet puzzle

* added scallop, updated smooth

* add missing file

* moved saved scripts to top of dropdown
2022-10-18 21:14:28 -07:00
Emmett Lalish 1fced6a33f fix deploy order (#250)
fix order
2022-10-16 23:37:14 -07:00
Emmett Lalish 89578ccb7a Torus Knot example (#249)
* added torusKnot

* save state

* update deploy

* remove shell script
2022-10-16 23:02:12 -07:00
Emmett Lalish d5b5f044f2 update workflows (#248) 2022-10-16 21:40:19 -07:00
Emmett Lalish 4ea17bced1 fix deploy script (#247) 2022-10-16 16:18:48 -07:00
Emmett Lalish 5be306bb7d reorganize gh-pages (#246)
reorganized gh-pages
2022-10-16 15:51:47 -07:00
Emmett Lalish b26ae27916 More examples (#244)
* better error handling and allow single polygons

* improved console logging

* added gyroidModule example

* fixed delete script
2022-10-14 08:53:46 -07:00
Emmett Lalish 667ae7fe75 Editor output info (#240)
* add missing icon

* added more stats
2022-10-12 08:33:30 -07:00
Emmett Lalish 2c750753a5 Add worker and the ability to cancel (#239)
* moved computations to worker

* fixed console logs

* fixed run at startup

* buttons should not be children of buttons!

* enabled cancel

* allow top and bottom view

* fixed reinitialization
2022-10-11 16:21:36 -07:00
pca006132 d15b8726c3 optimize collision detection (#235)
collider: improve performance

Reduces the number of atomic instructions needed and only perform
allocation once. This improves the performance for complicated models by
~10%.
2022-10-09 22:56:12 -07:00
Emmett Lalish bc83f65ba7 Wasm namespace (#236)
Made our API more discoverable in the editor
2022-10-09 16:11:59 -07:00
pca006132 3b00e9206a fixes collider data race (#234)
added fence for AtomicAdd
2022-10-09 12:56:24 -07:00
Emmett Lalish f2e3956770 Replaced warp example with heart (#232)
* fixed console overflow

* added heart example

* better saving

* better uniqueness

* make file button fixed width
2022-10-08 08:43:57 -07:00
Emmett Lalish d49de483ad Editor examples (#231)
* moved examples

* added examples

* addressing feedback
2022-10-07 00:42:49 -07:00
Emmett Lalish 4d01e46bd3 Editor console (#230)
* added console output

* fixed bounding box

* updated intro

* catch compile errors

* update intro again
2022-10-06 10:58:47 -07:00
Emmett Lalish 69a53f522a added mac to CI (#229)
* added mac to CI

* add mac parallel backends

* disable OMP for now
2022-10-06 08:59:09 -07:00
Emmett Lalish 022995a697 updated build info (#228)
* updated build info

* added cgal
2022-10-06 08:25:30 -07:00
pca006132 add3a04fae fixed csg_tree bugs (#226)
1. Due to the shared cache between op nodes, the children list can have
   only 1 child and the original code will access a dangling pointer.
2. Users may supply empty/singleton lists to BatchBoolean, which
   CsgOpNode cannot handle the empty case correctly.

The new test is for bug 1.
2022-10-04 07:53:41 -07:00
pca006132 a860854143 add missing js bindings (#224)
* export addFunction explicitly

* add missing js APIs

* fixed sdf

* made requested changes
2022-10-03 21:41:04 -07:00
Emmett Lalish 60697cc48a Editor save (#222)
* split editor files

* added loading poster

* added dropdown menu

* switching examples works

* autosave working

* state retrieval working

* rearrange code

* added edit buttons

* made delete function

* rename works
2022-09-30 00:08:06 -07:00
Emmett Lalish 3e61c1a156 WASM warp (#221)
* builds, doesn't run

* runs!

* addressing feedback
2022-09-27 08:51:51 -07:00
pca006132 3f33c919df expose batch boolean API to wasm (#220)
* expose batch boolean API

It is common to perform boolean operations on a set of meshes. This
batch boolean API allows faster operation in that case by avoiding
building up a complicated csg tree.

* expose batch boolean interface for wasm

This brings a 10x improvement to browser in some cases.
See #215 for discussion.

* record performance statistics for editor

So we can compare against other libraries easily, and users are able to
verify it without having to compile the whole library. Ideally we should
put this information in a console GUI, but printing to browser console
works for now.
2022-09-25 23:06:56 -07:00
pca006132andEmmett Lalish 8538cf5ee3 use compose for disjoint union (#217)
* use compose for disjoint union

Last mystery in #114. It turns out that the problem is due to
misunderstanding of the bounding box API: Box::Transform is *not* a safe
over-approximation of the bounding box of the manifold after the
transform. In fact it might be smaller than that if the transform is not
axis aligned. The simple fix is to apply the transform first and then
compute the bounding box, this will also make sure that the bounding box
is tight.

* fix batch union

Co-authored-by: Emmett Lalish <elalish@gmail.com>
2022-09-24 23:35:05 -07:00
pca006132andEmmett Lalish ae2ba3e323 python binding changes (#214)
* python documentation

* fixed error in readme

Co-authored-by: Emmett Lalish <elalish@gmail.com>
2022-09-24 23:07:43 -07:00
pca006132 975a6e6b4b free memory for js editor (#213)
* fixed js rotate binding

Rotate accepts three float args instead of 1 vec3 arg.

* free memory for js editor
2022-09-24 22:09:14 -07:00
Emmett Lalish b1b35395fa Editor updates (#212)
* simplification

* more functional binding

* added TS docs

* more docs
2022-09-23 08:38:13 -07:00
Emmett Lalish 31589d255c fix deploy and add favicon (#211) 2022-09-22 09:17:44 -07:00
Emmett Lalish 414c6e06be Editor UX updates (#210)
* UX updates and TS fix

* small refactor

* enable/disable run button

* improved responsive layout
2022-09-22 00:05:05 -07:00
pca006132 17f3751ae4 added monaco editor to model-viewer example (#208)
* add monaco editor page

* changed typescript bindings

* use modern js
2022-09-21 09:32:11 -07:00
pca006132 0e1ed721ba cache intermediate results (#199) (#206) 2022-09-20 08:14:11 -07:00
Emmett Lalish f6839a36e6 updated python exporter from meshio to trimesh (#204) 2022-09-18 16:34:20 -07:00
Emmett Lalish c38c2b6022 updated wasm examples (#203) 2022-09-18 15:44:37 -07:00
pca006132 3464a9ca4f updated js binding (#201)
* JS API changes

* wasm cmake changes

add the js binding file and configure dependencies properly

* updated model-viewer example

* remove three.js specific APIs

* removed getGeometry
2022-09-11 09:06:44 -07:00
Emmett Lalish 692dc69092 Doxygen updates (#200)
* added paper

* reorganized doxygen

* added debug module

* rename structs.h to public.h

* cleanup
2022-09-10 15:22:20 -07:00
Emmett Lalish cc62c2c9dc model-viewer WASM example (#198)
* added what will become the model-viewer example

* model-viewer working

* cleanup
2022-09-08 16:04:31 -07:00
Emmett Lalish fd1d42e96b Improve codecov metric (#195)
assimp failing
2022-09-06 10:16:15 -07:00
Emmett Lalish 2835e15a0e remove assimp submodule (#194)
* remove assimp submodule

* optionally compile meshIO

* fix nix
2022-09-06 09:31:20 -07:00
Emmett Lalish 73a53e0ff8 Removing export from python binding (#190)
* try python meshio

* removed meshIO dependency

* fixed to_mesh

* fix nix

* more nix fix
2022-09-05 09:29:28 -07:00
Emmett Lalish 405dd6373a Make MeshIO optional for tests (#189)
* replaced file-based testing

* conditionally link meshIO in tests

* fix wasm build
2022-09-04 11:52:05 -07:00
Emmett Lalish 11e58ea4d2 Adding SDF LevelSet (#187)
* polymorphic device functions working

* starting to flesh out algorithm

* getting closer

* fleshed out vert computation

* more progress

* BuildTris

* fixed some syntax

* updating to cpp

* added VecDc

* SDF compiles

* SDF runs

* fixed some bugs

* manifold output

* fixed out of memory bug

* flattened sides

* back to egg-crate

* works with CUDA too

* moved SDF

* Revert "moved SDF"

This reverts commit ba2348f38ed752d49eebdf14a73b5e1fd7a4827b.

* added gyroid sample

* added sdf_test

* added SDF tests

* tests pass

* updated gyroid_module

* fixed gyroid module

* added docs

* addressing feedback

* fix cuda detection

* clean up detect cuda

* fixed CUDA failure

* consistent execution policy in Boolean

* remove SDF wrapper class

* simplified tet logic

* use NeighborInside()

* optimized SDF

* moved RemoveUnreferencedVerts

* put printf statements behind MANIFOLD_DEBUG

* enable hashtable resize

* added test for hashtable resizing
2022-09-01 09:04:51 -07:00
pca006132 08598c045a re-enabled reordering (#171)
* re-enabled reordering

* fix test failures
2022-08-13 22:28:16 -07:00
Emmett Lalish 747dcd94bc Changed MeshRelation API (#184)
* cause repro

* added originalID to BaryRef

* make coverage check informational

* unique meshIDs for compose

* make AsOriginal decimate

* remove vscode properties from git

* update docs

* remove vertNormal handling

* Revert "remove vertNormal handling"

This reverts commit c92d590e4d23795504db9afb62eb45adb43d5308.

* alternative fix
2022-08-13 17:20:43 -07:00
Emmett Lalish 591b9e648d added east and west skipping to the triangulator (#182)
added east and west skipping
2022-08-07 21:48:04 -07:00
Emmett Lalish ae19d081f4 fixed triangulation bug (#180) 2022-08-07 12:07:09 -07:00
Emmett Lalish a08a9e7e51 Fixed duplicate edge handling (#179)
* better manifold checks

* fixed duplicate edge handling
2022-08-06 09:26:42 -07:00
Emmett Lalish bf2a9a84c1 Revert "use std if possible" (#175)
* Revert "use std if possible"

This reverts commit 1e1fcf2dad.

* cleanup
2022-08-04 10:57:50 -07:00
Emmett Lalish c0c00345e0 Merge pull request #170 from elalish/noExceptions
Make exceptions optional
2022-08-02 22:13:32 -07:00
Emmett Lalish e307662691 fix NAN test 2022-08-02 12:07:41 -07:00
Emmett Lalish 6fd20df42e added properties tests 2022-08-02 11:29:35 -07:00
Emmett Lalish b0a821efc0 added invalid input tests 2022-08-02 10:36:48 -07:00
Emmett Lalish f8a47865ec removed input assertions 2022-07-31 11:54:34 -07:00
Emmett Lalish 17fe0f7b7e finished statuses 2022-07-31 11:40:20 -07:00
Emmett Lalish 0030964eb8 status working 2022-07-31 11:03:10 -07:00
Emmett Lalish 3003160b9e starting an error status API 2022-07-30 13:16:11 -07:00
Emmett Lalish 5cd70ff695 tweak test precision 2022-07-30 10:25:04 -07:00
Emmett Lalish ce5d305491 string include 2022-07-30 10:13:32 -07:00
Emmett Lalish 986dbd529d fixed ASSERT problem 2022-07-30 10:03:02 -07:00
Emmett Lalish 449916bf70 pull assert macro out of public API 2022-07-28 12:28:25 -07:00
Emmett Lalish bdd9214aea forgot include 2022-07-28 11:54:03 -07:00
Emmett Lalish 7430e43f60 Merge branch 'master' of github.com:elalish/manifold into noExceptions 2022-07-28 11:40:45 -07:00
Emmett Lalish e3a791a44d cleanup 2022-07-28 11:40:39 -07:00
Emmett Lalish d7ecdd5fab exceptions optional 2022-07-28 11:00:13 -07:00
Emmett Lalish 2033bbf4d0 Merge pull request #166 from elalish/xDocker
remove docker image
2022-07-26 12:50:44 -07:00
Emmett Lalish 882468a0de remove docker image 2022-07-26 11:42:24 -07:00
Emmett Lalish a1382f247e Merge pull request #165 from elalish/cyclebug
fixed seg fault
2022-07-26 11:07:59 -07:00
Emmett Lalish e441e2e80b tighten Close test 2022-07-26 10:37:18 -07:00
Emmett Lalish b51b0cb0af fixed seg fault 2022-07-26 10:19:05 -07:00
Emmett Lalish f7dec8c653 Merge pull request #164 from elalish/wasmUpload2
try a different download action
2022-07-24 22:43:18 -07:00
Emmett Lalish 2db8c716ee try a different download action 2022-07-24 22:27:17 -07:00
Emmett Lalish 541a99d290 Merge pull request #163 from elalish/wasmUpload
deploy WASM
2022-07-24 21:57:29 -07:00
Emmett Lalish 0d9f4dadfb cleanup 2022-07-23 23:09:36 -07:00
Emmett Lalish feedcd82d4 deploy WASM 2022-07-23 23:04:35 -07:00
Emmett Lalish e9fc4018d5 Merge pull request #160 from elalish/exceptions
Make triangulator exceptions optional
2022-07-21 13:07:28 -07:00
Emmett Lalish 70e911e2f2 add OVERLAP_ASSERT 2022-07-21 12:13:55 -07:00
Emmett Lalish ca6daf0ecc refactored asserts 2022-07-21 11:01:32 -07:00
Emmett Lalish debe6b2c7f Merge pull request #149 from elalish/copyright
Copyright updates
2022-07-20 15:15:57 -07:00
Emmett Lalish a7584bc7d3 updated for new files 2022-07-20 15:01:03 -07:00
Emmett Lalish 4add644d76 merging master 2022-07-20 14:54:45 -07:00
Emmett Lalish 45d217b37a Merge pull request #157 from elalish/organize2
Reorganize Directories
2022-07-19 22:44:58 -07:00
Emmett Lalish 311ca75a21 actions format check 2022-07-19 22:31:08 -07:00
Emmett Lalish dd889d2b77 more path fixes 2022-07-19 22:08:53 -07:00
Emmett Lalish 63164bed95 fixing paths 2022-07-19 22:03:11 -07:00
Emmett Lalish 6cafc06970 updated diff path 2022-07-19 21:49:03 -07:00
Emmett Lalish 372f5170ec formatted bindings 2022-07-19 21:47:50 -07:00
Emmett Lalish 2098bc9d1f fix workflows 2022-07-19 21:40:36 -07:00
Emmett Lalish d404b26d7a examples adjustments 2022-07-19 21:28:38 -07:00
Emmett Lalish 5b182a243c fix build 2022-07-19 21:17:09 -07:00
Emmett Lalish 92bb83c9fd fixed some CMake stuff 2022-07-18 22:25:59 -07:00
Emmett Lalish 3b39bf2377 new directory structure 2022-07-18 22:01:03 -07:00
Emmett Lalish a149732fc7 Merge pull request #155 from makc/wasm
wasm
2022-07-17 22:26:39 -07:00
Emmett Lalish fc79b076f3 Merge branch 'master' into wasm 2022-07-17 22:09:41 -07:00
Emmett Lalish cea3d22e09 Merge pull request #154 from elalish/triangulatorPrecision
Triangulator robustness
2022-07-17 22:09:13 -07:00
pca006132 97bef24f2b fix build_nix (js) 2022-07-18 05:38:20 +02:00
makc b7a4502866 flat shading in 3js demo
https://user-images.githubusercontent.com/242577/179437300-2658856f-a105-4cdd-9a7c-be3535c26070.png
2022-07-18 04:36:02 +02:00
makc d23e5512f0 wasm bindings 2022-07-18 03:58:11 +02:00
Emmett Lalish e63e9b32e7 Merge branch 'triangulatorPrecision' of github.com:elalish/manifold into triangulatorPrecision 2022-07-17 12:14:00 -07:00
Emmett Lalish 1a7b603420 added docs 2022-07-17 12:13:45 -07:00
Emmett Lalish eceb966804 Merge branch 'master' into triangulatorPrecision 2022-07-17 11:55:50 -07:00
Emmett Lalish a6f714b2e6 fixed degenerate polygon triangulation and added tests 2022-07-17 11:38:25 -07:00
Emmett Lalish 35ffc7a704 fixed meshRelation in Dedupe 2022-07-17 10:21:18 -07:00
Emmett Lalish fce9adc5ff Merge branch 'master' into copyright 2022-07-17 09:20:19 -07:00
Emmett Lalish 6247784ca4 Merge pull request #153 from pca006132/thrust
misc changes for thrust
2022-07-17 09:20:00 -07:00
pca006132 873d8c6dc8 patch https://github.com/NVIDIA/thrust/issues/1743 2022-07-17 14:41:48 +08:00
pca006132 801b94a982 enable use of host constexpr in cuda 2022-07-17 14:41:48 +08:00
pca006132 1e1fcf2dad use std if possible 2022-07-17 14:41:48 +08:00
Emmett Lalish 15467456c8 merging master 2022-07-16 09:42:02 -07:00
Emmett Lalish bee3d08310 fixed bug, found others 2022-07-15 21:44:25 -07:00
Emmett Lalish 3a17c94262 Merge branch 'master' of github.com:elalish/manifold into copyright 2022-07-15 21:30:03 -07:00
Emmett Lalish 98f87f005e Merge pull request #152 from pca006132/precision
Precision calculation
2022-07-14 22:11:14 -07:00
pca006132 4e98c1adf5 added new precision test 2022-07-14 14:13:19 +08:00
pca006132 431656d676 change precision calculation 2022-07-14 14:12:58 +08:00
Emmett Lalish f6cf8f87dd Merge pull request #150 from pca006132/opt
use radix sort instead of merge sort
2022-07-13 08:19:21 -07:00
pca006132 d12d090b2b fix EM_CACHE 2022-07-12 20:39:27 +08:00
pca006132 efecc846ef update nix flake
use 22.05 and minimized cuda dependency
2022-07-12 20:12:42 +08:00
pca006132 f9a563bde5 formatting changes 2022-07-12 20:12:30 +08:00
Emmett Lalish b953396afc updated README 2022-07-11 10:49:58 -07:00
pca006132 c1998773f1 tiny optimization 2022-07-09 17:13:19 +08:00
Emmett Lalish c40adb1eff missed a few 2022-07-06 12:46:13 -07:00
Emmett Lalish 738d0fa050 switch copyright to authors 2022-07-06 12:42:00 -07:00
Emmett Lalish 9868a0e0c0 Merge pull request #147 from elalish/precisionTest
Adding a test
2022-07-05 10:30:59 -07:00
Emmett Lalish 389f4ba8f9 fix seg fault 2022-07-05 10:08:16 -07:00
Emmett Lalish 08a59fdca0 added test 2022-07-05 09:55:20 -07:00
Emmett Lalish aa5badd1ee Merge pull request #142 from elalish/coverage
disable branch coverage
2022-06-20 17:48:26 -07:00
Emmett Lalish c13ad5657e speed up CI 2022-06-20 17:31:51 -07:00
Emmett Lalish 3e5ab8eb0c revert cmake change 2022-06-20 17:02:03 -07:00
Emmett Lalish 870b94e172 fixed coverage 2022-06-20 16:12:03 -07:00
Emmett Lalish 3da4dfbde0 remove third_party coverage 2022-06-19 23:15:16 -07:00
Emmett Lalish 14e0dcbd89 disable branch coverage 2022-06-19 22:27:46 -07:00
Emmett Lalish 65b6057d2d Merge pull request #140 from pca006132/coverage
build script update
2022-06-19 10:23:19 -07:00
pca006132 8bb7aab137 only run code coverage for cpp backend 2022-06-18 18:12:50 +08:00
pca006132 02ae191ade actually running codecov 2022-06-18 16:49:50 +08:00
pca006132 efe2665352 try coverage info 2022-06-18 16:42:18 +08:00
pca006132 fa5e1fe5db build script update
Simplified build script by exposing compiler options as public in
utilities, so we don't have to repeat them in collider/manifold.
Use file glob instead of adding source files one by one, so we don't
have to change the cmake script to add more source files later.
2022-06-18 16:17:13 +08:00
Emmett Lalish 999a035b69 Merge pull request #131 from pca006132/lazy-boolean
Lazy boolean
2022-06-12 21:49:08 -07:00
pca006132 819739825b cleanup 2022-06-12 21:07:45 +08:00
pca006132 90a4b2205e fixed compilation errors 2022-06-11 23:45:10 +08:00
pca006132 e115f5e519 fix cmake error 2022-06-11 22:23:32 +08:00
pca006132 ecd93294af csg_tree: disabled reordering 2022-06-11 22:02:05 +08:00
pca006132 ecb6b97d38 added license to csg_tree.cpp 2022-06-06 23:37:46 +08:00
pca006132 c07f2b44a5 Merge remote-tracking branch 'upstream/master' into lazy-boolean 2022-06-06 07:30:18 +08:00
Emmett Lalish ed272b05b0 Merge pull request #137 from elalish/infiniteLoop
Fixed edge collapse
2022-06-05 13:21:17 -07:00
Emmett Lalish 7023d2b1b7 revert early attempt 2022-06-05 13:03:09 -07:00
Emmett Lalish 1da7f6a75b added another test 2022-06-05 12:36:34 -07:00
Emmett Lalish b7a5d532e2 Added DedupeEdge 2022-06-05 12:20:25 -07:00
Emmett Lalish b567441192 merging master 2022-06-05 09:26:29 -07:00
pca006132 3baf39cb24 faster clang-format check
so it becomes not noticeable when running in precommit hook
2022-06-05 22:30:23 +08:00
pca006132 5bf95d6402 renamed SetAsOriginal to AsOriginal 2022-06-05 22:25:34 +08:00
pca006132 b36d08b3ca flatten the tree on the fly if possible 2022-06-05 22:17:42 +08:00
pca006132 2b601ea831 fixed perf_test error 2022-06-05 22:05:18 +08:00
pca006132 573adb62d5 fixed precision bug for compose/decompose 2022-06-05 22:05:18 +08:00
pca006132 16b11838f2 removed ApplyTransform 2022-06-05 22:05:18 +08:00
pca006132 c7de23412c disabled CI for draft PRs 2022-06-05 22:05:18 +08:00
pca006132 9c55fb932e test updates 2022-06-05 22:05:18 +08:00
pca006132 817e34b187 every manifold operation now returns a new manifold object 2022-06-05 21:59:37 +08:00
pca006132 a40fe42023 lazy boolean implementation 2022-06-05 21:57:26 +08:00
pca006132 4a21b58aa0 moved transform_ from Impl to Manifold
This allows lazy-boolean to reuse Imp for meshes with different
transformations.
2022-06-05 21:56:08 +08:00
Emmett Lalish cfae8694d2 Merge pull request #132 from pca006132/clang-format
clang-format
2022-06-04 21:58:47 -07:00
pca006132 0601a0e93d added clang-format CI check 2022-06-04 23:35:00 +08:00
pca006132 97b0b9f7d0 applied clang-format 2022-06-04 23:25:50 +08:00
pca006132 fd250cde87 added .clang-format 2022-06-04 23:25:39 +08:00
Emmett Lalish d76f0ae3da Merge pull request #113 from pca006132/pybind11
python binding
2022-06-03 08:48:08 -07:00
pca006132 0fc2151806 CI: use libpython3-dev as python3 dependency 2022-06-03 19:23:41 +08:00
pca006132 0292ed5c32 Merge remote-tracking branch 'upstream/master' into pybind11 2022-06-03 15:35:09 +08:00
Emmett Lalish 359774115a removed CreateAndFixHalfedges 2022-06-02 22:38:19 -07:00
Emmett Lalish d1e71eb076 Merge pull request #126 from pca006132/dynamic-backend
dynamic backend implementation
2022-06-02 22:20:08 -07:00
Emmett Lalish 25c45cf99e Merge branch 'master' of github.com:elalish/manifold into infiniteLoop 2022-06-01 22:28:02 -07:00
Emmett Lalish 6f89c5974c updated cylinder test 2022-06-01 22:26:33 -07:00
pca006132 452cca961a relaxed NumDegenerateTris for Boolean.Gyroid 2022-06-02 12:15:40 +08:00
pca006132 be6dd1805b clean up dynamic-backend 2022-06-02 12:15:06 +08:00
pca006132 acb3cfe675 removed use of __builtin_expect and __builtin_unreachable
as MSVC does not support them and we don't really need to use these.
2022-06-01 20:11:18 +08:00
pca006132 fcbb364b43 fix Windows CI 2022-06-01 14:29:54 +08:00
pca006132 d4ec0485c2 CI updates 2022-06-01 14:01:21 +08:00
pca006132 a5d8b0c74f parallel backend settings 2022-06-01 13:54:13 +08:00
pca006132 b1862224e8 Merge remote-tracking branch 'upstream/master' into dynamic-backend 2022-06-01 11:06:27 +08:00
Emmett Lalish 5d25c9c8c5 Merge pull request #125 from pca006132/thread-safety
Thread safety
2022-05-31 09:31:51 -07:00
pca006132 bc7f8dc992 build tbb on CI 2022-05-31 15:29:42 +08:00
pca006132 7d19d389fe fixed todo 2022-05-31 15:20:47 +08:00
pca006132 93135d94fc documentation update 2022-05-31 15:19:20 +08:00
pca006132 1d7f22dc57 added UpdateMeshIDs method to Manifold::Impl 2022-05-31 15:15:09 +08:00
pca006132 c6f4d9d181 cmake fix 2022-05-30 21:23:45 +08:00
pca006132 dd931fcb72 dynamic backend implementation 2022-05-30 20:31:03 +08:00
pca006132 5ef76f684c removed originalID from public API
... at the expense of the internal code becoming a bit less intuitive.
The meshID in the internal API is purely internal, usually starting from
0, which is used for differentiating between triangles coming from
different meshes. originalID can map this internal meshID to the
external meshID, and such mapping is automatically done when calling
`GetMeshRelation`, so users don't have to care about this mapping.

As a bonus, we don't need to deal with atomics when manipulating meshIDs
internally: we can use whatever IDs we want as long as the mapping is
preserved and distinct for triangles coming from different meshes.
I also made the meshID modification code run in the device, which should
be faster for larger meshes.
2022-05-28 23:17:28 +08:00
pca006132 d4be350e5c faster ASSIMP build
Disabled most of the importer/exporter formats by default, for faster
development and CI.

Note that you may need to CMakeCache.txt for this to take effect, as the
options might be cached.
2022-05-28 22:26:51 +08:00
pca006132 bd48946ce1 meshID update
Removed static vector for thread safety. Accessing the original mesh ID
can now be done by `originalID[meshID]`, where `originalID` is a field
of `MeshRelation`. Note that `meshID` will not be updated when a
manifold is cloned. Instead, it is only used to identify triangles
coming from different manifolds when doing boolean operations/compose.
2022-05-28 22:23:37 +08:00
pca006132 2c1b52c58e tbb 2022-05-19 09:55:52 +08:00
Emmett Lalish f7f4d09f1a Merge branch 'master' of github.com:elalish/manifold into infiniteLoop 2022-05-16 23:58:55 -07:00
Emmett Lalish a7791d09b6 Merge pull request #124 from elalish/overflow
Fix test overflow
2022-05-16 23:49:32 -07:00
Emmett Lalish 9648d32182 testing 2022-05-16 23:46:08 -07:00
Emmett Lalish 3545a49e0f nits from last PR 2022-05-16 23:30:48 -07:00
Emmett Lalish c33bf99096 Merge branch 'master' of github.com:elalish/manifold into overflow 2022-05-16 23:28:46 -07:00
Emmett Lalish bfc8e5c30f Merge pull request #121 from pca006132/universal-vector
universal vector
2022-05-16 23:27:28 -07:00
pca006132 d229f5f2f6 fixed removed cache 2022-05-17 13:47:00 +08:00
Emmett Lalish 8c73a647cb removed a mesh import 2022-05-16 22:34:44 -07:00
Emmett Lalish 9c32052a37 add conditional export 2022-05-16 22:20:31 -07:00
Emmett Lalish 5f822a6533 fixed underflow 2022-05-16 22:15:15 -07:00
pca006132 2a861984b8 Merge branch 'master' into universal-vector 2022-05-16 15:02:19 +08:00
pca006132 dbbcdbbd49 vec_dh cleanup 2022-05-16 14:34:26 +08:00
Emmett Lalish 8f21bc5810 Merge pull request #122 from elalish/tests
Test updates
2022-05-15 22:43:50 -07:00
Emmett Lalish 56878f9925 more precision space for CUDA 2022-05-15 22:01:31 -07:00
Emmett Lalish b4749542d3 added infinite loop test 2022-05-15 21:57:50 -07:00
Emmett Lalish 4077aced41 disabled determinism test 2022-05-15 21:42:55 -07:00
pca006132 c31683618e universal vector 2022-05-15 20:07:05 +08:00
pca006132 03f670783c python naming convention 2022-05-13 23:03:44 +08:00
pca006132 3856fc6aba fix and added new function bindings 2022-05-13 22:33:45 +08:00
pca006132 6db6a19e6c python binding: default parameters 2022-05-13 01:07:25 +08:00
pca006132 8eb63ee39c github action: added python3 dependency 2022-05-13 01:04:53 +08:00
pca006132 90dc3547f6 nix flakes test 2022-05-13 01:04:53 +08:00
pca006132 5b940b8229 added python binding tests
the model outputs are not yet tested
2022-05-13 01:04:53 +08:00
pca006132 fb0ec3493d added python binding 2022-05-13 00:44:46 +08:00
Emmett Lalish fadad776b9 Merge pull request #111 from pca006132/windows
windows compatibility
2022-05-12 09:26:57 -07:00
pca006132 ddf70afcc1 perhaps github action OOMed? 2022-05-12 23:45:51 +08:00
pca006132 c3688de36e disable windows CUDA build 2022-05-12 23:06:47 +08:00
pca006132 5076f4009c fix DISABLED_DETERMINISM 2022-05-12 23:06:17 +08:00
pca006132 c4a36d0d57 try nix flakes 2022-05-12 22:45:48 +08:00
pca006132 b43e8c2e17 try fixing windows build 2022-05-12 22:45:48 +08:00
pca006132 17c4dc44c9 try windows build again 2022-05-12 00:02:51 +08:00
pca006132 3443ded1de msvc compatibility
It seems that msvc does not like alternatife operators and getopt.
2022-05-11 23:59:56 +08:00
Emmett Lalish 48d51b62b4 Merge pull request #106 from pca006132/optimizations
Optimizations
2022-05-10 21:40:43 -07:00
pca006132 25e7bf77f3 reduce code duplication 2022-05-11 00:13:41 +08:00
pca006132 f940fe9471 collider: resize faster 2022-05-11 00:08:46 +08:00
Emmett Lalish c5c533510d Merge branch 'master' into optimizations 2022-05-10 08:35:00 -07:00
Emmett Lalish 0c22c562a6 Merge pull request #108 from elalish/gtest
updated submodule
2022-05-10 08:33:18 -07:00
pca006132 42b46f0d08 fixed sprase indices resize 2022-05-10 23:05:21 +08:00
pca006132 02ce2b49d4 collider: reduced initial max size 2022-05-10 22:56:38 +08:00
pca006132 1f1b608da2 avoid using std::map for 3/4 edge cases 2022-05-10 22:56:38 +08:00
Emmett Lalish ce963d3748 updated submodule 2022-05-09 22:38:33 -07:00
pca006132 a39f4fd8aa use std::move to avoid copying 2022-05-10 00:36:59 +08:00
Emmett Lalish 88ed9d406c Merge pull request #103 from pca006132/emscripten
build script refactoring
2022-05-09 08:40:08 -07:00
pca006132 20c83d03f2 comment out assertion in CUDA code 2022-05-09 13:57:25 +08:00
pca006132 5d7f29c836 disabled windows CI for now 2022-05-08 21:56:13 +08:00
pca006132 798aeb806a try fix windows 2022-05-08 21:56:13 +08:00
pca006132 e16ef19ce4 fixed warnings
For boolean3.cpp, I am not sure if those `shadow` variables should be
initialized to 0.
2022-05-08 20:45:13 +08:00
pca006132 14d6a6d917 updated github actions 2022-05-08 20:45:13 +08:00
pca006132 5471fc19aa build script updates 2022-05-08 15:49:51 +08:00
pca006132 4d84ebf172 fixed build failure 2022-05-08 14:53:14 +08:00
pca006132 e8010cac2d update action
use single thread build to reduce memory consumption for CI
2022-05-07 16:54:29 +08:00
pca006132 09f4105007 updated GitHub action 2022-05-07 15:40:18 +08:00
pca006132 8929136f30 build script cleanup 2022-05-07 15:40:03 +08:00
pca006132 d210dba8eb moved google_test to submodule 2022-05-07 15:03:56 +08:00
pca006132 97aa92940f disabled determinism test for emscripten 2022-05-05 17:13:16 +08:00
pca006132 58432afcb7 github action 2022-05-05 17:13:06 +08:00
pca006132 76d07120b1 refactored for emscripten 2022-05-05 17:12:55 +08:00
Emmett Lalish ec8d3d14a3 Merge pull request #97 from elalish/apollo
apollo model
2022-04-24 22:08:24 -07:00
Emmett Lalish 4708cc8744 another poster 2022-04-24 21:51:40 -07:00
Emmett Lalish 4cd06cae1e apollo model 2022-04-24 21:32:36 -07:00
Emmett Lalish 0453418371 Merge pull request #93 from fire/godot-patches
Godot patches
2022-04-21 09:48:22 -07:00
K. S. Ernest (iFire) Lee c8e5b28651 Remainder Graphlite changes for use in Godot Engine. 2022-04-21 09:25:15 -07:00
Emmett Lalish fd72eb9f12 Merge pull request #92 from elalish/graphlite
Replace boost::graph with graphlite
2022-04-20 23:56:30 -07:00
Emmett Lalish 68f9f14cf9 added graphlite commit hash 2022-04-20 23:43:19 -07:00
Emmett Lalish 8e17e6c8ba added header 2022-04-20 23:24:23 -07:00
Emmett Lalish 5b55be9b5e removed boost 2022-04-20 23:11:04 -07:00
Emmett Lalish 5ff0a177e8 simplified connected components 2022-04-20 22:50:37 -07:00
Emmett Lalish dc1d849e32 Merge branch 'master' of github.com:elalish/manifold into graphlite 2022-04-20 07:45:59 -07:00
Emmett Lalish 138801688c Merge pull request #94 from elalish/cpp17
updated cu internals to c++17
2022-04-20 07:44:59 -07:00
Emmett Lalish 390560ea5c try a different action 2022-04-19 23:35:24 -07:00
Emmett Lalish 25964648bc try an action 2022-04-19 23:31:33 -07:00
Emmett Lalish 569149f248 try some more 2022-04-19 23:25:35 -07:00
Emmett Lalish 07e3acc522 try again 2022-04-19 23:18:14 -07:00
Emmett Lalish bf76b21190 rearrange 2022-04-19 23:13:18 -07:00
Emmett Lalish e04cc9ac01 add pubkey 2022-04-19 23:02:20 -07:00
Emmett Lalish e05f6ffbf3 fix sudo 2022-04-19 22:57:51 -07:00
Emmett Lalish 44321662a4 update cmake version 2022-04-19 22:49:27 -07:00
Emmett Lalish a5c90055dc updated CI CUDA version 2022-04-19 22:30:16 -07:00
Emmett Lalish 33a2d5a607 updated cu internals to c++17 2022-04-19 22:21:34 -07:00
Emmett Lalish 92bb669888 Merge pull request #88 from yetigit/vs
windows compatibility support
2022-04-19 08:48:12 -07:00
Emmett Lalish f09390a10d Merge branch 'master' into vs 2022-04-19 08:35:50 -07:00
Emmett Lalish 3ff256241a minor update 2022-04-17 23:17:30 -07:00
Emmett Lalish aebba6ab17 added graphlite 2022-04-17 22:51:53 -07:00
yetigit b65b445f43 reset this file to its original state (no path problems anymore) 2022-04-14 13:22:44 +02:00
Emmett Lalish 4dc825761a Merge pull request #90 from elalish/scallop2
command-line arguments for tests
2022-03-21 22:27:30 -07:00
Emmett Lalish d257f848ef command-line arguments for tests 2022-03-21 22:08:21 -07:00
Emmett Lalish 2de7344fb7 Merge pull request #89 from elalish/scallop
updated and deployed scallop models
2022-03-20 00:01:34 -07:00
Emmett Lalish c0f92acdf8 cleanup 2022-03-19 23:45:30 -07:00
Emmett Lalish 88dd84890b add sample export flag to tests 2022-03-19 23:21:49 -07:00
Emmett Lalish f55be52d93 updated and deployed scallop models 2022-03-19 23:15:47 -07:00
yetigit 3dc6c692c7 windows compatibility support 2022-03-16 19:48:43 +01:00
Emmett Lalish e3b9dd2402 Merge pull request #84 from ochafik/perf_test_cgal
Add CGAL corefinement perf test
2022-03-07 23:20:37 -08:00
Olivier Chafik 0588106ed1 Added missing bits to compile perfTestCGAL 2022-03-08 01:35:23 +00:00
Olivier Chafik 1a27e56fd4 Add CGAL corefinement perf test
In C++ monothreaded mode and still on that limited microbenchmark, Manifold union seems 2.3x faster than corefinement for big meshes, but otherwise corefinement still has an edge on smaller meshes and on differences.
2022-03-08 00:54:56 +00:00
Emmett Lalish 3e92f47c89 Merge pull request #83 from elalish/samplesDocs
Lots more docs
2022-03-06 22:05:31 -08:00
Emmett Lalish eb3776343e update README 2022-03-06 21:20:08 -08:00
Emmett Lalish 7c3ee99161 forgot a few details 2022-03-06 17:11:22 -08:00
Emmett Lalish 9d7c31ae68 lots more docs 2022-03-06 16:55:37 -08:00
Emmett Lalish f1fad2f60d Merge pull request #82 from elalish/docsUpdate
added Manifold class docs
2022-03-06 12:54:27 -08:00
Emmett Lalish 474073f58a Merge branch 'master' into docsUpdate 2022-03-05 23:37:18 -08:00
Emmett Lalish 24de66974b Merge pull request #80 from virtualritz/patch-1
Add clarification of face arity
2022-03-05 23:37:02 -08:00
Emmett Lalish 849c101356 Merge branch 'master' into patch-1 2022-03-05 23:24:50 -08:00
Emmett Lalish 7e1a09638b added Manifold class docs 2022-03-05 23:24:12 -08:00
Emmett Lalish 68471278d7 Merge pull request #81 from elalish/improveIO
Improve I/O
2022-03-05 13:52:23 -08:00
Emmett Lalish 2166fbbde8 added docs 2022-03-05 13:37:59 -08:00
Emmett Lalish cc54247510 added perf posters 2022-03-05 13:08:31 -08:00
Emmett Lalish 447bb8e208 manifold throws for non-manifold input 2022-03-05 13:06:59 -08:00
Moritz Mœller e0f9daeb29 Update README.md 2022-03-02 19:17:51 +01:00
Moritz Mœller c112f4ede8 Add clarification of face arity. 2022-03-02 18:58:16 +01:00
Emmett Lalish 9c84e57d24 Merge pull request #72 from elalish/moreDocs
More docs
2022-02-27 16:46:21 -08:00
Emmett Lalish bb20b8254a added posters and box docs 2022-02-27 16:23:45 -08:00
Emmett Lalish 826162068f organizing 2022-02-26 11:54:37 -08:00
Emmett Lalish a3ad27f3d8 Merge pull request #71 from elalish/docsUpdates
Docs updates
2022-02-22 23:44:56 -08:00
Emmett Lalish 6ebdc756ef added models 2022-02-22 23:29:35 -08:00
Emmett Lalish 656bd3b9d9 link to doxygen 2022-02-22 22:26:02 -08:00
Emmett Lalish ac87d42eba Merge pull request #70 from elalish/deployFix4
switch deploy order
2022-02-21 23:51:47 -08:00
Emmett Lalish db4688d22f switch order 2022-02-21 23:37:54 -08:00
Emmett Lalish 2ac674540d Merge pull request #69 from elalish/deployFix3
deploy directory permissions
2022-02-21 23:29:58 -08:00
Emmett Lalish f6620c592c directory permissions 2022-02-21 23:16:54 -08:00
Emmett Lalish 3348cdec92 Merge pull request #68 from elalish/deployFix2
deploy to docs folder
2022-02-21 23:10:45 -08:00
Emmett Lalish 36a16ba051 deploy to docs folder 2022-02-21 22:58:33 -08:00
Emmett Lalish eeaca5c17e Merge pull request #67 from elalish/deployFix
Deploy fix
2022-02-21 22:41:46 -08:00
Emmett Lalish 7080173f30 fixed root path 2022-02-21 22:27:07 -08:00
Emmett Lalish bab5282969 make executable 2022-02-21 22:21:26 -08:00
Emmett Lalish a4b5d7a389 Merge pull request #66 from elalish/doxyFix
Fix Doxygen
2022-02-21 22:13:29 -08:00
Emmett Lalish d3367d7a24 relative paths 2022-02-21 21:59:37 -08:00
Emmett Lalish 588fc12d7c Merge pull request #65 from elalish/doxygen
Add Doxygen
2022-02-21 21:47:28 -08:00
Emmett Lalish fe8871122f fix comment placement 2022-02-21 21:32:50 -08:00
Emmett Lalish 3a1877e69f added deploy action 2022-02-21 21:24:04 -08:00
Emmett Lalish 50a27f1186 better grouping 2022-02-21 15:40:17 -08:00
Emmett Lalish 3641b07806 more modules 2022-02-21 14:44:15 -08:00
Emmett Lalish 8a1ca5e389 reverted extra namespaces in favor or doxy modules 2022-02-21 14:23:11 -08:00
Emmett Lalish f2731443cd better struct hierarchy 2022-02-21 12:17:18 -08:00
Emmett Lalish 7db12dc944 added internal namespace 2022-02-21 11:31:08 -08:00
Emmett Lalish 52ed27a876 added Doxyfile 2022-02-21 10:30:32 -08:00
Emmett Lalish 7275f15456 Merge pull request #64 from elalish/pages
adding sponge GLBs
2022-02-20 21:37:10 -08:00
Emmett Lalish 5c3e6028de adding sponge GLBs 2022-02-20 21:19:53 -08:00
Emmett Lalish 0d999d5ce1 Merge pull request #63 from elalish/elalish-patch-1
Update README.md
2022-02-17 21:43:33 -08:00
Emmett Lalish 310a394738 Update README.md 2022-02-16 19:35:09 -08:00
Emmett Lalish 8477192b5e Merge pull request #62 from elalish/connectedRelations
Connected relations
2022-01-30 10:52:50 -08:00
Emmett Lalish 332bf06504 rename BaryRef.face to .tri 2022-01-30 10:31:47 -08:00
Emmett Lalish 6b73c2cab3 fixed two bugs 2022-01-27 23:21:05 -08:00
Emmett Lalish 667ba1cca2 fixed bugs, added test 2022-01-24 21:58:28 -08:00
Emmett Lalish 8e489fe274 updated tests 2022-01-16 10:29:16 -08:00
Emmett Lalish 5f03438127 Switched to connected components for initializing reference 2022-01-16 10:15:25 -08:00
Emmett Lalish f393ddc5f7 Merge pull request #61 from elalish/fixes
Account for mesh properties
2022-01-11 21:37:57 -08:00
Emmett Lalish 26a0d9ae96 fixed Coplanar test 2021-12-26 13:07:39 -08:00
Emmett Lalish 15569f239f fixed some bugs 2021-12-26 11:53:10 -08:00
Emmett Lalish fa1b34e955 removed circShift 2021-12-26 10:05:36 -08:00
Emmett Lalish 0b9391f276 removed verts from BaryRef 2021-12-22 23:09:45 -08:00
Emmett Lalish 1346241bd2 lambdas working; need to update BaryRef 2021-12-20 23:00:59 -08:00
Emmett Lalish 50fcf4185a fixed device lambda 2021-12-19 16:43:32 -08:00
Emmett Lalish 14ce686339 fixed non-device lambda 2021-12-19 15:02:31 -08:00
Emmett Lalish 3a0d708682 added properties framework 2021-12-17 12:12:17 -08:00
Emmett Lalish 68359ea3af refactored shared from utils 2021-12-09 21:23:08 -08:00
Emmett Lalish 4fddee2343 removed extra degenerate checks 2021-11-01 21:45:05 -07:00
Emmett Lalish c59ff0f881 robustified barycentric inverse 2021-10-23 22:15:23 -07:00
Emmett Lalish cef85a35dc fixed negative index 2021-10-22 22:15:30 -07:00
Emmett Lalish 2a5e3867bd Merge pull request #59 from elalish/rename
Refactor into separate files
2021-10-22 12:55:37 -07:00
Emmett Lalish dc9d3589eb factored out boolean_result 2021-10-22 10:48:51 -07:00
Emmett Lalish 12f71054f2 factored out sort 2021-10-22 10:11:06 -07:00
Emmett Lalish 96c5ecd0a6 factored out properties 2021-10-22 09:52:58 -07:00
Emmett Lalish e82cc7449f factored out face_op 2021-10-22 09:42:58 -07:00
Emmett Lalish 91187e141e factored out smoothing 2021-10-22 09:30:53 -07:00
Emmett Lalish 09c5bca8fe factored out edge_op 2021-10-22 09:13:34 -07:00
Emmett Lalish 4624f4f3d5 merging master 2021-10-22 08:58:11 -07:00
Emmett Lalish 5cd08a66eb Merge pull request #60 from elalish/edgeSwap
Edge swap for degenerate triangle removal
2021-10-19 21:56:34 -07:00
Emmett Lalish 3658d8a2f4 cleanup 2021-10-18 22:55:13 -07:00
Emmett Lalish 96996b5a5b Add more mesh relation tests 2021-10-18 22:32:12 -07:00
Emmett Lalish 816c0f0802 count degenerates to pass tests 2021-10-18 21:51:52 -07:00
Emmett Lalish babf6fe2c3 fixed some degenerate removal 2021-10-12 22:41:29 -07:00
Emmett Lalish 01cd163f9d coplanar face relations 2021-10-06 15:02:00 -07:00
Emmett Lalish f7ac1d2254 fixed vert ordering in relation 2021-09-29 21:24:56 -07:00
Emmett Lalish e917321df0 meshRelation updated from tri to face relation 2021-09-12 09:28:40 -07:00
Emmett Lalish b5f105c921 added normals testing 2021-09-10 22:11:31 -07:00
Emmett Lalish 1a4a120857 fixed normals 2021-09-09 23:06:09 -07:00
Emmett Lalish e7e8a3ed23 fixed some bugs, but not rid of all degenerate tris yet 2021-09-01 22:21:01 -07:00
Emmett Lalish cb3f462d83 fixed several bugs 2021-08-30 18:11:52 -07:00
Emmett Lalish b96c6cc6ea refactored edge swap 2021-08-29 16:51:28 -07:00
Emmett Lalish fd7e957031 collapsing redundant edges 2021-08-22 22:13:33 -07:00
Emmett Lalish 601ab69455 merging master 2021-08-17 18:07:03 -07:00
Emmett Lalish 8ff5879be9 rename to impl 2021-08-14 23:41:21 -07:00
Emmett Lalish 7d1922b855 refactored files 2021-08-14 23:24:22 -07:00
Emmett Lalish 2813ee8fce rename two APIs 2021-08-14 22:52:11 -07:00
Emmett Lalish 4558dbf245 Merge pull request #58 from elalish/originalRelation
meshRelation to input meshes
2021-08-14 22:47:20 -07:00
Emmett Lalish 6bccf0fd84 added tests, changed SetOriginal API from static 2021-08-14 22:29:13 -07:00
Emmett Lalish 9bc29f3cc4 added tests, fixed bugs 2021-08-14 16:52:34 -07:00
Emmett Lalish 97876fc704 finished plumbing meshRelation through boolean 2021-08-12 21:18:27 -07:00
Emmett Lalish 7742405576 converting halfedgeRef to triBary 2021-08-10 22:48:25 -07:00
Emmett Lalish eb96d15e12 fixed inclusion bug 2021-08-09 22:59:47 -07:00
Emmett Lalish 2365717799 fixed several bugs 2021-08-09 22:44:20 -07:00
Emmett Lalish 41c6dde605 meshRelation in Boolean, but not Face2Tri yet 2021-08-07 23:27:42 -07:00
Emmett Lalish 058b35f077 plumbed meshRelation through Compose and Decompose 2021-08-01 12:25:12 -07:00
Emmett Lalish a69bd9fbae added setOriginal 2021-08-01 11:46:42 -07:00
Emmett Lalish 8e2d27949c removed lambda to fix CUDA compile 2021-08-01 11:28:17 -07:00
Emmett Lalish d0c3bfd251 added duplication and original reference 2021-07-31 23:34:38 -07:00
Emmett Lalish aafd845acc added MeshIDs and tightened testing 2021-07-31 22:38:27 -07:00
Emmett Lalish d85fdc58e1 fixed subdivide bug 2021-07-31 22:04:07 -07:00
Emmett Lalish d877c58cf4 starting to refactor meshRelation 2021-07-21 23:45:06 -07:00
Emmett Lalish 1932620c94 minor update 2021-07-18 21:40:26 -07:00
Emmett Lalish d13d5a4aa9 cleanup 2021-07-18 11:50:51 -07:00
Emmett Lalish e48c9638bb fixed segFault 2021-07-18 11:42:03 -07:00
Emmett Lalish cb0ee2d139 merging master 2021-07-17 12:06:39 -07:00
Emmett Lalish 5e9d7d4dbe tests mostly passing 2021-07-17 11:41:47 -07:00
Emmett Lalish f671a5fe98 Merge pull request #57 from elalish/moreTests
Adding tests
2021-07-10 09:55:43 -07:00
Emmett Lalish 193241a812 cleanup 2021-07-06 00:11:57 -07:00
Emmett Lalish 706d091347 added test of spherical approximation 2021-07-06 00:05:09 -07:00
Emmett Lalish d9ee3bbcc2 fixed Transform 2021-07-05 22:36:07 -07:00
Emmett Lalish 99b2ef2990 Merge pull request #56 from elalish/curvature
Calculate curvature
2021-07-05 16:20:48 -07:00
Emmett Lalish c4524f7f98 added docs 2021-07-05 16:03:45 -07:00
Emmett Lalish 777da43639 added curvature test 2021-07-05 15:46:11 -07:00
Emmett Lalish 9fb2d735f4 added GetCurvature 2021-07-04 22:56:37 -07:00
Emmett Lalish f8263aecfd cleanup structs 2021-07-04 17:13:24 -07:00
Emmett Lalish f2139385d2 Merge pull request #55 from elalish/sharpen
Selectively sharpened edges
2021-07-04 11:30:56 -07:00
Emmett Lalish e886e1221e example update 2021-07-04 11:21:55 -07:00
Emmett Lalish c5aee121c9 updated docs 2021-07-04 11:13:10 -07:00
Emmett Lalish 0d0f4138fc added scallop example and fixed sorting 2021-07-04 10:19:03 -07:00
Emmett Lalish c830a5b07e compiles 2021-07-03 11:46:12 -07:00
Emmett Lalish 3f871c2960 removed distribute verts 2021-06-26 20:07:18 -07:00
Emmett Lalish 15005f2883 fixed GPU bug 2021-06-26 19:57:10 -07:00
Emmett Lalish 688ed4d768 Merge pull request #54 from elalish/advancedSmoothing
Advanced smoothing
2021-06-26 15:55:20 -07:00
Emmett Lalish 1077c2e757 fixed distribution of tangents 2021-06-26 15:30:28 -07:00
Emmett Lalish 6c3474c2af fixing tangent creation 2021-06-21 22:51:04 -07:00
Emmett Lalish 9ab4e17d7c distribute edges 2021-06-21 12:56:28 -07:00
Emmett Lalish 973df0e5af refactor into impl 2021-06-20 22:48:55 -07:00
Emmett Lalish 8becb3d605 squared weighting 2021-06-14 22:56:00 -07:00
Emmett Lalish d7d4a64e8d added vertex color export 2021-06-14 17:11:32 -07:00
Emmett Lalish 860ce567ac added material export 2021-06-14 16:28:56 -07:00
Emmett Lalish bbec71d7ff handle zero-length tangents 2021-06-14 13:03:11 -07:00
Emmett Lalish 1c833d09fa halfedgeBezier => halfedgeTangent 2021-06-14 12:04:21 -07:00
Emmett Lalish 23297858f3 remove Octahedron constructor 2021-06-14 11:07:47 -07:00
Emmett Lalish 24b0f5c889 Merge pull request #53 from elalish/curvedTriangles
Curved triangles
2021-06-09 22:29:41 -07:00
Emmett Lalish aae6fce62d cleanup 2021-06-09 22:01:10 -07:00
Emmett Lalish 03d3a1a6c6 added options struct 2021-06-09 21:30:30 -07:00
Emmett Lalish 2e17c87b25 Smooth working 2021-06-06 15:19:33 -07:00
Emmett Lalish b49d48a5b8 updated GatherFaces 2021-06-05 22:45:57 -07:00
Emmett Lalish 5b74d98f65 added Refine and MeshRelation 2021-06-05 21:27:11 -07:00
Emmett Lalish ab27ab3cce Merge pull request #52 from elalish/tetPuzzleSample
Tet puzzle sample
2021-05-14 22:19:27 -07:00
Emmett Lalish 1d7518b579 Merge branch 'tetPuzzleSample' of github.com:elalish/manifold into tetPuzzleSample 2021-05-14 22:04:28 -07:00
Emmett Lalish a6dc2560bd only export glTF as Y-up 2021-05-14 22:04:07 -07:00
Emmett Lalish f356cc2ce0 Merge branch 'master' into tetPuzzleSample 2021-05-13 23:46:52 -07:00
Emmett Lalish 6d58001119 added RotateUp 2021-05-13 23:44:38 -07:00
Emmett Lalish 668e01d213 added tet puzzle sample 2021-05-13 22:49:49 -07:00
Emmett Lalish 46836aa485 Merge pull request #51 from elalish/trimByPlane
Trim by plane
2021-05-13 22:19:53 -07:00
Emmett Lalish f190a31b73 updated copyright dates 2021-05-13 21:48:19 -07:00
Emmett Lalish ed4e6abb64 added TrimByPlane 2021-05-13 21:28:40 -07:00
Emmett Lalish 3b19662588 Merge pull request #50 from elalish/precision
set precision based on object size
2021-05-11 22:47:47 -07:00
Emmett Lalish 50077584ef merging master 2021-05-11 22:39:40 -07:00
Emmett Lalish 2f01fd1443 fixed GPu test 2021-05-11 22:35:04 -07:00
Emmett Lalish c0b1fdbd73 added precision tests 2021-05-11 22:16:06 -07:00
Emmett Lalish 05eb4fe198 more cleanup 2021-05-10 21:59:00 -07:00
Emmett Lalish 05b47f01d7 test cleanup 2021-05-10 21:42:28 -07:00
Emmett Lalish d478e7cc71 no degenerate normals 2021-05-10 21:32:44 -07:00
Emmett Lalish 61e165edaa Merge pull request #49 from elalish/cleanup
cleanup
2021-05-03 21:33:03 -07:00
Emmett Lalish e9577d5765 cleanup 2021-05-03 21:19:43 -07:00
Emmett Lalish 76e3866c89 merging precision member 2021-05-03 21:11:34 -07:00
Emmett Lalish 8ec6951fc5 swap triangles 2021-04-19 23:27:04 -07:00
Emmett Lalish f9e0dc8710 separated short and colinear loops 2021-04-18 23:15:05 -07:00
Emmett Lalish 03b9e0453a simplified degenerate removal 2021-04-17 22:55:15 -07:00
Emmett Lalish ff33a08986 removed travis config 2021-03-26 12:49:15 -07:00
Emmett Lalish 0f411e1524 made precision a member 2021-03-26 12:44:31 -07:00
Emmett Lalish d12c15ceaf corrected expected sponge genus 2021-03-25 13:14:26 -07:00
Emmett Lalish 04a3684713 manifold results 2021-03-03 13:12:55 -08:00
Emmett Lalish 2b5c56421b added SwapEdges() 2021-03-02 21:20:00 -08:00
Emmett Lalish 5e43ef26e2 Merge pull request #48 from elalish/kissingVerts
glTF export and degenerate removal
2021-02-15 21:44:31 -08:00
Emmett Lalish f63c31b1e7 improve test 2021-02-15 21:31:30 -08:00
Emmett Lalish f560938d6b recalculate uncertain normals 2021-02-15 21:06:58 -08:00
Emmett Lalish a93f4ce1f5 testing that triangles match normals 2021-02-11 21:12:46 -08:00
Emmett Lalish d8e62e80e0 fixed colinear collapse bug 2021-02-03 11:18:46 -08:00
Emmett Lalish 1feb39860a CollapseDegenerates now removes colinear edges 2021-01-31 14:32:22 -08:00
Emmett Lalish 78d310ef96 CollapseDegenerates now simplifies the topology 2021-01-30 17:42:13 -08:00
Emmett Lalish e70883ff23 polygon cleanup 2021-01-26 23:04:31 -08:00
Emmett Lalish 85d5e0a43d made triangulation more robust 2021-01-26 22:46:27 -08:00
Emmett Lalish eeca1923be added CollapseDegenerates 2021-01-24 22:33:36 -08:00
Emmett Lalish a6bc49914b fixed normals and exporting in gltf 2021-01-23 22:44:05 -08:00
Emmett Lalish 411e8bfe3f Merge pull request #47 from elalish/topoTests
Replace SharedEdge check with edge swaps
2021-01-18 23:04:00 -08:00
Emmett Lalish 26c401891e cleanup 2021-01-18 22:56:06 -08:00
Emmett Lalish 23b6262b23 removed SharedEdge 2021-01-18 22:35:16 -08:00
Emmett Lalish e550a4e1a7 updated exceptions 2021-01-18 21:42:19 -08:00
Emmett Lalish a9d6302930 fixed duplicated faces bug 2021-01-18 15:57:57 -08:00
Emmett Lalish b4665e027c fixed triangulator bug 2021-01-18 15:14:12 -08:00
Emmett Lalish 85170020c5 added edge swaps 2021-01-13 23:21:58 -08:00
Emmett Lalish 08e9f6b7e0 added error reporting 2021-01-13 10:25:14 -08:00
Emmett Lalish 03416d94e4 added IsManifold checks 2021-01-12 22:43:16 -08:00
Emmett Lalish 02f00e39f6 removed SharedEdge check 2021-01-12 21:58:43 -08:00
Emmett Lalish 84c464c7ba Merge pull request #46 from elalish/optimizeTriangulation
Optimize triangulation
2021-01-04 15:40:17 -08:00
Emmett Lalish 3ad400b49a updated perf numbers 2021-01-03 23:20:36 -08:00
Emmett Lalish a93c8f27c5 added four-edge special case for triangulation 2021-01-03 23:12:12 -08:00
Emmett Lalish 165eaa423f updated timing 2021-01-03 22:17:10 -08:00
Emmett Lalish 5e774f7b56 removed AssembleFaces 2020-12-30 21:39:19 -08:00
Emmett Lalish 9a55900d6d Merge pull request #45 from elalish/removeVertLabel
Remove connected components
2020-12-30 17:10:49 -08:00
Emmett Lalish 41f9bdbe67 Merge branch 'master' of github.com:elalish/manifold into removeVertLabel 2020-12-30 17:00:41 -08:00
Emmett Lalish f957aced23 major perf improvement by removing CC 2020-12-30 16:55:54 -08:00
Emmett Lalish 0be8b6de9e Merge pull request #44 from elalish/performance
Sphere Cylinder connections
2020-12-30 16:55:13 -08:00
Emmett Lalish d05bf9955d new GPU CC, still not better than CPU 2020-12-30 14:12:54 -08:00
Emmett Lalish 048aafa3fa added roundedFrame, removed DeepCopy, better sphere 2020-12-26 16:33:22 -08:00
Emmett Lalish a27cd18ac8 Merge pull request #43 from elalish/removeFaces
Switch from face to triangle data structure
2020-12-26 09:24:13 -08:00
Emmett Lalish aa29b6d7dc NumFace -> NumTri 2020-12-22 23:43:55 -08:00
Emmett Lalish 90aa9ac01a cleanup and docs 2020-12-22 23:31:46 -08:00
Emmett Lalish 188d889c19 removed faceEdge_ 2020-12-22 22:52:17 -08:00
Emmett Lalish 3eb622097d cleaned up Decompose 2020-12-22 22:40:39 -08:00
Emmett Lalish b038a40323 added countAt util 2020-12-22 22:23:02 -08:00
Emmett Lalish 8622234327 removed FaceSize() 2020-12-22 22:11:07 -08:00
Emmett Lalish 06d2c4454e tightened manifoldness tests 2020-12-21 22:51:53 -08:00
Emmett Lalish c9b30aa73a removed a bunch of faceEdge_ from impl 2020-12-21 22:38:44 -08:00
Emmett Lalish 70f88a1b2c removed faceEdges_ from boolean3 2020-12-21 22:06:56 -08:00
Emmett Lalish 75d7447469 cleanup Filter11 2020-12-21 21:36:27 -08:00
Emmett Lalish b692de9148 cube is triangulated, tests pass 2020-12-21 17:32:27 -08:00
Emmett Lalish 55debb7006 Merge pull request #40 from elalish/cuda11
Cuda11, Ubuntu 20.04
2020-12-20 12:48:43 -08:00
Emmett Lalish b49e3664c9 revert accidental deletion 2020-12-20 12:35:40 -08:00
Emmett Lalish 38db893cfa cuda 11.1 for docker 2020-12-20 12:24:10 -08:00
Emmett Lalish f22fdac5d6 fixed several bugs, all tests passing 2020-12-20 12:17:30 -08:00
Emmett Lalish e4339201dd fixed CMake 2020-12-18 10:00:34 -08:00
Emmett Lalish 04f8284fd2 Merge branch 'master' of github.com:elalish/manifold into cuda11 2020-12-15 20:39:12 -08:00
Emmett Lalish 502ae441fd Merge pull request #42 from elalish/newTriangulator
New triangulator
2020-12-14 21:30:56 -08:00
Emmett Lalish 47a08296ef fixed infinite loop 2020-12-13 23:22:37 -08:00
Emmett Lalish 8851e3da39 all tests pass 2020-12-13 21:53:55 -08:00
Emmett Lalish 6bebf5b1ac updated params, added poly test (failing) 2020-12-12 23:29:51 -08:00
Emmett Lalish f7cea575a0 cleanup and docs 2020-12-12 22:31:01 -08:00
Emmett Lalish c966a0b06b all polygon tests passing 2020-12-12 22:08:04 -08:00
Emmett Lalish 0a61b8b8a9 added tests 2020-12-12 13:20:48 -08:00
Emmett Lalish 5651b09fbd fixed multimerge 2020-12-12 11:46:22 -08:00
Emmett Lalish 4de3f4733c fixed skips 2020-12-12 11:33:27 -08:00
Emmett Lalish 34b87ae58a cleaned up tests 2020-12-11 22:55:28 -08:00
Emmett Lalish 7828270887 tripled testing 2020-12-11 22:28:16 -08:00
Emmett Lalish e357161458 fixed stack smashing 2020-12-11 21:11:23 -08:00
Emmett Lalish 000b70bbee BigSponge passes 2020-12-10 22:58:45 -08:00
Emmett Lalish 3c9d12aa2e fixed several bugs 2020-12-10 22:34:57 -08:00
Emmett Lalish 0449ac8fc9 added ShiftWest, stack smashing issue 2020-12-09 22:22:01 -08:00
Emmett Lalish e675c697e2 reintroduce westPair eastPair 2020-12-09 10:23:52 -08:00
Emmett Lalish fc79bcad11 several tests passing 2020-12-06 16:14:20 -08:00
Emmett Lalish 3e99d81661 two tests passing 2020-12-06 15:15:12 -08:00
Emmett Lalish 62b4c97332 fixed SplitVerts 2020-12-06 14:39:53 -08:00
Emmett Lalish b18dc1cd75 NSEW relative to sweep direction now 2020-12-06 12:26:35 -08:00
Emmett Lalish ce746e3326 compiles, needs ShiftWest 2020-12-05 18:08:17 -08:00
Emmett Lalish 56f4bf0df2 forward sweep for geometry, back sweep for topology 2020-11-05 21:46:52 -08:00
Emmett Lalish 9540737a33 Merge pull request #41 from elalish/mengerSponge
Menger sponge
2020-10-28 21:29:26 -07:00
Emmett Lalish caacdd9073 temporarily disable failing tests 2020-10-28 20:51:02 -07:00
Emmett Lalish 279ee38d94 replaced lastNeighbor pointer with nEast index 2020-10-10 23:07:20 -07:00
Emmett Lalish f2daae97aa keep assignments at current vert 2020-10-10 20:57:23 -07:00
Emmett Lalish b1b2e7d921 fixed hole placement 2020-10-09 22:10:57 -07:00
Emmett Lalish f5de1fe221 back to pairEast and pairWest 2020-10-09 21:26:02 -07:00
Emmett Lalish 0019f83197 more triangulation fixes 2020-10-05 22:47:34 -07:00
Emmett Lalish 3092c2d8de fixed Multimerge 2020-10-04 11:02:16 -07:00
Emmett Lalish 3d36369087 reverse sweep all topology 2020-10-04 09:04:12 -07:00
Emmett Lalish fbbc4e0411 refactor monotones 2020-09-29 22:30:47 -07:00
Emmett Lalish 97aebe857b refactor reorder 2020-09-10 21:59:32 -07:00
Emmett Lalish 2ef48bcd3c fixed a few triangulation bugs 2020-09-10 21:48:52 -07:00
Emmett Lalish b3463fa59a reverted to triangulating after each Boolean 2020-09-06 10:53:28 -07:00
Emmett Lalish bd2a94031a fixed cube halfedges 2020-09-01 22:47:41 -07:00
Emmett Lalish 03db932839 fixed polygon tests 2020-09-01 21:59:13 -07:00
Emmett Lalish 0c3b4a13a5 fixed some errors, reorder needs work 2020-08-30 23:10:07 -07:00
Emmett Lalish df53f7f4f8 reset for linux 2020-08-30 22:09:39 -07:00
Emmett Lalish 50a94034ec added debug output 2020-08-30 21:59:40 -07:00
Emmett Lalish ebc067a4d1 pointers to iterators 2020-08-30 21:39:16 -07:00
Emmett Lalish a31c3cd8b5 a few small fixes 2020-08-30 21:13:04 -07:00
Emmett Lalish 08eaf9c31f refactor monotones, need to update pointers to iterators 2020-08-29 13:10:31 -07:00
Emmett Lalish d4506be725 update formatting 2020-08-29 10:31:27 -07:00
Emmett Lalish a2e5a6dcf0 develop without cuda 2020-08-29 10:31:14 -07:00
Emmett Lalish 1106fd798b saving intermediate 2020-08-28 12:32:14 -07:00
Emmett Lalish 17e0b7eee6 halfway updated monotones 2020-08-18 22:23:55 -07:00
Emmett Lalish de5040c9cd cube faces 2020-07-24 22:28:43 -07:00
Emmett Lalish dfe75e1d7d added Menger Sponge sample 2020-07-22 22:18:48 -07:00
Emmett Lalish 7feb7e1f3b fix typo 2020-07-22 20:58:46 -07:00
Emmett Lalish e4888df5aa test OMP->CPP 2020-07-18 16:39:41 -07:00
Emmett Lalish 9f1fdfce30 add noninteractive 2020-07-18 16:29:21 -07:00
Emmett Lalish 6975b6911e updated github actions 2020-07-18 16:19:56 -07:00
Emmett Lalish ab8ccc074e compiles 2020-07-18 15:03:21 -07:00
Emmett Lalish 92020cee35 Merge pull request #39 from elalish/remove01
Remove01
2020-07-18 13:49:57 -07:00
Emmett Lalish 8ad04a2abc reverting unintended changes 2020-07-18 13:14:26 -07:00
Emmett Lalish 8e35e12637 cleanup 2020-07-18 13:10:01 -07:00
Emmett Lalish dfcdb14405 reverting facePrimitives 2020-07-18 12:55:00 -07:00
Emmett Lalish b6f8a3afed removed 01 entirely 2020-07-18 12:26:25 -07:00
Emmett Lalish 64e487375c updated kernel11 2020-07-18 10:52:34 -07:00
Emmett Lalish eda7da2a1d removed face verts from Filter02 2020-07-16 22:00:38 -07:00
Emmett Lalish 2643e1c502 updated shadow11 2020-07-16 21:35:31 -07:00
Emmett Lalish 31cd3dda3c fixed edge pairing 2020-07-12 22:19:45 -07:00
Emmett Lalish 38fa2552c4 partially working 2020-07-02 15:01:25 -07:00
Emmett Lalish 19990c8db7 Merge pull request #38 from elalish/halfedges
Switch to halfedge data structure
2020-06-13 17:30:45 -07:00
Emmett Lalish 81517de253 Merge branch 'master' of github.com:elalish/manifold into halfedges 2020-06-13 17:08:27 -07:00
Emmett Lalish 30eab4d3cd Merge pull request #33 from elalish/actions
Try Github Actions
2020-06-13 17:07:58 -07:00
Emmett Lalish fd968b616e poke again 2020-06-13 14:16:25 -07:00
Emmett Lalish be8d120acc poke build 2020-06-13 14:00:58 -07:00
Emmett Lalish 167ac82eb0 fix test path 2020-06-13 13:33:01 -07:00
Emmett Lalish 05aba201dd add update 2020-06-13 13:14:30 -07:00
Emmett Lalish d6535c8d1b remove sudo 2020-06-13 12:59:38 -07:00
Emmett Lalish 5d3745331a switch uses to container 2020-06-13 12:32:48 -07:00
Emmett Lalish a56f07abe2 add another sudo 2020-06-13 11:56:32 -07:00
Emmett Lalish a9b245efd8 add sudo 2020-06-13 11:36:29 -07:00
Emmett Lalish 18d4793562 fix tab 2020-06-13 11:28:50 -07:00
Emmett Lalish 65b6794bd6 separate steps 2020-06-13 11:27:39 -07:00
Emmett Lalish 25f6da360f skip dockerfile 2020-06-13 11:18:32 -07:00
Emmett Lalish 2dde85e8ac use Dockerfile 2020-06-13 11:06:00 -07:00
Emmett Lalish 4146aca6d4 fixed OMP atomic 2020-06-07 15:41:42 -07:00
Emmett Lalish ef00577438 added docs 2020-06-07 15:16:23 -07:00
Emmett Lalish abb5f7cf8b fixed GatherFaces 2020-06-06 22:23:53 -07:00
Emmett Lalish d48c7e5543 Revert "removed vertLabel_"
This reverts commit d8b1edc871.
2020-06-06 20:37:37 -07:00
Emmett Lalish 8370c4628e reapplied triangle optimization to AssembleFaces 2020-06-06 15:56:40 -07:00
Emmett Lalish 204ef23305 fixed CUDA compilation 2020-06-06 14:43:07 -07:00
Emmett Lalish e55fe8d558 check genus after triangulation 2020-06-06 14:06:27 -07:00
Emmett Lalish 9d5597fcce completed IsManifold() 2020-06-06 13:49:22 -07:00
Emmett Lalish ba41f7f811 improved perturbation 2020-06-02 22:45:05 -07:00
Emmett Lalish 78055c03ae fixed intersection error 2020-06-02 21:47:44 -07:00
Emmett Lalish d8b1edc871 removed vertLabel_ 2020-06-01 22:00:43 -07:00
Emmett Lalish 158a35199f fixed vert normals 2020-06-01 21:20:08 -07:00
Emmett Lalish 82941a5f58 fixed extraction and connected components 2020-05-31 14:34:58 -07:00
Emmett Lalish 1f52eb8dd5 fixed BooleanVug 2020-05-23 22:09:33 -07:00
Emmett Lalish b510526503 maintaining faceNormals in boolean 2020-05-22 23:44:02 -07:00
Emmett Lalish 2fbc182611 fixed Face2Polygons 2020-05-21 22:36:36 -07:00
Emmett Lalish 9d4ade1ff7 fixed several tests 2020-05-21 21:59:40 -07:00
Emmett Lalish 83c0546216 removed NextEdge 2020-05-19 22:08:19 -07:00
Emmett Lalish e6b7a7f329 forgot & 2020-05-19 21:31:45 -07:00
Emmett Lalish dd79d1b132 early exit for Decompose 2020-05-17 22:55:27 -07:00
Emmett Lalish 91355d07b8 fixed vert labeling for polygons with holes 2020-05-17 22:47:25 -07:00
Emmett Lalish f58f2561e3 fixed some boolean bugs 2020-05-17 21:45:41 -07:00
Emmett Lalish 6ebf3067d2 fixed Decompose 2020-05-16 16:38:16 -07:00
Emmett Lalish d9660f9625 fixed polygon halfedges 2020-05-16 14:06:00 -07:00
Emmett Lalish 91d45e4f62 fixed SortFaces 2020-05-15 22:15:15 -07:00
Emmett Lalish eaafb5cee5 compiles 2020-05-13 22:32:06 -07:00
Emmett Lalish fef782e94a fixed some compile errors and updated Assemble 2020-05-12 22:11:39 -07:00
Emmett Lalish 4325b62720 updated nextHalfedge 2020-05-04 23:23:06 -07:00
Emmett Lalish 98a34f2ea5 updated Decompose 2020-05-04 22:19:13 -07:00
Emmett Lalish ef7a950386 updated Compose and Extract 2020-04-30 22:53:44 -07:00
Emmett Lalish 27982f645a RemoveChaff -> LabelVerts 2020-04-30 21:33:08 -07:00
Emmett Lalish deb9f6ffc3 switched to AreaVolume 2020-04-30 21:26:48 -07:00
Emmett Lalish ae94d12dac refactored Assemble, updated normals 2020-04-28 21:51:19 -07:00
Emmett Lalish 5bc20c68fb updated Manifold and Extrema checks 2020-04-26 15:39:28 -07:00
Emmett Lalish c4a71e1b87 updated Refine 2020-04-23 22:41:51 -07:00
Emmett Lalish 78f4ebe595 removed tris and updated sorting 2020-04-21 22:32:14 -07:00
Emmett Lalish c25b6e3140 moved triangulation to Impl::Face2Tri() 2020-04-20 22:22:49 -07:00
Emmett Lalish a5896b8d0f building halfedge output 2020-04-17 23:09:19 -07:00
Emmett Lalish bf81cd0ecb sizing output halfedges 2020-04-08 22:25:44 -07:00
Emmett Lalish eb0fb5df54 BooleanTetra passes 2020-04-06 22:06:44 -07:00
Emmett Lalish 02bd5d3694 fixed retainedEdges 2020-04-06 21:25:07 -07:00
Emmett Lalish cda7220665 fixed EdgeCollisions 2020-04-06 21:06:35 -07:00
Emmett Lalish 2f2afc4a6a fixed segfaults 2020-04-04 22:05:20 -07:00
Emmett Lalish 4f75ed3246 updated newEdgeVerts 2020-03-30 21:50:03 -07:00
Emmett Lalish 7752ca4b1e updated connectedComponents 2020-03-30 21:37:58 -07:00
Emmett Lalish d289fd3c85 removed vistigial p2q2 2020-03-29 21:31:50 -07:00
Emmett Lalish 0aba154d62 updated Intersect12 2020-03-29 21:14:48 -07:00
Emmett Lalish d28287381d use only forward halfedges 2020-03-29 14:27:36 -07:00
Emmett Lalish d103a74f24 updated Shadow02 2020-03-28 23:20:57 -07:00
Emmett Lalish 132699daa8 updated Shadow11 2020-03-28 22:49:06 -07:00
Emmett Lalish 1ae12549f7 updated Shadow01 2020-03-28 22:43:35 -07:00
Emmett Lalish bb65c2e61e updated Filter01 2020-03-28 22:23:49 -07:00
Emmett Lalish 755042758b updated Filter11 2020-03-28 21:49:27 -07:00
Emmett Lalish 26eebb7561 updated Filter02 2020-03-28 15:01:00 -07:00
Emmett Lalish 7261e7cce7 edge collisions return halfedge indices 2020-03-26 22:46:22 -07:00
Emmett Lalish 0698dde5b2 small refactor 2020-03-22 15:32:52 -07:00
Emmett Lalish 932dc91911 creating halfedges 2020-03-22 14:51:33 -07:00
Emmett Lalish f594841cfd added CUDACXX environment variable 2020-03-21 15:58:45 -07:00
Emmett Lalish 50c49acd6e Merge branch 'master' of github.com:elalish/manifold into actions 2020-03-21 15:51:16 -07:00
Emmett Lalish 64b617e9e1 Merge pull request #37 from elalish/factorOutImpl
Factored out manifold_impl.cu from manifold.cu
2020-03-21 15:50:51 -07:00
Emmett Lalish 3b5d7be637 rename 2020-03-21 15:42:23 -07:00
Emmett Lalish 5a7ca20e6c Factored out manifold_impl.cu from manifold.cu 2020-03-21 14:29:22 -07:00
Emmett Lalish 00247a976a Merge pull request #36 from elalish/tests
cleanup bracelet
2020-03-21 13:20:50 -07:00
Emmett Lalish ec6fdf1177 cleanup bracelet 2020-03-19 21:39:02 -07:00
Emmett Lalish 1cc8e9a1ba Merge pull request #35 from elalish/braceletFinal
Updated bracelet sample
2020-03-18 23:13:55 -07:00
Emmett Lalish 406539b0cf added docs 2020-03-18 23:06:29 -07:00
Emmett Lalish 9de3f9c43d finished bracelet 2020-03-18 22:40:25 -07:00
Emmett Lalish bc726c882d keep normals during removeChaff 2020-03-18 21:33:40 -07:00
Emmett Lalish 60008f3a4d Merge pull request #34 from elalish/edgeNormals
Edge normals
2020-03-12 22:22:58 -07:00
Emmett Lalish 2dec997b52 try docker 2020-03-12 22:21:26 -07:00
Emmett Lalish 76aa00c424 undo std::move change 2020-03-11 23:04:24 -07:00
Emmett Lalish 2be7402fb4 updated Manifold API 2020-03-11 22:59:14 -07:00
Emmett Lalish 9caa9167e4 Try Github Actions 2020-03-11 21:56:47 -07:00
Emmett Lalish 9a2316562b merging halfedges 2020-03-11 21:36:58 -07:00
Emmett Lalish da6c1d5830 cleanup 2020-03-11 21:08:17 -07:00
Emmett Lalish 836f76b263 remove extra output 2020-03-10 23:32:45 -07:00
Emmett Lalish abe7f5a4b2 cleanup 2020-03-10 23:27:11 -07:00
Emmett Lalish 872ac2fb84 all tests pass 2020-03-10 23:20:05 -07:00
Emmett Lalish 9fc365275c passing some basic tests 2020-03-09 23:09:24 -07:00
Emmett Lalish 0681e4943a compiles and runs 2020-03-08 22:23:48 -07:00
Emmett Lalish 05ccaa5210 removed edgeNormal 2020-03-07 20:46:15 -08:00
Emmett Lalish 39d6b7fc77 Merge pull request #29 from elalish/perf
First performance pass
2020-03-01 22:57:13 -08:00
Emmett Lalish 8a16552915 added timing and switched to CPU connected components 2020-03-01 22:41:33 -08:00
Emmett Lalish dc74a8dee9 Merge pull request #28 from elalish/perterb
unique symbolic perturbation
2020-02-29 23:06:43 -08:00
Emmett Lalish 6a32bd60d4 fixed k checks 2020-02-29 22:53:59 -08:00
Emmett Lalish a9c674d729 test cleanup 2020-02-29 22:29:28 -08:00
Emmett Lalish aad1bea0de fixing CUDA compile error 2020-02-29 21:46:48 -08:00
Emmett Lalish 3081f97ecc cleanup 2020-02-29 20:59:51 -08:00
Emmett Lalish dd5c1bc1df fixed nan 2020-02-10 23:02:45 -08:00
Emmett Lalish b1740b7ce0 fixed vug 2020-02-09 22:24:28 -08:00
Emmett Lalish ac002dc11f RemoveChaff() 2020-02-08 15:36:00 -08:00
Emmett Lalish ad8771b8e1 transforming normals 2020-02-07 21:19:21 -08:00
Emmett Lalish 91abd7d245 changed Assemble signature 2020-02-02 12:12:04 -08:00
Emmett Lalish de41a3cbc7 propogate face normals 2020-01-22 22:04:01 -08:00
Emmett Lalish 5d8468cd3c fixed manifold error 2020-01-17 22:19:57 -08:00
Emmett Lalish 763738c3ba independent perturbations 2020-01-17 22:00:23 -08:00
Emmett Lalish 0f174b3b3d added normals 2020-01-11 16:41:19 -08:00
Emmett Lalish 41318749d2 Merge pull request #27 from elalish/valgrind
Triangulator cleanup
2020-01-05 22:09:34 -08:00
Emmett Lalish 85d9a26c6f added docs 2020-01-05 22:01:48 -08:00
Emmett Lalish b30faf8a9c added test 2020-01-05 17:01:29 -08:00
Emmett Lalish 808836737c added logic asserts and fixed bugs 2020-01-05 16:37:52 -08:00
Emmett Lalish 4f48bf67cd removed backup search for polygon activePairs 2020-01-04 23:08:14 -08:00
Emmett Lalish 9883965e4c fixed valgrind errors 2019-12-29 22:15:41 -08:00
Emmett Lalish c93c854b7f fixed Simple4 2019-12-28 19:07:05 -08:00
Emmett Lalish 63c36a5819 Merge pull request #26 from elalish/checkError
Fixed inclusive scan bug
2019-12-26 22:15:19 -08:00
Emmett Lalish 7645c18710 fixed test spew 2019-12-26 21:42:21 -08:00
Emmett Lalish a5abbb2994 fixed errant vertex 2019-12-26 14:46:41 -08:00
Emmett Lalish cabb06947d Merge pull request #25 from elalish/updateMeshTests
Update mesh tests
2019-12-24 15:15:48 -08:00
Emmett Lalish 57b38095cd Merge branch 'master' of github.com:elalish/manifold into updateMeshTests 2019-12-24 15:08:11 -08:00
Emmett Lalish c155c1c1a4 added test comments 2019-12-24 15:05:22 -08:00
Emmett Lalish 7919242e1b refactored error handling 2019-12-24 10:17:25 -08:00
Emmett Lalish 53e5bc918d Merge pull request #24 from elalish/newTriangulation
New triangulation
2019-12-17 22:29:35 -08:00
Emmett Lalish 90784fda3e refactored Monotones 2019-12-17 21:44:09 -08:00
Emmett Lalish df89db7418 fixed Ugly test 2019-12-17 21:16:37 -08:00
Emmett Lalish ea1c397bec cleanup 2019-12-08 14:41:18 -08:00
Emmett Lalish 449ec3ee33 remove debug output 2019-12-08 14:15:31 -08:00
Emmett Lalish 3f7bb26735 tests pass! 2019-12-08 14:06:23 -08:00
Emmett Lalish ebc6ba6afb added reorder 2019-12-07 14:07:31 -08:00
Emmett Lalish 4e2fe5772b down to two warnings 2019-11-24 18:10:56 -08:00
Emmett Lalish 350132da85 cleanup 2019-11-03 22:39:27 -08:00
Emmett Lalish dea5aeaeb0 fixed const 2019-11-03 21:56:51 -08:00
Emmett Lalish b628e508a6 tests pass 2019-11-03 21:46:30 -08:00
Emmett Lalish 9ce226425f vector -> list conversion runs but needs work 2019-11-03 14:56:28 -08:00
Emmett Lalish 71535a14e3 switched monotones from vector to list, need to update triangulator 2019-11-02 23:35:22 -07:00
Emmett Lalish bd458b6936 renamed to compass directions 2019-11-02 21:11:12 -07:00
Emmett Lalish d2b219a4f4 17 passing tests 2019-11-02 20:57:10 -07:00
Emmett Lalish 713fa2d9ef 15 of 17 tests pass 2019-11-02 13:08:28 -07:00
Emmett Lalish 8b747c51a0 edges -> edgePairs 2019-10-27 22:45:24 -07:00
Emmett Lalish 399cb9db03 fixed several more bugs 2019-10-20 17:26:45 -07:00
Emmett Lalish 461d802877 fixed several bugs 2019-10-20 16:52:20 -07:00
Emmett Lalish 68fcd38cac mostly written 2019-10-20 14:13:18 -07:00
Emmett Lalish 8ab96175ea mostly rewritten 2019-10-13 15:07:13 -07:00
Emmett Lalish ffcab9032b starting new triangulation 2019-09-29 20:59:01 -07:00
Emmett Lalish 37027f2ec9 Merge pull request #22 from elalish/triangles
Improved triangulation
2019-09-07 12:03:51 -07:00
Emmett Lalish 61d36ce9bc passing test set 2019-09-07 11:48:59 -07:00
Emmett Lalish 75be095c58 added shared edge check 2019-09-04 21:59:59 -07:00
Emmett Lalish e04cadc626 removed rounding errors, adjusted sweep line order 2019-08-18 17:05:32 -07:00
Emmett Lalish 9a6d001863 fixed triangulation normal 2019-08-18 14:53:24 -07:00
Emmett Lalish 821cddf861 Merge pull request #21 from elalish/testing
added dynamic verbosity control and simplified folded test
2019-08-17 18:47:02 -07:00
Emmett Lalish 2588204e5d added warning counter 2019-08-17 18:39:01 -07:00
Emmett Lalish e30e704b19 added dynamic verbosity control and simplified folded test 2019-08-17 18:12:52 -07:00
Emmett Lalish 15df4b2482 Merge pull request #19 from elalish/addSamples
Started adding samples
2019-08-10 14:43:31 -07:00
Emmett Lalish ccaa5829c1 put checkFolded into the API 2019-08-10 14:28:02 -07:00
Emmett Lalish 9ec12f36a8 Added folded triangulation test 2019-08-09 15:20:20 -07:00
Emmett Lalish d756bde884 fixed triangulation of coincident points 2019-08-09 12:32:20 -07:00
Emmett Lalish 0d3cc8d33e cleaned up triangulation warnings 2019-08-04 12:21:18 -07:00
Emmett Lalish 1e8b1861e5 fixed polygon manifoldness check 2019-08-04 12:12:34 -07:00
Emmett Lalish 7c3ce696f1 started bracelet sample 2019-07-28 21:00:59 -07:00
Emmett Lalish 088a8ab74b added comments & licenses 2019-07-27 23:14:02 -07:00
Emmett Lalish 17b67a84c9 added TorusKnot 2019-07-27 22:27:19 -07:00
Emmett Lalish 0869427ea6 Merge pull request #18 from elalish/samples
Added convenience constructors
2019-07-26 13:59:33 -07:00
Emmett Lalish 8d24eb1896 updated creation API 2019-07-22 22:47:34 -07:00
Emmett Lalish 0a6676e1cb Merge pull request #17 from elalish/revolve
Added Revolve
2019-07-15 21:52:04 -07:00
Emmett Lalish 5686152276 added extrude twist 2019-07-15 07:54:01 -07:00
Emmett Lalish ce6d30cc0c fixed collider rotation optimization 2019-07-15 07:41:09 -07:00
Emmett Lalish b4f6227208 collider transform optimization disabled 2019-07-14 22:20:14 -07:00
Emmett Lalish 2cff40257d revolve passes 2019-07-14 21:50:46 -07:00
Emmett Lalish 5e2e7891d7 added sind, cosd 2019-07-14 16:40:02 -07:00
Emmett Lalish 1d7b43d174 revolve added 2019-07-13 15:05:23 -07:00
Emmett Lalish d30eb84ca7 Merge pull request #16 from elalish/extrude
Extrude
2019-07-13 13:26:15 -07:00
Emmett Lalish 5a3054b3c7 Merge branch 'master' of github.com:elalish/manifold into extrude 2019-07-11 22:57:53 -07:00
Emmett Lalish da90117d28 added extrude 2019-07-11 22:57:40 -07:00
Emmett Lalish b5180e2f9b Merge pull request #15 from elalish/elalish-patch-1
Update README.md
2019-07-11 22:57:08 -07:00
Emmett Lalish 14c64abd4f Update README.md 2019-07-11 20:36:04 -07:00
Emmett Lalish 6f386f9943 Merge pull request #14 from elalish/tranforms
Code cleanup, readme update
2019-07-07 11:14:02 -07:00
Emmett Lalish 352a9c610e Merge branch 'master' into tranforms 2019-07-07 11:07:43 -07:00
Emmett Lalish 18f3cfd1c1 updated readme 2019-07-07 11:05:39 -07:00
Emmett Lalish 0f6fb55ce6 moved mesh to structs and renamed mesh.h to meshIO.h 2019-07-07 09:24:59 -07:00
Emmett Lalish 892da6c85f cleaned up trasforms 2019-07-07 09:11:51 -07:00
Emmett Lalish 201bd28b2f Merge pull request #13 from elalish/even_manifold
Fixed triangulation manifoldness
2019-07-07 08:45:06 -07:00
Emmett Lalish 50ecc2a378 added comments 2019-07-05 22:37:14 -07:00
Emmett Lalish 55b224623c added horrible planar test 2019-07-05 20:13:26 -07:00
Emmett Lalish 892b63c7ec Horrible test passes 2019-07-05 19:04:27 -07:00
Emmett Lalish b88629ba2c better triangulation manifold checking 2019-07-05 17:56:20 -07:00
Emmett Lalish 8ba2e922a2 Merge pull request #12 from elalish/splitPlane
Added SplitByPlane
2019-06-30 15:30:27 -07:00
Emmett Lalish 458168b4dc simplified winding number calculation 2019-06-30 15:09:46 -07:00
Emmett Lalish 5c6bb70cc3 SplitByPlane works 2019-06-29 22:30:39 -07:00
Emmett Lalish 21df8cd827 Merge pull request #11 from elalish/transform
cleaned up transform API
2019-06-24 21:29:22 -07:00
Emmett Lalish 648fac6841 updated box 2019-06-24 21:17:35 -07:00
Emmett Lalish d4e7eef180 cleaned up transform API 2019-06-23 22:42:01 -07:00
Emmett Lalish cc9ce4a1fb Merge pull request #10 from elalish/setVerts
added warping function API
2019-06-23 17:29:42 -07:00
Emmett Lalish 2f010a60d3 switched to warping function 2019-06-23 17:03:14 -07:00
Emmett Lalish 3e4d1cb25b found a triangulation error 2019-06-19 23:06:10 -07:00
Emmett Lalish 2a0cf5cd34 Merge pull request #9 from elalish/updateAPI
added convenience functions
2019-06-18 22:39:48 -07:00
Emmett Lalish 2a01965591 fixed zero size bug 2019-06-18 21:14:03 -07:00
Emmett Lalish d457df6390 added include 2019-06-18 20:51:07 -07:00
Emmett Lalish 2191a28eb5 forgot a file 2019-06-17 22:53:00 -07:00
Emmett Lalish 6691a4aee0 added convenience functions 2019-06-17 22:43:09 -07:00
Emmett Lalish c12cc5c6ee Merge pull request #8 from elalish/naming
mesh -> manifold
2019-06-15 22:35:15 -07:00
Emmett Lalish ac95d4c27e mesh -> manifold 2019-06-15 22:25:56 -07:00
Emmett Lalish 4c9a5e48a3 Merge pull request #7 from elalish/boolean
mesh boolean functional
2019-06-13 22:42:36 -07:00
Emmett Lalish 0d7ddc4b8e added boost graph install 2019-06-13 22:31:09 -07:00
Emmett Lalish 78b1d412d0 mesh boolean functional 2019-06-13 22:16:14 -07:00
Emmett Lalish 378c752017 Merge pull request #6 from elalish/check
checking last accidental push to master
2019-04-06 14:51:51 -07:00
Emmett Lalish e6ce47f43a added yml comments 2019-04-06 14:47:22 -07:00
Emmett Lalish 7b7d62df10 fixed CUDA for Mac 2019-04-06 14:39:26 -07:00
Emmett Lalish 465746e4e7 Merge pull request #5 from elalish/test_omp
removed assimp submodule and switched to omp
2019-03-10 10:03:46 -07:00
Emmett Lalish 8fb9e3ab5d use release builds 2019-03-10 09:49:12 -07:00
Emmett Lalish 028ed3bda5 added capture to omp atomic 2019-03-10 09:46:13 -07:00
Emmett Lalish 2423f60d54 fixing omp atomic 2019-03-10 09:32:11 -07:00
Emmett Lalish c485b1acb0 fixed omp atomic, removed cmake assimp stuff 2019-03-10 09:20:09 -07:00
Emmett Lalish a2ac1ec41e removed assimp submodule and switched to omp 2019-03-10 08:34:46 -07:00
Emmett Lalish 1e20362809 Merge pull request #4 from elalish/add_tests
add tests
2019-03-09 17:01:56 -08:00
Emmett Lalish f59eb2a4af fixed test 2019-03-09 16:59:07 -08:00
Emmett Lalish cc60fde2cc corrected for difference between __clz and __builtin_clz 2019-03-09 16:29:20 -08:00
Emmett Lalish ce00950967 switched OMP to CPP, still debugging 2019-03-09 15:59:42 -08:00
Emmett Lalish 81778bac6c adding vscode settings 2019-03-06 07:23:39 -08:00
Emmett Lalish d2c31d0b40 removed incorrect assimp option 2019-03-04 22:07:51 -08:00
Emmett Lalish 181bc7ced7 adding test to script 2019-03-04 21:54:43 -08:00
Emmett Lalish 53a2f4d75e Merge pull request #3 from elalish/add_openmp
Add OpenMP
2019-03-04 21:52:11 -08:00
Emmett Lalish d48572ccc9 fixing cmake command 2019-03-04 21:42:49 -08:00
Emmett Lalish 33801544e9 make OMP flag 2019-03-04 21:37:29 -08:00
Emmett Lalish d03f89801a adding includes 2019-03-03 22:09:04 -08:00
Emmett Lalish 3da5fefc04 Merge branch 'master' of github.com:elalish/manifold into add_openmp 2019-03-03 21:56:10 -08:00
Emmett Lalish aa303bbf3d trying more openmp build flags 2019-03-03 21:56:00 -08:00
Emmett Lalish a18fff28a4 stop treating warning as errors in nvcc 2019-03-03 21:46:59 -08:00
Emmett Lalish 5c419d73ca not working on OSX, trying on Linux 2019-03-03 21:31:24 -08:00
Emmett Lalish 9288dcf0a2 Merge pull request #2 from elalish/add_travis
basic travis config
2019-03-03 18:57:14 -08:00
Emmett Lalish bc314d738d added missing std include 2019-03-03 18:22:00 -08:00
Emmett Lalish 9223a60418 fixing assimp include dirs again 2019-03-03 17:23:37 -08:00
Emmett Lalish 40de4e66c2 fixed assimp include dirs 2019-03-03 17:02:30 -08:00
Emmett Lalish c3148bb1b9 adding assimp/build/include dir 2019-03-03 16:32:16 -08:00
Emmett Lalish e205fbcc8e fixing assimp include dir 2019-03-03 16:19:39 -08:00
Emmett Lalish c0cf571b8a trying again to get gcc to pick up assimp/include 2019-03-03 15:43:34 -08:00
Emmett Lalish 1bb02a3b87 fixing public and private linking 2019-03-03 15:14:54 -08:00
Emmett Lalish df1247bde7 debug cmake since gcc is not finding includes 2019-03-03 14:50:22 -08:00
Emmett Lalish 4b5f3d7da2 fixing assimp include directory 2019-03-03 14:26:51 -08:00
Emmett Lalish 78e77c9f9f adding explicit assimp include directory 2019-03-03 12:35:27 -08:00
Emmett Lalish 90a3a0d675 removed stacktrace 2019-03-03 12:04:20 -08:00
Emmett Lalish 35e332bca9 updating compile options 2019-03-03 11:43:49 -08:00
Emmett Lalish f5c0be36ab fixing gcc build errors 2019-03-02 14:35:30 -08:00
Emmett Lalish 241bb8b740 reduced assimp build 2019-03-02 14:16:29 -08:00
Emmett Lalish 11cd8b3cd4 added glm 2019-02-27 21:55:31 -08:00
Emmett Lalish c53459a5b5 fix package names 2019-02-27 21:43:17 -08:00
Emmett Lalish d8bac0a93e switch apt-get to apt 2019-02-27 21:38:59 -08:00
Emmett Lalish 597e31e48a specific cuda version 2019-02-27 21:28:27 -08:00
Emmett Lalish 48917dc90f removing https 2019-02-27 21:17:34 -08:00
Emmett Lalish 5b153cbfe7 added cuda install 2019-02-27 21:16:18 -08:00
Emmett Lalish c90db71bbc added cuda install 2019-02-27 21:13:24 -08:00
Emmett Lalish 6250ef26b1 update to xenial 2019-02-26 22:24:30 -08:00
Emmett Lalish 7a166270d4 basic travis config 2019-02-26 22:16:51 -08:00
Emmett Lalish 5a5f8da0af Merge pull request #1 from elalish/add_assimp
initial library git upload
2019-02-26 21:43:24 -08:00
Emmett Lalish 31f75ea218 initial library git upload 2019-02-26 21:39:13 -08:00
Emmett Lalish 82b7e42ab1 Initial commit 2019-02-26 21:01:59 -08:00
1790 changed files with 25917 additions and 219031 deletions
+1
View File
@@ -0,0 +1 @@
BasedOnStyle: Google
+8
View File
@@ -0,0 +1,8 @@
coverage:
status:
project:
default:
informational: true
patch:
default:
informational: true
+21
View File
@@ -0,0 +1,21 @@
name: Check code formatting
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
check_format:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: DoozyX/clang-format-lint-action@v0.14
with:
source: '.'
exclude: '*/third_party'
extensions: 'h,cpp'
clangFormatVersion: 12
+40
View File
@@ -0,0 +1,40 @@
name: Deploy documentation
on:
push:
branches:
- master
jobs:
deploy_github_pages:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Doxygen Action
uses: mattnotmitt/doxygen-action@v1
- name: Move deployables
run: |
mkdir public
mv ./samples ./public
mv ./docs ./public
mv ./bindings/wasm/examples/* ./public
- name: Download WASM files
uses: dawidd6/action-download-artifact@v2
with:
workflow: manifold.yml
pr: ${{github.event.pull_request.number}}
name: wasm
path: ./public
- name: Deploy to Github Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages
force_orphan: true
cname: manifoldcad.org
publish_dir: ./public
+194
View File
@@ -0,0 +1,194 @@
# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
strategy:
matrix:
cuda_support: [ON, OFF]
parallel_backend: [NONE, OMP, TBB]
runs-on: ubuntu-20.04
if: github.event.pull_request.draft == false
container:
image: docker://nvidia/cuda:11.6.0-devel-ubuntu20.04
steps:
- name: Install dependencies
run: |
apt-get -y update
DEBIAN_FRONTEND=noninteractive apt install -y libomp-dev libassimp-dev git libtbb-dev pkg-config libpython3-dev python3 python3-distutils python3-pip lcov
pip install trimesh
- uses: actions/checkout@v3
with:
submodules: true
- uses: jwlawson/actions-setup-cmake@v1.12
- name: Build ${{matrix.backend}}
run: |
git apply thrust.diff
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DMANIFOLD_DEBUG=ON -DMANIFOLD_PAR=${{matrix.parallel_backend}} -DMANIFOLD_USE_CUDA=${{matrix.cuda_support}} .. && make
- name: Test ${{matrix.parallel_backend}} with CUDA ${{matrix.cuda_support}}
# note that the test for CUDA backend does not really test CUDA, as we
# don't have CUDA GPU on GitHub Action
run: |
export PYTHONPATH=$PYTHONPATH:$(pwd)/build/bindings/python
cd build/test
./manifold_test
cd ../../
python3 bindings/python/examples/run_all.py
- name: Coverage Report
# only do code coverage for default sequential backend, it seems that TBB
# backend will cause failure
# perhaps issue related to invalid memory access?
if: matrix.parallel_backend == 'NONE' && matrix.cuda_support == 'OFF'
run: |
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DMANIFOLD_DEBUG=OFF -DMANIFOLD_PAR=${{matrix.parallel_backend}} -DMANIFOLD_USE_CUDA=${{matrix.cuda_support}} -DCODE_COVERAGE=ON .. && make
lcov --capture --initial --directory . --output-file ./code_coverage_init.info
cd test
./manifold_test
cd ../
lcov --capture --directory . --output-file ./code_coverage_test.info
lcov --add-tracefile ./code_coverage_init.info --add-tracefile ./code_coverage_test.info --output-file ./code_coverage_total.info
lcov --remove ./code_coverage_total.info '/usr/*' '*/third_party/*' '*/test/*' '*/extras/*' '*/bindings/*' --output-file ./code_coverage.info
- uses: codecov/codecov-action@v2
if: matrix.parallel_backend == 'NONE' && matrix.cuda_support == 'OFF'
with:
files: build/code_coverage.info
fail_ci_if_error: false
name: ${{matrix.parallel_backend}}-${{matrix.cuda_support}}
build_wasm:
runs-on: ubuntu-20.04
if: github.event.pull_request.draft == false
steps:
- name: Install dependencies
run: |
sudo apt-get -y update
DEBIAN_FRONTEND=noninteractive sudo apt install -y nodejs
- uses: actions/checkout@v3
with:
submodules: true
- name: Setup WASM
run: |
# setup emscripten
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
- uses: jwlawson/actions-setup-cmake@v1.12
- name: Build WASM
run: |
source ./emsdk/emsdk_env.sh
git apply thrust.diff
mkdir build
cd build
emcmake cmake -DCMAKE_BUILD_TYPE=Release .. && emmake make
- name: Test WASM
run: |
cd build/test
node ./manifold_test.js
cd ../bindings/wasm
npm install
npm test
- name: Upload WASM files
uses: actions/upload-artifact@v3
with:
name: wasm
path: |
build/bindings/wasm/manifold.js
build/bindings/wasm/manifold.wasm
build/bindings/wasm/manifold.d.ts
retention-days: 7
build_windows:
strategy:
matrix:
parallel_backend: [NONE]
cuda_support: [OFF]
max-parallel: 1
runs-on: windows-2019
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: jwlawson/actions-setup-cmake@v1.12
- uses: ilammy/msvc-dev-cmd@v1
- name: Install CUDA
if: matrix.backend == 'CUDA'
env:
cuda: "11.3.0"
visual_studio: "Visual Studio 16 2019"
shell: powershell
run: |
Invoke-RestMethod https://raw.githubusercontent.com/ptheywood/cuda-cmake-github-actions/21811d232fc775fa8d44dddf7f8c5ce2cf8d2b81/scripts/actions/install_cuda_windows.ps1 -OutFile install_cuda_windows.ps1
.\install_cuda_windows.ps1
- name: nvcc check
if: matrix.backend == 'CUDA'
shell: powershell
run: |
nvcc -V
ls $env:CUDA_PATH
ls $env:CUDA_PATH\bin
ls $env:CUDA_PATH\include
- name: Build ${{matrix.backend}}
shell: powershell
run: |
cmake . -DCMAKE_BUILD_TYPE=Release -B build -DMANIFOLD_DEBUG=ON -DMANIFOLD_PAR=${{matrix.parallel_backend}} -DMANIFOLD_USE_CUDA=${{matrix.cuda_support}} -A x64
cd build
cmake --build . --target ALL_BUILD --config Release
- name: Test ${{matrix.parallel_backend}} with CUDA ${{matrix.cuda_support}}
shell: bash
run: |
cd build/test
./Release/manifold_test.exe
build_mac:
strategy:
matrix:
parallel_backend: [NONE, TBB]
runs-on: macos-latest
if: github.event.pull_request.draft == false
steps:
- name: Install OpenMP
if: matrix.parallel_backend == 'OMP'
run: brew install libomp
- name: Install TBB
if: matrix.parallel_backend == 'TBB'
run: brew install tbb
- uses: actions/checkout@v3
with:
submodules: true
- uses: jwlawson/actions-setup-cmake@v1.12
- name: Build
run: |
git apply thrust.diff
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DMANIFOLD_DEBUG=ON -DMANIFOLD_PAR=${{matrix.parallel_backend}} .. && make
- name: Test
run: |
cd build/test
./manifold_test
build_nix:
strategy:
matrix:
variant: [none, omp, tbb, none-cuda, omp-cuda, tbb-cuda, js]
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v15
- run: nix build -L '.?submodules=1#manifold-${{matrix.variant}}'
+116
View File
@@ -0,0 +1,116 @@
# Created by https://www.gitignore.io/api/osx,c++,cuda,linux,cmake
# Edit at https://www.gitignore.io/?templates=osx,c++,cuda,linux,cmake
### C++ ###
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
### CMake ###
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps
### CMake Patch ###
# External projects
*-prefix/
### CUDA ###
*.i
*.ii
*.gpu
*.ptx
*.cubin
*.fatbin
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### OSX ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# End of https://www.gitignore.io/api/osx,c++,cuda,linux,cmake
build
buildWASM
docs/html
node_modules/
__pycache__
.vscode/c_cpp_properties.json
*.sublime-project
*.sublime-workspace
.cache
+13
View File
@@ -0,0 +1,13 @@
[submodule "third_party/thrust"]
path = src/third_party/thrust
url = https://github.com/NVIDIA/thrust
[submodule "third_party/glm"]
path = src/third_party/glm
url = https://github.com/g-truc/glm
[submodule "third_party/google_test"]
path = test/third_party/google_test
url = https://github.com/google/googletest.git
[submodule "third_party/pybind11"]
path = bindings/python/third_party/pybind11
url = https://github.com/pybind/pybind11
branch = stable
View File
+26
View File
@@ -0,0 +1,26 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "manifold test",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/test/manifold_test",
"args": [
"--gtest_break_on_failure",
"--gtest_filter=Manifold.GetMesh"
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/build/test",
"environment": [
{
"name": "MALLOC_CHECK_",
"value": "2"
}
]
}
]
}
+121
View File
@@ -0,0 +1,121 @@
{
"files.associations": {
"*.cu": "cpp",
"*.cuh": "cpp",
"*.m": "matlab",
"deque": "cpp",
"vector": "cpp",
"cctype": "cpp",
"cmath": "cpp",
"cstdarg": "cpp",
"cstddef": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"array": "cpp",
"atomic": "cpp",
"strstream": "cpp",
"*.tcc": "cpp",
"chrono": "cpp",
"clocale": "cpp",
"cstdint": "cpp",
"unordered_map": "cpp",
"exception": "cpp",
"slist": "cpp",
"fstream": "cpp",
"functional": "cpp",
"initializer_list": "cpp",
"iomanip": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"memory": "cpp",
"new": "cpp",
"ostream": "cpp",
"numeric": "cpp",
"ratio": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"system_error": "cpp",
"thread": "cpp",
"cinttypes": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"typeindex": "cpp",
"typeinfo": "cpp",
"utility": "cpp",
"csignal": "cpp",
"bitset": "cpp",
"complex": "cpp",
"list": "cpp",
"algorithm": "cpp",
"cfenv": "cpp",
"*.ipp": "cpp",
"string": "cpp",
"forward_list": "cpp",
"unordered_set": "cpp",
"valarray": "cpp",
"__bit_reference": "cpp",
"__config": "cpp",
"__debug": "cpp",
"__errc": "cpp",
"__functional_base": "cpp",
"__locale": "cpp",
"__mutex_base": "cpp",
"__node_handle": "cpp",
"__nullptr": "cpp",
"__split_buffer": "cpp",
"__string": "cpp",
"__threading_support": "cpp",
"__tree": "cpp",
"__tuple": "cpp",
"bit": "cpp",
"ios": "cpp",
"iterator": "cpp",
"locale": "cpp",
"map": "cpp",
"mutex": "cpp",
"optional": "cpp",
"string_view": "cpp",
"condition_variable": "cpp",
"set": "cpp",
"memory_resource": "cpp",
"random": "cpp",
"variant": "cpp",
"hash_map": "cpp",
"hash_set": "cpp",
"codecvt": "cpp",
"regex": "cpp",
"future": "cpp",
"shared_mutex": "cpp",
"__bits": "cpp",
"compare": "cpp",
"concepts": "cpp",
"queue": "cpp",
"stack": "cpp",
"__hash_table": "cpp"
},
"C_Cpp.clang_format_fallbackStyle": "google",
"editor.formatOnSave": true,
"cmake.configureArgs": [
"-DBUILD_SHARED_LIBS=ON",
"-DMANIFOLD_EXPORT=OFF",
"-DMANIFOLD_DEBUG=ON",
"-DMANIFOLD_USE_CUDA=OFF",
"-DMANIFOLD_PAR=NONE",
"-DCODE_COVERAGE=OFF",
"-DCMAKE_CXX_FLAGS=''" //'-fsanitize=address,undefined'"
],
"search.exclude": {
"**/third_party/*": true,
"build*": true,
"docs/*": true
},
"editor.tabSize": 2,
"editor.detectIndentation": false,
}
+9
View File
@@ -0,0 +1,9 @@
# This is the list of Manifold's significant contributors.
#
# This does not necessarily list everyone who has contributed code,
# especially since many employees of one corporation may be contributing.
# To see the full list of contributors, see the revision history in
# source control.
Emmett Lalish <elalish>
Chun Kit LAM <pca006132>
Google LLC
+75
View File
@@ -0,0 +1,75 @@
# Copyright 2020 The Manifold Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
cmake_minimum_required(VERSION 3.18)
project(manifold LANGUAGES CXX)
set(CMAKE_VERBOSE_MAKEFILE ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
option(MANIFOLD_EXPORT off)
option(MANIFOLD_DEBUG off)
option(MANIFOLD_USE_CUDA off)
set(MANIFOLD_PAR "NONE" CACHE STRING "Parallel backend, either \"TBB\" or \"OpenMP\" or \"NONE\"")
if(EMSCRIPTEN)
message("Building for Emscripten")
set(MANIFOLD_FLAGS -fexceptions)
set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} -sALLOW_MEMORY_GROWTH=1)
endif()
option(PYBIND11_FINDPYTHON on)
option(BUILD_TEST_CGAL off)
option(BUILD_SHARED_LIBS off)
set(GLM_INC_DIR ${PROJECT_SOURCE_DIR}/src/third_party/glm)
set(PYBIND11_DIR ${PROJECT_SOURCE_DIR}/bindings/python/third_party/pybind11)
set(THRUST_INC_DIR ${PROJECT_SOURCE_DIR}/src/third_party/thrust)
if(MANIFOLD_USE_CUDA)
enable_language(CUDA)
find_package(CUDA REQUIRED)
# we cannot set THRUST_INC_DIR when building with CUDA, otherwise the
# compiler will not use the system CUDA headers which causes incompatibility
# clear THRUST_INC_DIR, we use the one from nvcc
set(THRUST_INC_DIR "")
set(MANIFOLD_NVCC_RELEASE_FLAGS -O3 -lineinfo)
set(MANIFOLD_NVCC_DEBUG_FLAGS -G)
set(MANIFOLD_NVCC_FLAGS -Xcudafe --diag_suppress=esa_on_defaulted_function_ignored --extended-lambda --expt-relaxed-constexpr
"$<$<CONFIG:RELEASE>:${MANIFOLD_NVCC_RELEASE_FLAGS}>"
"$<$<CONFIG:DEBUG>:${MANIFOLD_NVCC_DEBUG_FLAGS}>")
endif()
if(NOT MSVC)
set(WARNING_FLAGS -Werror -Wall -Wno-sign-compare -Wno-unused)
add_compile_options(
"$<$<COMPILE_LANGUAGE:CXX>:${WARNING_FLAGS}>"
"$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=${WARNING_FLAGS}>")
endif()
if(CODE_COVERAGE AND NOT MSVC)
set(COVERAGE_FLAGS -coverage -fno-inline-small-functions -fkeep-inline-functions -fkeep-static-functions)
add_compile_options(
"$<$<COMPILE_LANGUAGE:CXX>:${COVERAGE_FLAGS}>"
"$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-coverage>")
add_link_options("-coverage")
endif()
add_subdirectory(src)
add_subdirectory(samples)
add_subdirectory(test)
add_subdirectory(extras)
add_subdirectory(bindings)
-1
View File
@@ -1 +0,0 @@
manifoldcad.org
+29
View File
@@ -0,0 +1,29 @@
# How to Contribute
We'd love to accept your patches and contributions to this project. There are
just a few small guidelines you need to follow.
## Contributor License Agreement
Contributions to this project must be accompanied by a Contributor License
Agreement (CLA). You (or your employer) retain the copyright to your
contribution; this simply gives us permission to use and redistribute your
contributions as part of the project. Head over to
<https://cla.developers.google.com/> to see your current agreements on file or
to sign a new one.
You generally only need to submit a CLA once, so if you've already submitted one
(even if it was for a different project), you probably don't need to do it
again.
## Code Reviews
All submissions, including submissions by project members, require review. We
use GitHub pull requests for this purpose. Consult
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
information on using pull requests.
## Community Guidelines
This project follows
[Google's Open Source Community Guidelines](https://opensource.google/conduct/).
+2584
View File
File diff suppressed because it is too large Load Diff
+201
View File
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+106
View File
@@ -0,0 +1,106 @@
[![codecov](https://codecov.io/github/elalish/manifold/branch/master/graph/badge.svg?token=IIA8G5HVS7)](https://codecov.io/github/elalish/manifold)
[![twitter](https://img.shields.io/twitter/follow/manifoldcad?style=social&logo=twitter)](https://twitter.com/intent/follow?screen_name=manifoldcad)
## [ManifoldCAD.org](https://manifoldcad.org)
If you like OpenSCAD / OpenJSCAD, you might also like ManifoldCAD - our own solid modelling web app. The operations are not GPU-accelerated, but it's still pretty fast and a good way to test out our Manifold library.
![A metallic Menger sponge](https://elalish.github.io/manifold/samples/models/mengerSponge3.webp "A metallic Menger sponge")
# Manifold
[**High-level Documentation**](https://elalish.blogspot.com/search/label/Manifold) | [**API Documentation**](https://elalish.github.io/manifold/docs/html/modules.html) | [**Algorithm Documentation**](https://github.com/elalish/manifold/wiki/Manifold-Library) | [**Web Examples**](https://elalish.github.io/manifold/model-viewer.html)
[Manifold](https://github.com/elalish/manifold) is a geometry library dedicated to creating and operating on manifold triangle meshes. A [manifold mesh](https://github.com/elalish/manifold/wiki/Manifold-Library#manifoldness) is a mesh that represents a solid object, and so is very important in manufacturing, CAD, structural analysis, etc. Further information can be found on the [wiki](https://github.com/elalish/manifold/wiki/Manifold-Library).
This is a modern C++ library that Github's CI verifies builds and runs on a variety of platforms. Additionally, we build bindings for JavaScript ([manifold-3d](https://www.npmjs.com/package/manifold-3d) on npm) and Python to make this library more portable and easy to use. We have only three dependencies (all built-in header-only libraries): graphlite provides a connected components algorithm, GLM is a compact vector library, and Thrust is Nvidia's parallel algorithms library (basically a superset of C++17 std::parallel_algorithms). We make use of submodules to ensure compatibility.
## What's here
This library is fast with guaranteed manifold output. As such you need manifold meshes as input, which this library can create using constructors inspired by the OpenSCAD API, as well as more advanced features like smoothing and signed-distance function (SDF) level sets. You can also pass in your own mesh data, but you'll get an error status if the imported mesh isn't manifold. Various automated repair tools exist online for fixing non manifold models, usually for 3D printing.
The most significant contribution here is a guaranteed-manifold [mesh Boolean](https://github.com/elalish/manifold/wiki/Manifold-Library#mesh-boolean) algorithm, which I believe is the first of its kind. If you know of another, please open a discussion - a mesh Boolean algorithm robust to edge cases has been an open problem for many years. Likewise, if the Boolean here ever fails you, please submit an issue! This Boolean forms the basis of a CAD kernel, as it allows simple shapes to be combined into more complex ones.
To aid in speed, this library makes extensive use of parallelization, generally through Nvidia's Thrust library. You can switch between the CUDA, OMP and serial C++ backends by setting a CMake flag. Not everything is so parallelizable, for instance a [polygon triangulation](https://github.com/elalish/manifold/wiki/Manifold-Library#polygon-triangulation) algorithm is included which is serial. Even if compiled for CUDA, the code will still run without a GPU, falling back to the serial version of the algorithms. The WASM build is serial-only for now, but still fast.
Look in the [samples](https://github.com/elalish/manifold/tree/master/samples) directory for examples of how to use this library to make interesting 3D models. You may notice that some of these examples bare a certain resemblance to my OpenSCAD designs on [Thingiverse](https://www.thingiverse.com/emmett), which is no accident. Much as I love OpenSCAD, my library is dramatically faster and the code is more flexible.
## Building
Only CMake, a C++ compiler, and Python are required to be installed and set up to build this library (it has been tested with GCC, LLVM, MSVC). However, a variety of optional dependencies can bring in more functionality, see below.
Build and test (Ubuntu or similar):
```
git clone --recurse-submodules https://github.com/elalish/manifold.git
cd manifold
git apply thrust.diff
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON .. && make
test/manifold_test
```
CMake flags (usage e.g. `-DMANIFOLD_USE_CUDA=ON`):
- `MANIFOLD_USE_CUDA=[<OFF>, ON]`: Provides Nvidia GPU parallelization, requires CUDA Toolkit and its nvcc compiler.
- `MANIFOLD_PAR=[<NONE>, OMP, TBB]`: Provides multi-thread parallelization, requires `libomp-dev` or `libtbb-dev`.
- `MANIFOLD_EXPORT=[<OFF>, ON]`: Enables GLB export of 3D models from the tests, requires `libassimp-dev`.
- `MANIFOLD_DEBUG=[<OFF>, ON]`: Enables internal assertions and exceptions.
- `BUILD_TEST_CGAL=[<OFF>, ON]`: Builds a CGAL-based performance [comparison](https://github.com/elalish/manifold/tree/master/extras), requires `libcgal-dev`.
The build instructions used by our CI are in [manifold.yml](https://github.com/elalish/manifold/blob/master/.github/workflows/manifold.yml), which is a good source to check if something goes wrong and for instructions specific to other platforms, like Windows.
### WASM
To build the JS WASM library, first install NodeJS and set up emscripten:
(on Mac):
```
brew install nodejs
brew install emscripten
```
(on Linux):
```
sudo apt install nodejs
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest
source ./emsdk/emsdk_env.sh
```
Then build:
```
cd manifold
mkdir buildWASM
cd buildWASM
emcmake cmake -DCMAKE_BUILD_TYPE=Release .. && emmake make
node test/manifold_test.js
```
### Python
The CMake script will build the python binding `pymanifold` automatically. To
use the extension, please add `$BUILD_DIR/tools` to your `PYTHONPATH`, where
`$BUILD_DIR` is the build directory for CMake. Examples using the python binding
can be found in `bindings/python/examples`. To see exported samples, run:
```
sudo apt install pkg-config libpython3-dev python3 python3-distutils python3-pip
pip install trimesh
python3 run_all.py -e
```
Run the following code in the interpreter for
python binding documentation:
```
>>> import pymanifold
>>> help(pymanifold)
```
For more detailed documentation, please refer to the C++ API.
## Contributing
Contributions are welcome! A lower barrier contribution is to simply make a PR that adds a test, especially if it repros an issue you've found. Simply name it prepended with DISABLED_, so that it passes the CI. That will be a very strong signal to me to fix your issue. However, if you know how to fix it yourself, then including the fix in your PR would be much appreciated!
## About the author
This library was started by [Emmett Lalish](https://elalish.blogspot.com/). I am currently a Google employee and this is my 20% project, not an official Google project. At my day job I'm the maintainer of [\<model-viewer\>](https://modelviewer.dev/). I was the first employee at a 3D video startup, [Omnivor](https://www.omnivor.io/), and before that I worked on 3D printing at Microsoft, including [3D Builder](https://www.microsoft.com/en-us/p/3d-builder/9wzdncrfj3t6?activetab=pivot%3Aoverviewtab). Originally an aerospace engineer, I started at a small DARPA contractor doing seedling projects, one of which became [Sea Hunter](https://en.wikipedia.org/wiki/Sea_Hunter). I earned my doctorate from the University of Washington in control theory and published some [papers](https://www.researchgate.net/scientific-contributions/75011026_Emmett_Lalish).
@@ -1 +0,0 @@
var e={};export{e as default};
@@ -1 +0,0 @@
{"version":3,"file":"__vite-browser-external-9wXp6ZBx.js","sources":["../__vite-browser-external"],"sourcesContent":["export default {}"],"names":["__viteBrowserExternal"],"mappings":"AAAA,IAAAA,EAAe,CAAA"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}},s=["abstract","activate","and","any","array","as","asc","assert","autonomous","begin","bigdecimal","blob","boolean","break","bulk","by","case","cast","catch","char","class","collect","commit","const","continue","convertcurrency","decimal","default","delete","desc","do","double","else","end","enum","exception","exit","export","extends","false","final","finally","float","for","from","future","get","global","goto","group","having","hint","if","implements","import","in","inner","insert","instanceof","int","interface","into","join","last_90_days","last_month","last_n_days","last_week","like","limit","list","long","loop","map","merge","native","new","next_90_days","next_month","next_n_days","next_week","not","null","nulls","number","object","of","on","or","outer","override","package","parallel","pragma","private","protected","public","retrieve","return","returning","rollback","savepoint","search","select","set","short","sort","stat","static","strictfp","super","switch","synchronized","system","testmethod","then","this","this_month","this_week","throw","throws","today","tolabel","tomorrow","transaction","transient","trigger","true","try","type","undelete","update","upsert","using","virtual","void","volatile","webservice","when","where","while","yesterday"],o=e=>e.charAt(0).toUpperCase()+e.substr(1),t=[];s.forEach(e=>{t.push(e),t.push(e.toUpperCase()),t.push(o(e))});var i={defaultToken:"",tokenPostfix:".apex",keywords:t,operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,"annotation"],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,"number.float"],[/(@digits)[fFdD]/,"number.float"],[/(@digits)[lL]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string",'@string."'],[/'/,"string","@string.'"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@apexdoc"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],apexdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]]}};export{n as conf,i as language};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var e={comments:{lineComment:"#"}},t={defaultToken:"keyword",ignoreCase:!0,tokenPostfix:".azcli",str:/[^#\s]/,tokenizer:{root:[{include:"@comment"},[/\s-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":{token:"key.identifier",next:"@type"}}}]],type:[{include:"@comment"},[/-+@str*\s*/,{cases:{"@eos":{token:"key.identifier",next:"@popall"},"@default":"key.identifier"}}],[/@str+\s*/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}]],comment:[[/#.*$/,{cases:{"@eos":{token:"comment",next:"@popall"}}}]]}};export{e as conf,t as language};
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"azcli.js","sources":["../../node_modules/monaco-editor/esm/vs/basic-languages/azcli/azcli.js"],"sourcesContent":["/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.53.0(4e45ba0c5ff45fc61c0ccac61c0987369df04a6e)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n\n// src/basic-languages/azcli/azcli.ts\nvar conf = {\n comments: {\n lineComment: \"#\"\n }\n};\nvar language = {\n defaultToken: \"keyword\",\n ignoreCase: true,\n tokenPostfix: \".azcli\",\n str: /[^#\\s]/,\n tokenizer: {\n root: [\n { include: \"@comment\" },\n [\n /\\s-+@str*\\s*/,\n {\n cases: {\n \"@eos\": { token: \"key.identifier\", next: \"@popall\" },\n \"@default\": { token: \"key.identifier\", next: \"@type\" }\n }\n }\n ],\n [\n /^-+@str*\\s*/,\n {\n cases: {\n \"@eos\": { token: \"key.identifier\", next: \"@popall\" },\n \"@default\": { token: \"key.identifier\", next: \"@type\" }\n }\n }\n ]\n ],\n type: [\n { include: \"@comment\" },\n [\n /-+@str*\\s*/,\n {\n cases: {\n \"@eos\": { token: \"key.identifier\", next: \"@popall\" },\n \"@default\": \"key.identifier\"\n }\n }\n ],\n [\n /@str+\\s*/,\n {\n cases: {\n \"@eos\": { token: \"string\", next: \"@popall\" },\n \"@default\": \"string\"\n }\n }\n ]\n ],\n comment: [\n [\n /#.*$/,\n {\n cases: {\n \"@eos\": { token: \"comment\", next: \"@popall\" }\n }\n }\n ]\n ]\n }\n};\nexport {\n conf,\n language\n};\n"],"names":["conf","language"],"mappings":"AASG,IAACA,EAAO,CACT,SAAU,CACR,YAAa,GACjB,CACA,EACIC,EAAW,CACb,aAAc,UACd,WAAY,GACZ,aAAc,SACd,IAAK,SACL,UAAW,CACT,KAAM,CACJ,CAAE,QAAS,UAAU,EACrB,CACE,eACA,CACE,MAAO,CACL,OAAQ,CAAE,MAAO,iBAAkB,KAAM,SAAS,EAClD,WAAY,CAAE,MAAO,iBAAkB,KAAM,OAAO,CAChE,CACA,CACA,EACM,CACE,cACA,CACE,MAAO,CACL,OAAQ,CAAE,MAAO,iBAAkB,KAAM,SAAS,EAClD,WAAY,CAAE,MAAO,iBAAkB,KAAM,OAAO,CAChE,CACA,CACA,CACA,EACI,KAAM,CACJ,CAAE,QAAS,UAAU,EACrB,CACE,aACA,CACE,MAAO,CACL,OAAQ,CAAE,MAAO,iBAAkB,KAAM,SAAS,EAClD,WAAY,gBACxB,CACA,CACA,EACM,CACE,WACA,CACE,MAAO,CACL,OAAQ,CAAE,MAAO,SAAU,KAAM,SAAS,EAC1C,WAAY,QACxB,CACA,CACA,CACA,EACI,QAAS,CACP,CACE,OACA,CACE,MAAO,CACL,OAAQ,CAAE,MAAO,UAAW,KAAM,SAAS,CACvD,CACA,CACA,CACA,CACA,CACA","x_google_ignoreList":[0]}
-1
View File
@@ -1 +0,0 @@
var e={comments:{lineComment:"REM"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*(::\\s*|REM\\s+)#region"),end:new RegExp("^\\s*(::\\s*|REM\\s+)#endregion")}}},s={defaultToken:"",ignoreCase:!0,tokenPostfix:".bat",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.parenthesis",open:"(",close:")"},{token:"delimiter.square",open:"[",close:"]"}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,["","comment"]],[/(\@?)(@keywords)(?!\w)/,[{token:"keyword"},{token:"keyword.$2"}]],[/[ \t\r\n]+/,""],[/setlocal(?!\w)/,"keyword.tag-setlocal"],[/endlocal(?!\w)/,"keyword.tag-setlocal"],[/[a-zA-Z_]\w*/,""],[/:\w*/,"metatag"],[/%[^%]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"/,"string",'@string."'],[/'/,"string","@string.'"]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/%[\w ]+%/,"variable"],[/%%[\w]+(?!\w)/,"variable"],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/$/,"string","@popall"]]}};export{e as conf,s as language};
File diff suppressed because one or more lines are too long
-2
View File
@@ -1,2 +0,0 @@
var n=e=>`\\b${e}\\b`,t="[_a-zA-Z]",o="[_a-zA-Z0-9]",r=n(`${t}${o}*`),i=["targetScope","resource","module","param","var","output","for","in","if","existing"],a=["true","false","null"],s="[ \\t\\r\\n]",c="[0-9]+",g={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'"},{open:"'''",close:"'''"}],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:"'''",close:"'''",notIn:["string","comment"]}],autoCloseBefore:`:.,=}])'
`,indentationRules:{increaseIndentPattern:new RegExp("^((?!\\/\\/).)*(\\{[^}\"'`]*|\\([^)\"'`]*|\\[[^\\]\"'`]*)$"),decreaseIndentPattern:new RegExp("^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$")}},l={defaultToken:"",tokenPostfix:".bicep",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:i,namedLiterals:a,escapes:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",tokenizer:{root:[{include:"@expression"},{include:"@whitespace"}],stringVerbatim:[{regex:"(|'|'')[^']",action:{token:"string"}},{regex:"'''",action:{token:"string.quote",next:"@pop"}}],stringLiteral:[{regex:"\\${",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"[^\\\\'$]+",action:{token:"string"}},{regex:"@escapes",action:{token:"string.escape"}},{regex:"\\\\.",action:{token:"string.escape.invalid"}},{regex:"'",action:{token:"string",next:"@pop"}}],bracketCounting:[{regex:"{",action:{token:"delimiter.bracket",next:"@bracketCounting"}},{regex:"}",action:{token:"delimiter.bracket",next:"@pop"}},{include:"expression"}],comment:[{regex:"[^\\*]+",action:{token:"comment"}},{regex:"\\*\\/",action:{token:"comment",next:"@pop"}},{regex:"[\\/*]",action:{token:"comment"}}],whitespace:[{regex:s},{regex:"\\/\\*",action:{token:"comment",next:"@comment"}},{regex:"\\/\\/.*$",action:{token:"comment"}}],expression:[{regex:"'''",action:{token:"string.quote",next:"@stringVerbatim"}},{regex:"'",action:{token:"string.quote",next:"@stringLiteral"}},{regex:c,action:{token:"number"}},{regex:r,action:{cases:{"@keywords":{token:"keyword"},"@namedLiterals":{token:"keyword"},"@default":{token:"identifier"}}}}]}};export{g as conf,l as language};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var e={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"],["<",">"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'},{open:"(*",close:"*)"}]},o={defaultToken:"",tokenPostfix:".cameligo",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["abs","assert","block","Bytes","case","Crypto","Current","else","failwith","false","for","fun","if","in","let","let%entry","let%init","List","list","Map","map","match","match%nat","mod","not","operation","Operation","of","record","Set","set","sender","skip","source","String","then","to","true","type","with"],typeKeywords:["int","unit","string","tz","nat","bool"],operators:["=",">","<","<=",">=","<>",":",":=","and","mod","or","+","-","*","/","@","&","^","%","->","<-","&&","||"],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\$[0-9a-fA-F]{1,16}/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@string"],[/'[^\\']'/,"string"],[/'/,"string.invalid"],[/\#\d+/,"string"]],comment:[[/[^\(\*]+/,"comment"],[/\*\)/,"comment","@pop"],[/\(\*/,"comment"]],string:[[/[^\\']+/,"string"],[/\\./,"string.escape.invalid"],[/'/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\(\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}};export{e as conf,o as language};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{D as a,E as n,c as g}from"./htmlContent.js";function d(s,e){return!!s[e]}class h{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=d(e.event,t.triggerModifier),this.hasSideBySideModifier=d(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class _{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=d(e,t.triggerModifier)}}class o{constructor(e,t,i,r){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=r}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function l(s){return s==="altKey"?g?new o(57,"metaKey",6,"altKey"):new o(5,"ctrlKey",6,"altKey"):g?new o(6,"altKey",57,"metaKey"):new o(6,"altKey",5,"ctrlKey")}class M extends a{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new n),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new n),this.onExecute=this._onExecute.event,this._onCancel=this._register(new n),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=t?.extractLineNumberFromMouseEvent??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=l(this._editor.getOption(86)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(i=>{if(i.hasChanged(86)){const r=l(this._editor.getOption(86));if(this._opts.equals(r))return;this._opts=r,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(i=>this._onEditorMouseMove(new h(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new h(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new h(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new _(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new _(i,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(i=>this._onDidChangeCursorSelection(i))),this._register(this._editor.onDidChangeModel(i=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(i=>{(i.scrollTopChanged||i.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}export{M as C};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
var e={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:["###","###"],lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},r={defaultToken:"",ignoreCase:!0,tokenPostfix:".coffee",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:["and","or","is","isnt","not","on","yes","@","no","off","true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","if","else","switch","for","while","do","try","catch","finally","class","extends","super","undefined","then","unless","until","loop","of","by","when"],symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,"variable.predefined"],[/[a-zA-Z_]\w*/,{cases:{this:"variable.predefined","@keywords":{token:"keyword.$0"},"@default":""}}],[/[ \t\r\n]+/,""],[/###/,"comment","@comment"],[/#.*$/,"comment"],["///",{token:"regexp",next:"@hereregexp"}],[/^(\s*)(@regEx)/,["","regexp"]],[/(\()(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\,)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\=)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\:)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\[)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\!)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\&)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\|)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\?)(\s*)(@regEx)/,["delimiter","","regexp"]],[/(\{)(\s*)(@regEx)/,["@brackets","","regexp"]],[/(\;)(\s*)(@regEx)/,["","","regexp"]],[/}/,{cases:{"$S2==interpolatedstring":{token:"string",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/@symbols/,"delimiter"],[/\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d+\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/0[0-7]+(?!\d)/,"number.octal"],[/\d+/,"number"],[/[,.]/,"delimiter"],[/"""/,"string",'@herestring."""'],[/'''/,"string","@herestring.'''"],[/"/,{cases:{"@eos":"string","@default":{token:"string",next:'@string."'}}}],[/'/,{cases:{"@eos":"string","@default":{token:"string",next:"@string.'"}}}]],string:[[/[^"'\#\\]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/\./,"string.escape.invalid"],[/#{/,{cases:{'$S2=="':{token:"string",next:"root.interpolatedstring"},"@default":"string"}}],[/["']/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/#/,"string"]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:"string",next:"@pop"},"@default":"string"}}],[/[^#\\'"]+/,"string"],[/['"]+/,"string"],[/@escapes/,"string.escape"],[/\./,"string.escape.invalid"],[/#{/,{token:"string.quote",next:"root.interpolatedstring"}],[/#/,"string"]],comment:[[/[^#]+/,"comment"],[/###/,"comment","@pop"],[/#/,"comment"]],hereregexp:[[/[^\\\/#]+/,"regexp"],[/\\./,"regexp"],[/#.*$/,"comment"],["///[igm]*",{token:"regexp",next:"@pop"}],[/\//,"regexp"]]}};export{e as conf,r as language};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var e={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:'"',close:'"'}],folding:{markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},t={defaultToken:"",tokenPostfix:".cs",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],keywords:["extern","alias","using","bool","decimal","sbyte","byte","short","ushort","int","uint","long","ulong","char","float","double","object","dynamic","string","assembly","is","as","ref","out","this","base","new","typeof","void","checked","unchecked","default","delegate","var","const","if","else","switch","case","while","do","for","foreach","in","break","continue","goto","return","throw","try","catch","finally","lock","yield","from","let","where","join","on","equals","into","orderby","ascending","descending","select","group","by","namespace","partial","class","field","event","method","param","public","protected","internal","private","abstract","sealed","static","struct","readonly","volatile","virtual","override","params","get","set","add","remove","operator","true","false","implicit","explicit","interface","enum","null","async","await","fixed","sizeof","stackalloc","unsafe","nameof","when"],namespaceFollows:["namespace","using"],parenFollows:["if","for","while","switch","foreach","using","catch","when"],operators:["=","??","||","&&","|","^","&","==","!=","<=",">=","<<","+","-","*","/","%","!","~","++","--","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=",">>","=>"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@?[a-zA-Z_]\w*/,{cases:{"@namespaceFollows":{token:"keyword.$0",next:"@namespace"},"@keywords":{token:"keyword.$0",next:"@qualified"},"@default":{token:"identifier",next:"@qualified"}}}],{include:"@whitespace"},[/}/,{cases:{"$S2==interpolatedstring":{token:"string.quote",next:"@pop"},"$S2==litinterpstring":{token:"string.quote",next:"@pop"},"@default":"@brackets"}}],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,"number.float"],[/0[xX][0-9a-fA-F_]+/,"number.hex"],[/0[bB][01_]+/,"number.hex"],[/[0-9_]+/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",next:"@string"}],[/\$\@"/,{token:"string.quote",next:"@litinterpstring"}],[/\@"/,{token:"string.quote",next:"@litstring"}],[/\$"/,{token:"string.quote",next:"@interpolatedstring"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],[/\./,"delimiter"],["","","@pop"]],namespace:[{include:"@whitespace"},[/[A-Z]\w*/,"namespace"],[/[\.=]/,"delimiter"],["","","@pop"]],comment:[[/[^\/*]+/,"comment"],["\\*/","comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",next:"@pop"}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]],litinterpstring:[[/[^"{]+/,"string"],[/""/,"string.escape"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.litinterpstring"}],[/"/,{token:"string.quote",next:"@pop"}]],interpolatedstring:[[/[^\\"{]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/{{/,"string.escape"],[/}}/,"string.escape"],[/{/,{token:"string.quote",next:"root.interpolatedstring"}],[/"/,{token:"string.quote",next:"@pop"}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,"directive.csx"],[/^[ \t\v\f]*#\w.*$/,"namespace.cpp"],[/[ \t\v\f\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]]}};export{e as conf,t as language};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var t={brackets:[],autoClosingPairs:[],surroundingPairs:[]},r={keywords:[],typeKeywords:[],tokenPostfix:".csp",operators:[],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/child-src/,"string.quote"],[/connect-src/,"string.quote"],[/default-src/,"string.quote"],[/font-src/,"string.quote"],[/frame-src/,"string.quote"],[/img-src/,"string.quote"],[/manifest-src/,"string.quote"],[/media-src/,"string.quote"],[/object-src/,"string.quote"],[/script-src/,"string.quote"],[/style-src/,"string.quote"],[/worker-src/,"string.quote"],[/base-uri/,"string.quote"],[/plugin-types/,"string.quote"],[/sandbox/,"string.quote"],[/disown-opener/,"string.quote"],[/form-action/,"string.quote"],[/frame-ancestors/,"string.quote"],[/report-uri/,"string.quote"],[/report-to/,"string.quote"],[/upgrade-insecure-requests/,"string.quote"],[/block-all-mixed-content/,"string.quote"],[/require-sri-for/,"string.quote"],[/reflected-xss/,"string.quote"],[/referrer/,"string.quote"],[/policy-uri/,"string.quote"],[/'self'/,"string.quote"],[/'unsafe-inline'/,"string.quote"],[/'unsafe-eval'/,"string.quote"],[/'strict-dynamic'/,"string.quote"],[/'unsafe-hashed-attributes'/,"string.quote"]]}};export{t as conf,r as language};
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"csp.js","sources":["../../node_modules/monaco-editor/esm/vs/basic-languages/csp/csp.js"],"sourcesContent":["/*!-----------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.53.0(4e45ba0c5ff45fc61c0ccac61c0987369df04a6e)\n * Released under the MIT license\n * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt\n *-----------------------------------------------------------------------------*/\n\n\n// src/basic-languages/csp/csp.ts\nvar conf = {\n brackets: [],\n autoClosingPairs: [],\n surroundingPairs: []\n};\nvar language = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n // defaultToken: 'invalid',\n keywords: [],\n typeKeywords: [],\n tokenPostfix: \".csp\",\n operators: [],\n symbols: /[=><!~?:&|+\\-*\\/\\^%]+/,\n escapes: /\\\\(?:[abfnrtv\\\\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\n tokenizer: {\n root: [\n [/child-src/, \"string.quote\"],\n [/connect-src/, \"string.quote\"],\n [/default-src/, \"string.quote\"],\n [/font-src/, \"string.quote\"],\n [/frame-src/, \"string.quote\"],\n [/img-src/, \"string.quote\"],\n [/manifest-src/, \"string.quote\"],\n [/media-src/, \"string.quote\"],\n [/object-src/, \"string.quote\"],\n [/script-src/, \"string.quote\"],\n [/style-src/, \"string.quote\"],\n [/worker-src/, \"string.quote\"],\n [/base-uri/, \"string.quote\"],\n [/plugin-types/, \"string.quote\"],\n [/sandbox/, \"string.quote\"],\n [/disown-opener/, \"string.quote\"],\n [/form-action/, \"string.quote\"],\n [/frame-ancestors/, \"string.quote\"],\n [/report-uri/, \"string.quote\"],\n [/report-to/, \"string.quote\"],\n [/upgrade-insecure-requests/, \"string.quote\"],\n [/block-all-mixed-content/, \"string.quote\"],\n [/require-sri-for/, \"string.quote\"],\n [/reflected-xss/, \"string.quote\"],\n [/referrer/, \"string.quote\"],\n [/policy-uri/, \"string.quote\"],\n [/'self'/, \"string.quote\"],\n [/'unsafe-inline'/, \"string.quote\"],\n [/'unsafe-eval'/, \"string.quote\"],\n [/'strict-dynamic'/, \"string.quote\"],\n [/'unsafe-hashed-attributes'/, \"string.quote\"]\n ]\n }\n};\nexport {\n conf,\n language\n};\n"],"names":["conf","language"],"mappings":"AASG,IAACA,EAAO,CACT,SAAU,CAAA,EACV,iBAAkB,CAAA,EAClB,iBAAkB,CAAA,CACpB,EACIC,EAAW,CAGb,SAAU,CAAA,EACV,aAAc,CAAA,EACd,aAAc,OACd,UAAW,CAAA,EACX,QAAS,wBACT,QAAS,wEACT,UAAW,CACT,KAAM,CACJ,CAAC,YAAa,cAAc,EAC5B,CAAC,cAAe,cAAc,EAC9B,CAAC,cAAe,cAAc,EAC9B,CAAC,WAAY,cAAc,EAC3B,CAAC,YAAa,cAAc,EAC5B,CAAC,UAAW,cAAc,EAC1B,CAAC,eAAgB,cAAc,EAC/B,CAAC,YAAa,cAAc,EAC5B,CAAC,aAAc,cAAc,EAC7B,CAAC,aAAc,cAAc,EAC7B,CAAC,YAAa,cAAc,EAC5B,CAAC,aAAc,cAAc,EAC7B,CAAC,WAAY,cAAc,EAC3B,CAAC,eAAgB,cAAc,EAC/B,CAAC,UAAW,cAAc,EAC1B,CAAC,gBAAiB,cAAc,EAChC,CAAC,cAAe,cAAc,EAC9B,CAAC,kBAAmB,cAAc,EAClC,CAAC,aAAc,cAAc,EAC7B,CAAC,YAAa,cAAc,EAC5B,CAAC,4BAA6B,cAAc,EAC5C,CAAC,0BAA2B,cAAc,EAC1C,CAAC,kBAAmB,cAAc,EAClC,CAAC,gBAAiB,cAAc,EAChC,CAAC,WAAY,cAAc,EAC3B,CAAC,aAAc,cAAc,EAC7B,CAAC,SAAU,cAAc,EACzB,CAAC,kBAAmB,cAAc,EAClC,CAAC,gBAAiB,cAAc,EAChC,CAAC,mBAAoB,cAAc,EACnC,CAAC,6BAA8B,cAAc,CACnD,CACA,CACA","x_google_ignoreList":[0]}
-3
View File
@@ -1,3 +0,0 @@
var e={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string","comment"]},{open:"[",close:"]",notIn:["string","comment"]},{open:"(",close:")",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/"),end:new RegExp("^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/")}}},t={defaultToken:"",tokenPostfix:".css",ws:`[
\r\f]*`,identifier:"-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*",brackets:[{open:"{",close:"}",token:"delimiter.bracket"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{root:[{include:"@selector"}],selector:[{include:"@comments"},{include:"@import"},{include:"@strings"},["[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)",{token:"keyword",next:"@keyframedeclaration"}],["[@](page|content|font-face|-moz-document)",{token:"keyword"}],["[@](charset|namespace)",{token:"keyword",next:"@declarationbody"}],["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@selectorname"},["[\\*]","tag"],["[>\\+,]","delimiter"],["\\[",{token:"delimiter.bracket",next:"@selectorattribute"}],["{",{token:"delimiter.bracket",next:"@selectorbody"}]],selectorbody:[{include:"@comments"},["[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))","attribute.name","@rulevalue"],["}",{token:"delimiter.bracket",next:"@pop"}]],selectorname:[["(\\.|#(?=[^{])|%|(@identifier)|:)+","tag"]],selectorattribute:[{include:"@term"},["]",{token:"delimiter.bracket",next:"@pop"}]],term:[{include:"@comments"},["(url-prefix)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],["(url)(\\()",["attribute.value",{token:"delimiter.parenthesis",next:"@urldeclaration"}]],{include:"@functioninvocation"},{include:"@numbers"},{include:"@name"},{include:"@strings"},["([<>=\\+\\-\\*\\/\\^\\|\\~,])","delimiter"],[",","delimiter"]],rulevalue:[{include:"@comments"},{include:"@strings"},{include:"@term"},["!important","keyword"],[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],warndebug:[["[@](warn|debug)",{token:"keyword",next:"@declarationbody"}]],import:[["[@](import)",{token:"keyword",next:"@declarationbody"}]],urldeclaration:[{include:"@strings"},[`[^)\r
]+`,"string"],["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],parenthizedterm:[{include:"@term"},["\\)",{token:"delimiter.parenthesis",next:"@pop"}]],declarationbody:[{include:"@term"},[";","delimiter","@pop"],["(?=})",{token:"",next:"@pop"}]],comments:[["\\/\\*","comment","@comment"],["\\/\\/+.*","comment"]],comment:[["\\*\\/","comment","@pop"],[/[^*/]+/,"comment"],[/./,"comment"]],name:[["@identifier","attribute.value"]],numbers:[["-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?",{token:"attribute.value.number",next:"@units"}],["#[0-9a-fA-F_]+(?!\\w)","attribute.value.hex"]],units:[["(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?","attribute.value.unit","@pop"]],keyframedeclaration:[["@identifier","attribute.value"],["{",{token:"delimiter.bracket",switchTo:"@keyframebody"}]],keyframebody:[{include:"@term"},["{",{token:"delimiter.bracket",next:"@selectorbody"}],["}",{token:"delimiter.bracket",next:"@pop"}]],functioninvocation:[["@identifier\\(",{token:"attribute.value",next:"@functionarguments"}]],functionarguments:[["\\$@identifier@ws:","attribute.name"],["[,]","delimiter"],{include:"@term"},["\\)",{token:"attribute.value",next:"@pop"}]],strings:[['~?"',{token:"string",next:"@stringenddoublequote"}],["~?'",{token:"string",next:"@stringendquote"}]],stringenddoublequote:[["\\\\.","string"],['"',{token:"string",next:"@pop"}],[/[^\\"]+/,"string"],[".","string"]],stringendquote:[["\\\\.","string"],["'",{token:"string",next:"@pop"}],[/[^\\']+/,"string"],[".","string"]]}};export{e as conf,t as language};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var e={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},i={defaultToken:"",tokenPostfix:".cypher",ignoreCase:!0,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ALL","AND","AS","ASC","ASCENDING","BY","CALL","CASE","CONTAINS","CREATE","DELETE","DESC","DESCENDING","DETACH","DISTINCT","ELSE","END","ENDS","EXISTS","IN","IS","LIMIT","MANDATORY","MATCH","MERGE","NOT","ON","ON","OPTIONAL","OR","ORDER","REMOVE","RETURN","SET","SKIP","STARTS","THEN","UNION","UNWIND","WHEN","WHERE","WITH","XOR","YIELD"],builtinLiterals:["true","TRUE","false","FALSE","null","NULL"],builtinFunctions:["abs","acos","asin","atan","atan2","avg","ceil","coalesce","collect","cos","cot","count","degrees","e","endNode","exists","exp","floor","head","id","keys","labels","last","left","length","log","log10","lTrim","max","min","nodes","percentileCont","percentileDisc","pi","properties","radians","rand","range","relationships","replace","reverse","right","round","rTrim","sign","sin","size","split","sqrt","startNode","stDev","stDevP","substring","sum","tail","tan","timestamp","toBoolean","toFloat","toInteger","toLower","toString","toUpper","trim","type"],operators:["+","-","*","/","%","^","=","<>","<",">","<=",">=","->","<-","-->","<--"],escapes:/\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+/,octaldigits:/[0-7]+/,hexdigits:/[0-9a-fA-F]+/,tokenizer:{root:[[/[{}[\]()]/,"@brackets"],{include:"common"}],common:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/:[a-zA-Z_][\w]*/,"type.identifier"],[/[a-zA-Z_][\w]*(?=\()/,{cases:{"@builtinFunctions":"predefined.function"}}],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":"keyword","@builtinLiterals":"predefined.literal","@default":"identifier"}}],[/`/,"identifier.escape","@identifierBacktick"],[/[;,.:|]/,"delimiter"],[/[<>=%+\-*/^]+/,{cases:{"@operators":"delimiter","@default":""}}]],numbers:[[/-?(@digits)[eE](-?(@digits))?/,"number.float"],[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/,"number.float"],[/-?0x(@hexdigits)/,"number.hex"],[/-?0(@octaldigits)/,"number.octal"],[/-?(@digits)/,"number"]],strings:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@stringDouble"],[/'/,"string","@stringSingle"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/\/\/.*/,"comment"],[/[^/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[/*]/,"comment"]],stringDouble:[[/[^\\"]+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/"/,"string","@pop"]],stringSingle:[[/[^\\']+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/'/,"string","@pop"]],identifierBacktick:[[/[^\\`]+/,"identifier.escape"],[/@escapes/,"identifier.escape"],[/\\./,"identifier.escape.invalid"],[/`/,"identifier.escape","@pop"]]}};export{e as conf,i as language};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var e={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["string"]},{open:"`",close:"`",notIn:["string","comment"]},{open:"/**",close:" */",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:"'",close:"'"},{open:"(",close:")"},{open:'"',close:'"'},{open:"`",close:"`"}],folding:{markers:{start:/^\s*\s*#?region\b/,end:/^\s*\s*#?endregion\b/}}},n={defaultToken:"invalid",tokenPostfix:".dart",keywords:["abstract","dynamic","implements","show","as","else","import","static","assert","enum","in","super","async","export","interface","switch","await","extends","is","sync","break","external","library","this","case","factory","mixin","throw","catch","false","new","true","class","final","null","try","const","finally","on","typedef","continue","for","operator","var","covariant","Function","part","void","default","get","rethrow","while","deferred","hide","return","with","do","if","set","yield"],typeKeywords:["int","double","String","bool"],operators:["+","-","*","/","~/","%","++","--","==","!=",">","<",">=","<=","=","-=","/=","%=",">>=","^=","+=","*=","~/=","<<=","&=","!=","||","&&","&","|","^","~","<<",">>","!",">>>","??","?",":","|="],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,"delimiter.bracket"],{include:"common"}],common:[[/[a-z_$][\w$]*/,{cases:{"@typeKeywords":"type.identifier","@keywords":"keyword","@default":"identifier"}}],[/[A-Z_$][\w\$]*/,"type.identifier"],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:"regexp",bracket:"@open",next:"@regexp"}],[/@[a-zA-Z]+/,"annotation"],[/[()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/!(?=([^=]|$))/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/,"number.float"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,"number.float"],[/0[xX](@hexdigits)n?/,"number.hex"],[/0[oO]?(@octaldigits)n?/,"number.octal"],[/0[bB](@binarydigits)n?/,"number.binary"],[/(@digits)n?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string_double"],[/'/,"string","@string_single"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@jsdoc"],[/\/\*/,"comment","@comment"],[/\/\/\/.*$/,"comment.doc"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],jsdoc:[[/[^\/*]+/,"comment.doc"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/,["regexp.escape.control","regexp.escape.control"]],[/[()]/,"regexp.escape.control"],[/@regexpctl/,"regexp.escape.control"],[/[^\\\/]/,"regexp"],[/@regexpesc/,"regexp.escape"],[/\\\./,"regexp.invalid"],[/(\/)([gimsuy]*)/,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/,"regexp.escape.control"],[/\^/,"regexp.invalid"],[/@regexpesc/,"regexp.escape"],[/[^\]]/,"regexp"],[/\]/,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"\$]+/,"string"],[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"],[/\$\w+/,"identifier"]],string_single:[[/[^\\'\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'/,"string","@pop"],[/\$\w+/,"identifier"]]}};export{e as conf,n as language};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var e={brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},o={defaultToken:"",tokenPostfix:".dockerfile",variable:/\${?[\w]+}?/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/(ONBUILD)(\s+)/,["keyword",""]],[/(ENV)(\s+)([\w]+)/,["keyword","",{token:"variable",next:"@arguments"}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:"keyword",next:"@arguments"}]],arguments:[{include:"@whitespace"},{include:"@strings"},[/(@variable)/,{cases:{"@eos":{token:"variable",next:"@popall"},"@default":"variable"}}],[/\\/,{cases:{"@eos":"","@default":""}}],[/./,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:"",next:"@popall"},"@default":""}}]],comment:[[/(^#.*$)/,"comment","@popall"]],strings:[[/\\'$/,"","@popall"],[/\\'/,""],[/'$/,"string","@popall"],[/'/,"string","@stringBody"],[/"$/,"string","@popall"],[/"/,"string","@dblStringBody"]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/'$/,"string","@popall"],[/'/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:"string",next:"@popall"},"@default":"string"}}],[/\\./,"string.escape"],[/"$/,"string","@popall"],[/"/,"string","@pop"],[/(@variable)/,"variable"],[/\\$/,"string"],[/$/,"string","@popall"]]}};export{e as conf,o as language};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
function r(e){return new Worker(""+new URL("editor.worker-D155hzzt.js",import.meta.url).href,{type:"module",name:e?.name})}export{r as default};
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"editor.worker.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{f as O,h as C,j as p,k as l,n as I,o as E}from"./htmlContent.js";import{C as w,I as S}from"./sash.js";import{I as b,a as P,b as R}from"./numbers.js";var W=function(n,e,i,s){var o=arguments.length,t=o<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,i):s,a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(n,e,i,s);else for(var d=n.length-1;d>=0;d--)(a=n[d])&&(t=(o<3?a(t):o>3?a(e,i,t):a(e,i))||t);return o>3&&t&&Object.defineProperty(e,i,t),t},r=function(n,e){return function(i,s){e(i,s,n)}};let u=class extends w{constructor(e,i,s,o,t,a,d,f,c,g,v,_,h){super(e,{...o.getRawOptions(),overflowWidgetsDomNode:o.getOverflowWidgetsDomNode()},s,t,a,d,f,c,g,v,_,h),this._parentEditor=o,this._overwriteOptions=i,super.updateOptions(this._overwriteOptions),this._register(o.onDidChangeConfiguration(m=>this._onParentConfigurationChanged(m)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){O(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};u=W([r(4,C),r(5,p),r(6,l),r(7,I),r(8,b),r(9,P),r(10,S),r(11,R),r(12,E)],u);function y(n){const e=n.get(p).getFocusedCodeEditor();return e instanceof u?e.getParentEditor():e}export{u as E,y as g};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
import{d as e}from"./htmlContent.js";const o=e("environmentService");export{o as I};
-1
View File
@@ -1 +0,0 @@
{"version":3,"file":"environment.js","sources":["../../node_modules/monaco-editor/esm/vs/platform/environment/common/environment.js"],"sourcesContent":["import { createDecorator } from '../../instantiation/common/instantiation.js';\nexport const IEnvironmentService = createDecorator('environmentService');\n//# sourceMappingURL=environment.js.map"],"names":["IEnvironmentService","createDecorator"],"mappings":"qCACY,MAACA,EAAsBC,EAAgB,oBAAoB","x_google_ignoreList":[0]}
Binary file not shown.
-1
View File
@@ -1 +0,0 @@
var e={comments:{blockComment:["/*","*/"],lineComment:"//"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}",notIn:["string"]},{open:"[",close:"]",notIn:["string"]},{open:"(",close:")",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"}]},o={defaultToken:"",tokenPostfix:".flow",keywords:["import","require","export","forbid","native","if","else","cast","unsafe","switch","default"],types:["io","mutable","bool","int","double","string","flow","void","ref","true","false","with"],operators:["=",">","<","<=",">=","==","!","!=",":=","::=","&&","||","+","-","*","/","@","&","%",":","->","\\","$","??","^"],symbols:/[@$=><!~?:&|+\-*\\\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@types":"type","@default":"identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"delimiter"],[/[<>](?!@symbols)/,"delimiter"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]]}};export{e as conf,o as language};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var e={comments:{lineComment:"//",blockComment:["(*","*)"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{markers:{start:new RegExp("^\\s*//\\s*#region\\b|^\\s*\\(\\*\\s*#region(.*)\\*\\)"),end:new RegExp("^\\s*//\\s*#endregion\\b|^\\s*\\(\\*\\s*#endregion\\s*\\*\\)")}}},n={defaultToken:"",tokenPostfix:".fs",keywords:["abstract","and","atomic","as","assert","asr","base","begin","break","checked","component","const","constraint","constructor","continue","class","default","delegate","do","done","downcast","downto","elif","else","end","exception","eager","event","external","extern","false","finally","for","fun","function","fixed","functor","global","if","in","include","inherit","inline","interface","internal","land","lor","lsl","lsr","lxor","lazy","let","match","member","mod","module","mutable","namespace","method","mixin","new","not","null","of","open","or","object","override","private","parallel","process","protected","pure","public","rec","return","static","sealed","struct","sig","then","to","true","tailcall","trait","try","type","upcast","use","val","void","virtual","volatile","when","while","with","yield"],symbols:/[=><!~?:&|+\-*\^%;\.,\/]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/[uU]?[yslnLI]?/,floatsuffix:/[fFmM]?/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[<.*>\]/,"annotation"],[/^#(if|else|endif)/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,"delimiter"],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,"number.float"],[/0x[0-9a-fA-F]+LF/,"number.float"],[/0x[0-9a-fA-F]+(@integersuffix)/,"number.hex"],[/0b[0-1]+(@integersuffix)/,"number.bin"],[/\d+(@integersuffix)/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"""/,"string",'@string."""'],[/"/,"string",'@string."'],[/\@"/,{token:"string.quote",next:"@litstring"}],[/'[^\\']'B?/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\(\*(?!\))/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^*(]+/,"comment"],[/\*\)/,"comment","@pop"],[/\*/,"comment"],[/\(\*\)/,"comment"],[/\(/,"comment"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/("""|"B?)/,{cases:{"$#==$S2":{token:"string",next:"@pop"},"@default":"string"}}]],litstring:[[/[^"]+/,"string"],[/""/,"string.escape"],[/"/,{token:"string.quote",next:"@pop"}]]}};export{e as conf,n as language};
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var e={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},n={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[\[.*\]\]/,"annotation"],[/^\s*#\w+/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}};export{e as conf,n as language};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var e={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""',notIn:["string","comment"]},{open:'"',close:'"',notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"""',close:'"""'},{open:'"',close:'"'}],folding:{offSide:!0}},n={defaultToken:"invalid",tokenPostfix:".gql",keywords:["null","true","false","query","mutation","subscription","extend","schema","directive","scalar","type","interface","union","enum","input","implements","fragment","on"],typeKeywords:["Int","Float","String","Boolean","ID"],directiveLocations:["SCHEMA","SCALAR","OBJECT","FIELD_DEFINITION","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","QUERY","MUTATION","SUBSCRIPTION","FIELD","FRAGMENT_DEFINITION","FRAGMENT_SPREAD","INLINE_FRAGMENT","VARIABLE_DEFINITION"],operators:["=","!","?",":","&","|"],symbols:/[=!?:&|]+/,escapes:/\\(?:["\\\/bfnrt]|u[0-9A-Fa-f]{4})/,tokenizer:{root:[[/[a-z_][\w$]*/,{cases:{"@keywords":"keyword","@default":"key.identifier"}}],[/[$][\w$]*/,{cases:{"@keywords":"keyword","@default":"argument.identifier"}}],[/[A-Z][\w\$]*/,{cases:{"@typeKeywords":"keyword","@default":"type.identifier"}}],{include:"@whitespace"},[/[{}()\[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/@\s*[a-zA-Z_\$][\w\$]*/,{token:"annotation",log:"annotation token: $0"}],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F]+/,"number.hex"],[/\d+/,"number"],[/[;,.]/,"delimiter"],[/"""/,{token:"string",next:"@mlstring",nextEmbedded:"markdown"}],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}]],mlstring:[[/[^"]+/,"string"],['"""',{token:"string",next:"@pop",nextEmbedded:"@pop"}]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,""],[/#.*$/,"comment"]]}};export{e as conf,n as language};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
var e={comments:{lineComment:"#",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'}]},t={defaultToken:"",tokenPostfix:".hcl",keywords:["var","local","path","for_each","any","string","number","bool","true","false","null","if ","else ","endif ","for ","in","endfor"],operators:["=",">=","<=","==","!=","+","-","*","/","%","&&","||","!","<",">","?","...",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,terraformFunctions:/(abs|ceil|floor|log|max|min|pow|signum|chomp|format|formatlist|indent|join|lower|regex|regexall|replace|split|strrev|substr|title|trimspace|upper|chunklist|coalesce|coalescelist|compact|concat|contains|distinct|element|flatten|index|keys|length|list|lookup|map|matchkeys|merge|range|reverse|setintersection|setproduct|setunion|slice|sort|transpose|values|zipmap|base64decode|base64encode|base64gzip|csvdecode|jsondecode|jsonencode|urlencode|yamldecode|yamlencode|abspath|dirname|pathexpand|basename|file|fileexists|fileset|filebase64|templatefile|formatdate|timeadd|timestamp|base64sha256|base64sha512|bcrypt|filebase64sha256|filebase64sha512|filemd5|filemd1|filesha256|filesha512|md5|rsadecrypt|sha1|sha256|sha512|uuid|uuidv5|cidrhost|cidrnetmask|cidrsubnet|tobool|tolist|tomap|tonumber|toset|tostring)/,terraformMainBlocks:/(module|data|terraform|resource|provider|variable|output|locals)/,tokenizer:{root:[[/^@terraformMainBlocks([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,["type","","string","","string","","@brackets"]],[/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)(\{)/,["identifier","","string","","string","","@brackets"]],[/(\w+[ \t]+)([ \t]*)([\w-]+|"[\w-]+"|)([ \t]*)([\w-]+|"[\w-]+"|)(=)(\{)/,["identifier","","string","","operator","","@brackets"]],{include:"@terraform"}],terraform:[[/@terraformFunctions(\()/,["type","@brackets"]],[/[a-zA-Z_]\w*-*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"variable"}}],{include:"@whitespace"},{include:"@heredoc"},[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"/,"string","@string"],[/'/,"invalid"]],heredoc:[[/<<[-]*\s*["]?([\w\-]+)["]?/,{token:"string.heredoc.delimiter",next:"@heredocBody.$1"}]],heredocBody:[[/([\w\-]+)$/,{cases:{"$1==$S2":[{token:"string.heredoc.delimiter",next:"@popall"}],"@default":"string.heredoc"}}],[/./,"string.heredoc"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"],[/#.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],string:[[/\$\{/,{token:"delimiter",next:"@stringExpression"}],[/[^\\"\$]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@popall"]],stringInsideExpression:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],stringExpression:[[/\}/,{token:"delimiter",next:"@pop"}],[/"/,"string","@stringInsideExpression"],{include:"@terraform"}]}};export{e as conf,t as language};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More