Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add "userdata" attribute for unvalidated attributes #3764

Draft
wants to merge 25 commits into
base: master
Choose a base branch
from

Commits on Feb 23, 2024

  1. run CI against this PR

    SimonDanisch committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    f92799f View commit details
    Browse the repository at this point in the history
  2. bump version

    SimonDanisch committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    b076968 View commit details
    Browse the repository at this point in the history
  3. fix circular reference

    SimonDanisch committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    04d4863 View commit details
    Browse the repository at this point in the history
  4. 3 Configuration menu
    Copy the full SHA
    b723a07 View commit details
    Browse the repository at this point in the history
  5. add poly1

    SimonDanisch committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    411d22e View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2024

  1. Configuration menu
    Copy the full SHA
    d0b423c View commit details
    Browse the repository at this point in the history
  2. Rework line shaders for WGLMakie compatability (#3558)

    * prototyping
    
    * fix joint with non-uniform linewidths
    
    * fix transform
    
    * add patterns
    
    * fix pattern sampling
    
    * fix truncated join cutoff + some cleanup
    
    * improve pattern overwrite threshhold
    
    * reorganize code
    
    * cleanup
    
    * add function for line vec -> line normal
    
    * don't try to cleanup joints if linewidth difference is critical
    
    * rename some variables
    
    * cleanup comments, restructure linewidth sdf generation
    
    * minor cleanup + notes
    
    * fix orientation problems with truncated joints
    
    * minor performance tweaks + cleanup
    
    * handle line joints in fragment shader & ditch variable linewidths
    
    * improve truncation overlap/gap
    
    * improve pattern adjustments for truncated joints
    
    * cleanup
    
    * reorganize code to reduce memory usage
    
    * mostly fix gap in sharp joints
    
    * explain pattern overwrite a bit more
    
    * use new fragment shader for linesegments
    
    * disable debug rendering
    
    * fix incorrect line placement
    
    * adjust line segments to pattern
    
    * use const over define & fix dots
    
    * tweak debug rendering
    
    * make truncation overlap a bit nicer
    
    * minor cleanup
    
    * fix linestyle in linesegments
    
    * skip rendering at 0 linewidth
    
    * add slight bias to avoid missing pixels
    
    * differentiate different segments in debug render
    
    * make color interpolation continuous at joint
    
    * fix dense line color artifacts
    
    * remove unused
    
    * allocate space for joints
    
    * use sdf for AA + debug render
    
    * add miter joints
    
    * handle colors
    
    * some cleanup + linesegments prep
    
    * fix some errors [skip ci]
    
    * add patterns
    
    * clean up linesegments
    
    * add normal rendering mode
    
    * minor cleanup
    
    * experiment with geometry adjustments
    
    * use rounding to solve joint over/underdraw
    
    * WebGL doesn't like scaling
    
    * smooth out inner edge of truncated join
    
    * remove derivative to reduce float accuracy issues
    
    * improve thin lines
    
    * fix lastlen error
    
    * match buffer sizes to number of drawn segments
    
    * avoid dissipation of lines at high point densities
    
    * calculate uv from quad_sdf1
    
    * reduce number of interleaved buffers
    
    * fix disappearing grid lines
    
    * fix missing preprocessors
    
    * fix pattern artifacts in dense line sections
    
    * cleanup some variables
    
    * allow patterns to adjust to linewidth
    
    * fix AA at line end
    
    * fix nan handling
    
    * discard fully transparent pixels
    
    * fix patterns with nan, reset pattern on nan
    
    * fix size issues
    
    * extrude lines slightly to cleanly close them
    
    * fix pixel skipping?
    
    * cleanup patterns
    
    * remove linewidth from pattern based line adjustments
    
    * consider AA in shape factor
    
    * reset shape_factor if pattern changes segment shape
    
    * minor cleanup
    
    * apply changes to WGLMakie + cleanup
    
    * cleanup pattern overwrite
    
    * use the same AA_RADIUS in fragment shader
    
    * fix linelen transform
    
    * disable debug
    
    * fix line start/end AA
    
    * fix px_per_unit?
    
    * fix px_per_unit?
    
    * reduce line start/end extrusion
    
    * simplify extrusion and shape_factor
    
    * summarize breaking changes
    
    * move miter joint test
    
    * update docstring
    
    * minor cleanup
    
    * enable more tests
    
    * move gappy & friends to Makie
    
    * note change to linestyle scaling
    
    * cleanup
    
    * fix line start/end AA
    
    * remove global var
    
    * disable GeoMakie tests for now
    
    * improve transparency for WGLMakie
    
    * fix problems with 180° change in line direction
    
    * fix directionality
    
    * interpolate colormap in fragment shader
    
    * remove util.vert from line/segments
    
    ---------
    
    Co-authored-by: SimonDanisch <[email protected]>
    ffreyer and SimonDanisch authored Feb 27, 2024
    Configuration menu
    Copy the full SHA
    3f885c3 View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2024

  1. fix line inversion (#3651)

    * fix lines shader
    
    * cleanup debug code
    
    * fix rebase error
    
    * fix pattern connectivity
    
    * some cleanup
    
    * apply changes to WGLMakie
    
    * add test
    
    * fix CairoMakie too
    
    * update changelog
    
    * fix missing start/end segment
    
    * Update CHANGELOG.md
    
    * update comments
    
    ---------
    
    Co-authored-by: Simon <[email protected]>
    ffreyer and SimonDanisch authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    d108cbd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9d10308 View commit details
    Browse the repository at this point in the history
  3. Documented / validated plot attributes (#3626)

    * add second `@recipe` method
    
    * rename function
    
    * implement recipe and keyword validation
    
    * fix some bugs
    
    * rename for clarity
    
    * change Scatter recipe
    
    * use argument symbols correctly
    
    * change Lines
    
    * change linesegments
    
    * do a bunch of plots more
    
    * fix text bugs
    
    * splice in internal attribute after mesh creation
    
    * add allowlist
    
    * fix text
    
    * add attribute deprecation mechanism
    
    * add explanation
    
    * remove `text` for GLMakie
    
    * fix contour volume attributes
    
    * add rasterize to allowlist
    
    * add `enable_depth` to volume
    
    * add `matcap` to mesh
    
    * set `fxaa = false` on scatter, lines, linesegments, text
    
    * move fxaa after mixins
    
    * fix keywords
    
    * remove markersize attribute
    
    * remove invalid markersize
    
    * add depthsorting to attributes for scatter
    
    * fix forwarded attributes
    
    * add absorption to volume
    
    * don't use `used_attributes` for datashader canvas convert
    
    * fix positional args
    
    * image
    
    * add better printing and rudimentary tests
    
    * make allowlist a tuple for fewer allocations
    
    * attribute names tuple instead of set
    
    * make deprecations also a tuple
    
    * avoid intermediate vector to speed up attribute creation
    
    * apply same optimization to blocks
    
    * implement mechanism to augment user docstring
    
    * delete manually written out attribute docs
    
    * use funcsym in docstring
    
    * incorporate attribute docs into docstring again
    
    * use equal
    
    * add changelog
    
    * introduce `DocumentedAttributes` with macro
    
    * add function to access `DocumentedAttributes` of a recipe
    
    * fix module mutation problem for now
    
    * move definition behind PlotType
    
    * return Attributes instead of Dict
    
    * convert wireframe recipe
    
    * close over reference
    
    * don't include prereleases in benchmark, failed with 1.11 alpha
    
    * stringify default expr
    
    * convert arrows
    
    * add docs
    
    * directly convert default exprs to strings
    
    * convert ablines
    
    * print wrong attribute in red
    
    * convert annotations
    
    * convert arc
    
    * remove attributes in arrows docstring
    
    * convert band
    
    * fix escaping issue
    
    * convert barplot
    
    * convert bracket
    
    * fix barplot usage in hist
    
    * convert contourf
    
    * typo
    
    * convert contour
    
    * fix waterfall
    
    * comment out arrows test
    
    * convert datashader
    
    * convert errorbar and rangebar
    
    * convert hvlines
    
    * convert hvspan
    
    * convert pie
    
    * convert rainclouds
    
    * convert scatterlines
    
    * convert series
    
    * convert spy
    
    * convert stairs
    
    * convert stem
    
    * convert streamplot
    
    * convert timeseries
    
    * convert tooltip
    
    * convert tricontourf
    
    * add transformation to allowlist
    
    * convert triplot
    
    * convert volumeslices
    
    * convert voronoiplot
    
    * convert waterfall
    
    * convert boxplot
    
    * convert crossbar
    
    * convert density
    
    * convert qqplot and qqnorm
    
    * convert ecdfplot
    
    * convert hexbin
    
    * convert hist
    
    * convert violin
    
    * improve error message printing
    
    * add docstrings for mutating functions and plot types
    
    * add missing docstrings
    
    * reconnect lines docstring
    
    * move functions out of macro
    
    * fix arrows example and adjust docs
    
    * put necessary functions back into macro
    
    ---------
    
    Co-authored-by: Simon <[email protected]>
    jkrumbiegel and SimonDanisch authored Mar 5, 2024
    Configuration menu
    Copy the full SHA
    51da2c6 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2024

  1. Configuration menu
    Copy the full SHA
    3b9de64 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6681722 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2024

  1. Add voxel plot type (#3527)

    * create voxel rendering prototype
    
    * enable lighting
    
    * prototype voxel id generation & color handling
    
    * add is_air attribute
    
    * prototype texture mapping
    
    * fix shader reloading
    
    * fix texture mapping
    
    * implement local updates
    
    * optimize render order (depthsorting = false)
    
    * add depthsorting = true
    
    * render z planes first
    
    * add lowclip and highclip
    
    * add refimg tests + some fixes
    
    * fix colorrange
    
    * fix local chunk update
    
    * handle colorrange more efficiently
    
    * handle voxel id data more efficiently
    
    * docstring & formatting
    
    * switch back to lrbt order for uvmap
    
    * add docs
    
    * try fix tests
    
    * fix show
    
    * fix test?
    
    * add missing dimensions
    
    * add arguments for placement and scale
    
    * allow Colon
    
    * add Colon() to local_update
    
    * minor cleanup
    
    * prototype WGLMakie version
    
    * add fallback in CairoMakie
    
    * add RPRMakie fallback
    
    * skip invisible voxels
    
    * fix typo
    
    * rename voxel -> voxels
    
    * update docs, fix placement
    
    * update news
    
    * fix Colorbar for voxels
    
    * enable tests
    
    * fix texture rotation
    
    * cleanup print
    
    * cleanup comment
    
    * generalize array access
    
    * debug WGLMakie
    
    * get voxels rendering in WGLMakie
    
    * fix texture mapping
    
    * activate tests
    
    * fix moving planes, cleanup prints
    
    * add unit tests
    
    * add gap attribute
    
    * tests & docs
    
    * mention potential issues with picking
    
    * fix WGLMakie picking
    
    * fix depthsorting/gap handling
    
    * switch to integer mod
    
    * fix render order
    
    * use RNG
    
    * fix 1.6 3d array syntax
    
    * fix refimage
    
    * Update CHANGELOG.md
    
    * fix julia 1.6
    
    ---------
    
    Co-authored-by: Simon <[email protected]>
    ffreyer and SimonDanisch authored Mar 8, 2024
    Configuration menu
    Copy the full SHA
    274df26 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2024

  1. implement Float32 without losing Float64 precision (rebased) (#3681)

    * implement float64 precision
    
    * remove merge conflicts
    
    * update CairoMakie
    
    * move some code around
    
    * simplify syntax
    
    * add non-Observable apply_transform_and_f32_conversion
    
    * clean up convert_arguments
    
    * update WGLMakie
    
    * fix tests
    
    * patch model to act after f32convert
    
    * fix function name
    
    * update project and plot_to_screen
    
    * fix patch_model
    
    * add first test
    
    * rename file
    
    * fix type after patch_model
    
    * fix ticks beyond limits
    
    * fix image and heatmap conversion
    
    * convert to float types
    
    * update test
    
    * Fix CairoMakie not precompiling
    
    missed a `Makie.` in the image recipe
    
    * update mesh converts
    
    * fix poly convert type
    
    * fix dict access
    
    * fix first test in WGLMakie
    
    * don't use triangle_mesh
    
    * fix incorrect convert_arguments
    
    * fix test
    
    * fix DataInspector error
    
    * add meshscatter + surface to tests, fix convert_arguments for poly
    
    * Fix docs + Makie tests
    
    * Fix 1.6!?
    
    * fix picking test
    
    * update DataInspector
    
    * fix indicator rotation for meshscatter in DataInspector
    
    * fix Vector{<: Integer}, Vector{Float32} -> Vector{Float32} [skip ci]
    
    * fix stackoverflow on mixed tuple types [skip ci]
    
    * fix tuples correctly [skip ci]
    
    * fix geom -> points eltype [skip ci]
    
    * fix geom -> PointBased output type
    
    * fix Rect2 -> points output type [skip ci]
    
    * fix PointBased mesh conversion
    
    * fix PointBased multi-linestrings type [skip ci]
    
    * update bezierpath
    
    * split up conversions
    
    * fix missing Points convert [skip ci]
    
    * fix CellGridBased types [skip ci]
    
    * always convert volumes to float32
    
    * start adding type tests for every convert_arguments
    
    * fix tests
    
    * undo splitting conversions.jl
    
    * test and cleanup mesh conversions
    
    * fix docs
    
    * update & test Annotations
    
    * update & test arrows
    
    * update and test band and bracket
    
    * update & test errorbars and rangebars conversions
    
    * test & update series converts
    
    * make type stable on 1.6
    
    * update & test remaining convert_arguments
    
    * fix & test model application
    
    * add tests for float32convert
    
    * at floatmin/max refimg test
    
    * fix typo
    
    * update text bbox test & add backtrace
    
    * avoid Float32 in data_limits
    
    * fix Polygon -> Bezierpath conversion
    
    * fix WGLMakie meshscatter model patching
    
    * fix Float64 normals
    
    * fix Float64 matrices in Voxels
    
    * test normal and uv types
    
    * fix for 1.6
    
    * make new project method more complete
    
    * clean up some TODOs
    
    * restore text tests
    
    * restore Polar transform tests
    
    * avoid BBox for Axis limits
    
    * fix rectangle zoom, deprecate to_world with matrix inputs
    
    * fix 1.6
    
    * fix Float64 latexstrings
    
    * fix hvlines, hvspan, errorbars, rangebars
    
    * fix & test ablines
    
    * fix other usage of projview_to_2d_limits
    
    * remove dublicated line
    
    * update changelog + cleanup [skip ci]
    
    * fix missing to_value
    
    * consider markersize and offset for scatter data_limits
    
    * fix tests
    
    * revert BBox -> Rect2d changes
    
    * get hist and barplot working
    
    ---------
    
    Co-authored-by: ffreyer <[email protected]>
    Co-authored-by: Anshul Singhvi <[email protected]>
    3 people authored Mar 18, 2024
    Configuration menu
    Copy the full SHA
    2176f0f View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2024

  1. Document conversion pipeline (#3719)

    * document conversion pipeline
    
    * fix doc build
    
    * fix block
    
    ---------
    
    Co-authored-by: SimonDanisch <[email protected]>
    ffreyer and SimonDanisch authored Mar 20, 2024
    Configuration menu
    Copy the full SHA
    67ebcf2 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Deprecate rotations for rotation for Scatter and MeshScatter (#3724)

    * deprecate `rotations` for `rotation` for Scatter and MeshScatter
    
    * one more rename
    
    * remove double conversion
    
    * fix cairomakie meshscatter
    
    * fix usage in docs
    
    * remove mat4 code again
    
    * fix CairoMakie rror
    
    * change one more rotations
    
    * fix WGLMakie
    
    * add changelog entry
    
    ---------
    
    Co-authored-by: ffreyer <[email protected]>
    jkrumbiegel and ffreyer authored Mar 25, 2024
    Configuration menu
    Copy the full SHA
    4434fef View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5a3bae4 View commit details
    Browse the repository at this point in the history
  3. fix merge

    ffreyer committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    82c65b2 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. update scatter boundingbox (#3716)

    * implement scatter boundingbox with marker metrics
    
    * add tests
    
    * always consider marker rotations
    
    * update changelog [skip ci]
    
    * fix data_limits
    
    * fix some more issues
    
    * rotations -> rotation
    
    * Update boundingboxes.jl
    
    ---------
    
    Co-authored-by: Simon <[email protected]>
    ffreyer and SimonDanisch authored Mar 26, 2024
    Configuration menu
    Copy the full SHA
    0a3b8d4 View commit details
    Browse the repository at this point in the history
  2. Change how boundingbox(::Text) is deprecated (#3723)

    * change how boundingbox is deprecated
    
    * update changelog
    
    * fix test errors
    
    * fix docs errors and cleanup error message
    
    * fix type instability
    
    * fix function name
    
    * fix function name
    
    * fix boundingbox overwrites
    
    * update changelog
    
    * add types to function args
    
    maybe this allows boundingbox(::MyPlot, space) to work without ::Symbol...
    
    * fix typing
    
    * fully remove :world space
    
    * fix test
    ffreyer authored Mar 26, 2024
    Configuration menu
    Copy the full SHA
    cd340fd View commit details
    Browse the repository at this point in the history
  3. Various fixes for next release (#3731)

    * fix error for 2d meshscatter data_limits
    
    * avoid Rect3(::Rect2) constructor
    
    * allow :inspector_label
    
    * allow inspector_clear and inspector_hover too
    
    * fix rect zoom & cleanup to_world
    
    * move inspector attributes to default attributes
    ffreyer authored Mar 26, 2024
    Configuration menu
    Copy the full SHA
    a28ebf9 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2024

  1. Configuration menu
    Copy the full SHA
    de952bc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    22a0a2d View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2024

  1. add userdata attribute

    ffreyer committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    f1d2cf3 View commit details
    Browse the repository at this point in the history
  2. add mssing userdata

    ffreyer committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    0641ef3 View commit details
    Browse the repository at this point in the history