libvarun / forge-extensions Goto Github PK
View Code? Open in Web Editor NEWAutodesk Forge Viewer Extensions with loose coupling, so that it's easy to plug and play in other projects.
Home Page: https://forge-extensions.autodesk.io/
Autodesk Forge Viewer Extensions with loose coupling, so that it's easy to plug and play in other projects.
Home Page: https://forge-extensions.autodesk.io/
When creating a new extensions, there is internal config
(g.e. public/extensions/BasicSkeleton/config.json
)
and there is aggregated config
public/extensions/config.json
, which has Extension array with content of those internal configs.
The internal config seems to be redundant, yet its content is important.
The current process of adding a new extension is to add a folder, write the config, then copy the content of internal config content into the Extension part of the aggregated config
Perhaps a better approach would be that upon server starting, to autofill the Extension part of the aggregated config , by traversing the content of public/extensions
subfolders and insert into Extension array the content of each config.
Thus, the process of adding a new extension would be just to add a folder with presented structure and have the config in that folder.
have a button to enable/disable it
nice work @petrbroz !
can we add:
and maybe add (not major)
some expected behavior (from other samples):
for usability, can we add a config option to only load in 2D, or 3D, or both? for instance, the current Icon Markup works only in 3d...
requires: 2d|3d
not sure if that's a feature or property on the built-in extensions, explode is an example, can you check?
It would be good to document the process of integrating an extension into a 3rd party application, for example, things like:
viewer.loadExtension
)We already had one user run into issues because they copy/pasted the extension files to their project but forgot to configure it based on the config.json file.
It seems that the filestoload
assets in config.json can only be local (relative to the contents subfolder). It might be a good idea to support external dependencies as well, so that, for example, instead of including the same xlsx.min.min.js into every single extension that needs to generate an Excel file, we could just reference it from a CDN, for example: https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.15.2/xlsx.core.min.js.
Let's make sure people use the /autodesk-forge repo, so please:
(found a few links to this repo, so please don't delete it...)
the "Understanding extensionloader..." section is good, nice work
shouldn't this be inside the document ready event? may fail on slow connection...
for consistency, let's use * (instead of x)
implement webhook for MD and a websocket connection to show the model when ready
(nice to have, maybe later)
for consistency with other samples, let's use PORT 3000 at readme>setup
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.