Skip to content

Latest commit

 

History

History
96 lines (92 loc) · 3.86 KB

ROADMAP.md

File metadata and controls

96 lines (92 loc) · 3.86 KB

Basic features wanted

  • process glTF icon(s) (from link[rel~="gltf-model"]/link[type*="gltf"] tags and icons keys in manifest)
  • deploy API to server for free + public usage
  • attempt to fetch ${originURL}/* URLs as fallback manifest URLs
  • fetch /contribute.json
  • allow cache to be enabled (?cache=1)
  • add /robots endpoint
  • parse ROBOTS.txt
  • add /humans endpoint
  • parse HUMANS.txt
  • add /contribute endpoint
  • parse contribute.json
  • add /manifest/validate endpoint
  • add validation results
  • add /manifest/bar endpoint
  • get badges
  • get favicons
  • get icons
  • get screenshots
  • improve getting best badges
  • improve getting best favicons
  • improve getting best icons
  • get best screenshots
  • handle pwacompat
  • add /manifest/polyfill endpoint
  • improve API endpoint validation
  • get uri, document, manifest, document_url, manifest_url, document_uri, manifest_uri parameters, as fallback
  • add /json-ld endpoint
  • add /microdata endpoint
  • add /link-tags endpoint
  • add /meta-tags endpoint
  • add /head endpoint
  • add /favicons endpoint
  • add /icons endpoint
  • add /badges endpoint
  • add /screenshots endpoint
  • get parameters from JSON body, as fallback
  • get parameters from URL (from splitting as substring), as fallback
  • add keyboard bindings (and add those from manifest and manifest.json for browser extensions)
  • render headset and gamepad options from meta[name^="vr"] tags and manifest vr_* values
    • vrDisplaySource / vr_display_source
    • vrDisplayRequired / vr_display_required
    • vrDefaultDisplay / vr_default_display
    • vrAvailableDisplays / vr_available_displays
    • vrGamepadRequired / vr_gamepad_required
    • vrDefaultGamepad / vr_default_gamepad
    • vrSupportedGamepads / vr_supported_gamepads
    • vrFavicon / vr_favicon
  • process canonical URL from link[rel="canonical"] tag (if tag is unavailable, generate the canonical URL)
  • add option to send to mobile device (via Twilio SMS)
  • add option to connect and send via Remote Debugging
  • create version as a browser extension
    • hide footer UI when installed as browser extension
    • cache and use for manifest metadata
    • cache and use display ID of currently presenting VR
    • add option to Add to Homescreen/Applications/Desktop/Shelf using Native Messaging
  • allow submission of compat reports
    • using REST API (POST)
      • from WebVR Agent UI
      • from within VR mode
    • using Webcompat.com
      • from WebVR Agent UI
      • from within VR mode
  • add /compat endpoint

Advanced features

  • add voice commands using the Speech Recognition API (defined in manifest, and with defaults)
  • add voice commands using the Speech Synthesis API (defined in manifest, and with defaults)
  • allow REST API (POST) submission of voice notes (using the Speech Recognition API)
    • from WebVR Agent UI
    • from within VR mode
  • add JS code linting (using semistandard)
  • add unit tests
  • add functional, end-to-end tests
  • check if /favicon.ico exists
  • parse JSON-LD (from external <link> tags)
  • parse Microdata from HTML
  • fetch <link> tags (including tags for stylesheets, RSS/Atom feeds, canonical URL, preload, prefetch, dns-prefetch, etc.)
  • use url-parse library (window.URL polyfill for Node) for URL parsing/resolving
  • do not require protocol for url parameter
  • prefer https: URLs (attempt to fetch first, even if URL with http: or not protocol provided)
  • add POST endpoints for GET endpoints
  • crawl manifest (from HTML generated from Lighthouse)
  • fetch all resources (from a HAR report generated from Lighthouse)
  • parse from npm
  • parse from unpkg
  • parse from GitHub
  • parse from GitLab
  • mirror, sync manifest to IPFS
  • mirror, sync images to IPFS
  • mirror, sync start_url to IPFS
  • add /proxy endpoint
  • proxy all resources (from IPFS cache, fallback to source)