Linux249 / visiexp-client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

bachelor-vue

Update code on compvis 10

npm run deploy

Other commands

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Run your tests

npm run test

Lints and fixes files

npm run lint

Customize configuration

See Configuration Reference.

Other stuff

Ressources used

Webassembly / AssemblyScript

Links

AssemblyScript Book (docs): https://docs.assemblyscript.org/

Using the WebAssembly JavaScript API - good overview of Memory, Table, Globals, etc.: https://developer.mozilla.org/en-US/docs/WebAssembly/Using_the_JavaScript_API Understanding the JS API: https://webassembly.org/getting-started/js-api/ Calling JS functions in wasm: AssemblyScript/assemblyscript#158

Sharing data via buffer

Example of draw 2 images to a assembly buffer and check the sum off bytes to be equal: https://webassembly.studio/?f=miiw8yu4h3

Differences between TypeScript and AssemblyScript: https://dev.to/jtenner/assemblyscript-is-not-a-subset-of-typescript-4ka3

load wasm with WebPack:

Guides:

WASM with AssemblyScript

TODO ADDED:
    1. cummincate between js and AS
    2. pass buffer to AS
    3. Add Node Class to save pointer and size => get acces to pixel data for each img
    4. add Store for saving nodes and operation on multi nodes
    5. pixel array for return data and change via AS
    6. Add draw to state and nodes
    7. add test canvas for showing result
    8. add variable memory based on canvasPixelSize and change cavnas size to 100, 100
    9. add real pictures while streaming, first 10, handcrafted x,y,
        init memory 10 * 10 * 10 * 4 = 4000
    10. init full downloaded memory
    11. add all nodes with smallest img size to state
    11. add scale, transfer to node.draw(s, t) with functions to change them
    13. resize full canvas to 500, 500
    14. node.draw() checks if node should be drawed
    15. add new load wasm with webpack, imports add logging
    16. add panning (MouseMove), scale/translate change (zoom)
    17. add 10 files of images to Node and resize with zooming
    18. fix draw placing wrong pixel and missing content after high zooming

Missing: 
Memory: 
    - add dynamic alloc memory (1) (actuall is overwriting) 
Scissior:
    - add drawRectangle(x, y, w, h) + integrate with drawScissior (2)
Marks/Groups
    - add node.mark flag, mark them on click and draw marked rectangle (1)  
    - add node.groupId (default 0), .setGroupId(newId, r, g, b, a)
    - add draw border around group with color if groupId !== 0 (1)
    - add getGroupCount(groupId) (test this with 10k imgs and 10 groups)
    - add changeGroupColor(groupid, r, g, b, a) 
    - add node move, groups move, marked moves
    - add second array for getting pixel under mouse

TODO Enhancment
    - new Way in a worker

Changes

27.10.

Features

  • user can now save embedding and groups anytime
  • user can load saved embedding from diffrent datasets

4.01.

Bugs:
  • fix mark inactive group elements with click (6628980e)
  • scissor don't mark's inactive group members (c42ae47f)
  • fix wasm mode (cac01fe7)
Enhancements:
  • resize all images border from 2 to 3 pixel (57bad4b0)
  • improve help texts (84cf0a32)
  • rename screenshots button (fdc69d8b)
  • bedder icon and position for move images button (b43bf9b3)
  • groups: (6ed0c77b)
    • empty input after creating new group
    • similarity mode button icon now stays the same if active
    • remove "view all" and "new group" buttons in sim mode
Features:
  • add toggle recalculate clustering button in settings (9392fdf6)
  • user can decide the degree of changes in embedding trough updating
  • add loading counter in the right bottom corner

Old:

improve heatmap (0f0295ac)

  • bedder init scaling
  • bedder radius for 500 pics!
  • smoother border

About


Languages

Language:Vue 58.0%Language:JavaScript 35.3%Language:TypeScript 5.4%Language:CSS 1.0%Language:HTML 0.2%