Draft
Conversation
Collaborator
Benchmark ResultsSHA: 3d69862f0da7a7c8e49c849cd4a0470a6db02c41 Warning These results are subject to substantial noise because GitHub's CI runs on shared machines that are not ideally suited for benchmarking. |
* move plots from elements to entries * minor cleanup * fix test failures * refactor plot extraction to be less breaking * tweak test to check `plots => Element` syntax * fix datashader again * update docs * update changelog * swap out scatter for stem to test generated legend entry * fix format * note change in legend element types --------- Co-authored-by: Simon <sdanisch@protonmail.com>
* use compute graph * get infinite bars working * allow PolarAxis to work * try to generate acceptable limits * remove unused function * fix missing else branch * allow fillto and barwidth as vectors * fix direction * fix fillto * overwrite fxaa for labels * handle log transforms explicitly * format * restore arg type check * don't need Makie. in Makie * update changelog * revert passthrough to text * add some sanity checks * formatting
* pull tweaks from #4689 * pull context validation from #4689 * handle texture atlas explicitly + fix errors * explicitly clean up shaders & programs * handle GLBuffer, GLVertexArray, Postprocessors * handle Texture explicitly * fix SSAO error * test cleanup * add some sanity checks * fix tests * cleanup finalizers, free(), unsafe_free() * skip GLFW initialized assert for CI * update changelog * fix freeing of unused uniforms & cleanup unused pattern_sections * count and check failed OpenGL cleanup * try to handle GLFW CI failure * try fix CI * require context for Texture and GLBuffer in most cases * fix incorrect uniform cleanup * CI please * fix typo * try handling GLFW init errors differently * maybe just destroy the window if the context dies? * fix typos * maybe also cleanup dead screens when trying to reopen? * tweak require_context to maybe catch error earlier * switch before requiring * avoid requiring context for get_texture and thus robj cleanup * treat scene finalizer * Treat scene finalizer in texture atlas too * add missing passthrough * move object deletion test to end * warn on dead context * avoid the last few current_context() calls * fix scatter indices * start reworking render pipeline * move gl part of Framebuffer to GLAbstraction * add show() * fix incorrect rename * change copy-to-screen to a Blit operation * fix tests * add Render step * fix SSAO * add SortPlots task and cleanup render_frame * use dedicated framebuffers * fix tests * fix depthbuffer() * simplify glDrawBuffer(s) * add prototype for abstracted RenderPipeline * switch to Vector of connections * split up multi-step stages * rename Format to avoid name collision * collect framebuffer buffers in array, prepare some utilities * integrate GLMakie with new render pipeline (prototype) * fix SSAO * fix FXAA * fix picking, use config.ssao * try recreating Framebuffer instead of removing attachments * some cleanup & performance tweaks - reuse buffers when regenerating gl render pipeline - switch Connection from Dict to Vector - inline is_compatible and promote_type - cache pipeline * try to get some debug info out of CI * fix FXAA in CI? * add changelog entry * cleanup GLAbstraction * cleanup, add extras to format, usability improvements * add stage attributes, format extras * add pipeline show and fix OIT * add GLRenderPipeline * add construct and reconstruct, unify input buffer names * use reconstruct to reuse postprocessor render objects * reuse GLRenderPipeline & be a bit more careful with caching * temp fix SSAO clearing bug * add more destroy!() to maybe fix CI * is it buffer reuse? * is it reconstruct? * Revert to green CI * Revert revert + undo debugging * add some more context switches, idk * add more context switches doesn't fix the issue but maybe helps? * cleanup enum -> name * fix plots not displaying with ssao = true in non SSAO pipeline * add test to verify all render stage parameters render * fix tick test * fix test * switch config to include (Makie) render pipeline & cover all settings * fix docs * test a few other pipelines * free more things * some performance tweaks * some more safety tweaks * add tests for Makie render Pipeline * revert fix attempts & assert correct context instead * use enum for type handling to avoid runtime dispatch * remove Connection type for better performance * cleanup rebase * minor cleanup * put finalizers behind debug constant * don't skip observable cleanup in free * cleanup require_context * fix typo * fix test errors * fix typo * rename OIT buffers * fix & test connecting two already connected nodes * add experimental GUI * remove pipeline caching * turn on ci against rebase branch * fix freeing of reused framebuffer attachments, fix tests * git pls * fix tests * improve default placement of stages in GUI * fix SSAO * add test for custom render pass * get renderpipeline to persist from activate!() * fix missing to_value * fix another incorrect free * bit of convenience * clean up * fix errors * fix freeing of GLBuffer Observables * rename Pipeline -> RenderPipeline * document rendering in Cairo, GL and WGLMakie * cleanup unsafe_free * cleanup called_from_finalizer & add comments to implied functions * some cleanup * fix more tests * merge fixes * revert ci changes * try fix docs * inline texture parameters in BufferFormat * maybe fix docs? * update tests * maybe with imports? * maybe no f,a,p? * rework output buffer handling * fix errors * cleanup some comments * move render pipeline docs to dev docs * fix docs? * does this work? * try to fix docs * update comments * remove framebuffer attachment reuse logic * merge fixes * fix changelog entry * run formatter * remove testing/experimental pipelines * update/clarify some comments * add some helper functions, fix show * test a bunch of cases for generate_buffers() * some more cleanup * rename FramebufferFactory * document some more internals * formatting * prototype depth and stencil buffers * split up the RenderPipeline file (only adds comments) * add intermediate type * prepare for MSAA * run formatter * allow unset inputs * depth without stencil works now, so use it * update tests * fix broken cleanup * format * update docs * swap order of `idx => name` in stage inputs/outputs * fix test * fix docs? * add nameless depth buffer lookup, fix test * fix docs? * fix typo * does this fix docs? * fix typo * fix show error of empty framebuffer * add flag to stop buffer reuse * add docstrings to default stage constructors * add minimal render pipeline for reference and testing purposes * show stage indices too * add mid-render colorbuffer function for debugging * cleanup scene setup a bit * don't resize buffers centrally to avoid hard coding sizes * update docs, refimg test, formatting * allow iterating GLRenderPipeline * fix test errors (missing resize) and make resizing an interface function * rename Stage -> RenderStage for consistency * rename AbstractRenderStep -> GLRenderStage for consistency * fix test * fix test * replace step with stage * Allow GLMakie render objects to render in different ways (#5436) * prototype renderobject variants just a few lines of code, nothing big * some cleanup * transition to using variants for render stages * remove compilation-only attributes from uniforms * fix name * cleanup debug prints * clean up vertex array constructor * fix a bunch of test failures * fix marker updates (broken on master btw) * fix color handling * fix empty indices in postprocessors * fix updates * restore observable tracking for render stages * fix shading compile flags * fix volume backlight * fix transparency * fix render pipeline test * break up render() function for easier reuse * simplify renderobject creation for post processors * fix undefined Screen * implement regeneration of render instructions, add test * default indices to vertex buffer length dynamically * some cleanup * avoid redundant update after init * run CI * improve hash performance of shader caching * improve mustache2replacement performance * improve type stability in shader compilation * rework pre/postrender init to maybe improve type inference, directly create strictly typed view dict * make render_in_stage type stable * cache GLSL version number * avoid unnecessary specialization * cache Symbol(string) * avoid merging uniform and buffer dicts * fix tests * formatting * partially fix type stability of default_shader * cache version string too * cache buffer glsl type names * move default prerender setup to render stages * Improve error * fix undefined normals in mesh * fix refimg test * fix screen config compat? * don't ignore directly set render_pipeline * shouldn't need closeall() for recompilation anymore --------- Co-authored-by: SimonDanisch <sdanisch@protonmail.com>
* prototype infrastructure for direction, orientation and repeated dims * simplify if block a bit * match argument_dims default to old behavior * fix typo * add infrastructure for dim_converts in axis labels * control units in tick labels from Axis * fix some errors with new Axis dim_converts * add argument_dim_kwargs * run add_attributes first so that dim_converts can include them * fix/update hvlines * get heatmap, surface, contour, contourf working * update hist * handle image * remove dynamic unit prefixes * update band, errorbars, rangebars, hspan, vspan * update remaining basic_recipes plots that should work * update stats recipes * diy missing dim_convert discard * cleanup print * avoid errors for empty rich text * fix label typing * fix voronoi 3 args, update timeseries * add tests * fix boxplot, 3D contour * fix 3D surface convert, test remaining primitives * fix log units * remove unused code * fix triplot/poly conversion * revert deleted convert_arguments but remove recursion * fix empty rich text properly this was easier than I though * fix qqplot/qqnorm/early convert kwargs application * fix "]" from formatter ending up in superscript after a "^" * fix load order * rename attribute + docstrings * update Axis3 * add long units * fix Int error in Date resampling * fix/update tests * revert to late attribute adding and only add required attributes early instead * fix tests missing parent_is_scene * revert unnecessary change to add_convert_kwargs!() * fix PlotSpec * remove unused `try_dim_convert` and `should_dim_convert` (keep name for compat) * drop unnecessary method * update docs * run formatter * minor cleanup * get point-like data working * remove prints * explicitly exclude Axis3D plots * allow ranges in argument_dims() * update more point like arguments * fix getindex(nothing, idx) * fix failing dim converts tests * fix empty array application * fix convert_arguments tests * fix tooltip * fix annotations * fix tooltip * make `force_dimconverts` settable to fix Axis3 * fix mesh * fix tests * fix docs * avoid converting non data space * improve documentation of conversion logic and steps * add refimg for label attributes * avoid need for ::Automatic in show_dim_convert_in_...() * allow early conversions when dim converts are forced (+ some restructuring) * add tests for point-like data & fix conversions * run formatter * fix and test band with vectypes * fix docs? * default units to axis labels only * default multiple point-like arguments * make sure every recipe has dim convert exit paths * some cleanup + docstrings * fix dodgy docs * add section about conversion target types to recipe docs * update changelog * format * fix typos * fix multihist vector of vector args * fix tests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Breaking PRs to merge: (Some of these may not need to be part of a breaking release. I'm rather quick to call something breaking)
block.attr[] = block.attr[]andsetfield!(block.attr = ...). May contain update issues due to equal-value discards)units_in_labelto axes, removes autoscaling of units, changes when dim converts apply)show_datainterface, deprecatesinspector_hoverandinspector_clearattributes (TODO?))legendelements(::Plot, legend)no longer sets plots as they were moved out of LegendElement structs)mergeprecedence fix forAttributes#5332 (if we want to fix it we should probably do it in a breaking release?)PRs to merge outside of this:
Fixes:
hist(dates)MethodError #3889, fixeshistshould work on categorical inputs #4409meshscatterlinesdoes not work with Point2 with DateTime #4774, fixes Sometimes units are not handled #3945base_unit(::Float64)#4085, fixes plot() returns error when called on data of Vector{Quantity{Int}} due to arguments passed to Unitful.Quantity() #5231. Well sort of, the input data is aVector{Quantity{Float64}}which now successfully gets converted as a unitless unit. Generates and empty label suffix though[]scatter!fails forVector{Union{missing, Float64}}#5089, maybe because earlyconvert_arguments()run more consistently?barplotcontains gap when usingyscale=log#4549TODO:
Checklist