knielsen / ice40_viewer Goto Github PK
View Code? Open in Web Editor NEWLicense: ISC License
License: ISC License
Hey Kristian, thanks for the useful project.
The perl script (gen_chipdb_js.pl) bundles the databases into a JavaScript file, which may be loaded - unlike text files - from file:
origins. It appears to me that this is primarily used to support the standalone mode.
In non-standalone mode, the examples dropdown is broken on the file:
origin because the XMLHttpRequest for .asc files fails CORS (this may have only become an issue in the last few years, as browsers tightened their security policy). In standalone mode, the .asc file is bundled directly into the HTML and so (I am assuming) does still work.
I think there might be a way to load the databases lazily, and keep the standalone mode. If it is possible to find a web server on the internet that serves the databases with permissive CORS headers (and Cache-Control headers!), they can be XMLHttpRequested directly as text and the perl script can be removed. Alternatively, dropping support for the file:
origin would simplify everything tremendously, but necessitate a local web server. But I don't know how you'd feel about this.
Also, if parsing was done in a Web Worker, there would be no need to "step" it in order to keep the UI responsive. The parsing of the .asc and databases could be done in parallel. But that's a different issue.
Hi @knielsen have you created a great tool.
I have started similar project icedrom
here: https://github.com/drom/icedrom
I would be glad joining the efforts.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.