6.0.1 (2022-07-31)
- core: add check for material and geometry but parent is not a mesh (6c3943d)
- core: adjust three peer deps (c14400f)
6.0.0 (2022-07-26)
- All components/directives/pipes are now standalone. Module-based APIs will be removed in future major
makeVector*
,makeColor
are removed. Usemake()
insteadNgtComponentStore
is now an abstractDirective
instead of anInjectable
NgtComponentStore#onCanvasReady
is replaced withNgtStore#onReady
NgtCoreModule
is removed. UseNgtCanvasModule
insteadNgtColorPipe
is removed. UseNgtColorAttribute
insteadNgtFogPipe
is removed. UseNgtFogAttribute
insteadNgtFogExp2Pipe
is removed. UseNgtFogExp2Attribute
insteadNgtVector2Pipe
is removed. UseNgtVector2Attribute
insteadNgtVector3Pipe
is removed. UseNgtVector3Attribute
insteadNgtVector4Pipe
is removed. UseNgtVector4Attribute
insteadNgtObjectInputs
->NgtObjectProps
NgtObjectInputsState
->NgtObjectPropsState
- Abstract classes are rewritten to use
inject()
. Hence, derived classes do not need to pass DIs intosuper()
calls anymore [parameters]
on Materials are removed. Please use individual Inputsschematics:configure-cannon
is removed
- bump peer deps (223c604)
- cannon: standalone api (6c26dcd)
- core: clean up ngtObjectPassThrough (35a77f6)
- core: consolidate make fns (a2486fe)
- core: remove material parameters inputs (0029fa7)
- core: replace onCanvasReady with onReady (2083c50)
- core: standalone api (e1071d6)
- core: use inject (336b453)
- core: use inject (2b627b6)
- postprocessing: standalone api (ef72f25)
- schematics: remove configure cannon generator/schematic (3391638)
- soba: standalone api (5707f85)
- core: adjust loop logici (f174630)
- core: change component store to be an abstract directive instead (a077d83)
- core: clean up instance (104523f)
- core: objects now added to scene after Enter VR on Oculus Quest (#135) (f203fd5)
- revert to three import (7384f93)
- update three import to three/src/Three (8942c28)
- postprocessing: standalone-ize effect composer (a682deb)
- core: fixed typo in ngt-primitive component (#128) (6254323)
- add docusaurus workflow for branch deploy (c0c3b37)
- converting to standalone (d1f5622)
- migration to v6 (31415f8)
- update docs to use standalone apis (b1a5cc0)
6.0.0-beta.0 (2022-07-24)
- bump peer deps (223c604)
- cannon: standalone api (6c26dcd)
- core: clean up ngtObjectPassThrough (35a77f6)
- core: consolidate make fns (a2486fe)
- core: remove material parameters inputs (0029fa7)
- core: replace onCanvasReady with onReady (2083c50)
- core: standalone api (e1071d6)
- core: use inject (336b453)
- core: use inject (2b627b6)
- postprocessing: standalone api (ef72f25)
- schematics: remove configure cannon generator/schematic (3391638)
- soba: standalone api (5707f85)
- core: adjust loop logici (f174630)
- core: change component store to be an abstract directive instead (a077d83)
- core: clean up instance (104523f)
- core: objects now added to scene after Enter VR on Oculus Quest (#135) (f203fd5)
- revert to three import (7384f93)
- update three import to three/src/Three (8942c28)
5.5.0 (2022-06-08)
- cannon: add remove to physic body (7b09397)
5.4.0 (2022-05-27)
- core: update range for three dependency in core (c9067e5)
5.3.0 (2022-05-27)
5.2.4 (2022-05-16)
- soba: fake timer to delay gizmo-helper render as a workaround (53d26b1)
5.2.3 (2022-05-13)
- cannon: make sure wheels and chassis are available before calling raycastVehicle (ec60ca4)
- cannon: still add body to debug on disabled (4b8e663)
- cannon: strong type object type for physics APIs (7e0d788)
- core: bump three peerDeps (6bf9d89)
- core: reinit material if ctorParams$ changes (2a57fca)
- add raycast vehicle (991d642)
- add reflector story (f059d99)
- adjust all physics examples to use strongly typed version (45d933d)
5.2.2 (2022-05-09)
- core: destroy loader cache on Canvas unmount (0353fdf)
- core: rework loader so cache works properly; cache bursted on canvas destroyed (8fbe4c0)
- core: use lookAt as an Input instead of passing in for camera (2a0ac46)
- soba: remove asyncScheduler from Detailed (1561878)
- adjust lod example (bc704d0)
- update docs and add some docs about performance/best practices (480f396)
- use Scene component (1c3ab8f)
5.2.1 (2022-05-08)
- postprocessing: clean up effect composer (7a19642)
- postprocessing: fix LUTEffect to construct correctly (6389da5)
- postprocessing: use this.instance$ instead for DepthofField (142d5ce)
- add link to andivr cannon examples; add performance page (519704b)
- add missing code changes to render 2 cubes (#115) (c094683)
- add more performance related examples (dad2b35)
5.2.0 (2022-05-07)
- core: add update event emitter to instance which emits after setOptions (f865c73)
- postprocessing: rename simple effects; use individual inputs (0c871ad)
- soba: add AdaptiveDpr and AdaptiveEvents to react to performance regression on camera movements (1dbbd62)
- soba: add soba text3d (8c68720)
- core: re-int object on instanceArg$ changes (9128e17)
- core: wrong merge logic for performance options (e55f93e)
- postprocessing: ssao effect (2c871df)
- soba: avoid error when colors length less than stops length in gradient texture (6cd6abf)
- soba: fix ContentChildren for Float (f839b97)
- soba: fix ContentChildren for Stage (250059c)
- soba: fix ContentChildren; use ref for Center (ea7cd19)
- soba: fix ContentChildren; use ref for Detailed (fc150e3)
- soba: override update for gizmo helper since instance now has update event emitter (b8111df)
- soba: use ref for Backdrop (8d606fc)
- soba: use ref for ContactShadows (c428794)
- soba: use ref for Environment (e479d2f)
- soba: use ref for Gizmo (5b35a25)
- soba: use ref for Spotlight (8cdfdb3)
- add adaptive stories (1117add)
- add args/props for gradient texture story (0f33e0c)
- add CDK to use platform for poster (e56ea64)
- adjust workflow (bf96d88)
- match Drei's props on some stories (f41eaf9)
- use createRangeControl (2305d07)
- use white background for stage stories to see shadow better (c6569ce)
5.1.1 (2022-05-04)
- repo: simplify registerBeforeRender call (8506248)
5.1.0 (2022-05-04)
- add height field example (124a003)
- add outputs to build step (3031d62)
- add redirects (9f9b8f8)
- adjust height-field example (aebcf41)
- hardcode href (5c269be)
5.0.3 (2022-05-02)
- postprocessing: use a group for child effectx (6a52a39)
- adjust keen bloom to use ngt-effect-composer-content (a1a2cd2)
- adjust object clump to use ngt-effect-composer-content (1c472dc)
5.0.2 (2022-05-02)
- core: expose checkNeedsUpdate and call checkNeedsUpdate where needsUpdate = true was (0514798)
- soba: ensure to update material and material uniforms for Sky (5e683da)
- adjust netlify for main branch now (263430a)
- adjust predocs command to run install workspace root (a7542b0)
- adjust storybook (c01ed8b)
- force install devDependencies (7013bad)
- revert change to predocs (09b1d89)
5.0.1 (2022-05-01)
- core: object host ref should return the parentRef as it is already a factorye (33a3df9)
5.0.0 (2022-05-01)
- postprocessing: adjust effect param changes; handle effect dispos (af76d7e)
- postprocessing: ssao blendFunction options should get from the input (32aba1c)
- repo: adjust provideObjectHostRef to be less boilerplate (5f77dcb)
5.0.0-beta.32 (2022-05-01)
- core: add capsule geometry (ae67458)
- add gif as fallback for browsers that do not support video (c561010)
5.0.0-beta.31 (2022-04-30)
- core: add lookAt to cameraOptions (ee59039)
- add docs page for Sky (0ec14c2)
- add more info about effects (d4f1d81)
- adjust redirect (c2eebe0)
- adjust redirect again (f48eb21)
- adjust redirect again and again (6d4334b)
- clean up docs and remove plugin client redirects (3398a05)
- test plugin client redirects (0b76eed)
5.0.0-beta.30 (2022-04-30)
- core: intensity should accept data from input instead of hard code 1 (8bcdf20)
- core: move args input to abstract classes (ad7947d)
- postprocessing: debounce effectPasses so that multiple effect triggers should be debounced (c54f9e7)
- soba: remove args input on line geometry (8a0fbe8)
5.0.0-beta.29 (2022-04-29)
- schematics: include nrwl/devkit as dependencies for schematicsn (0f973a1)
5.0.0-beta.28 (2022-04-29)
- schematics: adjust how version is determined (f7f5e5f)
5.0.0-beta.27 (2022-04-29)
- schematics: update schematics to support v5 (6638339)
- add examples to docs (eb5485d)
- adjust how to compute netlify urls (681b762)
- remove uneccessary const (0a93137)
5.0.0-beta.26 (2022-04-29)
- core: allow to pass in Ref for primitive as well (a855e1f)
- soba: support material for text (7f4eb1a)
- core: check for null before accessing objects (16ed4d1)
- core: check on Reflect before assign empty object in mutate (22a057d)
- soba: adjust textMesh instance (853be0e)
- clean up text story (5d6b784)
5.0.0-beta.25 (2022-04-29)
- core: add value attribute to add arbitrary value to parent instance (a135b19)
- soba: add Bounds (cc7db0c)
- soba: add CameraShake (10bb6dd)
- soba: add Center (c3288eb)
- soba: add Float (b604ed5)
- soba: add Sky (1a07a52)
- soba: add Stage (7ed8257)
- core: adjust how raw value is attached to the parent (838a53c)
- core: rename value attribute selector (dd0aafc)
- core: typo on objectHostRef (29c8f20)
- repo: adjust value attribute selector (2673039)
- soba: ensure instance is ready before effect for Bounds (e65593c)
5.0.0-beta.24 (2022-04-28)
- soba: add Backdrop; add Spotlight (be9937c)
5.0.0-beta.23 (2022-04-27)
- soba: add Contact Shadows (e6f795a)
5.0.0-beta.22 (2022-04-27)
- adjust storybook config to include raw-loader (b244b4d)
5.0.0-beta.21 (2022-04-27)
- soba: add Environment (87b771c)
- core: add explicit states to have knowledge if an input is explicitly set on the host element (b2aa965)
- core: add type guard to is.obj (c93ae5c)
- core: adjust object passthrough to respect host Inputs if they're set explicitly (38f2eea)
- core: make sure object pass through react to changes (65fad4b)
- environment: fix environment background not changing (0a59c68)
- soba: adjust OrbitControls (11f6059)
- soba: adjust the "use" API to be more reactive (7afb377)
- soba: adjust typings in environment (4724b32)
- soba: make sure gizmo passthroughs react to changes (aa59906)
5.0.0-beta.20 (2022-04-26)
- core: material geometry object should ref instead of factory token (3b8ff7d)
5.0.0-beta.19 (2022-04-25)
- core: adjust attributes import list (f011544)
- core: setOptionsTriggers should be an Observable of {} (a6d8368)
- soba: orthographic camera clean up (9099d6b)
- soba: rework FBO and DepthBuffer to use Ref instead of returning Observable (5b41119)
- add first person controls story (1bee9a2)
- add HTML stories (68bed08)
- add orbit controls stories (acc4c99)
5.0.0-beta.18 (2022-04-25)
- core: rename visible in object helper to helperVisible so it does not conflict with object (2501f82)
5.0.0-beta.17 (2022-04-25)
- soba: add first person controls (bab2431)
- soba: add fly controls (7157617)
- soba: add transform controls (407f1e7)
- core: add visible input to object helper abstract (4d594d1)
- soba: adjust orbit controls (efde280)
- soba: adjust provider for orthographic camera (69a7499)
- move assets to soba (0e6b842)
5.0.0-beta.16 (2022-04-25)
- cannon: add remove to API (b9db190)
- core: initial work on portal (8378bca)
- soba: add gizmo viewport; finish gizmo helper story (2b1b62f)
- soba: initial work on portal and gizmo (5ba8115)
- core: add camera utils (5ba363f)
- core: adjust portal (1a9dd10)
- core: handle material array (8f504c8)
- soba: adjust orthographic camera (2af6704)
- soba: adjust orthographic camera to pass in args instead (532f14c)
- add assets (4f466e4)
- add gizmo helper stories (9a90a89)
- experiment with multiple materials (b434925)
5.0.0-beta.15 (2022-04-22)
- cannon: update ref for cannon (3c52b78)
- core: change Ref to extends BehaviorSubject (29b14ef)
- postprocessing: update ref for postprocessing (c1b1346)
- soba: update ref for soba (0cb05ac)
- core: make sure instance is set before trying to select it (b01b037)
- postprocessing: use instance.ref$ instead of instanc.value selector (c57e885)
- add redirect for soba (1ad13e8)
- adjust build command (6dfd715)
- bring build command to packageJson script (7d51931)
- fix build command (21ffd68)
- ignore broken links (255874a)
- move soba from navbar to sidebars (26bfa94)
- move soba from sidebar to nav (c2b51b2)
- no frozen lockfile (78ab7fd)
- put back real build docs command (714a7be)
- remove useless redirect (1d2210e)
- run pre script manually (f4a379e)
- try different way to test CI flag (e641958)
- try nx report (4b3f067)
- try pnpm (7b66ccc)
- try using nx command instead (719aa53)
- use html for external link (0704069)
- use monday morning (4f5f641)
5.0.0-beta.14 (2022-04-22)
- billboard: ensure billboard is a wrapper to Angular Three (4a39e1b)
- core: add shouldPassThroughRef state to object inputs (f096280)
- core: also provide ngtObject when provide object host ref (66dda10)
- core: check for instance.value before destroy. if it's null, no need to destroy anything (9686e5a)
- core: clean up rootStateMap (0e08255)
- core: move createLoop outside of Canvas component so that it only creates once (cbd98ea)
- core: only pass ref if shouldPassThroughRef is true (which is the default) (7d50750)
- soba: adjust image (a119f8d)
- soba: fix text (de1d47d)
- soba: fix type of line geometry (0e9f836)
- soba: use object pass through (ad86ebc)
- add text story (remove custom material example) (b822d54)
- setup build storybook (c90930f)
- update line stories (a07d7fe)
5.0.0-beta.13 (2022-04-20)
- core: adjust ngt.objects to be a Ref of array for observability (8c68283)
- core: initialize stats once in constructor (2358035)
- postprocessing: update effectPassParams$ (ac2cdff)
- add keenbloom (ba01877)
5.0.0-beta.12 (2022-04-20)
- core: adjust camera initialization; clean up logic (18353a1)
- core: clean up rootStateMap on destroy (19056b6)
- core: ensure to only add the instance to parent objects if it's attachable (4fd6099)
- core: ensure to use ref.value if a prop is a ref in applProps (7e83c4c)
- core: handle parent and parent host automatically (2e8f0a1)
- soba: adjust billboard (4525441)
- soba: fix text; add storybook (261c48d)
- soba: make sure to set the camera one last time before creating orbit controls (cca6a72)
- soba: use outputEncoding for texture (0a2c54b)
- add clearer example of useOntemplate (888e623)
- more documentations on core and cannon (61215ab)
- use tomato for physic cube color to match docs (d172b41)
5.0.0-beta.11 (2022-04-19)
- cannon: consolidate api into cannon entry point; add raycast, spring, and raycastvehicle (974a243)
5.0.0-beta.10 (2022-04-19)
- postprocessing: remove uneccessary empty projector fn (224d765)
5.0.0-beta.9 (2022-04-19)
- core: add global callbacks (307b2e3)
- cannon: body makes the blank object an instance (7d3dfa8)
- core: consolidate check update logic for both instance and parentInstance (6d081a1)
- core: have material and geometry set their own default attach instead of checking in instance (7e27691)
- core: make appendTo accept THREE.Object3D as well (1949685)
- core: make obj in BeforeRenderRecord accept a ref instead of a factory (a18bec1)
- core: make stats independent of canvas (8128e60)
- core: primitive should have isPrimitive set to true (6393536)
- core: remove parent-object di (efafe7e)
- core: use skipParent getter instead (956f225)
- repo: set default attach properly (0a88928)
- repo: use preInit correctly to set default state (23e695e)
- clean up example (992d86f)
- clean up example (a90933f)
- finish core API docs (56c4665)
- more docs (9e7f177)
5.0.0-beta.8 (2022-04-18)
- core: check for parentInstance before checking if it's object3d (34cfd65)
5.0.0-beta.7 (2022-04-18)
- core: all Scene objects will have dispose nullified (ce88b08)
5.0.0-beta.6 (2022-04-18)
- core: remove size and clock inputs on canvas (2f81334)
- core: ensure dispose is called with the instance (49ff57c)
- core: nullify THREE.Scene dispose function as it's removed (34facd0)
- more docs (eb960f8)
5.0.0-beta.5 (2022-04-18)
- core: adjust cameras to use NumberInput (f0ef280)
- core: adjust cube camera to use NumberInput (d864c4d)
- core: adjust helpers to use NumberInput (109a8d0)
- core: adjust lights to use NumberInput (bb1c80f)
- core: adjust textures to use NumberInput (cd82c60)
- core: adjust three abstracts to use NumberInput (1122e23)
- postprocessing: use NumberInput (c443bc9)
- soba: adjust orbit controls to use NumberInput (e48a504)
- soba: use NumberInput (156a849)
- adjust sandbox to use NumberInput (2d0f43c)
5.0.0-beta.4 (2022-04-18)
- repo: registerBeforeRender now returns a function used to clean up instead of the uuid (1fef6b9)
- cannon: make sure preInit runs correctly (acf6c5c)
- more docs work (8edb425)
5.0.0-beta.3 (2022-04-18)
- repo: use is.arr instead of Array.isArray (e03837f)
- repo: use NumberInput for number inputs (16895e6)
- adjust kinematic cube example to use beforeRender instead (4560b39)
5.0.0-beta.2 (2022-04-18)
- core: add missing argsKeys for instanced mesh. count wasn't taken into account (7085cc0)
- add kinematic cube example (8166c0f)
5.0.0-beta.1 (2022-04-18)
- core: mark color, fog, math, and vector pipes as deprecaations (e893376)
- core: remove NgtDestroyed (294e181)
- core: use object.destroy$ for cursor (a18836e)
5.0.0-beta.0 (2022-04-17)
- core: - Core instances are rewritten
- cannon: adjust bodies and constraints (7b7bf5b)
- cannon: adjust Debug (4cdd666)
- cannon: adjust Physic Bodies (03c9fce)
- cannon: adjust physics constraint abstract (d209d40)
- cannon: integrate bodies with constraints (b73f71a)
- cannon: switch to use service based API for Body (58c327c)
- cannon: switch to use service based API for Constraint (289938a)
- cannon: use pmndrs cannon worker api (b5a83fa)
- core: add coerce number (aa342ff)
- core: add is() utility (0875052)
- core: add light shadow abstract (93eda29)
- core: add noAttach input to instance so geometry and material can opt out of auto attaching (ba9263b)
- core: add optional factory to all DI provide utility (021c88d)
- core: add preInit and postInit hooks to instance (1802443)
- core: add vector3 check to is util (7f50d0f)
- core: adjust attributes (5189eee)
- core: adjust attributes (767a83c)
- core: adjust AudioListener (f572b84)
- core: adjust audios (bd786c9)
- core: adjust cameras (56d437b)
- core: adjust Cameras (2de2333)
- core: adjust CubeCamera (1038d68)
- core: adjust curves (97d6a1c)
- core: adjust Curves (9d1d9d1)
- core: adjust geometries (64c4c32)
- core: adjust geometries (ebb93a1)
- core: adjust group (68f5037)
- core: adjust Group (c972115)
- core: adjust helpers (f13bd61)
- core: adjust Helpers (1f630f6)
- core: adjust instance to be more responsible; less overhead downstream for other object types (9763a8b)
- core: adjust instance to start out as a BehaviorSubject instead (9b366c6)
- core: adjust lights (57e16cc)
- core: adjust Lights (4198eda)
- core: adjust Lines (1ea848f)
- core: adjust LOD (f03f51f)
- core: adjust LOD (f420839)
- core: adjust materials (a1f7eda)
- core: adjust materials (9167fa6)
- core: adjust Materials (1d78ed8)
- core: adjust mesh and instanced mesh (47f7f1b)
- core: adjust Meshes (559981e)
- core: adjust points (4497a9e)
- core: adjust primitive (2ab54da)
- core: adjust Primitive (499f000)
- core: adjust skinned mesh (7a6372e)
- core: adjust Sprites (4b4ace4)
- core: adjust stats (b387b98)
- core: adjust Textures (818c73f)
- core: expose getters for inputs (d1fdb43)
- core: finish core (bac3147)
- core: introduce Ref concept to pass Object around easier (f757dac)
- core: make component-store projector optional (8967002)
- core: make materialGeometryState accepts refs of material and geometry instead (5ce0ff0)
- core: remove controllers (60eccae)
- core: rewrite core instances (b967939)
- core: use beforeRender instead of animateReady; deprecate animateReady (50ebf41)
- core: use both factory for ref (04bcae5)
- core: use Ref instead of Factory (8b28164)
- postprocessing: adjust DepthOfField (aceb2cf)
- postprocessing: adjust EffectComposer and abstract Effect (2c8aeb6)
- postprocessing: adjust effects (fed3ab9)
- postprocessing: adjust SSAO (4cd50e6)
- postprocessing: move adjustCtorParams and ctorParams$ to instanceo (ab20ddf)
- postprocessing: update postprocessing to use ref (6fba539)
- soba: adjust Billboard (190c8c4)
- soba: adjust GradientTexture (39a999f)
- soba: adjust Image (c5659de)
- soba: adjust loaders (02dbfb7)
- soba: adjust OrthographicCamera (8ff5a30)
- soba: adjust Text (8916320)
- soba: make soba buildable for now (b42f235)
- cannon: a ref doesn't have to be a instance (fa74fc2)
- cannon: add additional flag (useOnTemplate) to body to help with initializing empty object3d (b6b14a5)
- cannon: add provider for physics body (0d0a6f2)
- cannon: adjust cannon to use ref (5439050)
- cannon: adjust timing for constraint and body initialization (c77abd8)
- cannon: adjust uuid to use makeId() in Constraint (385d9b9)
- cannon: apply Ref concept for Debug (8ef8e46)
- cannon: export PhysicBodyReturn interface (0b32a40)
- cannon: make sure to set the worker in the store (84fc1a2)
- cannon: remove skip(1) but it's a little bit messy (cb367ea)
- core: add reconstruct flag so the consumers and other sub classes can determine whether to reconstruct an object (3aeebb1)
- core: add record type to ngtObjectState (513d694)
- core: adjust audio abstract (6e22816)
- core: adjust AudioListener (7a39a0f)
- core: adjust audiolistener using ref (60dd9fc)
- core: adjust camera abstract (5e010c0)
- core: adjust cube camera to add inputs (a7a9a10)
- core: adjust CubeCamera (619155c)
- core: adjust cursor directive (7dba594)
- core: adjust helper di and abstract (67ecd8d)
- core: adjust instance host and object host to return correctly for hostFactory (2919f59)
- core: adjust instance set options (80340ba)
- core: adjust light abstract and di (3750ef3)
- core: adjust lights (a722d0a)
- core: adjust line abstract (6556d24)
- core: adjust make function (503bfb7)
- core: adjust material geometry abstract (7a5fe2a)
- core: adjust primitive attributes (6b0be6d)
- core: adjust propertyToAttach on ngtInstance (143aa5c)
- core: adjust Sprite DI (991125e)
- core: adjust texture abstract (005f384)
- core: adjust type for instance internal (97a1e8b)
- core: all materials use BooleanInput (b34f8f9)
- core: any (57a34ed)
- core: call instance.ngOnInit first (4cca5bc)
- core: fix circular deps in mutate (34ded90)
- core: fix material set values to ignore undefined (22a4ae0)
- core: if instance is not Object3D, push it to parentInstance objects array (9dbbf5c)
- core: make material accepts multiple inputs instead of parameters object (cdc0c4b)
- core: merge previous instance when preparing instance (00ea3e5)
- core: object should inject OBJECT FACTORY as parent (ab908c3)
- core: put back materialParameters but deprecate it (d8e4cd6)
- core: remove light shadow as it's not supposed to be called directly (9849736)
- core: remove unused ref() getter (99ed816)
- core: remove wrapper (d5a4e43)
- core: rename object getter to object3d (016e864)
- core: update camera projection matrix if apply props (ac8ba81)
- core: use BooleanInput and coercion for boolean inputs (2f2f9f3)
- soba: adjust abstractions (6eaa3e4)
- add sandbox (eb12ac5)
- add sandbox (7f9c875)
- display physics cube (850b2e8)
- finish monday morning example (f250d12)
- repo: add simple physics example (17f1637)
- use cubes (9030092)
- use orbit controls (8cad2a5)
- wip monday-morning (e69b23f)## 4.5.0 (2022-02-23)
- cannon/bodies: make body controller works without parent object3d (2769797)
- core: fix viewport calculation (5de20b0)
- schematics: bump version (5a0938d)
4.4.1 (2022-02-22)
- schematics: of course I forgot to bump the schematics version (77c2a5c)
4.4.0 (2022-02-22)
4.3.1 (2022-02-20)
- schematics: up ANGULAR_THREE_VERSION (088ddfe)
- storybook: add scale to simple physics (4e1c7b1)
4.3.0 (2022-02-18)
- core: deprecate NGT_CANVAS_OPTIONS (c5d877f)
- core: adjust DI (4d39320)
- repo: add Igor to contributors (d08ea5d)
4.2.5 (2022-02-18)
- soba/staging: adjust stage (56036a9)
- storybook: add basic docs for Cannon (dbf24be)
4.2.4 (2022-02-18)
- cannon: add cannon-es-debugger to dependencies list instead (187c06f)
4.2.3 (2022-02-18)
- schematics: add props-to-body to tsConfig include as well (2a362cc)
4.2.2 (2022-02-18)
- schematics: make sure offset is calculated correctly (cc857c1)
4.2.1 (2022-02-18)
- schematics: fix configure-cannon schematics (60601af)
4.2.0 (2022-02-18)
- core: add production canvas options to load worker from CDN (6642586)
- schematics: add configure cannon generator (8abb5d8)
- soba/misc: add Html (buggy, help needed) (7f2e7b1)
- soba/staging: add ContactShadows (73a77cf)
4.0.2 (2022-02-14)
- repo: expose isLinear on CanvasStore for reuse (7e40553)
- soba/abstractions: ensure to convert color to THREE.Color for Text (758b298)
- storybook: update docs (c8d1c49)
4.0.1 (2022-02-13)
- schematics: add nrwl/devkit to dependencies (5f8c579)
4.0.0 (2022-02-13)
This is an overhaul over the library in terms of stabilizing how the Scene Graph gets constructed.
- All Components/Directives/Services names are updated to remove all type suffix. Eg:
NgtTextureLoaderSerivce
->NgtTextureLoader
,NgtLoopService
->NgtLoop
etc... NgtStore
has been renamed toNgtCanvasStore
.NgtStore
is now a baseStore
if you'd like to implement custom StoreNgtPerformanceStore
has been removed.regres()
is now onNgtPerformance
(as a Service)- State Management has been reworked with in-house solution (combination between
ngrx/component-store
andrx-angular/state
). If you're using any of theNgt***Store
,select()
andget()
methods have been changed to useSelector
instead ofstring
// before
this.canvasStore.get('size');
this.canvasStore.get('viewport', 'dpr');
this.canvasStore.select('size');
this.canvasStore.select('viewport', 'dpr');
// after
this.canvasStore.get((s) => s.size);
this.canvasStore.get((s) => s.viewport.dpr);
this.canvasStore.select((s) => s.size);
this.canvasStore.select((s) => s.viewport.dpr);
NgtMathConstPipe
has been deprecated. If you're usingmathConst:"PI"
, please migrate toradian
pipeNgtSobaExtender
has been renamed toNgtExtender
NgtRepeat
has been changed to extendNgFor
instead of a complete custom directive
<!-- before -->
<ngt-mesh *repeat="let i of 6"></ngt-mesh>
<!-- after -->
<ngt-mesh *ngFor="let i repeat 6"></ngt-mesh>
(animateRead)
signature has been changed
<!-- before -->
<ngt-mesh> (animateReady)="onAnimateReady($event)"</ngt-mesh>
<!-- $event is NgtRender -->
<!-- after -->
<ngt-mesh (animateReady)="onAnimateReady($event.state)"></ngt-mesh>
<!-- $event.state is NgtRender. $event.object is the Object3D -->
<!-- on some Soba components/directives, `$event.entity` is available instead of `$event.object` -->
- All Soba Shapes are removed. I personally think these shapes are redundant. If you're using one of these shapes, please migrate to just
ngt-mesh
and respective geometries
<!-- before -->
<ngt-soba-box></ngt-soba-box>
<!-- after -->
<ngt-mesh>
<ngt-box-geometry></ngt-box-geometry>
</ngt-mesh>
ngt-soba-positional-audio
has been removed
- THREE.js 0.137
(ready)
now exposes$event
as theObject3d
instead of nothing.
<!-- before -->
<ngt-mesh #ngtMesh="ngtMesh" (ready)="onReady(ngtMesh.mesh)"></ngt-mesh>
<!-- after -->
<ngt-mesh (ready)="onReady($event)"></ngt-mesh>
(animateReady)
now exposes$event.object
as theObject3d
instead of justNgtRender
<!-- before -->
<ngt-mesh #ngtMesh="ngtMesh" (animateReady)="onAnimateReady(ngtMesh.mesh, $event)"></ngt-mesh>
<!-- after -->
<ngt-mesh (animateReady)="onAnimateReady($event.object, $event.state)"></ngt-mesh>
On some Soba components/directives, the underlying
Object3d
is exposed as$event.entity
instead of$event.object
NgtStore
is a simplified version ofComponentStore
andRxState
created specifically forAngularThree
usage.
@angular-three/core
no longer depends on@rx-angular/state
and@rx-angular/cdk
, if you do not use these libraries, you can safely remove them.
- repo: add README (f8d3a79)
3.2.0 (2022-01-09)
- soba: add Backdrop (e37cd9a)
- soba: add CameraShake (028cbb4)
- soba: add Float (7324066)
- soba: add Stage (e1520ca)
- core: modify type of animateReady on SobaExtender (992f35f)
- soba: adjust Staging import in Stage (131a32e)
- soba: clean up (bf62e09)
- soba: delegate all animateReady for sobaExtender (042ba31)
3.1.0 (2022-01-07)
- postprocessing: clean up postprocessing simple effects (56a00a4)
- demo/storybook: add Narwhal Landing demo (d82964b)
3.0.0 (2022-01-06)
- core: Update to THREE 0.136. Please consult THREE.js changelog for breaking changes from 0.135 to 0.136
- core: update THREE 0.136 (09933af)
- soba: add Center (f0e6a5b)
- soba: update troika-three-text and make it a dependencies to soba instead of peerDep (51c8df1)
- soba: upgrade cannon-es-debugger and Debug component (5723306)
- core: null assert for group export (9e6aa8e)
- soba: export controllers from proper components (3fe174c)
- demo: play around with simple cube (100c011)
- demo: update lil-gui (12bdc3f)
- storybook: add Shape stories (78678b9)
- storybook: fix absoluate import (c686bbd)
2.17.0 (2022-01-04)
- core: allow to pass Object3d getter to appendTo (d4b0bf7)
- soba: add GradientTexture (34004e2), closes #28
- soba: add TransformControls (0e33191)
- cannon: clean up debug (5c8f4d1)
- core: adjust Tail type (0f75e34)
- core: requestAnimationFrame for appending object can be a good solution for now (53b5429)
- soba: clean up detailed component (80988f6)
- soba: clean up orthographic camera (e999966)
- soba: clean up positional audio (9044253)
- soba: clean up stars component (32732d7)
- demo: add mdx for simple cube (557fe22)
- demo: add testing component to quickly test new stuffs (7d2485f)
- demo: playaround more with simplecube component (f963403)
- demo: wip cube transform from threejs (835cec9)
- storybook: add flag to make orbit controls default (82d4890)
2.16.2 (2021-12-30)
2.16.1 (2021-12-29)
- core: merge changes on both controllers' inputs and the nested controllers\ (d4d8c78)
- demo: use simple cube (d2832d4)
- storybook: add custom font to text demo (77b4d5e)
- storybook: adjust gizmo story (09976bf)
2.16.0 (2021-12-29)
- soba: add GizmoViewport (5394487)
2.15.1 (2021-12-29)
- core: ensure prop on the controller overrides the controller itself (e7a8997)
- soba: bind to position on gizmoHelper (859864e)
2.15.0 (2021-12-28)
- soba: add GizmoHelper (0a96282)
- core: adjust type of raycast to include
null
(2879822) - core: make EnhancedRxState provid-able (9e8d092)
- soba: export all classes (c4174d0)
- storybook: adjust how "black" is used (ae78b24)
2.14.0 (2021-12-28)
- core: add Side pipe (30e84e9)
- demo: adjust minecraft demo (2b92882)
2.13.0 (2021-12-28)
- core: move (ready) out of controllers so we have type-safe on ready (e8f3f3d)
- core: type safe for Primitive (653aa9f)
- core: type safe ready for Audio (07a8777)
- core: type safe ready for AudioListener (0e8e8e5)
- core: type safe ready for Camera (2ea5f60)
- core: type safe ready for CubeCamera (c84aa88)
- core: type safe ready for Group (42c3239)
- core: type safe ready for Helper (4585c76)
- core: type safe ready for Light (ea19242)
- core: type safe ready for Line (9d894a7)
- core: type safe ready for LOD (c526a98)
- core: type safe ready for Material (50e2649)
- core: type safe ready for Mesh (26f1a41)
- core: type safe ready for Points (ec84c88)
- core: type safe ready for Skeleton and Bone (2d2a7a9)
- core: type safe ready for Sprite (7889a7e)
- core: type safe ready for Texture (cd3343e)
- soba: adjust soba components to use type-safe ready for their core counterparts (973fe6e)
- core: add ready() to geometry and also move ready emit to after the geometry is constructed instead of after it's added to the parent (197f28c)
- postprocessing: static querying for NgtGroup in EffectComposer (c706ce7)
- demo: add Minecraft demo (0dfd1a2)
- demo: adjust demo to use type-safe ready (b572036)
- storybook: adjust storybook (725934a)
2.12.0 (2021-12-28)
- soba: add FirstPersonControls (b6febf4)
- demo: change simple cube (3bc5d6d)
2.11.0 (2021-12-22)
- core: add CursorDirective (74a13dc)
- core: add NGT_CANVAS_OPTIONS to customize the CanvasComponent (395914b)
- core: clean up core module (6ba5df4)
- soba: add OrthographicCAmera (3a4dca6)
- core: ensure to use #object3dInputsController (f015881), closes #object3
- core: ng add now modifies skipLibCheck as well (a9fdfaf)
- soba: use objectInputsController on soba orthographic camera (8a69082)
- add LittlestTokyo asset (ce6f582)
- storybook: add documentations on NGT_CANVAS_OPTIONS (55c170a)
- storybook: add positional audio (17e059b)
- storybook: adjust documentations with latest changes (670b057)
- WIP routing (af056db)
2.10.0 (2021-12-20)
- soba: add PositionalAudio (5593440)
- soba: being able to update NgtOrbitControls target (#38) (22d507f)
- cannon: adjust typing (239d57d)
- core: adjust changes from r3f events (dfbb2df)
- core: adjust RxState with new actions from core (2ee026e)
- soba: clean up orbit controls updating target (70bafc6)
- soba: delay assigning text for text component by an animation frame to allow for binding (cb29085)
- add @BenLune as a contributor (d6dd109)
- demo/storybook: add ngx-lil-gui (b970fa6)
- demo/storybook: clean up orbit controls swtich target demo (9708add)
- demo/storybook: cleanup compound body (1fac969)
- demo/storybook: fix compound body demo (4a22eec)
2.9.0 (2021-12-14)
- core: add FogPipe (bd58523)
- demo/storybook: add RobotExpressive demo (c99c504)
2.8.0 (2021-12-13)
- core: add ngt-points to required controllers (1da9cee)
- core: adjust imports in object helper (42de8b4)
- core: adjust object helpers (089d7cb)
- core: allow Attribute#attach to accept arbitrary string (bd8e916)
- core: remove SkipSelf from object3d provider (10390be)
- core: useValue for THREE.Points instead of useExisting (59ec622)
- core: wrap setting parameters for material in requestAnimationFrame (51f5269)
- soba: provide NgtSobaExtender for billboard and image (6031836)
- soba: template error in stars component (3827350)
- core: consolidate core (9e64eb4)
- core: move all models to a single file types.ts (8d33940)
- core: remove CanvasInputsState (dce5a4c)
2.7.3 (2021-12-13)
- repo: revert npm scripts (0195a8d)
2.7.2 (2021-12-13)
- core: adjust enhanced rx state actions (6804d2f)
2.7.1 (2021-12-13)
- adjust generators (aecf58a)
- cannon: fix how constraint gets a hold of the bodies inside (b95755e)
- postprocessing: the effect now adds itself to the EffectComposer#effects (f6e75b4)
2.7.0 (2021-12-13)
- core: refactor how Geometry/Material works (979f83a)
- core: use DI for Bone/Skeleton instead of Contentquery (e8ffe34)
- core: use NGT_OBJECT_3D_PROVIDER for all geometries and materials (28b0225)
- soba: add Image (0e46d7c), closes #28
- soba: add Line, QuadraticBezierLine, CubicBezierLine (2ca6a13), closes #28
- soba: add shader material fn (f31dd01)
- soba: move SobaExtender to core so it can be used by core (02c9e87)
- soba: use SobaExtender from core instead (8c3910f)
- cannon: use OnInit for PhysicBodyController instead of afterContentInit (667a6bb)
- cannon: use OnInit for PhysicConstraintController isntead of afterContentInit (f9a913f)
- core: null check for controller before running assign (7a33b49)
- core: use timer rxjs for loader (8285fbd)
- demo: try abstracting material (0c31312)
2.6.0 (2021-12-10)
- core: add raycast to object3d (aec28bd)
- soba: add Loader component (58ff9b8)
- soba: add progress service (ed0dedb)
- core: ensure CustomRenderer works with other stuffs like Scene as well (293ce31)
- core: ensure uuid is present before adding to animations (52ffae8)
- core: remove comment and return the clean up fn in AudioListener (7f33803)
- core: rename animationSubscriber#subscribe to prepare for better distinction with RxJs (b1160e6)
- core: use getActions from rx-state (0a8b081)
- soba: rename loaders to be prefixed with Ngt (b844f41)
2.5.0 (2021-12-10)
- core: migrate to RxAngular (#37) (eb944ac), closes #31 #35 #35 #35 #35 #35 #35 #35
- core: update THREE 0.135 (e545086)
- core: when disabled is true, only disable the events and append handler on object3d (1b1fa9d)
- demo: adjust level of details demo (bce4199)
- storybook: fix typo in import (#36) (bf263dc)
- storybook: use disabled true on the icosahedron in detailed stories (03baa05)
- core: remove comments (846c34c)
2.4.2 (2021-12-08)
- core: try disabling object3d controller (1d78075)
- add @joshuamorony as a contributor (a956e87)
- storybook: create clear distinction between ng add and manual installation (#30) (cd65b25)
2.4.1 (2021-12-08)
- core: rerun generator (d5495fd)
2.4.0 (2021-12-08)
- core: add NgtRepeat (9d35700)
- core: fix materials generator exportAs (ab75e06)
2.3.0 (2021-12-08)
- soba: add FlyControls (20320f4)
2.2.0 (2021-12-08)
- core: add LOD (680986d)
- soba: add Detailed (326d616), closes #26
- soba: provide NgtSobaExtender on soba shapes (990dea2)
- cannon: add descendants true to PhysicBodyController content children query (6397a3e)
- core: add descendants to NgtBone content children query (eb057cc)
- postprocessing: add descendants to NgtEffectController Content Children query (8ac560e)
2.1.0 (2021-12-07)
- soba: add Billboard (95024a3), closes #28
- soba: add billboard and text to controller generator (a2ae80a)
- soba: add Environment (aec9f0a), closes #29
- soba: add Performances#preload ref #26 (22960aa)
- soba: add Text (10d2e65), closes #28
- core: return the correct value for generator (ea1acad)
- core: run installPackagesTask for ng add generator (d3637b2)
- core: url should be string | string[] for loader (7a0af0e)
- soba: null assertion on ngtGroup.group for Billboard (0cafd46)
- core: add ng-add to docs (e175dbf)
- storybook: adjust installation docs about generator (0403ace)
- storybook: change API to Core API (b6bf1ac)
- storybook: use soba-orbit-controls (67e6fa9)
2.0.6 (2021-12-06)
- core: log to let consumers know to install the packages instead (31fb1d9)
2.0.5 (2021-12-06)
- core: move nrwl/devkit to dependencies instead (deb22fa)
2.0.4 (2021-12-06)
- core: add nrwl/devkit as devDependencies (ed9273c)
2.0.3 (2021-12-06)
- core: expose generators via schematics in packageJson (ab65903)
2.0.2 (2021-12-06)
- repo: clean up readme (4f22591)
2.0.1 (2021-12-06)
- cannon: call the correct function (84a8377)
- cannon: initialize object with a new Object3D because it still can be constrained (63d5d03)
- cannon: initialize Physics world as soon as possible instead of AfterContentInit (afe1847)
- core: make ContentGeometry static. Geometry needs to be statically available for the mesh (f7197d1)
- core: move OBJECT_TYPE token back into its controller. fix Line import (40878d2)
- core: remove faulty DI token in InstancedMesh (fc9b096)
- core: remove faulty DI token in Mesh (09e8834)
- core: rename Canvas's pointermissed to pointerMissed (999dfad)
- core: revert static on ContentChild NgtGeometry (db09f8b)
- core: use AfterContentInit for NgtSkeleton instead of OnInit for consistency (523573b)
- postprocessing: initialize EffectComposer in ngOnInit instead of AfterContentInit (3816207)
- postprocessing: move NGT_EFFECT_TYPE token to beginning of file (83fb115)
- demo: use random color instead of 17 (8de3cfa)
- repo: add CONTRIBUTING guide (d44dd00)
- storybook: add more steps to first scene (86fa9ff)
2.0.0 (2021-12-05)
- repo: add missing GENERATED comment to some generators (c90bea9)
- cannon: fix DI token (4154797)
- core: adjust DI token (remove null) (ed5277c)
- core: ensure clear method is available before invoking (e9694e7)
- core: handle vr by setAnimationLoop on the renderer if it's true (694255f)
- core: misplace return statement, and frames start out at 1 (6682f52)
- core: remove InjectionToken from material-geometry-controller template (c8930af)
- postprocessing: move InjectionToken to beginnig of file (3e2742f)
- soba: return the correct controls for Orbitcontrols (4e5f4fb)
- demo: clean up (73ed59c)
- repo: add peerDeps to soba and postprocessing README (aa7a8ab)
- storybook: add meta tags to manager-head (bc1effa)
- storybook: adjust the examples to show story mode on activated (7a715af)
- storybook: make simple cube more interesting with lights (d578651)
- storybook: reorganize and add examples from demo to storybook as Examples (6a50c80)
2.0.0-beta.11 (2021-12-04)
- cannon: expose missing api models (edb276c)
2.0.0-beta.10 (2021-12-04)
- add and adjust generators (5e1a34c)
- cannon: add Constraint controller (d47f189)
- cannon: add constraints (a5403da)
- cannon: add constraints generator (9444d98)
- cannon: add Debug (ebffbc1)
- cannon: add generator for bodies (de9dafe)
- cannon: add physic bodies (7d947fc)
- cannon: add physicbody (1770faa)
- cannon: add physics store (b85bf6b)
- cannon: clean up debug 2ndentry point (fad35da)
- cannon: init cannon lib (a8e48e2)
- cannon: move bodies to body (b4fb48f)
- cannon: move debug in cannon lib (f25156b)
- cannon: port web worker and models (c60cf1c)
- cannon: remove Debug as a 2nd entry point (976d590)
- cannon: working (acd4611)
- core: add attributes (7b8b82e)
- core: add attributes generator (cf41a01)
- core: add audio and controllers generators (6f483db)
- core: add audios and update controllers (a8df7ca)
- core: add cameras (56fcaaf)
- core: add cameras generator (1cc074a)
- core: add ColorPIpe (cd9f8b7)
- core: add controls to store (8444d57)
- core: add core (beab7a1)
- core: add curves (e256044)
- core: add curves generator (1e83dd1)
- core: add geometries (2962b8c)
- core: add geometries generator (2f5a100)
- core: add helpers (c7e745d)
- core: add helpers generator (99aada2)
- core: add lights and update controllers (8269383)
- core: add lights generator (2389acb)
- core: add lines (d5e83c4)
- core: add lines generator (27fe761)
- core: add materials (29e9627)
- core: add materials generator (34e229a)
- core: add MathPipe (d095dee)
- core: add NGT_IS_WEBGL_AVAILABLE token (1d6e4bc)
- core: add primitive (8aa055c)
- core: add sprites (4e7121d)
- core: add sprites generator (bcbc94a)
- core: add textures (e2adf00)
- core: add textures generator (5409e7a)
- core: add vector pipes (3f9172f)
- core: adjust controllers (47f708d)
- core: init three generator (bf1c6b2)
- core: ready to start core generators (7adf33d)
- core: rework core stores/services (eaef129)
- core: separate material and geometry into controller (5bac610)
- postprocessing: add postprocessing (4635d17)
- postprocessing: add postprocessing (ebc5742)
- postprocessing: add simple effects (48812fb)
- postprocessing: handle blendFunction correctly in simple effect generator (16a128a)
- rerun object3d generator (7203ff7)
- soba: add all soba shapes shortcut for THREE core (examples are missing) (31afcbf)
- soba: add GizmoHelper (857e598)
- soba: add GizmoViewcube (8672493)
- soba: add GLTF and Texture loaders (8733e17)
- soba: add OrbitControls (8940891)
- soba: add shapes and extender (c50e79f)
- soba: init soba (33a7e24)
- soba: soba shapes generator (4d75383)
- storybook: add Storybook (f00775b)
- add gizmo-helper and orthographic from soba to object-3d template (5e7baad)
- cannon: ensure objectInputs changes start the pipeline (5723649)
- cannon: import propsToBody with allowJs (2446d59)
- cannon: init in contentInit (7aed7e0)
- core: add controls to canvasStore (dd335db)
- core: add input to instanced mesh to pass in the count (9437e5f)
- core: adjust controllers generator (a4d8e4e)
- core: change wheel events to passive:false to prevent errors from OrbitControls (c6c44df)
- core: check for null value in applyProps (b8b03a4)
- core: check null for updateMatrix before calling (29a88c7)
- core: include pipes in CoreModule (61762a4)
- core: loosen dispose type on object3dinputs (83da907)
- core: make private functions in stores truly private (01cb201)
- core: make sure intensity is default to 1 (fc2499e)
- core: move frames to loopService instead of Store (c0b34f9)
- core: move NGT_OBJECT_TYPE tokens to a file (7272c5c)
- core: relaxing dispose type on object3dprops (085ef3a)
- core: remove null union from DI (53d0187)
- core: run object3d init in afterContentInit after content has resolved (5dd4194)
- core: test soba-box (91f8680)
- core: update controllers generator to reflect manual changes (0b855ee)
- soba: adjust strict template (9da9d53)
- soba: assign enableDamping to OrbitControls (4944b06)
- soba: extends OrthographicCamera with SobaExtender and propagate ready/animateReady (ee56d8b)
- soba: remove animateReady from inline mesh in shape (9d686db)
- soba: run ready outside of Zone (04faf45)
- add @barbados-clemens as a contributor (8f234ff)
- demo: add CompoundBody (fedf608)
- demo: add kinematic cube demo (721d485)
- demo: add some effects demo (d493627)
- demo: add stats to compound (17cc984)
- demo: play around with core (a38179f)
- demo: play with orbit controls (b3aac21)
- demo: remove active click on kinematic (64bf3b0)
- demo: use keen-bloom (fc593d0)
- repo: add README (34a06aa)
- storybook: add API docs layout (d8c98aa)
- storybook: add setup canvas decorator wrapper (31354e1)
- storybook: initial docs (915c82a)
- storybook: layout a path forward to add docs (7bc4c1e)
2.0.0-beta.9 (2021-11-25)
- soba: add Environment (8114e37)
- soba: init cameras secondary (0addf06)
- storybook: add storyboo (793d415)
- core: ensure to only listen for specific prop on canvas internal (db52245)
- storybook: add compodoc for controls (82c568f)
2.0.0-beta.8 (2021-11-24)
- soba: readd shapes ngPackage (7326c94)
2.0.0-beta.7 (2021-11-24)
- add soba shapes generator (9eaaa8d)
- soba: add all Shapes (1499d09)
- soba: add Billboard (320d4ed)
- soba: init shapes (ff6b141)
- adjust generators (7aff31f)
- adjust soba shapes selectors generator (125b491)
- adjust soba template with ngIf (7c0ba91)
- core: make sure material query look at descendants as well (f0be3f1)
- core: use the correct object3dController in Object3d class; (4b39ecf)
- make sure to import CommonModule for ngIF (2f3d4c2)
- soba: expose Group in Billboard for appending (15ccc22)
- soba: remove ng-content and use [material] on mesh instead (2dae492)
- soba: rerun soba shape generator with commonModule (5ed26dd)
- soba: rerun soba shape generators with ngIf (0c42ea0)
- soba: update shapes with generator (e8a26b1)
- demo: testing billboards (043d393)
2.0.0-beta.6 (2021-11-23)
- core: add AudioController (b01b8fb)
- core: expose AudioController (b387f2e)
- soba: add PositionalAudio component (1fb916c)
- add additionalSobaSelectors to object-3d generator (1e20bc9)
- adjust core-entity generator for AudioController (490e705)
- core: add updaters to enhanced store and have canvas store use those (5925b25)
- core: make sure to reconstruct geometry on args changed (d3e1ae4)
- core: move props assign to abstract Controller; have the sub controllers provide a list of props to assign instead (47184bd)
- core: rename controller to object3dController for clearer intent (f58f682)
- core: use the updaters from enhanced store for updaters (2ef1a2e)
- soba: adapt LineController to the new Controller (139098f)
2.0.0-beta.5 (2021-11-23)
- core: clean up core generators (b1a9829)
- soba: fix image shader material due to change to NgtMaterial (4a63397)
2.0.0-beta.4 (2021-11-22)
2.0.0-beta.3 (2021-11-22)
- add cubic bezier line to object3d (b44a5f4)
- add ngt-soba-line to object-3d template (e425911)
- add ngt-text and ngt-image to object-3d-controller template (e4932b6)
- add QuadraticBezierLine to object3d controller (49b6c7c)
- adjust object3dcontroller template (c761430)
- core: abstract Controller (aa4d285)
- core: add [controller] to Object3dController so that it can accept the whole controller for easy merging inputs (6eae231)
- core: add ready output to geometry, material, and texture (4a1cf22)
- core: ensure the THREE entities also added to DI with their abstract token (a4b1bb6)
- core: expose buildGraph util (7ab8588)
- soba: add CubicBezierLine (a11526d)
- soba: add NgtSobaLine (1604279)
- soba: add QuadraticBezierLine (68c108c)
- soba: add soba lib (d113bca)
- soba: add SobaLineController for abstraction (2181e96)
- soba: add Text component (46b1dae)
- update core peerDep (9b6c3d5)
- update peerDep on Angular (dfc77e1)
- core: add NgtCurrentViewport type alias for reuse (483380b)
- core: change how getImperativeState() get the state from (0a3e678)
- core: make sure intensity on Light is set correctly if passed in (b96aa5e)
- core: make sure primitive provides the underlying object3d for NgtObject3d instead of itself (19d59ed)
- core: move buildGraph to a util fn (8c2f8d1)
- core: reset attribute to default value if it's there on destroy (09da731)
- soba: make sure lineController forward all props from passed in lineController (ed602c9)
- soba: rename image.directive to image.component (03425af)
- soba: rename NgtImage to NgtSobaImage (c00acdc)
- soba: rename NgtText to NgtSobaText (1d716c6)
- soba: use aliases for THREE types (064b585)
- soba: use line controller for quadratic line (d8e5b41)
- update object-3d (260c371)
- demo: add kinematic cube demo (1ffccb3)
- demo: clean up (9dd9048)
- demo: fix light (ff09f02)
- demo: testing out Line (d46aaa2)
- demo: try vertexColors (cb487c3)
- demo: working on banana (701f456)
- docs: wip home page (644c7ee)
- try out Text (54cc16a)
2.0.0-beta.2 (2021-11-19)
- cannon: generate constraints (a2631d0)
- adjust to angular 13 (19a923a)
- remove packageJson generation from workspace generator (2fee6bb)
- rerun generator (3a3402a)
- demo: add Demo app (6ff6eb4)
- docs: add Docs app (a239e84)
- docs: move to less to use TaigaUI doc engine (0b97086)
- docs: setup docs with Taiga (f3218b7)
2.0.0-beta.1 (2021-11-18)
- cannon: add constraints (7532587)
- cannon: generate constraints (83d6cad)
- core: add VectorPipeModule (d4ff85f)
- cannon: regenerate constraints (8c8af18)
- core: add Shadow input to light (2e44307)
- core: adjust type of shadow input for Light (b0e2157)
- core: change outputEncoding to LinearEncoding when linear is true (c668098)
- add @barbados-clemens as a contributor (4b810d4)
- play around with physics (96602bf)
2.0.0-beta.0 (2021-11-17)
- cannon: add and generate bodies (0f57684)
- cannon: add box and plane (12f3158)
- cannon: add NgtBody (8120521)
- cannon: expose makeTriplet (6786dbd)
- cannon: remove unused params (fa101a7)
- core: expose Object3dProps and add alpha to canvas (42c197c)
- core: remove self import (a8f0333)
-
add initial readme to all packages (6faac0b)
-
docs: add physics demo (8f83434)
-
ci: adjust build script (11d4a3f)
- add object 3d controller generator (83c195e)
- add pass generator (d87b9bb)
- add three generator (36ad852)
- cannon: add physics directive (wip) (d6ff318)
- cannon: init cannon lib (aa3ebab)
- controls: add controls and testing out generator (d02c7ce)
- controls: generate all controls (db7637f)
- core: add abstracts (abca9b5)
- core: add Audio (7f4eda7)
- core: add CanvasComponent (c423223)
- core: add CanvasComponent and setup abstract componentStore (cbf80f8)
- core: add component stores (3afb6a1)
- core: add core (d34e496)
- core: add Cube Camera (8c2c461)
- core: add Group (5dc8f38)
- core: add LOD (06b928f)
- core: add Mesh (91ae4cf)
- core: add models (1792a28)
- core: add more examples meshes (5cffc38)
- core: add Points (5074703)
- core: add primitive (f4ca383)
- core: add Scene (f44117a)
- core: add services (1ba1092)
- core: add Stats (3754f87)
- core: add util directives and pipes (9b29d39)
- core: generate all core entities (fdaf072)
- core: generate object 3d controller (ff9c1e0)
- core: port r3f events (5f61884)
- postprocessing: add abstract pass (54adeae)
- postprocessing: add abstract Pass and EffectComposer (6bd9259)
- postprocessing: generate passes (de01a06)
- postprocessing: init postprocessing (7d5a0f8)
- adjust core template (2d286b2)
- core: add camera abstract (20bb11c)
- core: add InterleavedBufferAttribute to NgtAttribute (20d3dbf)
- core: adjust events util (from r3f) to work with Angular (0bcb9cb)
- core: adjust public api of Audio (162d11e)
- core: change NgtLine to NgtCommonLine (0b3ddd7)
- core: initialize the store state with default values (b19b612)
- core: make sure to set interaction correctly based on observed events (5bdb306)
- core: rename AudioModule to NgtAudioModule (d9ff581)
- core: rename camera to cameras (de472cc)
- core: rename mesh to meshes (39d3706)
- core: rename sprite to common sprite (d023df8)
- core: run animatiosn changed effect to update the animations callbacks (dc32dcd)
- handle comma in packageJson (f4f1557)
- handle packageJson for umd ids (bec9108)
- regenerate (22c31e9)
- remove line examples (0e3c5ba)
- add @nartc as a contributor (f7cd072)
- docs: add documentations app (b879cd3)
- docs: continue working on docs (27a5dd3)
1.0.0-beta.45 (2021-10-20)
- core: update THREE .133.1 (e364c0a)
- fix FontLoader import (fcce561)
- update packages peerDeps (405b779)
1.0.0-beta.44 (2021-09-12)
- core: shareReplay with LoaderService (834ad4a)
1.0.0-beta.43 (2021-08-12)
- core: ensure primitive is participated in animation loop (3786939)
- core: remove limit 60fps from loop service for now (84bb7ad)
1.0.0-beta.42 (2021-08-03)
- helpers: quick html fix (1e972e9)
1.0.0-beta.41 (2021-07-06)
- helpers: change to HtmlStore (7a527e6)
- add Html demo (113c0ee)
1.0.0-beta.40 (2021-07-06)
- helpers: add Html (614c909)
- core: use fromEvent instead of renderer2 to listen for resize event (ac77ba7)
- per-project configuration (6c7be66)
- revert project.json (60493c5)
1.0.0-beta.39 (2021-06-23)
- core: initialize Size in ngOnInit instead (384556a)
- fix demo (8bf0c9a)
1.0.0-beta.38 (2021-06-22)
- core: update camera projection matrix on initialize (14eb776)
1.0.0-beta.37 (2021-06-15)
- core: fix applyProps (7a7a105)
- use spinning cubes (406b32c)
1.0.0-beta.36 (2021-06-13)
- core: clean up applyProps (c5fc4d0)
1.0.0-beta.34 (2021-06-13)
- change log (d38160d)
1.0.0-beta.33 (2021-06-13)
- core: add passive to events in EventsStore (691e398)
- core: adjust transform params of ColorPipe due to TS limitation on ConstructorParameters (f930295)
- core: limit to 60fps (dfd0eb3)
- core: update event utils to sync with r3f (0792204)
- core: use asapScheduler to schedule loop (288628a)
- helpers: ensure orthographicCamera is a object3D (8c6fe2b)
- helpers: use MathConst pipe in ContactShadows (ba5c160)
1.0.0-beta.32 (2021-06-01)
- core: add ColorPipe (ba7b2b0)
This pipe is mainly used for parameters
that accepts a THREE.Color
only instead of a string | number | THREE.Color
.
<!-- most materials accept all types of argument that THREE.Color accepts -->
<ngt-mesh-basic-material [parameters]='{color: 'black'}'></ngt-mesh-basic-material>
<!-- However, in the case of ngt-canvas, the background property only accepts THREE.Color -->
<ngt-canvas [scene]='{ background: ["black"] | color }'></ngt-canvas>
- core: add FogPipe (54c5f37)
<!-- same idea as ColorPipe -->
<ngt-canvas [scene]='{ fog: ['000000', 1, 15000] | fog}'></ngt-canvas>
- core: move MathConstantPipe to SCAM (e9dc69c)
- core: move MathPipe to SCAM (1495645)
- core: move RepeatDirective to SCAM (95d2e78)
- core: remove MathConstantPipe and MathPipe from CoreModule (a970375)
- demo: update docs (e02eb97)
1.0.0-beta.31 (2021-06-01)
- core: add MathPipe and MathConstantPipe (500b5b8)
MathPipe
and MathConstantPipe
can be utilized to quickly calculate Math expression or use Math constants on the template
<span>{{ 1 | mathConst:'PI' }}</span>
<!-- equals to Math.PI -->
<span>{{ 0.5 | mathConst:'PI' }}</span>
<!-- equals to Math.PI / 2 -->
<span>{{ 1 | math:'sin' }}</span>
<!-- equals to Math.sin(1) -->
- core: add RepeatDirective (25b2ea9)
RepeatDirective
is similar to ngFor
but is meant to iterate over an amount of something rather than a list. For example, to loop over 30 days to build a calendar.
<ngt-mesh *repeat="let _ of 10000"></ngt-mesh>
- fix imports (3d4faf0)
1.0.0-beta.30 (2021-05-31)
- core: Add
[o3d]
to all 3dObject modules you're using, for example:<ngt-mesh>
-><ngt-mesh o3d>
- core: add BufferGeometry (cd25169)
- core: add o3d to Object3DController to separate Controller with other modules (8e06cae)
- core: make LoaderService providedIn root (86a0840)
- core: use Subject#observed instead of Subject#observers (514f0e2)
1.0.0-beta.29 (2021-05-13)
1.0.0-beta.28 (2021-05-03)
- docs-site: add TLDR to first scene docs (22a7f09)
1.0.0-beta.27 (2021-05-03)
- core: add viewport to internal canvas state (265e46c)
- core: change all objects that have args to re-init when args change (ef92d3e)
- add first scene (71d1882)
- demo: adjust boxes docs (f8b806b)
- add helpers (ea5a71a)
- update docs site (6113311)
1.0.0-beta.26 (2021-05-02)
- core: refactor to use LoaderService. deprecating all current loaders (6c8a5f2)
- generators: setup passes generator (75f6c92)
- postprocessing: add all passes (b49b1d6)
1.0.0-beta.25 (2021-04-30)
- core: make sure to listen to controller change subject (75a9355)
- demo: adjust docs (939a3fb)
1.0.0-beta.24 (2021-04-30)
- core: expose primitive (4a97b03)
1.0.0-beta.23 (2021-04-30)
- core: bad habit for not committing frequently. this commit is massive (cde55ae)
- core: use Object3dControllerDirective for Object3d inputs (161f007)
1.0.0-beta.22 (2021-04-27)
- popmotion: remove redundant type from animation config (5913189)
- core: change camelCase selectors to kebab-case (6572365)
- postprocessing: rename selector of renderpass (5488b1a)
- add more docs (e894f65)
- add popmotion to readme (db81182)
- format (7e61fdb)
- demo: use kebab-case selectors (1b56fc9)
1.0.0-beta.21 (2021-04-26)
- core: move most abstracts (except audio) to core (cd630aa)
1.0.0-beta.20 (2021-04-25)
- core: fix geometry import (ef81ada)
1.0.0-beta.19 (2021-04-25)
- core: move all abstracts to core (b7a4a36)
- popmotion: extract
popmotionFactory
for Ivy (d6d0df5)
1.0.0-beta.18 (2021-04-25)
- popmotion: add rough implementation for popmotion (a1674fb)
- demo: adjust demo to use popmotion (15f6d1c)
1.0.0-beta.17 (2021-04-24)
- controls: call dispose() on destroy (1f6a774)
- core: call dispose() on destroy (5c0fc46)
- postprocessing: check for dispose and call it on destroy (d0fbbb0)
1.0.0-beta.16 (2021-04-24)
- core: make
LoopService#tick
private (054e73e)
- add basic info to README (4d8664d)
1.0.0-beta.15 (2021-04-24)
- core: make sure to convertColor before creating material (5d6e3b4)
1.0.0-beta.14 (2021-04-24)
- core: add receiveShadow and castShadow on object3d (2690cbc)
- adjust Readme (d3c6ea0)
- adjust README (0bb5009)
- fix (yet another) typo and adjust info about component store (3047713)
- fix typo (49ae6c8)
1.0.0-beta.13 (2021-04-24)
- core: remove runOutsideAngular utils and remove zonelessReady (50a0459)
- demo: adjust demo with zonelessReady removal (069aed6)
- add basic info to README (89eaf41)
- add cube gif (d8815e4)
- fix typo (b478ea2)
1.0.0-beta.12 (2021-04-23)
- core: add genereators (e16820c)
- core: adjust material ContentChild (5ad05f0)
1.0.0-beta.11 (2021-04-23)
- core: add ConeBufferGeometry (05d5363)
- core: add DodecahedronBufferGeometry (e5a2196)
- core: add ExtrudeBufferGeometry (480a4b7)
- core: add LatheBufferGeometry (a11fadb)
- core: add ParametricBufferGeometry (a456cea)
- core: add PlaneBufferGeometry (2a07b88)
- core: add PolyhedronBufferGeometry (f161545)
- core: add RingBufferGeometry (2866754)
- core: add ShapeBufferGeometry (b2354a9)
- core: add SphereBufferGeometry and fix lints (b1fe554)
- core: add TetrahedronBufferGeometry (23627a5)
- core: OctahedronBufferGeometry (6e4ee50)
- core: fix lints (429cdfb)
1.0.0-beta.10 (2021-04-22)
- controls: add zonelessReady to flyControls (046bc2a)
- controls: add zonelessReady to orbitControls (c651fe9)
- core: add zonelessReady to AudioListener (7605f79)
- core: add zonelessReady to Skeleton (a00cd50)
- postprocessing: add zonelessReady (7cb674c)
- demo: adjust demo (1905f69)
1.0.0-beta.9 (2021-04-22)
- core: remove recursivePartial and add background to common instead (12c9bf2)
1.0.0-beta.8 (2021-04-22)
- core: add RecursivePartial type (66bcd14)
1.0.0-beta.7 (2021-04-21)
- core: add AnimationLoopParticipant class for animateReady output (4c189a0)
- controls: have OrbitControls and FlyControls extend AnimationLoopParticipant (2c43a8a)
- core: adjust windowResizeEffect (a99ba0e)
- core: have Object3d extends AnimationLoopParticipant (420bb88)
- demo: clean up demo (a466c8a)
1.0.0-beta.6 (2021-04-21)
- core: add MeshBasicMaterial (704a29c)
- core: initialize material in OnInit (d073270)
- demo: adjust demo (4937f42)
1.0.0-beta.5 (2021-04-21)
- core: add circlebuffergeometry (d89e2f2)
1.0.0-beta.4 (2021-04-21)
- controls: prefix Three to FlyControls (9074cc6)
- core: prefix Three to new modules (40be427)
- core: remove LodLevelDirective (390d781)
- core: fix circular dep (b04273d)
1.0.0-beta.3 (2021-04-21)
- audio: add PositionalAudio (7e49db6)
- controls: add FlyControls (5b18c29)
- core: add
(ready)
to audios (c03c5ab) - core: add a base class for object that has a geometry and a material (45ef17e)
- core: add AudioListener (b5e8eff)
- core: add HemisphereLight (ca9d72c)
- core: add IcosahedronGeometry (5f2e981)
- core: add Line, LineLoop, LineSegments (e2c4af5)
- core: add LOD (a295c77)
- core: add Points (bd76850)
- core: add PointsMaterial (9e9bc0d)
- core: add RectAreaLight (504b08f)
- core: add SkinnedMesh, Skeleton, and Bone (62f1e6c)
- core: add Sprite (24179f6)
- core: add SpriteMaterial (9210721)
- core: add intensity input to Light objects (b832295)
- core: adjust MeshAbstract to use new base object (68a29d5)
- core: ensure to initialize geometry in ngOnInit (af0132e)
- core: ensure to initialize LOD in init (28a88a7)
- core: import type for Object3d in audios (023f2cd)
- core: make AudioListener not extends ThreeObject3d (12cc61c)
- core: make ThreeObject3d a multi provider (89683c9)
- core: precalc animationCallbacks and hasPriority in store (fc4d7ff)
- core: remove multi providers (180d184)
- core: use runOutsideAngular operator on imperative subscription (108a055)
1.0.0-beta.2 (2021-04-19)
- core: add remove effects to InstancesStore (wip) (a042820)
- core: return a cleanup function from registerAnimation (e3020eb)
- postprocessing: add ready output to EffectComposer (c66c4dd)
- controls: initialize OrbitControls outsideOfAngular (f87c17c)
- core: clean up and make Attributes consistent with the rest (9d6e434)
- core: clean up and make Geometries consistent with the rest (5b9a749)
- core: clean up and make Lights consistent with the rests (b7c24c3)
- core: clean up and make Materials consistent with the rest (650977a)
- core: ensure to clean up properly on object3d destroy (a37d0cc)
- core: rename UnknownConstructor to AnyConstructor with any[] instead of unknown[] (494f18d)
- core: use AnyConstructor for Mesh abstract (6857a71)
- demo: adjust demo to use (ready) instead of ViewChild. Seems more consistent (b4578ba)
1.0.0-beta.1 (2021-04-18)
- move typings from 2nd entry to core (63a0c7d)
- attributes: add Attribute (d23a35e)
- core: add core lib with essential building blocks (72a1284)
- core: add delta to RenderState (445e7e2)
- core: add FontLoader (07872bc)
- core: add FontLoader (1357f2d)
- core: add Group (a12c799)
- core: add morphTarget inputs to ThreeMesh (8b0b3ee)
- core: add priority to animationCallback (9fd44d6)
- core: add Scene (891808e)
- core: add Scene (cde2708)
- core: expose applyProps (510d1d0)
- core: remove stats from core (0c09ff3)
- geometries: add geometries (4b6174d)
- geometries: add TextBufferGeometry (476a452)
- geometries: use ThreeAttribute (f70c94f)
- lights: add lights (eafae5c)
- lights: add SpotLight (683ff28)
- loaders: add external loaders lib (3a6e1f3)
- loaders: add external loaders lib (8fec053)
- loaders: add gltfLoader (b4d25f0)
- loaders: add gltfLoader (49fea21)
- loaders: add loaders (bd9f42c)
- materials: add materials lib (69dbdda)
- meshes: add meshes (b31e68b)
- orbit-controls: add OrbitControls (5404837)
- pass: add base inputs (862129e)
- postprocessing: expose ready output for Pass (2518999)
- postprocessing: have Pass abstract accept a list of arbitrary path/value pair (588631e)
- postprocessing: intiialize effectComposer outside of Angular (8ced0c6)
- postprocessing: listen for change internally with a flag (c1bd801)
- render-pass: add PostProcessing with RenderPass (d865161)
- render-pass: internalize scene and camera (dcfb256)
- shader-pass/unreal-bloom-pass: add ShaderPass and UnrealBloomPass (1a226c5)
- ssao-pass: add SSAOPass (fe020f8)
- ssao-pass: internalize scene and camera (d6475b5)
- stats: rename CoreStats to ThreeCoreStats (48ccc90)
- stats: separate stats into a lib (a371d24)
- typings: add UniqueMeshArgs type (158049a)
- typings: add UnknownConstructor (d9b311b)
- typings: add UnknownRecord alias (21d2e8c)
- utils: add applyDottedPathProps (065cd82)
- adjust packages around (c40d7e2)
- attributes: adjust ngpackage (a1a4e67)
- attributes: attribute attach/remove itself on the parent (1485a8e)
- attributes: initialize attribute outside of angular (8153577)
- core: add name input to object3d (67a8ba4)
- core: add name input to object3d (3675e31)
- core: add umdModuleIds to group and scene (315a271)
- core: add umdModuleIds to group and scene (da61460)
- core: adjust imported types (13258ae)
- core: adjust ngOnChanges (ce71f26)
- core: adjust registerAnimation typings (55a4eb6)
- core: bring renderer.render to top so effectComposer.render can override (0ea75e8)
- core: change Injectable to Directive for ThreeObject3d (fe21def)
- core: reexport groupDirective (51ccdc0)
- core: reexport groupDirective (d8db526)
- core: rename ThreeCoreCanvas to ThreeCanvas (85f8595)
- core: skip 6 common inputs in ngOnChanges (9af3232)
- core: use TextBufferGeometry (be45869)
- geometries: adjust extraArgs in base (9115ed5)
- geometries: attribute attach/remove itself (816748b)
- geometries: fix import path (368de67)
- lights: adjust extraArgs in base (30ef5dd)
- materials: adjust how sub materials classes instantiate new material (80d32d0)
- materials: adjust type (9f9cd75)
- materials: initialize material outside of angular (e19393d)
- meshes: adjust extraArgs in base (6bdc3e4)
- postprocessing: add umdModuleId to shaderPass (f73ddc7)
- ssao-pass: rename module (70ee2be)
- stats: adjust ngpackage (e5bd7f0)
- typings: remove unused types (c40a91d)
- utils: if a prop has needsUpdate, assign to true (b9c1f5b)