From 9ec0580fbccb4799a9648d4c84156c72cf77c0ab Mon Sep 17 00:00:00 2001 From: Fredrik Bagge Carlson Date: Fri, 21 Jun 2024 08:13:39 +0200 Subject: [PATCH] switch rendering backend to WGLMakie --- docs/Manifest.toml | 154 +++++++++++++--------- docs/Project.toml | 2 +- docs/make.jl | 2 +- docs/src/examples/free_motion.md | 2 +- docs/src/examples/kinematic_loops.md | 4 +- docs/src/examples/pendulum.md | 4 +- docs/src/examples/robot.md | 2 +- docs/src/examples/ropes_and_cables.md | 2 +- docs/src/examples/space.md | 2 +- docs/src/examples/spherical_pendulum.md | 2 +- docs/src/examples/spring_damper_system.md | 2 +- docs/src/examples/spring_mass_system.md | 2 +- docs/src/examples/swing.md | 4 +- docs/src/examples/three_springs.md | 2 +- docs/src/index.md | 2 +- docs/src/rendering.md | 2 +- 16 files changed, 107 insertions(+), 83 deletions(-) diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 0d1f00d4..5d4ac47b 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -2,12 +2,12 @@ julia_version = "1.10.4" manifest_format = "2.0" -project_hash = "d80e34e817e6042360db5d4ea065cc1cf2b4f150" +project_hash = "362099191d37be5d73934e44dd4a02192b29bb05" [[deps.ADTypes]] -git-tree-sha1 = "fc02d55798c1af91123d07915a990fbb9a10d146" +git-tree-sha1 = "fa0822e5baee6e23081c2685ae27265dabee23d8" uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" -version = "1.3.0" +version = "1.4.0" weakdeps = ["ChainRulesCore", "EnzymeCore"] [deps.ADTypes.extensions] @@ -156,9 +156,9 @@ uuid = "e2ed5e7c-b2de-5872-ae92-c73ca462fb04" version = "0.1.6" [[deps.BitFlags]] -git-tree-sha1 = "2dc09997850d68179b69dafb58ae806167a32b1b" +git-tree-sha1 = "0691e34b3bb8be9307330f88d1a3c3f25466c24d" uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.8" +version = "0.1.9" [[deps.BitTwiddlingConvenienceFunctions]] deps = ["Static"] @@ -166,6 +166,12 @@ git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" version = "0.1.5" +[[deps.Bonito]] +deps = ["Base64", "CodecZlib", "Colors", "Dates", "Deno_jll", "HTTP", "Hyperscript", "LinearAlgebra", "Markdown", "MsgPack", "Observables", "RelocatableFolders", "SHA", "Sockets", "Tables", "ThreadPools", "URIs", "UUIDs", "WidgetsBase"] +git-tree-sha1 = "afaccf851288791c6a05102d3d677632a9690421" +uuid = "824d6782-a2ef-11e9-3a09-e5662e0c26f8" +version = "3.1.1" + [[deps.Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" @@ -198,18 +204,6 @@ git-tree-sha1 = "0157e592151e39fa570645e2b2debcdfb8a0f112" uuid = "00ebfdb7-1f24-5e51-bd34-a7502290713f" version = "3.4.3" -[[deps.Cairo]] -deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] -git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" -uuid = "159f3aea-2a34-519c-b102-8c37f9878175" -version = "1.0.5" - -[[deps.CairoMakie]] -deps = ["CRC32c", "Cairo", "Colors", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools"] -git-tree-sha1 = "d69c7593fe9d7d617973adcbe4762028c6899b2c" -uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" -version = "0.11.11" - [[deps.Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] git-tree-sha1 = "a2f1c8c668c8e3cb4cca4e57a8efdb09067bb3fd" @@ -429,11 +423,17 @@ git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" version = "1.9.1" +[[deps.Deno_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "cd6756e833c377e0ce9cd63fb97689a255f12323" +uuid = "04572ae6-984a-583e-9378-9577a1c2574d" +version = "1.33.4+0" + [[deps.DiffEqBase]] deps = ["ArrayInterface", "ConcreteStructs", "DataStructures", "DocStringExtensions", "EnumX", "EnzymeCore", "FastBroadcast", "FastClosures", "ForwardDiff", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "Parameters", "PreallocationTools", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "Setfield", "SparseArrays", "Static", "StaticArraysCore", "Statistics", "Tricks", "TruncatedStacktraces"] -git-tree-sha1 = "37d49a1f8eedfe68b7622075ff3ebe3dd0e8f327" +git-tree-sha1 = "2c6b7bf16fd850c551a765e313e7522ba455cbfd" uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" -version = "6.151.2" +version = "6.151.4" [deps.DiffEqBase.extensions] DiffEqBaseCUDAExt = "CUDA" @@ -608,9 +608,9 @@ uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" version = "1.0.4" [[deps.EnzymeCore]] -git-tree-sha1 = "a2f4588bde1588af6279729540099895f8dee843" +git-tree-sha1 = "88bc63137eb033acc3afe1b9875717889c718c46" uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" -version = "0.7.4" +version = "0.7.5" weakdeps = ["Adapt"] [deps.EnzymeCore.extensions] @@ -849,15 +849,15 @@ version = "0.26.4" [[deps.GR]] deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "p7zip_jll"] -git-tree-sha1 = "ddda044ca260ee324c5fc07edb6d7cf3f0b9c350" +git-tree-sha1 = "3e527447a45901ea392fe12120783ad6ec222803" uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.73.5" +version = "0.73.6" [[deps.GR_jll]] deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "278e5e0f820178e8a26df3184fcb2280717c79b1" +git-tree-sha1 = "182c478a179b267dd7a741b6f8f4c3e0803795d6" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.73.5+0" +version = "0.73.6+0" [[deps.GenericSchur]] deps = ["LinearAlgebra", "Printf"] @@ -906,12 +906,6 @@ git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" version = "1.3.1" -[[deps.Graphics]] -deps = ["Colors", "LinearAlgebra", "NaNMath"] -git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" -uuid = "a2bd30eb-e257-5431-a919-1863eab51364" -version = "1.1.2" - [[deps.Graphite2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" @@ -926,9 +920,9 @@ version = "1.11.1" [[deps.GridLayoutBase]] deps = ["GeometryBasics", "InteractiveUtils", "Observables"] -git-tree-sha1 = "6f93a83ca11346771a93bbde2bdad2f65b61498f" +git-tree-sha1 = "fc713f007cff99ff9e50accba6373624ddd33588" uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" -version = "0.10.2" +version = "0.11.0" [[deps.Grisu]] git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" @@ -959,11 +953,17 @@ git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685" uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" version = "0.3.23" +[[deps.Hyperscript]] +deps = ["Test"] +git-tree-sha1 = "179267cfa5e712760cd43dcae385d7ea90cc25a4" +uuid = "47d2ed2b-36de-50cf-bf87-49c2cf4b8b91" +version = "0.0.5" + [[deps.IOCapture]] deps = ["Logging", "Random"] -git-tree-sha1 = "8b72179abc660bfab5e28472e019392b97d0985c" +git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770" uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" -version = "0.2.4" +version = "0.2.5" [[deps.IfElse]] git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" @@ -1134,7 +1134,7 @@ version = "1.1.0" [[deps.JuliaSimCompiler]] deps = ["AbstractTrees", "ChainRules", "ConstructionBase", "DataStructures", "DiffEqCallbacks", "DocStringExtensions", "Expronicon", "ForwardDiff", "GPUCompiler", "Graphs", "IfElse", "JuliaFormatter", "JuliaSimBase", "JuliaSimCompilerRuntime", "LLVM", "Libdl", "LinearAlgebra", "ModelingToolkit", "NaNMath", "OffsetArrays", "RuntimeGeneratedFunctions", "SciMLBase", "Setfield", "SnoopPrecompile", "SparseArrays", "SparseDiffTools", "SpecialFunctions", "StaticArrays", "StrideArraysCore", "SymbolicIndexingInterface", "SymbolicUtils", "Symbolics", "UnPack"] -git-tree-sha1 = "9a26ba990f93f6f2a91f8741068905a46321bbce" +git-tree-sha1 = "9bf8c8b407f55f830aa73d1a9c40dc4e483914ef" repo-rev = "master" repo-url = "git@github.com:JuliaComputing/JuliaSimCompiler.jl.git" uuid = "8391cb6b-4921-5777-4e45-fd9aab8cb88d" @@ -1469,16 +1469,16 @@ uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" version = "0.5.13" [[deps.Makie]] -deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Format", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] -git-tree-sha1 = "4d49c9ee830eec99d3e8de2425ff433ece7cc1bc" +deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "Dates", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Format", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun", "Unitful"] +git-tree-sha1 = "e11b0666b457e3bb60119f2ed4d063d2b68954d3" uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" -version = "0.20.10" +version = "0.21.3" [[deps.MakieCore]] -deps = ["Observables", "REPL"] -git-tree-sha1 = "248b7a4be0f92b497f7a331aed02c1e9a878f46b" +deps = ["ColorTypes", "GeometryBasics", "IntervalSets", "Observables"] +git-tree-sha1 = "638bc817096742e8302f7b0b972ee5701fe00e97" uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" -version = "0.7.3" +version = "0.8.3" [[deps.ManualMemory]] git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" @@ -1502,9 +1502,9 @@ version = "0.1.2" [[deps.MathTeXEngine]] deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "UnicodeFun"] -git-tree-sha1 = "96ca8a313eb6437db5ffe946c457a401bbb8ce1d" +git-tree-sha1 = "1865d0b8a2d91477c8b16b49152a32764c7b1f5f" uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" -version = "0.5.7" +version = "0.6.0" [[deps.MaybeInplace]] deps = ["ArrayInterface", "LinearAlgebra", "MacroTools", "SparseArrays"] @@ -1528,6 +1528,12 @@ git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" version = "0.3.2" +[[deps.MeshIO]] +deps = ["ColorTypes", "FileIO", "GeometryBasics", "Printf"] +git-tree-sha1 = "8c26ab950860dfca6767f2bbd90fdf1e8ddc678b" +uuid = "7269a6da-0436-5bbc-96c2-40638cbb6118" +version = "0.4.11" + [[deps.Missings]] deps = ["DataAPI"] git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" @@ -1538,10 +1544,10 @@ version = "1.2.0" uuid = "a63ad114-7e13-5084-954f-fe012c677804" [[deps.ModelingToolkit]] -deps = ["AbstractTrees", "ArrayInterface", "Combinatorics", "Compat", "ConstructionBase", "DataStructures", "DiffEqBase", "DiffEqCallbacks", "DiffRules", "Distributed", "Distributions", "DocStringExtensions", "DomainSets", "DynamicQuantities", "ExprTools", "FindFirstFunctions", "ForwardDiff", "FunctionWrappersWrappers", "Graphs", "InteractiveUtils", "JuliaFormatter", "JumpProcesses", "LabelledArrays", "Latexify", "Libdl", "LinearAlgebra", "MLStyle", "NaNMath", "OrderedCollections", "OrdinaryDiffEq", "PrecompileTools", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLBase", "SciMLStructures", "Serialization", "Setfield", "SimpleNonlinearSolve", "SparseArrays", "SpecialFunctions", "StaticArrays", "SymbolicIndexingInterface", "SymbolicUtils", "Symbolics", "URIs", "UnPack", "Unitful"] -git-tree-sha1 = "9b88b3c34a2e39f64e69a07f4c36d1bdbaf82c5d" +deps = ["AbstractTrees", "ArrayInterface", "Combinatorics", "Compat", "ConstructionBase", "DataStructures", "DiffEqBase", "DiffEqCallbacks", "DiffRules", "Distributed", "Distributions", "DocStringExtensions", "DomainSets", "DynamicQuantities", "ExprTools", "FindFirstFunctions", "ForwardDiff", "FunctionWrappersWrappers", "Graphs", "InteractiveUtils", "JuliaFormatter", "JumpProcesses", "LabelledArrays", "Latexify", "Libdl", "LinearAlgebra", "MLStyle", "NaNMath", "NonlinearSolve", "OrderedCollections", "PrecompileTools", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLBase", "SciMLStructures", "Serialization", "Setfield", "SimpleNonlinearSolve", "SparseArrays", "SpecialFunctions", "StaticArrays", "SymbolicIndexingInterface", "SymbolicUtils", "Symbolics", "URIs", "UnPack", "Unitful"] +git-tree-sha1 = "8d43517ec8d9895f7d5f661167c05f54146a769d" uuid = "961ee093-0014-501f-94e3-6117800e7a78" -version = "9.17.1" +version = "9.19.0" [deps.ModelingToolkit.extensions] MTKBifurcationKitExt = "BifurcationKit" @@ -1553,7 +1559,7 @@ version = "9.17.1" [[deps.ModelingToolkitStandardLibrary]] deps = ["ChainRulesCore", "DiffEqBase", "IfElse", "LinearAlgebra", "ModelingToolkit", "Symbolics"] -git-tree-sha1 = "e36487496e263d82e866ce5f9d3e87f44765e6ea" +git-tree-sha1 = "8cfb89cdb4f147810a45efbcc5f98ef6596d60d4" repo-rev = "main" repo-url = "https://github.com/SciML/ModelingToolkitStandardLibrary.jl.git" uuid = "16a59e39-deab-5bd0-87e4-056b12336739" @@ -1569,13 +1575,19 @@ version = "0.3.4" uuid = "14a3606d-f60d-562e-9121-12d972cd8159" version = "2023.1.10" +[[deps.MsgPack]] +deps = ["Serialization"] +git-tree-sha1 = "f5db02ae992c260e4826fe78c942954b48e1d9c2" +uuid = "99f44e22-a591-53d1-9472-aa23ef4bd671" +version = "1.2.1" + [[deps.MuladdMacro]] git-tree-sha1 = "cac9cc5499c25554cba55cd3c30543cff5ca4fab" uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" version = "0.2.4" [[deps.Multibody]] -deps = ["CoordinateTransformations", "DataInterpolations", "JuliaSimCompiler", "LinearAlgebra", "ModelingToolkit", "ModelingToolkitStandardLibrary", "Rotations"] +deps = ["CoordinateTransformations", "DataInterpolations", "FileIO", "JuliaSimCompiler", "LinearAlgebra", "MeshIO", "ModelingToolkit", "ModelingToolkitStandardLibrary", "Rotations", "StaticArrays"] path = ".." uuid = "e1cad5d1-98ef-44f9-a79a-9ca4547f95b9" version = "0.1.0" @@ -1586,9 +1598,9 @@ weakdeps = ["Makie"] [[deps.MultivariatePolynomials]] deps = ["ChainRulesCore", "DataStructures", "LinearAlgebra", "MutableArithmetics"] -git-tree-sha1 = "dad7be0c92b688bf8f24af170825ccedc104b116" +git-tree-sha1 = "5c1d1d9361e1417e5a065e1f84dc3686cbdaea21" uuid = "102ac46a-7ee4-5c85-9060-abc95bfdeaa3" -version = "0.5.5" +version = "0.5.6" [[deps.MutableArithmetics]] deps = ["LinearAlgebra", "SparseArrays", "Test"] @@ -1620,9 +1632,9 @@ version = "1.2.0" [[deps.NonlinearSolve]] deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "DiffEqBase", "FastBroadcast", "FastClosures", "FiniteDiff", "ForwardDiff", "LazyArrays", "LineSearches", "LinearAlgebra", "LinearSolve", "MaybeInplace", "PrecompileTools", "Preferences", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SimpleNonlinearSolve", "SparseArrays", "SparseDiffTools", "StaticArraysCore", "SymbolicIndexingInterface", "TimerOutputs"] -git-tree-sha1 = "ed5500c66b726ec9fe8c1796c0a600353246ecf8" +git-tree-sha1 = "40325dcea1cb84a108efe05966bbb1f4b98e5eea" uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" -version = "3.12.4" +version = "3.13.0" [deps.NonlinearSolve.extensions] NonlinearSolveBandedMatricesExt = "BandedMatrices" @@ -1723,9 +1735,9 @@ version = "1.6.3" [[deps.OrdinaryDiffEq]] deps = ["ADTypes", "Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "ExponentialUtilities", "FastBroadcast", "FastClosures", "FillArrays", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "IfElse", "InteractiveUtils", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "MacroTools", "MuladdMacro", "NonlinearSolve", "Polyester", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleNonlinearSolve", "SimpleUnPack", "SparseArrays", "SparseDiffTools", "StaticArrayInterface", "StaticArrays", "TruncatedStacktraces"] -git-tree-sha1 = "b857d515bacfb46ee3603a27d6d15b196cf285d0" +git-tree-sha1 = "b4cde20f0e8c67fd35863794d5e548722f7bb71d" uuid = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" -version = "6.82.0" +version = "6.84.0" [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] @@ -1762,12 +1774,6 @@ git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f" uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" version = "0.5.12" -[[deps.Pango_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cb5a2ab6763464ae0f19c86c56c63d4a2b0f5bda" -uuid = "36c8627f-9965-5494-a995-c6b170f724f3" -version = "1.52.2+0" - [[deps.Parameters]] deps = ["OrderedCollections", "UnPack"] git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" @@ -1910,9 +1916,9 @@ version = "1.0.0" [[deps.Qt6Base_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Vulkan_Loader_jll", "Xorg_libSM_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_cursor_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "libinput_jll", "xkbcommon_jll"] -git-tree-sha1 = "37b7bb7aabf9a085e0044307e1717436117f2b3b" +git-tree-sha1 = "492601870742dcd38f233b23c3ec629628c1d724" uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" -version = "6.5.3+1" +version = "6.7.1+1" [[deps.QuadGK]] deps = ["DataStructures", "LinearAlgebra"] @@ -2082,9 +2088,9 @@ version = "0.6.42" [[deps.SciMLBase]] deps = ["ADTypes", "Accessors", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "SciMLStructures", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] -git-tree-sha1 = "03e56d028b9825e087cf8bd8a1fa44af5d270ddf" +git-tree-sha1 = "7a6c5c8c38d2e37f45d4686c3598c20c1aebf48e" uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "2.41.2" +version = "2.41.3" [deps.SciMLBase.extensions] SciMLBaseChainRulesCoreExt = "ChainRulesCore" @@ -2436,6 +2442,12 @@ version = "0.4.1" deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" +[[deps.ThreadPools]] +deps = ["Printf", "RecipesBase", "Statistics"] +git-tree-sha1 = "50cb5f85d5646bc1422aa0238aa5bfca99ca9ae7" +uuid = "b189fb0b-2eb5-4ed4-bc0c-d34c51242431" +version = "2.1.1" + [[deps.ThreadingUtilities]] deps = ["ManualMemory"] git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" @@ -2559,6 +2571,12 @@ git-tree-sha1 = "2f0486047a07670caad3a81a075d2e518acc5c59" uuid = "a44049a8-05dd-5a78-86c9-5fde0876e88c" version = "1.3.243+0" +[[deps.WGLMakie]] +deps = ["Bonito", "Colors", "FileIO", "FreeTypeAbstraction", "GeometryBasics", "Hyperscript", "LinearAlgebra", "Makie", "Observables", "PNGFiles", "PrecompileTools", "RelocatableFolders", "ShaderAbstractions", "StaticArrays"] +git-tree-sha1 = "ba21aa663fb95ebf522377b62a9b4d85213f01e6" +uuid = "276b4fcb-3e11-5398-bf8b-a0c2d153d008" +version = "0.10.3" + [[deps.Wayland_jll]] deps = ["Artifacts", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] git-tree-sha1 = "7558e29847e99bc3f04d6569e82d0f5c54460703" @@ -2571,6 +2589,12 @@ git-tree-sha1 = "93f43ab61b16ddfb2fd3bb13b3ce241cafb0e6c9" uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" version = "1.31.0+0" +[[deps.WidgetsBase]] +deps = ["Observables"] +git-tree-sha1 = "30a1d631eb06e8c868c559599f915a62d55c2601" +uuid = "eead4739-05f7-45a1-878c-cee36b57321c" +version = "0.1.4" + [[deps.WoodburyMatrices]] deps = ["LinearAlgebra", "SparseArrays"] git-tree-sha1 = "c1a7aa6219628fcd757dede0ca95e245c5cd9511" diff --git a/docs/Project.toml b/docs/Project.toml index b4afa1dd..92e6b56f 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,5 +1,4 @@ [deps] -CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" JuliaSimCompiler = "8391cb6b-4921-5777-4e45-fd9aab8cb88d" Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" @@ -8,3 +7,4 @@ ModelingToolkitStandardLibrary = "16a59e39-deab-5bd0-87e4-056b12336739" Multibody = "e1cad5d1-98ef-44f9-a79a-9ca4547f95b9" OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +WGLMakie = "276b4fcb-3e11-5398-bf8b-a0c2d153d008" diff --git a/docs/make.jl b/docs/make.jl index 5c0db530..463e284e 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,6 +1,6 @@ using Multibody using Documenter -using CairoMakie +using WGLMakie ENV["JULIA_DEBUG"]=Documenter # Enable this for debugging ENV["DOCS_BUILD"] = true # used to lower the default frame rate in animations for the docs diff --git a/docs/src/examples/free_motion.md b/docs/src/examples/free_motion.md index cd2c6365..20838037 100644 --- a/docs/src/examples/free_motion.md +++ b/docs/src/examples/free_motion.md @@ -93,7 +93,7 @@ plot(sol, idxs = [body.r_0...]) ``` ```@example FREE_MOTION -import CairoMakie +import WGLMakie Multibody.render(model, sol, filename = "free_body.gif") nothing # hide ``` diff --git a/docs/src/examples/kinematic_loops.md b/docs/src/examples/kinematic_loops.md index 6c9ae168..48a5a11a 100644 --- a/docs/src/examples/kinematic_loops.md +++ b/docs/src/examples/kinematic_loops.md @@ -80,7 +80,7 @@ using Test Multibody.jl supports automatic 3D rendering of mechanisms, we use this feature to illustrate the result of the simulation below: ```@example kinloop -import CairoMakie +import WGLMakie Multibody.render(fourbar, sol, 0:0.05:10; x=4, y=-1, z=4, lookat=[0, -1, 0], filename = "fourbar.gif") # Use "fourbar.mp4" for a video file nothing # hide ``` @@ -137,7 +137,7 @@ plot(sol, idxs=[j2.s]) # Plot the joint coordinate of the prismatic joint (green ``` ```@example kinloop -import CairoMakie +import WGLMakie Multibody.render(fourbar2, sol; x=-2, y = 2, z = 3, filename = "fourbar2.gif") # Use "fourbar2.mp4" for a video file nothing # hide ``` diff --git a/docs/src/examples/pendulum.md b/docs/src/examples/pendulum.md index ba87dba9..9abbbdb8 100644 --- a/docs/src/examples/pendulum.md +++ b/docs/src/examples/pendulum.md @@ -67,7 +67,7 @@ The solution `sol` can be plotted directly if the Plots package is loaded. The f Multibody.jl supports automatic 3D rendering of mechanisms, we use this feature to illustrate the result of the simulation below: ```@example pendulum -import CairoMakie # GLMakie is another alternative, suitable for interactive plots +import WGLMakie # GLMakie is another alternative, suitable for interactive plots Multibody.render(model, sol; filename = "pendulum.gif") # Use "pendulum.mp4" for a video file nothing # hide ``` @@ -226,7 +226,7 @@ plot(sol, layout=4) ``` ```@example pendulum -import CairoMakie +import WGLMakie Multibody.render(model, sol, filename = "furuta.gif") nothing # hide ``` diff --git a/docs/src/examples/robot.md b/docs/src/examples/robot.md index cdd675a9..10920dd4 100644 --- a/docs/src/examples/robot.md +++ b/docs/src/examples/robot.md @@ -97,7 +97,7 @@ plot(sol, idxs = [ Multibody.jl supports automatic 3D rendering of mechanisms, we use this feature to illustrate the result of the simulation below: ```@example robot -import CairoMakie +import WGLMakie Multibody.render(robot, sol; y=2, lookat=[0,1,0], filename = "robot.gif") nothing # hide ``` diff --git a/docs/src/examples/ropes_and_cables.md b/docs/src/examples/ropes_and_cables.md index cdfbf587..d2165311 100644 --- a/docs/src/examples/ropes_and_cables.md +++ b/docs/src/examples/ropes_and_cables.md @@ -35,7 +35,7 @@ prob = ODEProblem(ssys, [], (0, 5)) sol = solve(prob, Rodas4(autodiff=false)) @test SciMLBase.successful_retcode(sol) -import CairoMakie +import WGLMakie Multibody.render(stiff_rope, sol, filename = "stiff_rope.gif") # May take long time for n>=10 ``` ![stiff_rope animation](stiff_rope.gif) diff --git a/docs/src/examples/space.md b/docs/src/examples/space.md index 8cb54ca3..dddf7197 100644 --- a/docs/src/examples/space.md +++ b/docs/src/examples/space.md @@ -65,7 +65,7 @@ plot(sol) ```@example SPACE -import CairoMakie +import WGLMakie Multibody.render(model, sol, filename = "space.gif") nothing # hide ``` diff --git a/docs/src/examples/spherical_pendulum.md b/docs/src/examples/spherical_pendulum.md index e3bde7cd..1a675dc4 100644 --- a/docs/src/examples/spherical_pendulum.md +++ b/docs/src/examples/spherical_pendulum.md @@ -42,7 +42,7 @@ plot(sol, idxs = [body.r_0...]) Multibody.jl supports automatic 3D rendering of mechanisms, we use this feature to illustrate the result of the simulation below: ```@example spring_mass_system -import CairoMakie +import WGLMakie Multibody.render(model, sol; filename = "spherical.gif") # Use "spherical.mp4" for a video file nothing # hide ``` diff --git a/docs/src/examples/spring_damper_system.md b/docs/src/examples/spring_damper_system.md index 3b428bf6..d3353553 100644 --- a/docs/src/examples/spring_damper_system.md +++ b/docs/src/examples/spring_damper_system.md @@ -79,7 +79,7 @@ In this example we used separate springs and dampers, see also the component [`S Multibody.jl supports automatic 3D rendering of mechanisms, we use this feature to illustrate the result of the simulation below: ```@example spring_damper_system -import CairoMakie +import WGLMakie Multibody.render(model, sol; filename = "springdamper.gif") nothing # hide ``` diff --git a/docs/src/examples/spring_mass_system.md b/docs/src/examples/spring_mass_system.md index d631ebb3..9f0db830 100644 --- a/docs/src/examples/spring_mass_system.md +++ b/docs/src/examples/spring_mass_system.md @@ -64,7 +64,7 @@ The plot indicates that the two systems behave identically. Multibody.jl supports automatic 3D rendering of mechanisms, we use this feature to illustrate the result of the simulation below: ```@example spring_mass_system -import CairoMakie +import WGLMakie Multibody.render(model, sol; x=5, z = 5, filename = "springmass.gif") nothing # hide ``` diff --git a/docs/src/examples/swing.md b/docs/src/examples/swing.md index 94814db0..ff6df1de 100644 --- a/docs/src/examples/swing.md +++ b/docs/src/examples/swing.md @@ -72,7 +72,7 @@ sol = solve(prob, ImplicitEuler(autodiff=false), reltol=5e-3) ``` ```@example SWING -import CairoMakie +import WGLMakie Multibody.render(model, sol; z = -5, filename = "simple_swing.gif") # Use "simple_swing.mp4" for a video file nothing # hide ``` @@ -155,7 +155,7 @@ Plots.plot(sol, idxs = [collect(model.body.r_0);]) ``` ```@example SWING -import CairoMakie +import WGLMakie Multibody.render(model, sol; y = -1, z = -3, lookat = [0, -1, 0], filename = "swing.gif") # Use "swing.mp4" for a video file nothing # hide ``` diff --git a/docs/src/examples/three_springs.md b/docs/src/examples/three_springs.md index 8fd7421a..c6432b36 100644 --- a/docs/src/examples/three_springs.md +++ b/docs/src/examples/three_springs.md @@ -69,7 +69,7 @@ Plots.plot(sol, idxs = [body1.r_0...]) Multibody.jl supports automatic 3D rendering of mechanisms, we use this feature to illustrate the result of the simulation below: ```@example spring_mass_system -import CairoMakie +import WGLMakie Multibody.render(model, sol; filename = "three_springs.gif") # Use "three_springs.mp4" for a video file nothing # hide ``` diff --git a/docs/src/index.md b/docs/src/index.md index 93f468ad..5405215b 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -65,7 +65,7 @@ prob = ODEProblem(ssys, [], (0.0, 3.51)) sol = solve(prob, Rodas5P()) Plots.plot(sol) -import CairoMakie +import WGLMakie framerate = 30 timevec = [zeros(30); range(sol.t[1], sol.t[end], step=1/framerate)] |> reverse render(logo, sol, timevec; z=-2.5, x=0, y=-0.5, lookat=[0.2,-0.5, 0], filename="JuliaSim_logo.gif", framerate) diff --git a/docs/src/rendering.md b/docs/src/rendering.md index b9a3b074..18141209 100644 --- a/docs/src/rendering.md +++ b/docs/src/rendering.md @@ -11,7 +11,7 @@ or using CairoMakie ``` !!! note "Backend choice" - GLMakie produces much nicer-looking animations and is also significantly faster. CairoMakie is used to produce the graphics in the documentation due to the constraints imposed by the web environment. CairoMakie also struggles with the Z-order of drawn objects, sometimes making bodies that should have been visible hidden behind bodies that are further back in the scene. + GLMakie and WGLMakie produce much nicer-looking animations and is also significantly faster. CairoMakie may be used to produce the graphics in some web environments if constraints imposed by the web environment do not allow any of the GL alternatives. CairoMakie struggles with the Z-order of drawn objects, sometimes making bodies that should have been visible hidden behind bodies that are further back in the scene. After that, the [`render`](@ref) function is the main entry point to create 3D renderings. This function has the following methods: