diff --git a/.github/workflows/Documentation.yml b/.github/workflows/Documentation.yml index 1520e920..a6c28c70 100644 --- a/.github/workflows/Documentation.yml +++ b/.github/workflows/Documentation.yml @@ -32,7 +32,8 @@ jobs: private_registry_name: JuliaSimRegistry private_registry_uuid: 309a7822-a73e-4490-9504-7d1983f27685 - name: Install dependencies - run: julia --project=docs -e 'using Pkg; + run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs -e 'using Pkg; + ENV["DISPLAY"] = "0"; Pkg.setprotocol!(; domain = "github.com", protocol = "ssh"); Pkg.add(PackageSpec(name = "JuliaSimCompiler", url = "https://github.com/JuliaComputing/JuliaSimCompiler.jl", rev = "master")); Pkg.develop(PackageSpec(path=pwd())); @@ -40,4 +41,4 @@ jobs: - name: Build and deploy env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # For authentication with GitHub Actions token - run: julia --project=docs/ docs/make.jl + run: DISPLAY=:0 xvfb-run -s '-screen 0 1024x768x24' julia --project=docs/ docs/make.jl diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 0d1f00d4..6d576126 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 = "06f3e6980a6e6c68713c93d9095c9cb5de3db7cf" [[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"] @@ -198,18 +198,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" @@ -431,9 +419,9 @@ version = "1.9.1" [[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 +596,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] @@ -829,12 +817,24 @@ version = "0.4.11" deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" +[[deps.GLFW]] +deps = ["GLFW_jll"] +git-tree-sha1 = "35dbc482f0967d8dceaa7ce007d16f9064072166" +uuid = "f7f18e0c-5ee9-5ccd-a5bf-e8befd85ed98" +version = "3.4.1" + [[deps.GLFW_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] git-tree-sha1 = "ff38ba61beff76b8f4acad8ab0c97ef73bb670cb" uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" version = "3.3.9+0" +[[deps.GLMakie]] +deps = ["ColorTypes", "Colors", "FileIO", "FixedPointNumbers", "FreeTypeAbstraction", "GLFW", "GeometryBasics", "LinearAlgebra", "Makie", "Markdown", "MeshIO", "ModernGL", "Observables", "PrecompileTools", "Printf", "ShaderAbstractions", "StaticArrays"] +git-tree-sha1 = "4e351a8ce824acea8dcefcd6cfe0cd8c2ea130e3" +uuid = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a" +version = "0.10.3" + [[deps.GPUArraysCore]] deps = ["Adapt"] git-tree-sha1 = "ec632f177c0d990e64d955ccc1b8c04c485a0950" @@ -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" @@ -961,9 +955,9 @@ version = "0.3.23" [[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 +1128,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 +1463,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 +1496,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 +1522,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 +1538,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,12 +1553,18 @@ 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" version = "2.7.2" +[[deps.ModernGL]] +deps = ["Libdl"] +git-tree-sha1 = "b76ea40b5c0f45790ae09492712dd326208c28b2" +uuid = "66fc600b-dfda-50eb-8b99-91cfa97b1301" +version = "1.1.7" + [[deps.MosaicViews]] deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" @@ -1575,7 +1581,7 @@ 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 +1592,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 +1626,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 +1729,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 +1768,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 +1910,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 +2082,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" diff --git a/docs/Project.toml b/docs/Project.toml index b4afa1dd..2e868b94 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -1,6 +1,6 @@ [deps] -CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4" +GLMakie = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a" JuliaSimCompiler = "8391cb6b-4921-5777-4e45-fd9aab8cb88d" Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" ModelingToolkit = "961ee093-0014-501f-94e3-6117800e7a78" diff --git a/docs/make.jl b/docs/make.jl index 9a76c491..ec8022c5 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,6 +1,8 @@ using Multibody using Documenter -using CairoMakie +using GLMakie +GLMakie.activate!() + 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..d34949ce 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 GLMakie Multibody.render(model, sol, filename = "free_body.gif") nothing # hide ``` diff --git a/docs/src/examples/gyroscopic_effects.md b/docs/src/examples/gyroscopic_effects.md index 585fb10b..832444b7 100644 --- a/docs/src/examples/gyroscopic_effects.md +++ b/docs/src/examples/gyroscopic_effects.md @@ -48,7 +48,7 @@ using Test # hide @test sol(5, idxs=collect(model.body2.r_0[1:3])) ≈ [-0.0357364, -0.188245, 0.02076935] atol=1e-3 # hide # plot(sol, idxs=collect(model.body2.r_0)) # hide -import CairoMakie +import GLMakie Multibody.render(model, sol; x=1, z=1, filename = "gyro.gif") # Use "gyro.mp4" for a video file nothing # hide ``` diff --git a/docs/src/examples/kinematic_loops.md b/docs/src/examples/kinematic_loops.md index 4f1c3bb5..8f63b8f7 100644 --- a/docs/src/examples/kinematic_loops.md +++ b/docs/src/examples/kinematic_loops.md @@ -79,7 +79,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 GLMakie 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 ``` @@ -136,7 +136,7 @@ plot(sol, idxs=[j2.s]) # Plot the joint coordinate of the prismatic joint (green ``` ```@example kinloop -import CairoMakie +import GLMakie 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..551fe775 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 GLMakie # 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 GLMakie 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..d29dc99b 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 GLMakie 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..2da3e679 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 GLMakie 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..314baf99 100644 --- a/docs/src/examples/space.md +++ b/docs/src/examples/space.md @@ -65,7 +65,7 @@ plot(sol) ```@example SPACE -import CairoMakie +import GLMakie 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..1a717ab0 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 GLMakie 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..8ebd5a7c 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 GLMakie 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..4d7d4739 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 GLMakie 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..6a1f9987 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 GLMakie 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 GLMakie 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..27288269 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 GLMakie 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..42d888b4 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 GLMakie 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..75a0f8ab 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 than CairoMakie. 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: