phoria2 1.0.0-rc.6 → 1.0.0-rc.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +11 -6
  2. package/dist/bloom.js +1 -1
  3. package/dist/charts.js +538 -507
  4. package/dist/charts.js.map +1 -1
  5. package/dist/core.js +834 -667
  6. package/dist/core.js.map +1 -1
  7. package/dist/edit.js +39 -33
  8. package/dist/edit.js.map +1 -1
  9. package/dist/gltf.js +83 -83
  10. package/dist/gltf.js.map +1 -1
  11. package/dist/motion.js +33 -33
  12. package/dist/motion.js.map +1 -1
  13. package/dist/particles.js +33 -33
  14. package/dist/particles.js.map +1 -1
  15. package/dist/passes.js +31 -31
  16. package/dist/passes.js.map +1 -1
  17. package/dist/phoria2.js +1 -1
  18. package/dist/picking.js +21 -21
  19. package/dist/picking.js.map +1 -1
  20. package/dist/tooltip.js +3 -3
  21. package/dist/tooltip.js.map +1 -1
  22. package/dist/types/OrbitControl.d.ts +9 -3
  23. package/dist/types/View.d.ts +25 -5
  24. package/dist/types/charts/legend.d.ts +3 -2
  25. package/dist/types/edit/History.d.ts +4 -0
  26. package/dist/types/geometry/generators.d.ts +10 -4
  27. package/dist/types/labels.d.ts +9 -2
  28. package/dist/types/material/Material.d.ts +5 -4
  29. package/dist/types/presets.d.ts +6 -0
  30. package/dist/types/scene/Node.d.ts +7 -0
  31. package/dist/types/scene/cameras.d.ts +10 -6
  32. package/dist/types/scene/drawables.d.ts +6 -0
  33. package/dist/types/scene/lights.d.ts +9 -4
  34. package/dist/types/webgl/shaders.d.ts +2 -2
  35. package/llms-full.txt +116 -26
  36. package/llms.txt +4 -2
  37. package/package.json +4 -1
  38. package/schema/chart.schema.json +9 -5
  39. package/schema/scene.schema.json +1149 -0
  40. package/src/OrbitControl.js +361 -0
  41. package/src/Raycaster.js +290 -0
  42. package/src/View.js +1311 -0
  43. package/src/charts/Chart.js +466 -0
  44. package/src/charts/axes.js +146 -0
  45. package/src/charts/index.js +9 -0
  46. package/src/charts/legend.js +60 -0
  47. package/src/charts/marks.js +339 -0
  48. package/src/charts/network.js +344 -0
  49. package/src/charts/scales.js +316 -0
  50. package/src/charts/spec.js +252 -0
  51. package/src/charts/style.js +41 -0
  52. package/src/clip.js +105 -0
  53. package/src/describe.js +102 -0
  54. package/src/ease.js +12 -0
  55. package/src/edit/History.js +135 -0
  56. package/src/edit/TransformHandle.js +259 -0
  57. package/src/edit/index.js +10 -0
  58. package/src/explain.js +138 -0
  59. package/src/fog.js +71 -0
  60. package/src/frame.js +517 -0
  61. package/src/geometry/Curve.js +294 -0
  62. package/src/geometry/Geometry.js +248 -0
  63. package/src/geometry/bvh.js +168 -0
  64. package/src/geometry/fromPolygons.js +86 -0
  65. package/src/geometry/generators.js +772 -0
  66. package/src/geometry/outline.js +206 -0
  67. package/src/geometry/triangulate.js +127 -0
  68. package/src/gltf/Animation.js +137 -0
  69. package/src/gltf/index.js +8 -0
  70. package/src/gltf/load.js +533 -0
  71. package/src/hdr.js +71 -0
  72. package/src/index.js +57 -0
  73. package/src/irradiance.js +43 -0
  74. package/src/labelLayout.js +183 -0
  75. package/src/labels.js +340 -0
  76. package/src/material/Material.js +293 -0
  77. package/src/material/Texture.js +183 -0
  78. package/src/math/mat3.js +53 -0
  79. package/src/math/mat4.js +315 -0
  80. package/src/math/quat.js +123 -0
  81. package/src/math/vec2.js +29 -0
  82. package/src/math/vec3.js +131 -0
  83. package/src/math/vec4.js +35 -0
  84. package/src/math.js +12 -0
  85. package/src/motion/Timeline.js +195 -0
  86. package/src/motion/ease.js +3 -0
  87. package/src/motion/follow.js +119 -0
  88. package/src/motion/index.js +13 -0
  89. package/src/particles/Body.js +62 -0
  90. package/src/particles/Emitter.js +418 -0
  91. package/src/particles/index.js +9 -0
  92. package/src/presets.js +128 -0
  93. package/src/registry.js +26 -0
  94. package/src/resolve.js +35 -0
  95. package/src/scene/Node.js +668 -0
  96. package/src/scene/Scene.js +169 -0
  97. package/src/scene/cameras.js +174 -0
  98. package/src/scene/drawables.js +547 -0
  99. package/src/scene/lights.js +299 -0
  100. package/src/shadow.js +159 -0
  101. package/src/snapshot.js +93 -0
  102. package/src/tooltip.js +101 -0
  103. package/src/types.js +18 -0
  104. package/src/validate.js +180 -0
  105. package/src/value/Box3.js +109 -0
  106. package/src/value/Color.js +193 -0
  107. package/src/value/Euler.js +90 -0
  108. package/src/value/Mat4.js +67 -0
  109. package/src/value/Quat.js +134 -0
  110. package/src/value/Ray.js +120 -0
  111. package/src/value/Vec3.js +174 -0
  112. package/src/value/cssColors.js +37 -0
  113. package/src/watch.js +208 -0
  114. package/src/webgl/WebGLRenderer.js +644 -0
  115. package/src/webgl/bloom.js +262 -0
  116. package/src/webgl/context.js +214 -0
  117. package/src/webgl/passes.js +603 -0
  118. package/src/webgl/picking.js +306 -0
  119. package/src/webgl/programs.js +200 -0
  120. package/src/webgl/resources.js +418 -0
  121. package/src/webgl/shaders.js +831 -0
package/README.md CHANGED
@@ -9,6 +9,10 @@ business apps: charts, labelled scenes, diagrams, dashboards and product viewers
9
9
  HDR environments, GPU picking) load only when used.
10
10
  - **Idle when nothing changes**: a view draws only when something in it changed, so a dashboard of
11
11
  many views only updates when needed.
12
+ - **Any number of views on a page**: browsers allow about 16 WebGL contexts per page, so most
13
+ libraries need one big canvas and scissoring for a dashboard of tiles. phoria2 gives the first four
14
+ views their own context and draws the rest with one shared context, each still an ordinary canvas
15
+ in your layout. The chart lab demo runs over 100 live chart views.
12
16
  - **Tells you what to write**: every option is checked, and a mistake throws an error that names
13
17
  the fix - pass `colour` and you get `Material: use 'color'`. Written to be easy for coding
14
18
  agents too.
@@ -52,12 +56,12 @@ own). Pin the version so a new release can't change your page:
52
56
  <script type="importmap">
53
57
  {
54
58
  "imports": {
55
- "phoria2": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.6/dist/phoria2.js",
56
- "phoria2/charts": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.6/dist/charts.js",
57
- "phoria2/particles": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.6/dist/particles.js",
58
- "phoria2/gltf": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.6/dist/gltf.js",
59
- "phoria2/motion": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.6/dist/motion.js",
60
- "phoria2/edit": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.6/dist/edit.js"
59
+ "phoria2": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.8/dist/phoria2.js",
60
+ "phoria2/charts": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.8/dist/charts.js",
61
+ "phoria2/particles": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.8/dist/particles.js",
62
+ "phoria2/gltf": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.8/dist/gltf.js",
63
+ "phoria2/motion": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.8/dist/motion.js",
64
+ "phoria2/edit": "https://cdn.jsdelivr.net/npm/phoria2@1.0.0-rc.8/dist/edit.js"
61
65
  }
62
66
  }
63
67
  </script>
@@ -158,6 +162,7 @@ A full example, with a chart that follows its data, is in
158
162
  | `phoria2/gltf` | `loadGLTF()` - glTF 2.0 models with their materials and animations |
159
163
  | `phoria2/motion` | `Timeline` - named steps played in order, `follow()` along a curve, `reveal()` a path as it's travelled - for explainers and guided tours |
160
164
  | `phoria2/edit` | `TransformHandle` - a move and turn handle with grid and angle snapping - and `History` for undo, for planners and layout editors |
165
+ | `phoria2/schema.json`, `phoria2/charts/schema.json` | JSON Schemas for scene descriptions (`create()`) and chart specs |
161
166
 
162
167
  ## Browsers
163
168
 
package/dist/bloom.js CHANGED
@@ -1,4 +1,4 @@
1
- import { I as e, P as t } from "./core.js";
1
+ import { F as e, N as t } from "./core.js";
2
2
  // src/webgl/bloom.js
3
3
  var n = `precision highp float;
4
4
  in vec2 vUv;