Heyyyyyyyyyy

  • 13 Posts
  • 37 Comments
Joined 11 months ago
cake
Cake day: August 9th, 2023

help-circle






  • I also have a similar side project planned for a revamp. Successfully made a v1 with grease monkey (vanilla JS) + stylish back in maybe 2016. Super dangerous to keep firefox 56 running only for this front-end. Just need to do the v2 then migrate to latest librewolf.

    I want to redo the whole thing in Vue, client side routing with build step. The problem is that

    • site is not open source
    • no API doc (but I already made my own)
    • required log-in (no sensitive info)
    • some route request must be made from that domain due to CORS

    My goal is not to change the UI but wipe the whole page and start over with custom API call instead. V1 do this by visiting a 404 route to stop unnecessary load and use my own URL param for the API call. For bonus cringe I used local storage for database.

    Ended up having to use userscript, and now I’m kinda stuck with how to mash Vite build and tamper/violent monkey together :(
    Do you have any suggestion or resource I can learn more on this?





  • Can you explain a bit more about “zooming, different levels of detail” you mention? Maybe break them down to separate issue you are having with the library, what does it do, what do you want that it’s not doing. If there is a way to tweak it then you don’t have to build the component from scratch.

    But if you already abandoned the idea of tweaking timeline-js then you can have full control in vue, have to build it yourself though. Start by breaking the functionality of the timeline into separate interaction. From a quick look, timeline-js just make style attribute reactive. Have a box? good. Now put really long div in it with placeholder texture. Can you drag/scroll it? no? grab a suitable function from vueuse and make it scrollable. Follow with markers, zoom, dummy event items, data fetching (the actual width, marker spacing, events placement can be calculated from timestamp in json after this step), lazy loading, styling, animation, so on.

    I don’t know how much experience do you have with each things required (html, css, js, vue) so it is a bit difficult to give useful answer.



  • Flac is a low bar for any music player though. I don’t know whether itunes support it yet, don’t care.

    I’m sure Rhythmbox works well for you and that is great. But I also need some niche features which might not be in it.

    Mostly conversion and forensic thing.
    ape tak tta format, bit compare, audio checksum, mass-tag/batch-tag, replaygain, custom playlist columns, statistic driven field. Don’t know what else until I try and find it’s missing.

    I’m also sure I can get all those and more in different cli tool if I want but getting them in one software is very convenient.

    After a quick look, DeaDBeeF might have most of what I want.

    • Sort and group the tracks in any order you wish, using advanced Title Formatting scripting, compatible with Foobar2000

    Got the date wrong, last time I tried it was 2018. Lot of new features added since then.




  • If you’ve just open Blender for the first time and then you’ve tried to… do things.
    Maybe, trying to see how far you can go… without getting help. [laugh]
    You might have discovered… you need help immediately.

    -- some donut guy


    This is janky but will do the best I can. Maybe someone way smarter than me can find a more efficient way to do it.

    I’m doing this demo on some park with Butt in Germany (OSM)
    Blend file
    Layout window
    Node setup

    Limitation
    Line of sight is made from the ‘origin’ of (building) geometry (one-to-many).

    I have tried the same method but in reverse and combine lines of sight (many-to-many) and iterate through them but can not get any result, ‘position node’ output is changed based on whatever you are using with it and two sets of point cloud hurts my head.

    However, with this node setup if you model each room as separated object, it will still work but at room level instead of building level. Wowowee itsa very nice. Just no way to quickly get an ID that I know of.

    Process

    1. Import GIS stuff as usual
    2. You MUST set the origin of each object to its own geometry (orange dot must stay in the geometry) as GIS plugin will set origin as world center 0,0,0 and that will break stuff.
    3. Any object that will potentially obstruct the view must be put inside a flat one-level collection.
      3.1 Buildings to analyze can be put in any collection or not at all.
      3.2 If any potentially obstructing object is also an analyzing target from (3.1), it should be duplicate-link with Alt+D then ESC and put in the obstruction collection.
    4. View target e.g. park, lake, must have face, can not be just curves, edges, vertices.
    5. Add geometry node modifier to any buildings you want analyzed.
      5.1 Browse for a node named ‘visibility’ I already set up.
      5.2 Select target.
      5.3 Set ray length (meter) long enough to reach your target.
      5.4 Select any other buildings you want analyzed, with copy source in yellow, paste target in orange hilight. Ctrl+L to copy geo-node modifier to all of them.
    6. Open spreadsheet window and select a unit to see visibility value.

    EDIT: I forget to expose obstruction selector, you can select it inside geometry node window. I also got an idea for V2 which may solve issue of getting IDs list. Will try again tomorrow.

    HAPPY ACCIDENT: you can also stack the modifier and select another target, spreadsheet will show another line of visibility attribute for each additional target in the stack.

    Be careful though, too much and blender might crash.


    I don’t recommend watching/doing the whole donut series, but you still need some familiarity to get around and understand more complex part of blender that other tutorials may teach you :|

    Maybe you can cobble together something even better from these tutorial channels. Erindale, Chris P


  • Yep… this is tough. After reading through another of your comment, I’m not sure if geometry node alone can handle this.

    The answer/solution will depends on how accurate or detailed you want for the result.
    If you count any single point on a building that can see any amount of a park as a ‘pass’, that will be easy. But when you start to dice them down to each floor or room unit, then it will be a bit harder. If you also want to check how much of the park you can see from certain room too, it will be even harder. If you want to list all that, I think you will have to write python code. The complexity will scale with amount of rooms, buildings, parks.

    If the amount of objects that you considered ‘lit up’ is possible to select and move into another collection by hand in reasonable time, then maybe geo node is enough. From your result, how many are those?

    Spreadsheet window (geometry node workspace) can list vertices/edges/faces and other things with custom attribute they have (in this case, see a park or not see a park). It can also list name of object in a collection but I’m not sure if it can also display extra data alongside it though, it’s not the right tool for the job.